/* ==========================================================================
   ABISA Design System — WordPress Override
   Applied on top of Hello Elementor theme
   ========================================================================== */

/* ---------- CSS Variables ---------- */
:root {
  --primary: #1E6F78;
  --primary-light: #e8f4f5;
  --primary-dark: #155a62;
  --cta: #FF8A3D;
  --cta-hover: #e87a30;
  --cta-shadow: rgba(255, 138, 61, 0.35);
  --bg: #FFFFFF;
  --bg-light: #F5F7FA;
  --text: #222222;
  --text-light: #555555;
  --text-muted: #888888;
  --border: #e5e7eb;
  --card-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
  --card-shadow-hover: 0 10px 25px rgba(0,0,0,0.1), 0 4px 10px rgba(0,0,0,0.06);
  --radius: 12px;
  --radius-sm: 8px;
  --radius-full: 9999px;
  --container: 1200px;
  --font-display: 'Plus Jakarta Sans', sans-serif;
  --font-body: 'DM Sans', sans-serif;
  --transition: 0.3s ease;
}

/* ---------- Base ---------- */
body {
  font-family: var(--font-body) !important;
  color: var(--text) !important;
  background: var(--bg) !important;
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

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

img {
  max-width: 100%;
  height: auto;
}

a {
  color: var(--primary);
  text-decoration: none !important;
  transition: color var(--transition);
}

a:hover {
  color: var(--primary-dark);
}

/* ---------- Typography ---------- */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display) !important;
  color: var(--text) !important;
  line-height: 1.2;
  margin-bottom: 0.5em;
}

h1 {
  font-size: clamp(36px, 5vw, 56px) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em;
}

h2 {
  font-size: clamp(28px, 3.5vw, 40px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
}

h3 {
  font-size: 24px !important;
  font-weight: 600 !important;
}

h4 {
  font-size: 20px !important;
  font-weight: 600 !important;
}

p {
  color: var(--text-light);
  line-height: 1.7;
  margin-bottom: 1em;
}

.accent {
  color: var(--primary) !important;
}

.kicker {
  font-family: var(--font-display) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--primary) !important;
  margin-bottom: 12px;
}

.muted {
  color: var(--text-muted) !important;
  font-size: 14px !important;
}

/* ---------- Layout / Sections ---------- */
.wp-block-group.section,
.wp-block-group.hero {
  max-width: 100% !important;
  padding: 80px 24px !important;
  margin: 0 !important;
}

.wp-block-group.section > *:not(.is-grid):not(.who-grid):not(.service-main):not(.also-included):not(.three-cards):not(.two-cards):not(.cards):not(.stats-bar):not(.deep-box):not(.two-col):not(.quiz-card),
.wp-block-group.hero > * {
  max-width: var(--container);
  margin-left: auto !important;
  margin-right: auto !important;
}

.wp-block-group.section.light {
  background: var(--bg-light) !important;
}

.wp-block-group.section:not(.light):not(.footer) {
  background: var(--bg) !important;
}

.wp-block-group.section h2 {
  text-align: center;
  margin-bottom: 16px;
}

.wp-block-group.section > p {
  text-align: center;
  max-width: 700px;
}

/* ---------- Navigation ---------- */
#site-header.site-header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.8) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: background var(--transition), box-shadow var(--transition), backdrop-filter var(--transition);
  border-bottom: 1px solid transparent;
  padding: 0 24px !important;
}

#site-header.site-header.scrolled {
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  border-bottom-color: var(--border);
}

#site-header .header-inner {
  max-width: var(--container);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
}

#site-header .site-branding {
  flex-shrink: 0;
}

#site-header .site-logo img,
#site-header .custom-logo {
  max-height: 44px !important;
  width: auto !important;
  object-fit: contain;
}

#site-header .site-title a {
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  font-size: 22px !important;
  color: var(--primary) !important;
  text-decoration: none !important;
}

#site-header .site-description {
  display: none !important;
}

#site-header .site-navigation {
  display: flex;
  align-items: center;
}

#site-header .site-navigation .menu {
  display: flex !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 8px;
  align-items: center;
}

#site-header .site-navigation .menu li a {
  font-family: var(--font-display) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--text-light) !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  border-radius: var(--radius-full);
  transition: color var(--transition), background var(--transition);
  position: relative;
  white-space: nowrap;
}

#site-header .site-navigation .menu li a:hover {
  color: var(--primary) !important;
  background: var(--primary-light);
}

/* Last nav item styled as CTA button */
#site-header .site-navigation .menu li:last-child a {
  background: var(--cta) !important;
  color: #fff !important;
  font-weight: 600 !important;
  padding: 10px 24px !important;
  border-radius: var(--radius-full);
  box-shadow: 0 2px 8px var(--cta-shadow);
  transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
}

#site-header .site-navigation .menu li:last-child a:hover {
  background: var(--cta-hover) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px var(--cta-shadow);
}

/* Mobile hamburger */
#site-header .site-navigation-toggle-holder {
  display: none;
}

#site-header .site-navigation-toggle {
  background: none !important;
  border: none !important;
  cursor: pointer;
  padding: 8px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
  transition: background var(--transition);
}

#site-header .site-navigation-toggle:hover {
  background: var(--bg-light) !important;
}

#site-header .site-navigation-toggle-icon {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--text) !important;
  position: relative;
  transition: background var(--transition);
}

#site-header .site-navigation-toggle-icon::before,
#site-header .site-navigation-toggle-icon::after {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--text);
  transition: transform var(--transition);
}

#site-header .site-navigation-toggle-icon::before {
  top: -7px;
}

#site-header .site-navigation-toggle-icon::after {
  top: 7px;
}

/* Mobile dropdown */
#site-header .site-navigation-dropdown {
  position: absolute;
  top: 72px;
  left: 0;
  right: 0;
  background: rgba(255,255,255,0.98) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  padding: 16px 24px !important;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.3s ease;
}

#site-header .site-navigation-dropdown[aria-hidden="false"] {
  max-height: 500px;
  padding: 24px !important;
}

#site-header .site-navigation-dropdown .menu {
  display: flex !important;
  flex-direction: column !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 4px;
}

#site-header .site-navigation-dropdown .menu li a {
  font-family: var(--font-display) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--text-light) !important;
  text-decoration: none !important;
  padding: 12px 16px !important;
  display: block;
  border-radius: var(--radius-sm);
  transition: background var(--transition), color var(--transition);
}

#site-header .site-navigation-dropdown .menu li a:hover {
  background: var(--bg-light);
  color: var(--primary) !important;
}

#site-header .site-navigation-dropdown .menu li:last-child a {
  background: var(--cta) !important;
  color: #fff !important;
  text-align: center;
  border-radius: var(--radius-full);
  margin-top: 8px;
  font-weight: 600 !important;
}

/* Body offset for fixed header */
body {
  padding-top: 72px !important;
}

/* ---------- Hero Section ---------- */
.wp-block-group.hero {
  min-height: calc(90vh - 72px);
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  padding: 80px 24px 100px !important;
  background: var(--bg) !important;
  position: relative;
  overflow: hidden;
}

.wp-block-group.hero > * {
  position: relative;
  z-index: 2;
}

/* Decorative background circles */
.wp-block-group.hero::before {
  content: '';
  position: absolute;
  top: 10%;
  right: -5%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(30, 111, 120, 0.06) 0%, transparent 70%);
  border-radius: 50%;
  z-index: 0;
}

.wp-block-group.hero::after {
  content: '';
  position: absolute;
  bottom: 5%;
  right: 15%;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(255, 138, 61, 0.05) 0%, transparent 70%);
  border-radius: 50%;
  z-index: 0;
}

.hero-badge {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display) !important;
  font-size: 13px !important;
  font-weight: 600;
  color: var(--primary) !important;
  background: var(--primary-light) !important;
  border: 1px solid rgba(30, 111, 120, 0.2);
  padding: 6px 16px;
  border-radius: var(--radius-full);
  margin-bottom: 24px !important;
  text-transform: none;
  letter-spacing: 0.02em;
}

.hero-badge::before {
  content: '';
  width: 8px;
  height: 8px;
  background: var(--primary);
  border-radius: 50%;
  flex-shrink: 0;
}

.wp-block-group.hero h1 {
  margin-bottom: 20px !important;
  max-width: 700px;
}

.wp-block-group.hero > p {
  font-size: 18px !important;
  line-height: 1.7;
  color: var(--text-light) !important;
  max-width: 600px;
  margin-bottom: 32px !important;
}

.hero-ctas {
  display: flex !important;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 24px !important;
}

.hero-note {
  font-size: 15px !important;
  color: var(--text-muted) !important;
  font-style: italic;
  margin-bottom: 24px !important;
}

.hero-trust {
  display: flex !important;
  flex-wrap: wrap;
  gap: 24px;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.hero-trust li {
  font-size: 14px !important;
  color: var(--text-muted) !important;
  display: flex;
  align-items: center;
  gap: 8px;
}

.hero-trust li::before {
  content: '';
  width: 6px;
  height: 6px;
  background: var(--primary);
  border-radius: 50%;
  flex-shrink: 0;
}

.hero-trust li:nth-child(2)::before {
  background: var(--cta);
}

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  text-decoration: none !important;
  border-radius: var(--radius-full) !important;
  padding: 14px 32px !important;
  cursor: pointer;
  transition: all var(--transition) !important;
  border: 2px solid transparent !important;
  line-height: 1.4 !important;
  text-align: center;
}

.btn.primary {
  background: var(--cta) !important;
  color: #fff !important;
  border-color: var(--cta) !important;
  box-shadow: 0 4px 14px var(--cta-shadow);
}

.btn.primary:hover {
  background: var(--cta-hover) !important;
  border-color: var(--cta-hover) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px var(--cta-shadow);
  color: #fff !important;
}

.btn.secondary {
  background: transparent !important;
  color: var(--primary) !important;
  border-color: var(--primary) !important;
}

.btn.secondary:hover {
  background: var(--primary) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

/* ---------- Cards ---------- */
.card,
.is-card,
.mini-card {
  background: var(--bg) !important;
  border: 1px solid var(--border);
  border-radius: var(--radius) !important;
  padding: 24px !important;
  transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
  box-shadow: var(--card-shadow);
}

.card:hover,
.is-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--card-shadow-hover);
  border-color: rgba(30, 111, 120, 0.2);
}

.card h4 {
  margin-bottom: 8px !important;
  color: var(--text) !important;
}

.card p {
  margin-bottom: 8px;
  font-size: 15px;
}

.card ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 8px 0 0 0 !important;
}

.card ul li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 6px;
  font-size: 14px;
  color: var(--text-light);
}

.card ul li::before {
  content: '→';
  position: absolute;
  left: 0;
  color: var(--primary);
  font-weight: 600;
}

/* ---------- "Is This You" Section ---------- */
.is-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  max-width: var(--container);
  margin: 0 auto !important;
  align-items: start;
}

.is-left h2 {
  text-align: left !important;
}

.is-left p {
  text-align: left !important;
}

.is-right {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.is-card {
  padding: 20px 24px !important;
  font-size: 15px;
  color: var(--text-light);
  border-left: 3px solid var(--primary) !important;
  position: relative;
}

.is-card:hover {
  border-left-color: var(--cta) !important;
}

.is-footer {
  text-align: center !important;
  font-weight: 600;
  color: var(--primary) !important;
  font-size: 18px !important;
  margin-top: 48px !important;
  max-width: var(--container);
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ---------- "Who I Am" Section ---------- */
.who-grid {
  display: grid !important;
  grid-template-columns: 1fr 1.2fr;
  gap: 64px;
  max-width: var(--container);
  margin: 0 auto !important;
  align-items: center;
}

.who-img {
  position: relative;
}

.who-img img {
  border-radius: var(--radius) !important;
  width: 100%;
  object-fit: cover;
  box-shadow: var(--card-shadow-hover);
}

.years-badge {
  position: absolute;
  bottom: -16px;
  right: -16px;
  background: var(--primary) !important;
  color: #fff !important;
  padding: 16px 20px;
  border-radius: var(--radius);
  font-family: var(--font-display) !important;
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
  box-shadow: var(--card-shadow-hover);
}

.years-badge span {
  display: block;
  font-size: 12px;
  font-weight: 500;
  opacity: 0.9;
  margin-top: 4px;
}

.who-copy h2 {
  text-align: left !important;
}

.who-copy p {
  text-align: left !important;
}

.who-copy ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 16px 0 !important;
}

.who-copy ul li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 8px;
  color: var(--text-light);
}

.who-copy ul li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--primary);
  font-weight: 700;
}

.who-copy em {
  color: var(--primary);
  font-weight: 600;
}

.mini-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 24px;
}

.mini-card {
  padding: 16px !important;
  text-align: center;
}

.mini-card strong {
  display: block;
  font-size: 14px;
  margin-bottom: 4px;
  color: var(--primary);
}

.mini-card span {
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.4;
}

/* ---------- Services Section ---------- */
.service-main {
  display: grid !important;
  grid-template-columns: 1fr 1.2fr;
  gap: 48px;
  max-width: var(--container);
  margin: 32px auto 40px !important;
  background: var(--bg) !important;
  border: 1px solid var(--border);
  border-radius: var(--radius) !important;
  overflow: hidden;
  box-shadow: var(--card-shadow);
  transition: box-shadow var(--transition);
}

.service-main:hover {
  box-shadow: var(--card-shadow-hover);
}

.service-img {
  overflow: hidden;
}

.service-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.service-main:hover .service-img img {
  transform: scale(1.05);
}

.service-copy {
  padding: 40px 40px 40px 0;
}

.service-copy .tag {
  display: inline-block;
  font-family: var(--font-display) !important;
  font-size: 12px;
  font-weight: 700;
  color: var(--primary);
  background: var(--primary-light);
  padding: 4px 12px;
  border-radius: var(--radius-full);
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.service-copy h3 {
  margin-bottom: 12px !important;
}

.two-col-list {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  list-style: none !important;
  padding: 0 !important;
  margin: 16px 0 !important;
}

.two-col-list li {
  position: relative;
  padding-left: 22px;
  font-size: 14px;
  color: var(--text-light);
}

.two-col-list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--primary);
  font-weight: 700;
}

.example-box {
  background: var(--bg-light) !important;
  border-radius: var(--radius-sm);
  padding: 16px 20px;
  margin-top: 16px;
  border-left: 3px solid var(--primary);
}

.example-box strong {
  display: block;
  font-size: 13px;
  color: var(--primary);
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.example-box p {
  font-size: 14px !important;
  font-style: italic;
  color: var(--text-muted) !important;
  margin-bottom: 4px !important;
}

.also-included {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: var(--container);
  margin: 0 auto !important;
}

.also-included .card.with-img {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 0;
  padding: 0 !important;
  overflow: hidden;
}

.also-included .card.with-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.also-included .card.with-img > div {
  padding: 24px;
}

.also-included .card:not(.with-img) {
  padding: 24px !important;
}

/* ---------- Quiz Section ---------- */
#quiz {
  text-align: center;
}

#quiz > .btn {
  margin-bottom: 12px !important;
}

.checklist {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 auto 32px !important;
  max-width: 700px;
  text-align: left;
}

.checklist li {
  position: relative;
  padding-left: 32px;
  margin-bottom: 12px;
  font-size: 15px;
  color: var(--text-light);
}

.checklist li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0;
  width: 22px;
  height: 22px;
  background: var(--primary-light);
  color: var(--primary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
}

.quiz-card {
  max-width: 700px;
  margin: 32px auto 0 !important;
  background: var(--bg) !important;
  border: 1px solid var(--border);
  border-radius: var(--radius) !important;
  padding: 40px !important;
  box-shadow: var(--card-shadow);
  text-align: left;
}

/* Contact Form 7 Styling */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 textarea,
.wpcf7 select {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  background: var(--bg-light) !important;
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  color: var(--text) !important;
  transition: border-color var(--transition), box-shadow var(--transition) !important;
  outline: none !important;
  -webkit-appearance: none;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(30, 111, 120, 0.1) !important;
  background: var(--bg) !important;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: var(--text-muted) !important;
}

.wpcf7 textarea {
  min-height: 120px;
  resize: vertical;
}

.wpcf7 label {
  font-family: var(--font-display) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--text) !important;
  display: block;
  margin-bottom: 6px;
}

.wpcf7 p {
  margin-bottom: 16px !important;
}

/* Radio/checkbox as cards */
.wpcf7 .wpcf7-radio .wpcf7-list-item,
.wpcf7 .wpcf7-checkbox .wpcf7-list-item {
  display: block !important;
  margin: 0 0 8px 0 !important;
}

.wpcf7 .wpcf7-radio .wpcf7-list-item label,
.wpcf7 .wpcf7-checkbox .wpcf7-list-item label {
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: 14px 18px !important;
  background: var(--bg-light) !important;
  border: 2px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  cursor: pointer;
  transition: all var(--transition);
  font-weight: 400 !important;
}

.wpcf7 .wpcf7-radio .wpcf7-list-item label:hover,
.wpcf7 .wpcf7-checkbox .wpcf7-list-item label:hover {
  border-color: var(--primary) !important;
  background: var(--primary-light) !important;
}

.wpcf7 .wpcf7-radio .wpcf7-list-item input:checked + .wpcf7-list-item-label,
.wpcf7 .wpcf7-radio .wpcf7-list-item:has(input:checked) label {
  border-color: var(--primary) !important;
  background: var(--primary-light) !important;
}

.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-submit {
  background: var(--cta) !important;
  color: #fff !important;
  border: none !important;
  padding: 14px 32px !important;
  border-radius: var(--radius-full) !important;
  font-family: var(--font-display) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  cursor: pointer;
  transition: all var(--transition) !important;
  box-shadow: 0 4px 14px var(--cta-shadow);
  width: auto !important;
}

.wpcf7 input[type="submit"]:hover,
.wpcf7 .wpcf7-submit:hover {
  background: var(--cta-hover) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px var(--cta-shadow);
}

.wpcf7-response-output {
  border-radius: var(--radius-sm) !important;
  font-family: var(--font-body) !important;
}

/* ---------- Assessment Section ---------- */
.three-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: var(--container);
  margin: 32px auto 16px !important;
}

.three-cards .card {
  text-align: center;
  padding: 32px 24px !important;
  position: relative;
  overflow: hidden;
}

.three-cards .card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--primary), var(--cta));
}

.three-cards .card strong {
  display: block;
  font-size: 18px;
  color: var(--text);
  margin-bottom: 12px;
}

/* ---------- Deep Dive / Audit Section ---------- */
.deep-box {
  display: grid !important;
  grid-template-columns: 1.2fr 1fr;
  gap: 48px;
  max-width: var(--container);
  margin: 0 auto !important;
  background: linear-gradient(135deg, var(--primary), var(--primary-dark)) !important;
  border-radius: var(--radius) !important;
  padding: 56px !important;
  color: #fff !important;
  position: relative;
  overflow: hidden;
}

.deep-box::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 50%, rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size: 20px 20px;
}

.deep-box * {
  position: relative;
  z-index: 1;
}

.deep-box .kicker {
  color: rgba(255,255,255,0.8) !important;
}

.deep-box h2 {
  color: #fff !important;
  text-align: left !important;
}

.deep-box h2 .accent {
  color: #fff !important;
  opacity: 0.9;
}

.deep-box p {
  color: rgba(255,255,255,0.85) !important;
  text-align: left !important;
}

.deep-box .investment {
  background: rgba(255,255,255,0.12) !important;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: var(--radius-sm);
  padding: 16px 20px;
  margin: 16px 0;
  font-size: 16px;
  color: #fff !important;
}

.deep-box .investment strong {
  color: var(--cta) !important;
  font-size: 20px;
}

.deep-box .btn.primary {
  margin-top: 8px;
}

.deep-box .muted {
  color: rgba(255,255,255,0.6) !important;
}

.deep-right h4 {
  color: #fff !important;
  margin-bottom: 16px !important;
}

.audit-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.audit-list li {
  background: rgba(255,255,255,0.1);
  border-radius: var(--radius-sm);
  padding: 12px 16px;
  margin-bottom: 8px;
  font-size: 14px;
  color: rgba(255,255,255,0.9);
  position: relative;
  padding-left: 36px;
}

.audit-list li::before {
  content: '→';
  position: absolute;
  left: 14px;
  color: var(--cta);
  font-weight: 700;
}

/* ---------- Implementation / Pricing Section ---------- */
.two-cards {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: var(--container);
  margin: 32px auto 0 !important;
}

.two-cards .card {
  padding: 32px !important;
}

.two-cards .card h4 {
  margin-bottom: 8px !important;
}

.two-cards .card > p:nth-child(2) {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--primary) !important;
  font-family: var(--font-display) !important;
}

/* ---------- Why Us / Stats Section ---------- */
.stats-bar {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: var(--container);
  margin: 32px auto !important;
  background: var(--bg-light) !important;
  border-radius: var(--radius) !important;
  padding: 32px !important;
  text-align: center;
}

.stats-bar > div strong {
  display: block;
  font-family: var(--font-display) !important;
  font-size: 36px !important;
  font-weight: 800 !important;
  color: var(--primary) !important;
  line-height: 1.1;
}

.stats-bar > div span {
  font-size: 14px;
  color: var(--text-muted);
  margin-top: 4px;
  display: block;
}

.cards.grid-2x3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: var(--container);
  margin: 0 auto !important;
}

.cards.grid-2x3 .card {
  padding: 28px !important;
  border-left: 3px solid transparent;
  transition: all var(--transition);
}

.cards.grid-2x3 .card:hover {
  border-left-color: var(--primary);
}

/* ---------- Privacy Section ---------- */
.cards.grid-2x2 {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: var(--container);
  margin: 32px auto 0 !important;
}

.cards.grid-2x2 .card {
  padding: 28px !important;
}

/* ---------- Contact Section ---------- */
#contact {
  text-align: center;
}

.two-col {
  display: grid !important;
  grid-template-columns: 1fr 1.3fr;
  gap: 48px;
  max-width: var(--container);
  margin: 32px auto 0 !important;
  text-align: left;
}

.two-col > div:first-child {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.contact-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.contact-list li {
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
  font-size: 15px;
  color: var(--text-light);
  display: flex;
  align-items: center;
  gap: 8px;
}

.contact-list li:last-child {
  border-bottom: none;
}

.two-col .form {
  background: var(--bg-light);
  border-radius: var(--radius);
  padding: 32px;
  border: 1px solid var(--border);
}

.two-col .form h3 {
  margin-bottom: 8px !important;
}

/* ---------- Footer Section ---------- */
.wp-block-group.section.footer {
  background: var(--bg-light) !important;
  padding: 40px 24px 24px !important;
  text-align: center;
}

.wp-block-group.section.footer p {
  max-width: var(--container);
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: 14px !important;
  color: var(--text-muted) !important;
  margin-bottom: 8px !important;
}

.wp-block-group.section.footer p:first-child {
  font-family: var(--font-display) !important;
  font-size: 16px !important;
  color: var(--text) !important;
}

.wp-block-group.section.footer p:first-child strong {
  color: var(--primary);
}

.wp-block-group.section.footer p:last-child {
  margin-top: 16px !important;
  padding-top: 16px;
  border-top: 1px solid var(--border);
  font-size: 13px !important;
}

/* ---------- Scroll Animations ---------- */
.wp-block-group.section,
.wp-block-group.hero {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.wp-block-group.section.visible,
.wp-block-group.hero.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger children */
.visible .card,
.visible .is-card,
.visible .mini-card,
.visible .stats-bar > div,
.visible .checklist li,
.visible .audit-list li {
  opacity: 0;
  transform: translateY(16px);
  animation: fadeInUp 0.5s ease forwards;
}

.visible .card:nth-child(1), .visible .is-card:nth-child(1), .visible .stats-bar > div:nth-child(1) { animation-delay: 0.1s; }
.visible .card:nth-child(2), .visible .is-card:nth-child(2), .visible .stats-bar > div:nth-child(2) { animation-delay: 0.2s; }
.visible .card:nth-child(3), .visible .is-card:nth-child(3), .visible .stats-bar > div:nth-child(3) { animation-delay: 0.3s; }
.visible .card:nth-child(4), .visible .is-card:nth-child(4) { animation-delay: 0.4s; }
.visible .card:nth-child(5) { animation-delay: 0.5s; }
.visible .card:nth-child(6) { animation-delay: 0.6s; }

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .is-grid,
  .who-grid,
  .service-main {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .service-copy {
    padding: 24px !important;
  }

  .service-img {
    max-height: 300px;
  }

  .deep-box {
    grid-template-columns: 1fr !important;
    padding: 40px !important;
  }

  .cards.grid-2x3 {
    grid-template-columns: 1fr 1fr !important;
  }

  .mini-cards {
    grid-template-columns: 1fr !important;
  }

  .also-included .card.with-img {
    grid-template-columns: 1fr !important;
  }

  .also-included .card.with-img img {
    max-height: 200px;
    width: 100%;
  }
}

@media (max-width: 768px) {
  .wp-block-group.section,
  .wp-block-group.hero {
    padding: 56px 20px !important;
  }

  .wp-block-group.hero {
    min-height: auto;
    padding: 60px 20px 80px !important;
  }

  .hero-ctas {
    flex-direction: column;
  }

  .hero-ctas .btn {
    width: 100%;
  }

  .hero-trust {
    flex-direction: column;
    gap: 8px;
  }

  .two-col-list {
    grid-template-columns: 1fr !important;
  }

  .three-cards,
  .two-cards,
  .also-included,
  .cards.grid-2x3,
  .cards.grid-2x2,
  .stats-bar {
    grid-template-columns: 1fr !important;
  }

  .two-col {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .years-badge {
    bottom: -12px;
    right: 12px;
    font-size: 22px;
    padding: 12px 16px;
  }

  /* Mobile nav */
  #site-header .site-navigation {
    display: none !important;
  }

  #site-header .site-navigation-toggle-holder {
    display: flex !important;
  }

  #site-header .header-inner {
    height: 64px;
  }

  body {
    padding-top: 64px !important;
  }

  #site-header .site-navigation-dropdown {
    top: 64px;
  }
}

@media (max-width: 480px) {
  h1 {
    font-size: 32px !important;
  }

  h2 {
    font-size: 26px !important;
  }

  .deep-box {
    padding: 28px !important;
  }

  .quiz-card {
    padding: 24px !important;
  }
}

/* ---------- Print ---------- */
@media print {
  #site-header,
  .hero-ctas,
  .btn {
    display: none !important;
  }

  body {
    padding-top: 0 !important;
  }

  .wp-block-group.section,
  .wp-block-group.hero {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Hide WP page title on homepage — only hero headline should show */
.home .entry-title,
.page-id-6 .entry-title,
h1.entry-title { display: none !important; }


/* Hero section — Sydney skyline background, right side, faded */
#hero {
  position: relative;
  min-height: 90vh;
  overflow: hidden;
}
#hero::before {
  content: "";
  position: absolute;
  right: 0; top: 0; bottom: 0;
  width: 55%;
  background: url("/wp-content/uploads/abisa-hero.jpg") center/cover no-repeat;
  z-index: 0;
}
#hero::after {
  content: "";
  position: absolute;
  right: 0; top: 0; bottom: 0;
  width: 55%;
  background: linear-gradient(to right, #fff 0%, rgba(255,255,255,0.85) 30%, rgba(255,255,255,0.3) 100%);
  z-index: 1;
}
/* Decorative blurred accent circles */
#hero .hero-badge,
#hero h1,
#hero p,
#hero .hero-ctas,
#hero .hero-note,
#hero .hero-trust {
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  #hero::before { width: 100%; opacity: 0.15; }
  #hero::after { width: 100%; background: rgba(255,255,255,0.85); }
}


/* =============================================
   V2 — Stats Bar
   ============================================= */
.stats-section { padding: 60px 24px; border-top: 4px solid var(--primary); }
.stats-bar { display: flex; justify-content: center; gap: 48px; max-width: 1100px; margin: 0 auto; flex-wrap: wrap; }
.stat-item { text-align: center; flex: 1 1 200px; min-width: 160px; }
.stat-number { font-size: 64px; font-weight: 800; color: var(--primary); line-height: 1.1; display: inline; font-family: "Plus Jakarta Sans", sans-serif; }
.stat-suffix { font-size: 32px; font-weight: 700; color: var(--cta); display: inline; }
.stat-label { font-size: 14px; color: var(--text-muted, #6b7280); margin-top: 8px; }
@media (max-width: 768px) {
  .stats-bar { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
  .stat-number { font-size: 48px; }
  .stat-suffix { font-size: 24px; }
}

/* =============================================
   V2 — Service Bento Cards
   ============================================= */
.service-bento { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 1100px; margin: 40px auto 0; }
.service-bento-card { background: #fff; border: 1px solid var(--border, #e5e7eb); border-radius: var(--radius, 12px); padding: 32px; transition: transform 0.25s ease, box-shadow 0.25s ease; }
.service-bento-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.08); }
.service-bento-card.featured { border-left: 4px solid var(--primary); }
.sbc-icon { font-size: 48px; margin-bottom: 16px; }
.service-bento-card h3 { margin-top: 0; margin-bottom: 12px; }
.sbc-outcomes { list-style: none; padding: 0; margin: 16px 0; }
.sbc-outcomes li { padding: 4px 0; font-size: 14px; color: var(--primary); }
.sbc-outcomes li::before { content: "\2713  "; font-weight: 700; }
.sbc-link { color: var(--primary); font-weight: 600; text-decoration: none; display: inline-block; transition: transform 0.2s ease; }
.sbc-link:hover { transform: translateX(4px); }
@media (max-width: 768px) {
  .service-bento { grid-template-columns: 1fr; }
}

/* =============================================
   V2 — Case Study Preview Cards
   ============================================= */
.cs-preview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 1100px; margin: 40px auto 0; }
.cs-card { display: block; background: #fff; border: 1px solid var(--border, #e5e7eb); border-radius: var(--radius, 12px); padding: 28px; text-decoration: none; color: inherit; transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; }
.cs-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.08); border-color: var(--primary); }
.cs-card h3 { margin: 8px 0 12px; color: var(--text, #1a1a1a); }
.cs-card p { color: var(--text-muted, #6b7280); font-size: 15px; line-height: 1.6; }
.cs-industry { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--primary); }
.cs-metrics { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.cs-metrics span { font-size: 13px; color: var(--text-muted, #6b7280); }
.cs-metrics span::before { content: "\25CF  "; color: var(--primary); font-size: 10px; }
.cs-cta { color: var(--primary); font-weight: 600; margin-top: 16px; font-size: 15px; }
@media (max-width: 768px) {
  .cs-preview-grid { grid-template-columns: 1fr; }
}

/* =============================================
   V2 — Footer Redesign
   ============================================= */
.footer-inner { display: flex; gap: 48px; max-width: 1100px; margin: 0 auto; flex-wrap: wrap; }
.footer-brand { flex: 0 0 40%; min-width: 250px; }
.footer-logo { max-height: 40px; margin-bottom: 16px; }
.footer-brand p { color: var(--text-muted, #6b7280); font-size: 15px; line-height: 1.6; margin-top: 0; }
.footer-tagline { font-size: 13px; color: var(--text-muted, #6b7280); margin-top: 12px; }
.footer-links { display: flex; gap: 48px; flex: 1; }
.footer-col h4 { color: var(--primary); font-weight: 700; margin-bottom: 12px; margin-top: 0; }
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col li { padding: 4px 0; }
.footer-col a { color: var(--text-muted, #6b7280); text-decoration: none; font-size: 15px; transition: color 0.2s ease; }
.footer-col a:hover { color: var(--primary); }
.footer-bottom { border-top: 1px solid var(--border, #e5e7eb); padding-top: 24px; margin-top: 40px; display: flex; justify-content: space-between; font-size: 13px; color: var(--text-muted, #6b7280); max-width: 1100px; margin-left: auto; margin-right: auto; flex-wrap: wrap; gap: 8px; }
@media (max-width: 768px) {
  .footer-inner { flex-direction: column; }
  .footer-brand { flex: 1 1 100%; }
  .footer-links { flex-direction: column; gap: 24px; }
  .footer-bottom { flex-direction: column; text-align: center; }
}

/* =============================================
   V2 — Hero Gradient Enhancement
   ============================================= */
.wp-block-group.hero { background: linear-gradient(135deg, #f8fdfd 0%, #edf7f8 50%, #f5f7fa 100%) !important; position: relative; overflow: hidden; }
.wp-block-group.hero::before { content: ""; position: absolute; top: -80px; right: -80px; width: 300px; height: 300px; background: radial-gradient(circle, rgba(30,111,120,0.12) 0%, transparent 70%); border-radius: 50%; pointer-events: none; z-index: 0; }
.wp-block-group.hero > * { position: relative; z-index: 1; }

/* =============================================
   V2 — Services Page Styles
   ============================================= */
.service-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; max-width: 1100px; margin: 40px auto 0; align-items: start; }
.service-detail-content h3 { margin-top: 0; }
.service-detail .price-hint { font-size: 14px; font-weight: 700; color: var(--cta); background: rgba(255,138,61,0.1); display: inline-block; padding: 4px 12px; border-radius: 20px; margin-bottom: 16px; }
.service-detail .sd-who { background: var(--bg-light, #f5f7fa); border-radius: var(--radius, 12px); padding: 20px; margin: 16px 0; }
.service-detail .sd-who strong { color: var(--primary); }
.service-detail .sd-features { list-style: none; padding: 0; }
.service-detail .sd-features li { padding: 6px 0; font-size: 15px; }
.service-detail .sd-features li::before { content: "\2713  "; color: var(--primary); font-weight: 700; }
.service-detail .sd-outcomes { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0; }
.service-detail .sd-outcome { background: #fff; border: 1px solid var(--border, #e5e7eb); border-radius: 8px; padding: 12px 16px; font-size: 14px; text-align: center; font-weight: 600; color: var(--primary); }
.sd-timeline { font-size: 14px; color: var(--text-muted, #6b7280); margin-top: 16px; }
.sd-timeline strong { color: var(--primary); }
@media (max-width: 768px) {
  .service-detail { grid-template-columns: 1fr; }
  .service-detail .sd-outcomes { grid-template-columns: 1fr; }
}

.retainer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 1100px; margin: 40px auto 0; }
.retainer-card { background: #fff; border: 1px solid var(--border, #e5e7eb); border-radius: var(--radius, 12px); padding: 32px; text-align: center; transition: transform 0.25s ease, box-shadow 0.25s ease; }
.retainer-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.08); }
.retainer-card.highlight { border: 2px solid var(--primary); position: relative; }
.retainer-card.highlight::after { content: "Most Popular"; position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: var(--primary); color: #fff; font-size: 12px; font-weight: 700; padding: 4px 16px; border-radius: 20px; }
.retainer-card h4 { margin-top: 0; color: var(--primary); }
.retainer-price { font-size: 36px; font-weight: 800; color: var(--primary); margin: 16px 0 8px; }
.retainer-price span { font-size: 16px; font-weight: 400; color: var(--text-muted, #6b7280); }
.retainer-card ul { list-style: none; padding: 0; text-align: left; }
.retainer-card li { padding: 6px 0; font-size: 14px; border-bottom: 1px solid var(--border, #e5e7eb); }
.retainer-card li::before { content: "\2713  "; color: var(--primary); font-weight: 700; }
.retainer-card li:last-child { border-bottom: none; }
@media (max-width: 768px) {
  .retainer-grid { grid-template-columns: 1fr; }
}

/* =============================================
   V2 — Case Studies Page Styles
   ============================================= */
.cs-full { max-width: 900px; margin: 0 auto; }
.cs-badge { display: inline-block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #fff; background: var(--primary); padding: 4px 14px; border-radius: 20px; margin-bottom: 16px; }
.cs-full h2 { margin-top: 0; }
.cs-challenge, .cs-solution { margin: 24px 0; }
.cs-challenge h3, .cs-solution h3 { color: var(--primary); font-size: 18px; }
.cs-features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 16px 0; }
.cs-feature-tag { background: var(--bg-light, #f5f7fa); border-radius: 8px; padding: 10px 16px; font-size: 14px; text-align: center; }
.cs-results-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin: 16px 0; }
.cs-result { background: #fff; border: 1px solid var(--border, #e5e7eb); border-radius: 8px; padding: 16px; text-align: center; }
.cs-result strong { display: block; color: var(--primary); font-size: 18px; margin-bottom: 4px; }
.cs-quote { border-left: 4px solid var(--primary); padding: 16px 24px; margin: 24px 0; background: var(--bg-light, #f5f7fa); border-radius: 0 var(--radius, 12px) var(--radius, 12px) 0; font-style: italic; color: var(--text-muted, #6b7280); }
.cs-divider { border: none; border-top: 2px solid var(--border, #e5e7eb); margin: 60px auto; max-width: 200px; }
@media (max-width: 768px) {
  .cs-features-grid { grid-template-columns: 1fr 1fr; }
  .cs-results-grid { grid-template-columns: 1fr; }
}

/* =============================================
   V2 — About Page Styles
   ============================================= */
.about-mission { max-width: 800px; margin: 0 auto; font-size: 18px; line-height: 1.7; text-align: center; }
.founder-section { display: grid; grid-template-columns: 1fr 2fr; gap: 48px; max-width: 1000px; margin: 40px auto 0; align-items: start; }
.founder-img { border-radius: var(--radius, 12px); width: 100%; }
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 1100px; margin: 40px auto 0; }
.value-card { background: #fff; border: 1px solid var(--border, #e5e7eb); border-radius: var(--radius, 12px); padding: 28px; text-align: center; }
.value-card h4 { color: var(--primary); margin-top: 12px; }
.value-icon { font-size: 40px; }
.promise-box { max-width: 800px; margin: 40px auto 0; background: var(--primary); color: #fff; border-radius: var(--radius, 12px); padding: 40px; text-align: center; }
.promise-box h3 { color: #fff; margin-top: 0; }
.promise-box p { color: rgba(255,255,255,0.85); font-size: 18px; }
@media (max-width: 768px) {
  .founder-section { grid-template-columns: 1fr; }
  .values-grid { grid-template-columns: 1fr; }
}

/* =============================================
   V2 — Trust Pills
   ============================================= */
.trust-pills { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-top: 24px; }
.trust-pill { background: var(--bg-light, #f5f7fa); border-radius: 24px; padding: 8px 20px; font-size: 14px; font-weight: 600; color: var(--primary); }

/* ===== V2 FIX ===== */

/* =============================================
   V2 FIX — Navigation (override menu-dropdown-tablet)
   ============================================= */
#site-header.site-header.menu-dropdown-tablet .site-navigation,
#site-header.site-header .site-navigation.show {
  display: flex !important;
  align-items: center !important;
}
#site-header.site-header.menu-dropdown-tablet .site-navigation-toggle-holder,
#site-header.site-header .site-navigation-toggle-holder.show {
  display: none !important;
}
@media (max-width: 992px) {
  #site-header.site-header.menu-dropdown-tablet .site-navigation,
  #site-header.site-header .site-navigation.show {
    display: none !important;
  }
  #site-header.site-header.menu-dropdown-tablet .site-navigation-toggle-holder,
  #site-header.site-header .site-navigation-toggle-holder.show {
    display: flex !important;
    align-items: center !important;
  }
}

/* =============================================
   V2 FIX — Hide native WP site-footer
   ============================================= */
#site-footer.site-footer {
  display: none !important;
}

/* =============================================
   V2 FIX — Custom footer full styling
   ============================================= */
.wp-block-group.section.light.footer {
  background: #f8f9fb !important;
  padding: 64px 24px 32px !important;
  border-top: 1px solid var(--border, #e5e7eb) !important;
}
.wp-block-group.section.footer .footer-inner {
  display: flex !important;
  gap: 64px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
}
.wp-block-group.section.footer .footer-brand {
  flex: 0 0 320px !important;
  min-width: 240px !important;
}
.wp-block-group.section.footer .footer-logo {
  max-height: 36px !important;
  width: auto !important;
  display: block !important;
  margin-bottom: 16px !important;
  object-fit: contain !important;
}
.wp-block-group.section.footer .footer-brand p {
  font-size: 15px !important;
  color: var(--text-muted, #6b7280) !important;
  line-height: 1.65 !important;
  margin: 0 0 12px !important;
}
.wp-block-group.section.footer .footer-tagline {
  font-size: 13px !important;
  color: var(--text-muted, #6b7280) !important;
}
.wp-block-group.section.footer .footer-links {
  display: flex !important;
  gap: 48px !important;
  flex: 1 1 auto !important;
}
.wp-block-group.section.footer .footer-col h4 {
  font-family: var(--font-display, Plus Jakarta Sans, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--primary, #1E6F78) !important;
  margin: 0 0 14px !important;
}
.wp-block-group.section.footer .footer-col ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.wp-block-group.section.footer .footer-col li { padding: 5px 0 !important; }
.wp-block-group.section.footer .footer-col a {
  font-size: 15px !important;
  color: #555 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.wp-block-group.section.footer .footer-col a:hover { color: var(--primary, #1E6F78) !important; }
.wp-block-group.section.footer .footer-bottom {
  border-top: 1px solid var(--border, #e5e7eb) !important;
  padding-top: 24px !important;
  margin-top: 40px !important;
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  font-size: 13px !important;
  color: var(--text-muted, #6b7280) !important;
}
@media (max-width: 768px) {
  .wp-block-group.section.footer .footer-inner { flex-direction: column !important; gap: 32px !important; }
  .wp-block-group.section.footer .footer-brand { flex: 1 1 100% !important; }
  .wp-block-group.section.footer .footer-links { flex-direction: column !important; gap: 28px !important; }
  .wp-block-group.section.footer .footer-bottom { flex-direction: column !important; text-align: center !important; }
}

/* =============================================
   NAV FIX FINAL — Clean override, all breakpoints
   ============================================= */

/* DESKTOP (>= 993px): show nav, hide hamburger */
@media (min-width: 993px) {
  #site-header .site-navigation,
  #site-header .site-navigation.show,
  #site-header.menu-dropdown-tablet .site-navigation,
  #site-header.menu-dropdown-tablet .site-navigation.show {
    display: flex !important;
    align-items: center !important;
  }
  #site-header .site-navigation-toggle-holder,
  #site-header .site-navigation-toggle-holder.show,
  #site-header.menu-dropdown-tablet .site-navigation-toggle-holder,
  #site-header.menu-dropdown-tablet .site-navigation-toggle-holder.show {
    display: none !important;
  }
}

/* MOBILE (<= 992px): hide nav, show hamburger */
@media (max-width: 992px) {
  #site-header .site-navigation,
  #site-header .site-navigation.show,
  #site-header.menu-dropdown-tablet .site-navigation,
  #site-header.menu-dropdown-tablet .site-navigation.show {
    display: none !important;
  }
  #site-header .site-navigation-toggle-holder,
  #site-header .site-navigation-toggle-holder.show,
  #site-header.menu-dropdown-tablet .site-navigation-toggle-holder,
  #site-header.menu-dropdown-tablet .site-navigation-toggle-holder.show {
    display: flex !important;
    align-items: center !important;
  }
}

/* =============================================
   DROPDOWN FIX — Work with theme scaleY mechanism
   ============================================= */

/* Override our broken max-height-only approach */
#site-header .site-navigation-dropdown {
  position: fixed !important;
  top: 72px !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  background: rgba(255,255,255,0.98) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid var(--border, #e5e7eb) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.10) !important;
  padding: 0 !important;
  max-height: none !important;
  transform-origin: top !important;
  transition: transform 0.3s ease, opacity 0.3s ease !important;
  transform: scaleY(0) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

/* Open state: theme adds elementor-active to toggle-holder */
#site-header .site-navigation-toggle-holder.elementor-active + .site-navigation-dropdown {
  transform: scaleY(1) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Also catch aria-hidden=false as backup trigger */
#site-header .site-navigation-dropdown[aria-hidden=false] {
  transform: scaleY(1) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Dropdown menu list */
#site-header .site-navigation-dropdown ul.menu {
  display: flex !important;
  flex-direction: column !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 16px 24px !important;
  gap: 4px !important;
  background: transparent !important;
  position: static !important;
  width: 100% !important;
}

/* Dropdown menu items */
#site-header .site-navigation-dropdown .menu li {
  display: block !important;
  width: 100% !important;
}

#site-header .site-navigation-dropdown .menu li a {
  font-family: var(--font-display, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--text, #222) !important;
  text-decoration: none !important;
  padding: 12px 16px !important;
  display: block !important;
  border-radius: 8px !important;
  transition: background 0.2s ease, color 0.2s ease !important;
  background: transparent !important;
  box-shadow: none !important;
}

#site-header .site-navigation-dropdown .menu li a:hover {
  background: var(--primary-light, #e8f4f5) !important;
  color: var(--primary, #1E6F78) !important;
}

/* Last item = CTA */
#site-header .site-navigation-dropdown .menu li:last-child a {
  background: var(--cta, #FF8A3D) !important;
  color: #fff !important;
  text-align: center !important;
  border-radius: 9999px !important;
  margin-top: 8px !important;
  font-weight: 600 !important;
}

#site-header .site-navigation-dropdown .menu li:last-child a:hover {
  background: var(--cta-hover, #e87a30) !important;
}

/* Mobile header height fix */
@media (max-width: 992px) {
  #site-header .site-navigation-dropdown {
    top: 64px !important;
  }
}

/* =============================================
   FINAL FIXES v2.4 — 2026-04-04
   ============================================= */

/* 1. Nuke the old max-height dropdown rule — supersede with scaleY approach */
#site-header .site-navigation-dropdown {
  position: fixed !important;
  top: 72px !important;
  left: 0 !important;
  right: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 !important;
  background: rgba(255,255,255,0.98) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid var(--border, #e5e7eb) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.10) !important;
  z-index: 99999 !important;
  transform-origin: top !important;
  transform: scaleY(0) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: transform 0.25s ease, opacity 0.25s ease !important;
}

/* Open: theme sets .elementor-active on toggle-holder */
#site-header .site-navigation-toggle-holder.elementor-active + .site-navigation-dropdown,
#site-header .site-navigation-dropdown[aria-hidden=false] {
  transform: scaleY(1) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Dropdown inner menu */
#site-header .site-navigation-dropdown ul.menu {
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 16px 20px 20px !important;
  gap: 2px !important;
  background: transparent !important;
  width: 100% !important;
}

#site-header .site-navigation-dropdown .menu li {
  display: block !important;
  width: 100% !important;
}

#site-header .site-navigation-dropdown .menu li a {
  font-family: var(--font-display, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--text, #222) !important;
  text-decoration: none !important;
  padding: 11px 16px !important;
  display: block !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: background 0.15s ease, color 0.15s ease !important;
}

#site-header .site-navigation-dropdown .menu li a:hover {
  background: var(--primary-light, #e8f4f5) !important;
  color: var(--primary, #1E6F78) !important;
}

#site-header .site-navigation-dropdown .menu li:last-child a {
  background: var(--cta, #FF8A3D) !important;
  color: #fff !important;
  text-align: center !important;
  border-radius: 9999px !important;
  margin-top: 8px !important;
  font-weight: 600 !important;
}

/* 2. Suppress native WP footer (ours is in page content) */
footer#site-footer,
#site-footer.site-footer,
.site-footer.dynamic-footer {
  display: none !important;
}

/* 3. Mobile header height */
@media (max-width: 992px) {
  #site-header .site-navigation-dropdown {
    top: 64px !important;
  }
}

/* =============================================
   v2.5 — Dropdown opacity fix + Contact page styles
   ============================================= */

/* Solid dropdown background - no more transparency issues */
#site-header .site-navigation-dropdown {
  background: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: 2px solid var(--primary, #1E6F78) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.15) !important;
}

/* =============================================
   Contact Page Styles
   ============================================= */

.contact-hero {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 56px;
}

.contact-hero .kicker { margin-bottom: 12px; }
.contact-hero h1 { margin-bottom: 16px; }
.contact-hero p { font-size: 18px; color: var(--text-light, #555); }

.contact-layout {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 48px;
  max-width: 1000px;
  margin: 0 auto;
  align-items: start;
}

/* Left column - info */
.contact-info-col {}

.contact-info-block {
  margin-bottom: 32px;
}

.contact-info-block h3 {
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--text, #222) !important;
  margin-bottom: 6px !important;
}

.contact-info-block p {
  font-size: 15px;
  color: var(--text-light, #555);
  margin: 0;
}

.contact-info-block a {
  color: var(--primary, #1E6F78);
  font-weight: 500;
}

.contact-promise {
  background: var(--primary-light, #e8f4f5);
  border-left: 4px solid var(--primary, #1E6F78);
  border-radius: 0 var(--radius, 12px) var(--radius, 12px) 0;
  padding: 20px 24px;
  margin-top: 32px;
}

.contact-promise p {
  font-size: 14px !important;
  color: var(--primary-dark, #155a62) !important;
  font-style: italic;
  margin: 0 !important;
  line-height: 1.6 !important;
}

.contact-trust-list {
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
}

.contact-trust-list li {
  font-size: 14px;
  color: var(--text-muted, #888);
  padding: 5px 0;
}

.contact-trust-list li::before {
  content: '✓  ';
  color: var(--primary, #1E6F78);
  font-weight: 700;
}

/* Right column - form card */
.contact-form-card {
  background: #fff;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius, 12px);
  padding: 36px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
}

.contact-form-card h2 {
  font-size: 22px !important;
  margin-bottom: 4px !important;
  text-align: left !important;
}

.contact-form-card .form-subtitle {
  font-size: 14px;
  color: var(--text-muted, #888);
  margin-bottom: 24px;
}

/* Style CF7 form inside contact card */
.contact-form-card .wpcf7-form p {
  margin-bottom: 14px !important;
}

.contact-form-card .wpcf7-form input[type=text],
.contact-form-card .wpcf7-form input[type=email],
.contact-form-card .wpcf7-form input[type=tel],
.contact-form-card .wpcf7-form textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1px solid var(--border, #e5e7eb) !important;
  border-radius: 8px !important;
  font-family: var(--font-body, 'DM Sans', sans-serif) !important;
  font-size: 15px !important;
  color: var(--text, #222) !important;
  background: var(--bg-light, #F5F7FA) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  box-shadow: none !important;
  outline: none !important;
}

.contact-form-card .wpcf7-form input:focus,
.contact-form-card .wpcf7-form textarea:focus {
  border-color: var(--primary, #1E6F78) !important;
  box-shadow: 0 0 0 3px rgba(30,111,120,0.1) !important;
  background: #fff !important;
}

.contact-form-card .wpcf7-form textarea {
  min-height: 120px !important;
  resize: vertical !important;
}

.contact-form-card .wpcf7-form input[type=submit] {
  width: 100% !important;
  background: var(--cta, #FF8A3D) !important;
  color: #fff !important;
  border: none !important;
  padding: 14px 28px !important;
  border-radius: 9999px !important;
  font-family: var(--font-display, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s ease, transform 0.15s ease !important;
  margin-top: 8px !important;
}

.contact-form-card .wpcf7-form input[type=submit]:hover {
  background: var(--cta-hover, #e87a30) !important;
  transform: translateY(-1px) !important;
}

/* Mobile contact layout */
@media (max-width: 768px) {
  .contact-layout {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .contact-form-card {
    padding: 24px !important;
  }
}

/* Quiz Results Page */
.qr-page { max-width: 900px; margin: 0 auto; padding: 40px 24px 80px; }
.qr-hero { display: flex; gap: 48px; align-items: center; margin-bottom: 64px; background: var(--bg-light); border-radius: 20px; padding: 48px; }
.qr-score-ring { flex-shrink: 0; width: 140px; height: 140px; position: relative; }
.qr-svg { width: 100%; height: 100%; }
.qr-score-inner { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.qr-score-num { font-size: 42px; font-weight: 800; color: var(--text); line-height: 1; font-family: var(--font-display); }
.qr-score-denom { font-size: 16px; color: var(--text-muted); }
.qr-hero-text { flex: 1; }
.qr-tier-badge { display: inline-block; padding: 6px 14px; border-radius: 9999px; font-size: 13px; font-weight: 700; margin-bottom: 12px; }
.qr-hero-text h1 { font-size: 28px !important; margin-bottom: 12px !important; }
.qr-hero-text p { font-size: 16px; color: var(--text-light); line-height: 1.7; margin: 0; }
.qr-section { margin-bottom: 64px; }
.qr-section h2 { text-align: left !important; margin-bottom: 24px !important; }
.qr-services { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.qr-service-card { border: 1px solid var(--border); border-radius: var(--radius); padding: 24px; background: #fff; }
.qr-service-card.featured { border-color: var(--primary); border-width: 2px; background: var(--primary-light); }
.qr-priority { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--primary); margin-bottom: 8px; }
.qr-service-card h3 { font-size: 16px !important; margin: 0 0 8px !important; }
.qr-featured-label { font-size: 12px; color: var(--primary); font-style: italic; }
.qr-cta-block { text-align: center; background: linear-gradient(135deg, #1E6F78 0%, #155a62 100%); border-radius: 20px; padding: 48px; margin-bottom: 64px; }
.qr-next-step { color: rgba(255,255,255,0.85) !important; font-size: 17px; margin-bottom: 24px !important; }
.qr-cta-btn { background: var(--cta) !important; font-size: 17px !important; padding: 16px 36px !important; }
.qr-cta-note { color: rgba(255,255,255,0.6); font-size: 13px; margin-top: 12px; }
.qr-journey { display: flex; flex-direction: column; gap: 0; }
.qr-step { display: flex; gap: 24px; align-items: flex-start; padding: 20px 0; border-bottom: 1px solid var(--border); }
.qr-step:last-child { border-bottom: none; }
.qr-step-num { flex-shrink: 0; width: 40px; height: 40px; border-radius: 9999px; background: var(--primary); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 16px; font-family: var(--font-display); }
.qr-step-body h4 { font-size: 17px !important; margin: 0 0 4px !important; }
.qr-step-body p { font-size: 15px; color: var(--text-light); margin: 0; }
@media (max-width: 768px) {
  .qr-hero { flex-direction: column; text-align: center; padding: 32px 24px; gap: 24px; }
  .qr-services { grid-template-columns: 1fr; }
}

/* ABI Intro Section */
.abi-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; max-width: 1100px; margin: 0 auto; align-items: center; }
.abi-intro-text h2 { text-align: left !important; margin-bottom: 16px !important; }
.abi-intro-text p { font-size: 16px; line-height: 1.7; color: var(--text-light); margin-bottom: 20px; }
.abi-feature-list { list-style: none; padding: 0; margin: 0 0 28px; }
.abi-feature-list li { padding: 6px 0; font-size: 15px; color: var(--text-light); }
.abi-feature-list li::before { content: '✦  '; color: var(--primary); font-size: 12px; }
.abi-mock-chat { background: #fff; border-radius: 16px; box-shadow: 0 16px 48px rgba(0,0,0,0.12); overflow: hidden; border: 1px solid var(--border); }
.amc-header { display: flex; align-items: center; gap: 10px; padding: 14px 20px; background: linear-gradient(135deg, #1E6F78 0%, #155a62 100%); color: #fff; font-size: 14px; font-weight: 600; }
.amc-dot { width: 10px; height: 10px; border-radius: 9999px; background: #4ade80; }
.amc-body { padding: 20px; display: flex; flex-direction: column; gap: 12px; min-height: 200px; }
.amc-msg { max-width: 82%; padding: 10px 14px; border-radius: 12px; font-size: 14px; line-height: 1.5; }
.amc-msg.abi { background: #f3f4f6; color: #222; align-self: flex-start; border-bottom-left-radius: 4px; }
.amc-msg.user { background: #1E6F78; color: #fff; align-self: flex-end; border-bottom-right-radius: 4px; }
.amc-typing { display: flex; gap: 4px; align-items: center; padding: 10px 14px; background: #f3f4f6; border-radius: 12px; border-bottom-left-radius: 4px; width: fit-content; }
.amc-typing span { width: 7px; height: 7px; border-radius: 9999px; background: #aaa; animation: amc-bounce 1.2s infinite; }
.amc-typing span:nth-child(2) { animation-delay: 0.2s; }
.amc-typing span:nth-child(3) { animation-delay: 0.4s; }
@keyframes amc-bounce { 0%,60%,100% { transform: translateY(0); } 30% { transform: translateY(-6px); } }
@media (max-width: 768px) {
  .abi-intro-grid { grid-template-columns: 1fr; gap: 32px; }
  .abi-intro-visual { display: none; }
}
