/* ===================================
   CSS CUSTOM PROPERTIES
   =================================== */
:root {
  --font-family: 'Outfit', sans-serif;
}

/* ===================================
   RESET & BASE
   =================================== */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-family);
  font-size: var(--wp--preset--font-size--medium);
  line-height: 1.6;
  color: var(--wp--preset--color--color-text);
  background: var(--wp--preset--color--color-navy-dark);
  -webkit-font-smoothing: antialiased;
}

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

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
}

/* Container */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--wp--preset--spacing--40);
}

/* ===================================
   SCROLL ANIMATIONS
   =================================== */
.animate-on-scroll {
  opacity: 1;
  transform: translateY(0);
}

.js .animate-on-scroll:not(.is-visible) {
  opacity: 0;
  transform: translateY(30px);
}

.js .animate-on-scroll {
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.js .animate-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.js .animate-on-scroll:nth-child(2) { transition-delay: 0.1s; }
.js .animate-on-scroll:nth-child(3) { transition-delay: 0.2s; }
.js .animate-on-scroll:nth-child(4) { transition-delay: 0.3s; }
.js .animate-on-scroll:nth-child(5) { transition-delay: 0.4s; }
.js .animate-on-scroll:nth-child(6) { transition-delay: 0.5s; }

/* ===================================
   SECTION LABELS & TITLES
   =================================== */
.section-label {
  display: inline-flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  color: var(--wp--preset--color--color-yellow);
  text-transform: uppercase;
  letter-spacing: 0.2em;
  margin-bottom: var(--wp--preset--spacing--30);
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  background: rgba(8, 145, 178, 0.15);
  border-radius: 100px;
}

.section-title {
  font-size: var(--wp--preset--font-size--gigantic);
  font-weight: 700;
  line-height: 1.15;
  margin-bottom: var(--wp--preset--spacing--30);
}

.section-title em {
  color: var(--wp--preset--color--color-yellow);
  font-style: normal;
}

.section-subtitle {
  font-size: var(--wp--preset--font-size--large);
  font-weight: 300;
  color: var(--wp--custom--color--colorTextMuted);
  max-width: 600px;
}

/* ===================================
   :::SECTION:Hero:::
   =================================== */
.hero {
  min-height: 100vh;
  background: linear-gradient(165deg, var(--wp--preset--color--color-navy) 0%, var(--wp--preset--color--color-navy-dark) 100%);
  display: grid;
  grid-template-rows: auto 1fr auto;
  position: relative;
  overflow: hidden;
}

.hero::before {
  content: '';
  position: absolute;
  top: -20%;
  left: 50%;
  transform: translateX(-50%);
  width: 140%;
  height: 60%;
  background: radial-gradient(ellipse, rgba(8, 145, 178, 0.12) 0%, transparent 60%);
  pointer-events: none;
}

.hero-decoration {
  position: absolute;
  width: 80px;
  height: 92px;
  opacity: 0.06;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  background: var(--wp--preset--color--color-yellow);
}

.hero-decoration-1 {
  top: 15%;
  left: 8%;
  animation: float 8s ease-in-out infinite;
}

.hero-decoration-2 {
  top: 60%;
  right: 5%;
  width: 60px;
  height: 69px;
  animation: float 10s ease-in-out infinite reverse;
}

.hero-decoration-3 {
  bottom: 20%;
  left: 12%;
  width: 40px;
  height: 46px;
  animation: float 7s ease-in-out infinite 1s;
}

.hero-decoration-4 {
  top: 25%;
  right: 15%;
  width: 50px;
  height: 58px;
  animation: float 9s ease-in-out infinite 0.5s;
}

@keyframes float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-15px) rotate(5deg); }
}

/* Header */
.hero-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  position: sticky;
  top: 0;
  z-index: 100;
  transition: background 0.3s ease, backdrop-filter 0.3s ease;
}

.hero-header.is-scrolled {
  background: rgba(21, 29, 40, 0.95);
  backdrop-filter: blur(20px);
}

.logo {
  font-size: var(--wp--preset--font-size--x-large);
  font-weight: 700;
  color: var(--wp--preset--color--color-text);
}

.logo-accent {
  color: var(--wp--preset--color--color-yellow);
}

.hero-nav {
  display: flex;
  gap: var(--wp--preset--spacing--40);
  align-items: center;
}

.hero-nav-link {
  color: var(--wp--custom--color--colorTextMuted);
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 400;
  transition: color 0.3s ease;
}

.hero-nav-link:hover,
.hero-nav-link:focus {
  color: var(--wp--preset--color--color-yellow);
  outline: none;
}

.hero-nav-cta {
  background: var(--wp--preset--color--color-yellow);
  color: var(--wp--preset--color--color-navy);
  padding: 0.625rem var(--wp--preset--spacing--30);
  border-radius: 8px;
  font-weight: 600;
  font-size: var(--wp--preset--font-size--medium);
  transition: all 0.3s ease;
}

.hero-nav-cta:hover,
.hero-nav-cta:focus {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(8, 145, 178, 0.35);
  outline: none;
}

.mobile-menu-btn {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: var(--wp--preset--spacing--20);
  z-index: 110;
}

.mobile-menu-btn span {
  width: 24px;
  height: 2px;
  background: var(--wp--preset--color--color-text);
  transition: all 0.3s ease;
}

/* Hero Content */
.hero-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--wp--preset--spacing--40);
  position: relative;
  z-index: 10;
  gap: var(--wp--preset--spacing--40);
}

.hero-photo-wrapper {
  position: relative;
  animation: fadeInScale 0.8s ease-out;
}

.hero-photo-frame {
  position: relative;
  width: 180px;
  height: 208px;
}

.hero-photo-frame::before {
  content: '';
  position: absolute;
  inset: -6px;
  background: linear-gradient(160deg, var(--wp--preset--color--color-yellow) 0%, rgba(8, 145, 178, 0.5) 50%, var(--wp--preset--color--color-yellow) 100%);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  z-index: -1;
}

.hero-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}

.hero-photo-accent {
  position: absolute;
  bottom: -8px;
  right: -8px;
  width: 32px;
  height: 37px;
  background: var(--wp--preset--color--color-yellow);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  animation: pulse 3s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.1); }
}

.hero-text {
  max-width: 640px;
  animation: fadeInUp 0.8s ease-out 0.2s both;
}

.hero-specialty {
  display: inline-flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  color: var(--wp--preset--color--color-yellow);
  text-transform: uppercase;
  letter-spacing: 0.2em;
  margin-bottom: var(--wp--preset--spacing--30);
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  background: rgba(8, 145, 178, 0.15);
  border-radius: 100px;
}

.hero-headline {
  font-size: var(--wp--preset--font-size--gigantic);
  font-weight: 700;
  color: var(--wp--preset--color--color-text);
  line-height: 1.15;
  margin: 0 0 var(--wp--preset--spacing--30);
}

.hero-headline-em {
  color: var(--wp--preset--color--color-yellow);
  font-style: normal;
}

.hero-description {
  font-size: var(--wp--preset--font-size--large);
  font-weight: 300;
  color: var(--wp--custom--color--colorTextMuted);
  line-height: 1.75;
  margin: 0 0 var(--wp--preset--spacing--40);
}

.hero-cta-group {
  display: flex;
  gap: var(--wp--preset--spacing--30);
  flex-wrap: wrap;
  justify-content: center;
}

.hero-cta-primary {
  display: inline-flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  background: var(--wp--preset--color--color-yellow);
  color: var(--wp--preset--color--color-navy);
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  border-radius: 10px;
  font-weight: 600;
  font-size: var(--wp--preset--font-size--medium);
  transition: all 0.3s ease;
}

.hero-cta-primary:hover,
.hero-cta-primary:focus {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(8, 145, 178, 0.4);
  outline: none;
}

.hero-cta-secondary {
  display: inline-flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  background: transparent;
  color: var(--wp--preset--color--color-text);
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  border: 2px solid rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  font-weight: 500;
  font-size: var(--wp--preset--font-size--medium);
  transition: all 0.3s ease;
}

.hero-cta-secondary:hover,
.hero-cta-secondary:focus {
  border-color: var(--wp--preset--color--color-yellow);
  background: rgba(8, 145, 178, 0.12);
  outline: none;
}

/* Hero Footer */
.hero-footer {
  padding: var(--wp--preset--spacing--40);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--wp--preset--spacing--40);
  position: relative;
  z-index: 10;
  animation: fadeIn 1s ease-out 0.6s both;
}

.hero-trust {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--custom--color--colorTextMuted);
}

.hero-trust-icon {
  width: 18px;
  height: 18px;
  background: var(--wp--preset--color--color-yellow);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
}

.hero-divider {
  width: 1px;
  height: 24px;
  background: rgba(255, 255, 255, 0.1);
}

@keyframes fadeInScale {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

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

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* ===================================
   :::SECTION:About:::
   =================================== */
.about {
  padding: var(--wp--preset--spacing--60) 0;
  background: var(--wp--preset--color--color-light);
  color: var(--wp--preset--color--color-text-dark);
  position: relative;
}

.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--wp--preset--spacing--50);
  align-items: center;
}

.about-content .section-label {
  background: rgba(8, 145, 178, 0.18);
}

.about-content .section-title {
  color: var(--wp--preset--color--color-text-dark);
}

.about-lead {
  font-size: var(--wp--preset--font-size--x-large);
  font-weight: 500;
  color: var(--wp--preset--color--color-text-dark);
  margin-bottom: var(--wp--preset--spacing--30);
}

.about-content p {
  color: var(--wp--custom--color--colorTextDarkMuted);
  margin-bottom: var(--wp--preset--spacing--30);
  line-height: 1.8;
}

.about-credentials {
  display: flex;
  gap: var(--wp--preset--spacing--40);
  margin-top: var(--wp--preset--spacing--40);
  padding-top: var(--wp--preset--spacing--40);
  border-top: 1px solid rgba(30, 42, 58, 0.1);
}

.credential {
  text-align: center;
}

.credential-number {
  display: block;
  font-size: var(--wp--preset--font-size--huge);
  font-weight: 700;
  color: var(--wp--preset--color--color-navy);
}

.credential-label {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--custom--color--colorTextDarkMuted);
}

.about-visual {
  position: relative;
}

.about-image-frame {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(30, 42, 58, 0.2);
}

.about-image-frame::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(135deg, rgba(8, 145, 178, 0.35) 0%, transparent 50%);
  pointer-events: none;
  z-index: 1;
}

.about-image {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.about-badge {
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--wp--preset--color--color-navy);
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  box-shadow: 0 8px 24px rgba(30, 42, 58, 0.3);
}

.badge-hex {
  width: 24px;
  height: 28px;
  background: var(--wp--preset--color--color-yellow);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}

.badge-text {
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  color: var(--wp--preset--color--color-text);
  white-space: nowrap;
}

/* ===================================
   :::SECTION:Services:::
   =================================== */
.services {
  padding: var(--wp--preset--spacing--60) 0;
  background: linear-gradient(180deg, var(--wp--preset--color--color-navy-dark) 0%, var(--wp--preset--color--color-navy) 100%);
}

.services-header {
  text-align: center;
  margin-bottom: var(--wp--preset--spacing--50);
}

.services-header .section-subtitle {
  margin: 0 auto;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--wp--preset--spacing--40);
}

.service-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: var(--wp--preset--spacing--40);
  transition: all 0.4s ease;
}

.service-card:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(8, 145, 178, 0.4);
  transform: translateY(-4px);
}

.service-icon {
  width: 56px;
  height: 56px;
  background: var(--wp--preset--color--color-yellow);
  border-radius: 12px;
  margin-bottom: var(--wp--preset--spacing--30);
  position: relative;
}

.service-icon::after {
  content: '';
  position: absolute;
  inset: 14px;
  background: var(--wp--preset--color--color-navy);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}

.service-icon-1::after {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='2' y='3' width='20' height='14' rx='2'/%3E%3Cline x1='8' y1='21' x2='16' y2='21'/%3E%3Cline x1='12' y1='17' x2='12' y2='21'/%3E%3C/svg%3E");
}

.service-icon-2::after {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
}

.service-icon-3::after {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");
}

.service-icon-4::after {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");
}

.service-title {
  font-size: var(--wp--preset--font-size--x-large);
  font-weight: 600;
  margin-bottom: var(--wp--preset--spacing--20);
}

.service-desc {
  font-size: var(--wp--preset--font-size--medium);
  color: var(--wp--custom--color--colorTextMuted);
  margin-bottom: var(--wp--preset--spacing--30);
  line-height: 1.7;
}

.service-features {
  list-style: none;
}

.service-features li {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--custom--color--colorTextMuted);
  padding-left: var(--wp--preset--spacing--30);
  position: relative;
  margin-bottom: var(--wp--preset--spacing--20);
}

.service-features li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 6px;
  height: 6px;
  background: var(--wp--preset--color--color-yellow);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}

/* ===================================
   :::SECTION:Why Specialize:::
   =================================== */
.why-section {
  padding: var(--wp--preset--spacing--60) 0;
  background: var(--wp--preset--color--color-light);
  color: var(--wp--preset--color--color-text-dark);
}

.why-grid {
  display: grid;
  gap: var(--wp--preset--spacing--50);
}

.why-content {
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
}
.why-content .section-label {
      background: rgba(8, 145, 178, 0.18);
}

.why-content .section-title {
  color: var(--wp--preset--color--color-text-dark);
}

.why-reasons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--wp--preset--spacing--40);
}

.reason {
  display: flex;
  gap: var(--wp--preset--spacing--30);
  align-items: flex-start;
}

.reason-hex {
  flex-shrink: 0;
  width: 56px;
  height: 65px;
  background: var(--wp--preset--color--color-navy);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.reason-number {
  font-size: var(--wp--preset--font-size--large);
  font-weight: 700;
  color: var(--wp--preset--color--color-yellow);
}

.reason-content {
  flex: 1;
}

.reason-title {
  font-size: var(--wp--preset--font-size--large);
  font-weight: 600;
  color: var(--wp--preset--color--color-text-dark);
  margin-bottom: var(--wp--preset--spacing--20);
}

.reason-content p {
  font-size: var(--wp--preset--font-size--medium);
  color: var(--wp--custom--color--colorTextDarkMuted);
  line-height: 1.7;
}

/* ===================================
   :::SECTION:How I Help:::
   =================================== */
.help-section {
  padding: var(--wp--preset--spacing--60) 0;
  background: linear-gradient(180deg, var(--wp--preset--color--color-navy) 0%, var(--wp--preset--color--color-navy-dark) 100%);
}

.help-header {
  text-align: center;
  margin-bottom: var(--wp--preset--spacing--50);
}

.problems-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--wp--preset--spacing--40);
}

.problem-card {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  padding: var(--wp--preset--spacing--40);
  transition: all 0.4s ease;
}

.problem-card:hover {
  border-color: rgba(8, 145, 178, 0.3);
  background: rgba(255, 255, 255, 0.04);
}
.problem-icon {
      width: 40px;
      height: 40px;
      background: rgba(8, 145, 178, 0.18);
  border-radius: 50%;
  margin-bottom: var(--wp--preset--spacing--30);
  position: relative;
}

.problem-icon::after {
  content: '';
  position: absolute;
  inset: 10px;
  background: var(--wp--preset--color--color-yellow);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
}

.problem-title {
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 600;
  color: var(--wp--preset--color--color-text);
  margin-bottom: var(--wp--preset--spacing--20);
}

.problem-solution {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--custom--color--colorTextMuted);
  line-height: 1.7;
}

/* ===================================
   :::SECTION:Testimonials:::
   =================================== */
.testimonials {
  padding: var(--wp--preset--spacing--60) 0;
  background: var(--wp--preset--color--color-light);
  color: var(--wp--preset--color--color-text-dark);
}

.testimonials-header {
  text-align: center;
  margin-bottom: var(--wp--preset--spacing--50);
}
.testimonials-header .section-label {
      background: rgba(8, 145, 178, 0.18);
}

.testimonials-header .section-title {
  color: var(--wp--preset--color--color-text-dark);
}

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--wp--preset--spacing--40);
}

.testimonial {
  background: var(--wp--preset--color--color-text);
  border-radius: 16px;
  padding: var(--wp--preset--spacing--40);
  box-shadow: 0 4px 24px rgba(30, 42, 58, 0.08);
  position: relative;
  transition: all 0.4s ease;
}

.testimonial:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(30, 42, 58, 0.12);
}

.testimonial::before {
  content: '"';
  position: absolute;
  top: var(--wp--preset--spacing--30);
  right: var(--wp--preset--spacing--40);
  font-size: 5rem;
  font-weight: 700;
  color: var(--wp--preset--color--color-yellow);
  opacity: 0.2;
  line-height: 1;
}

.testimonial-content p {
  font-size: var(--wp--preset--font-size--medium);
  color: var(--wp--custom--color--colorTextDarkMuted);
  line-height: 1.8;
  position: relative;
  z-index: 1;
}

.testimonial-author {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--30);
  margin-top: var(--wp--preset--spacing--40);
  padding-top: var(--wp--preset--spacing--30);
  border-top: 1px solid rgba(30, 42, 58, 0.08);
}

.author-avatar {
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, var(--wp--preset--color--color-navy) 0%, var(--wp--preset--color--color-navy-light) 100%);
  border-radius: 50%;
  position: relative;
}

.author-avatar::after {
  content: '';
  position: absolute;
  inset: 12px;
  background: var(--wp--preset--color--color-yellow);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
}

.author-info {
  display: flex;
  flex-direction: column;
}

.author-name {
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 600;
  font-style: normal;
  color: var(--wp--preset--color--color-text-dark);
}

.author-company {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--custom--color--colorTextDarkMuted);
}

/* ===================================
   :::SECTION:Contact:::
   =================================== */
.contact {
  padding: var(--wp--preset--spacing--60) 0;
  background: linear-gradient(165deg, var(--wp--preset--color--color-navy) 0%, var(--wp--preset--color--color-navy-dark) 100%);
  position: relative;
  overflow: hidden;
}

.contact-decoration {
  position: absolute;
  width: 200px;
  height: 231px;
  opacity: 0.04;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  background: var(--wp--preset--color--color-yellow);
}

.contact-decoration-1 {
  top: 10%;
  left: -5%;
}

.contact-decoration-2 {
  bottom: 10%;
  right: -5%;
  width: 150px;
  height: 173px;
}

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--wp--preset--spacing--50);
  align-items: center;
  position: relative;
  z-index: 1;
}

.contact-lead {
  font-size: var(--wp--preset--font-size--large);
  color: var(--wp--custom--color--colorTextMuted);
  line-height: 1.8;
  margin-bottom: var(--wp--preset--spacing--40);
}

.contact-benefits {
  display: grid;
  gap: var(--wp--preset--spacing--30);
}

.contact-benefit {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--30);
  font-size: var(--wp--preset--font-size--medium);
  color: var(--wp--custom--color--colorTextMuted);
}

.benefit-icon {
  width: 24px;
  height: 24px;
  background: var(--wp--preset--color--color-yellow);
  flex-shrink: 0;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
}

.contact-form-wrapper {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: var(--wp--preset--spacing--40);
}

.contact-form {
  display: grid;
  gap: var(--wp--preset--spacing--30);
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--20);
}

.form-label {
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  color: var(--wp--preset--color--color-text);
}

.form-input {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 0.875rem var(--wp--preset--spacing--30);
  font-family: var(--font-family);
  font-size: var(--wp--preset--font-size--medium);
  color: var(--wp--preset--color--color-text);
  transition: all 0.3s ease;
}

.form-input::placeholder {
  color: var(--wp--custom--color--colorTextMuted);
}

.form-input:focus {
  outline: none;
  border-color: var(--wp--preset--color--color-yellow);
  background: rgba(255, 255, 255, 0.08);
}

.form-textarea {
  resize: vertical;
  min-height: 100px;
}

.form-submit {
  background: var(--wp--preset--color--color-yellow);
  color: var(--wp--preset--color--color-navy);
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  border-radius: 10px;
  font-weight: 600;
  font-size: var(--wp--preset--font-size--medium);
  transition: all 0.3s ease;
  margin-top: var(--wp--preset--spacing--20);
}

.form-submit:hover,
.form-submit:focus {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(8, 145, 178, 0.4);
  outline: none;
}

/* ===================================
   :::SECTION:Footer:::
   =================================== */
.site-footer {
  background: var(--wp--preset--color--color-navy-dark);
  padding: var(--wp--preset--spacing--50) 0;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.footer-content {
  text-align: center;
}

.footer-logo {
  font-size: var(--wp--preset--font-size--x-large);
  font-weight: 700;
  display: inline-block;
  margin-bottom: var(--wp--preset--spacing--20);
}

.footer-tagline {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--custom--color--colorTextMuted);
  margin-bottom: var(--wp--preset--spacing--40);
}

.footer-links {
  display: flex;
  justify-content: center;
  gap: var(--wp--preset--spacing--40);
  margin-bottom: var(--wp--preset--spacing--40);
}

.footer-links a {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--custom--color--colorTextMuted);
  transition: color 0.3s ease;
}

.footer-links a:hover,
.footer-links a:focus {
  color: var(--wp--preset--color--color-yellow);
  outline: none;
}

.footer-copyright {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--custom--color--colorTextMuted);
  opacity: 0.6;
}

/* ===================================
   :::SECTION:Templates:::
   =================================== */
/* Post elements */
.wp-block-post-title {
  font-size: var(--wp--preset--font-size--huge);
  font-weight: 700;
  color: var(--wp--preset--color--color-text);
  margin-bottom: var(--wp--preset--spacing--30);
  line-height: 1.2;
}

.wp-block-post-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}

.wp-block-post-title a:hover {
  color: var(--wp--preset--color--color-yellow);
}

.wp-block-post-date,
.wp-block-post-author {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--custom--color--colorTextMuted);
}

.wp-block-post-excerpt {
  font-size: var(--wp--preset--font-size--medium);
  color: var(--wp--custom--color--colorTextMuted);
  line-height: 1.7;
}

.wp-block-post-content {
  font-size: var(--wp--preset--font-size--medium);
  line-height: 1.8;
  color: var(--wp--preset--color--color-text);
}

.wp-block-post-content p {
  margin-bottom: var(--wp--preset--spacing--30);
}

.wp-block-post-featured-image {
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: var(--wp--preset--spacing--40);
}

.wp-block-post-featured-image img {
  width: 100%;
  height: auto;
}

/* Navigation */
.wp-block-query-pagination {
  display: flex;
  gap: var(--wp--preset--spacing--30);
  justify-content: center;
  margin-top: var(--wp--preset--spacing--50);
}

.wp-block-query-pagination a {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  color: var(--wp--preset--color--color-text);
  transition: all 0.3s ease;
}

.wp-block-query-pagination a:hover,
.wp-block-query-pagination a:focus {
  background: var(--wp--preset--color--color-yellow);
  color: var(--wp--preset--color--color-navy);
  border-color: var(--wp--preset--color--color-yellow);
  outline: none;
}

.wp-block-post-navigation-link {
  font-weight: 500;
  color: var(--wp--preset--color--color-yellow);
  transition: opacity 0.3s ease;
}

.wp-block-post-navigation-link:hover {
  opacity: 0.8;
}

/* Search */
.wp-block-search {
  display: flex;
  gap: var(--wp--preset--spacing--30);
}

.wp-block-search__input {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  font-family: var(--font-family);
  font-size: var(--wp--preset--font-size--medium);
  color: var(--wp--preset--color--color-text);
  flex: 1;
}

.wp-block-search__input:focus {
  outline: none;
  border-color: var(--wp--preset--color--color-yellow);
}

.wp-block-search__button {
  background: var(--wp--preset--color--color-yellow);
  color: var(--wp--preset--color--color-navy);
  border: none;
  border-radius: 8px;
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  font-family: var(--font-family);
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}
.wp-block-search__button:hover,
    .wp-block-search__button:focus {
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(8, 145, 178, 0.35);
  outline: none;
}

/* Comments */
.wp-block-comment-template {
  list-style: none;
  padding: 0;
}

.wp-block-comment-author-name {
  font-weight: 600;
  color: var(--wp--preset--color--color-text);
}

.wp-block-comment-content {
  font-size: var(--wp--preset--font-size--medium);
  color: var(--wp--custom--color--colorTextMuted);
  line-height: 1.7;
}

/* Typography */
.wp-block-quote {
  border-left: 4px solid var(--wp--preset--color--color-yellow);
  padding-left: var(--wp--preset--spacing--40);
  margin: var(--wp--preset--spacing--40) 0;
  font-style: italic;
  font-size: var(--wp--preset--font-size--large);
  color: var(--wp--custom--color--colorTextMuted);
}

.wp-block-code {
  background: rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: var(--wp--preset--spacing--30);
  font-family: monospace;
  font-size: var(--wp--preset--font-size--small);
  overflow-x: auto;
}

/* ===================================
   :::SECTION:Responsive:::
   =================================== */
@media (max-width: 1024px) {
  .about-grid {
    grid-template-columns: 1fr;
    gap: var(--wp--preset--spacing--40);
  }
  
  .about-visual {
    order: -1;
    max-width: 500px;
    margin: 0 auto;
  }
  
  .why-reasons {
    grid-template-columns: 1fr;
    gap: var(--wp--preset--spacing--40);
  }
  
  .problems-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .testimonials-grid {
    grid-template-columns: 1fr;
    max-width: 600px;
    margin: 0 auto;
  }
  .contact-grid {
        grid-template-columns: 1fr;
        gap: var(--wp--preset--spacing--40);
      }
/* Tablet horizontal padding - override .has-global-padding using specificity */
              .has-global-padding.hero,
              .has-global-padding.about,
              .has-global-padding.services,
              .has-global-padding.why-section,
              .has-global-padding.help-section,
              .has-global-padding.testimonials,
              .has-global-padding.contact,
              .has-global-padding.site-footer,
              body .has-global-padding {
                padding-left: 32px;
                padding-right: 32px;
              }
      
      .wp-block-group[class*="wp-block-group"] > .container {
        padding-left: 0;
        padding-right: 0;
      }
    }
    
    @media (max-width: 768px) {
  .hero-header {
    padding: var(--wp--preset--spacing--30);
  }
  
  .hero-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--wp--preset--color--color-navy-dark);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--wp--preset--spacing--40);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 100;
  }
  
  .hero-nav.is-open {
    opacity: 1;
    visibility: visible;
  }
  
  .hero-nav-link {
    font-size: var(--wp--preset--font-size--x-large);
  }
  
  .mobile-menu-btn {
    display: flex;
  }
  
  .mobile-menu-btn.is-active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
  }
  
  .mobile-menu-btn.is-active span:nth-child(2) {
    opacity: 0;
  }
  
  .mobile-menu-btn.is-active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
  }
  
  .hero-photo-frame {
    width: 150px;
    height: 173px;
  }
  
  .hero-headline {
    font-size: clamp(1.75rem, 7vw, 2.5rem);
  }
  
  .hero-description {
    font-size: var(--wp--preset--font-size--medium);
  }
  
  .hero-decoration {
    display: none;
  }
  
  .hero-footer {
    flex-direction: column;
    gap: var(--wp--preset--spacing--30);
  }
  
  .hero-divider {
    display: none;
  }
  
  .services-grid {
    grid-template-columns: 1fr;
  }
  
  .problems-grid {
    grid-template-columns: 1fr;
  }
  
  .about-credentials {
    flex-direction: column;
    align-items: center;
    gap: var(--wp--preset--spacing--30);
  }
  
  .footer-links {
    flex-wrap: wrap;
    gap: var(--wp--preset--spacing--30);
  }
  .container {
        padding: 0;
      }
/* Mobile horizontal padding - override .has-global-padding using specificity */
              .has-global-padding.hero,
              .has-global-padding.about,
              .has-global-padding.services,
              .has-global-padding.why-section,
              .has-global-padding.help-section,
              .has-global-padding.testimonials,
              .has-global-padding.contact,
              .has-global-padding.site-footer,
              body .has-global-padding {
                padding-left: 20px;
                padding-right: 20px;
              }
      
      .section-title {
        font-size: var(--wp--preset--font-size--huge);
      }
    }
    
    @media (max-width: 480px) {
  .hero-cta-group {
    flex-direction: column;
    width: 100%;
  }
  
  .hero-cta-primary,
  .hero-cta-secondary {
    width: 100%;
    justify-content: center;
  }
  
  .reason {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }
  
  .contact-form-wrapper {
    padding: var(--wp--preset--spacing--30);
  }
}


/* ===================================
   :::SECTION:Hero:::
   =================================== */

/* Hero navigation - button styled link */
.wp-block-button.hero-nav-cta .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  background: var(--wp--preset--color--color-yellow);
  color: var(--wp--preset--color--color-navy);
  padding: 0.625rem var(--wp--preset--spacing--30);
  border-radius: 8px;
  font-weight: 600;
  font-size: var(--wp--preset--font-size--medium);
  transition: all 0.3s ease;
}
.wp-block-button.hero-nav-cta .wp-block-button__link:hover,
    .wp-block-button.hero-nav-cta .wp-block-button__link:focus {
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(8, 145, 178, 0.35);
  outline: none;
}

/* Hero navigation flex properties */
:root :where(.hero-nav .wp-block-navigation__responsive-container-content) {
  display: flex;
  gap: var(--wp--preset--spacing--40);
}

.editor-styles-wrapper .hero-nav .wp-block-navigation__container {
  display: flex !important;
  gap: var(--wp--preset--spacing--40) !important;
}

.editor-styles-wrapper .hero-nav .wp-block-navigation__responsive-container-content {
  display: flex !important;
  gap: var(--wp--preset--spacing--40) !important;
}

.editor-styles-wrapper .hero-nav .wp-block-navigation-item + .wp-block-navigation-item {
  margin-left: var(--wp--preset--spacing--40) !important;
}

/* Hero photo wrapper - image height */
.hero-photo-wrapper .wp-block-image {
  height: 100%;
}

.hero-photo-wrapper .wp-block-image img {
  height: 100%;
  object-fit: cover;
}

/* Hero CTA buttons */
.wp-block-button.hero-cta-primary .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  background: var(--wp--preset--color--color-yellow);
  color: var(--wp--preset--color--color-navy);
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  border-radius: 10px;
  font-weight: 600;
  font-size: var(--wp--preset--font-size--medium);
  transition: all 0.3s ease;
}
.wp-block-button.hero-cta-primary .wp-block-button__link:hover,
    .wp-block-button.hero-cta-primary .wp-block-button__link:focus {
      transform: translateY(-3px);
      box-shadow: 0 16px 40px rgba(8, 145, 178, 0.4);
  outline: none;
}

.wp-block-button.hero-cta-secondary .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  background: transparent;
  color: var(--wp--preset--color--color-text);
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  border: 2px solid rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  font-weight: 500;
  font-size: var(--wp--preset--font-size--medium);
  transition: all 0.3s ease;
}
.wp-block-button.hero-cta-secondary .wp-block-button__link:hover,
    .wp-block-button.hero-cta-secondary .wp-block-button__link:focus {
      border-color: var(--wp--preset--color--color-yellow);
      background: rgba(8, 145, 178, 0.12);
  outline: none;
}

/* Hero CTA group alignment */
:root :where(.hero-cta-group) {
  justify-content: center;
}

/* Hero specialty - nested duplicate class reset */
.wp-block-paragraph.hero-specialty {
  padding: 0;
  background: transparent;
  border: none;
  display: inline;
}

/* Hero decorations - absolute positioning in editor */
.editor-styles-wrapper .hero-decoration {
  position: absolute !important;
}

.editor-styles-wrapper .hero-photo-accent {
  position: absolute !important;
}

/* Hero footer flex container */
.editor-styles-wrapper .hero-footer {
  display: flex !important;
  justify-content: center !important;
}

/* Hero footer - editor grid fix */
.editor-styles-wrapper .hero-footer > .block-editor-block-list__block {
  margin: 0 !important;
}

.editor-styles-wrapper .hero-footer {
  gap: var(--wp--preset--spacing--40) !important;
}

/* ===================================
   :::SECTION:About:::
   =================================== */

/* About grid - editor fix */
.editor-styles-wrapper .about-grid > .block-editor-block-list__block {
  margin: 0 !important;
}

.editor-styles-wrapper .about-grid {
  display: grid !important;
  gap: var(--wp--preset--spacing--50) !important;
}

/* About credentials - editor fix */
.editor-styles-wrapper .about-credentials > .block-editor-block-list__block {
  margin: 0 !important;
}

.editor-styles-wrapper .about-credentials {
  display: flex !important;
  gap: var(--wp--preset--spacing--40) !important;
}

/* About badge - absolute positioning in editor */
.editor-styles-wrapper .about-badge {
  position: absolute !important;
}

/* About image wrapper - image height */
.about-image-frame .wp-block-image {
  height: 100%;
}

.about-image-frame .wp-block-image img {
  height: 100%;
  object-fit: cover;
}

/* ===================================
   :::SECTION:Services:::
   =================================== */

/* Services grid - editor fix */
.editor-styles-wrapper .services-grid > .block-editor-block-list__block {
  margin: 0 !important;
}

.editor-styles-wrapper .services-grid {
  display: grid !important;
  gap: var(--wp--preset--spacing--40) !important;
}

/* Service icons - absolute positioning in editor */
.editor-styles-wrapper .service-icon {
  position: relative !important;
}

.editor-styles-wrapper .service-icon::after {
  position: absolute !important;
}

/* ===================================
   :::SECTION:Why Specialize:::
   =================================== */

/* Why grid - editor fix */
.editor-styles-wrapper .why-grid > .block-editor-block-list__block {
  margin: 0 !important;
}

.editor-styles-wrapper .why-grid {
  display: grid !important;
  gap: var(--wp--preset--spacing--50) !important;
}

/* Why reasons - editor fix */
.editor-styles-wrapper .why-reasons > .block-editor-block-list__block {
  margin: 0 !important;
}

.editor-styles-wrapper .why-reasons {
  display: grid !important;
  gap: var(--wp--preset--spacing--40) !important;
}

/* Reason hex - absolute positioning in editor */
.editor-styles-wrapper .reason-hex {
  position: relative !important;
}

/* ===================================
   :::SECTION:How I Help:::
   =================================== */

/* Problems grid - editor fix */
.editor-styles-wrapper .problems-grid > .block-editor-block-list__block {
  margin: 0 !important;
}

.editor-styles-wrapper .problems-grid {
  display: grid !important;
  gap: var(--wp--preset--spacing--40) !important;
}

/* Problem icons - absolute positioning in editor */
.editor-styles-wrapper .problem-icon {
  position: relative !important;
}

.editor-styles-wrapper .problem-icon::after {
  position: absolute !important;
}

/* ===================================
   :::SECTION:Testimonials:::
   =================================== */

/* Testimonials grid - editor fix */
.editor-styles-wrapper .testimonials-grid > .block-editor-block-list__block {
  margin: 0 !important;
}

.editor-styles-wrapper .testimonials-grid {
  display: grid !important;
  gap: var(--wp--preset--spacing--40) !important;
}

/* Testimonial quote - absolute positioning in editor */
.editor-styles-wrapper .testimonial::before {
  position: absolute !important;
}

/* Author avatar - absolute positioning in editor */
.editor-styles-wrapper .author-avatar {
  position: relative !important;
}

.editor-styles-wrapper .author-avatar::after {
  position: absolute !important;
}

/* ===================================
   :::SECTION:Contact:::
   =================================== */

/* Contact decorations - absolute positioning in editor */
.editor-styles-wrapper .contact-decoration {
  position: absolute !important;
}

/* Contact grid - editor fix */
.editor-styles-wrapper .contact-grid > .block-editor-block-list__block {
  margin: 0 !important;
}

.editor-styles-wrapper .contact-grid {
  display: grid !important;
  gap: var(--wp--preset--spacing--50) !important;
}

/* Contact benefits - editor fix */
.editor-styles-wrapper .contact-benefits > .block-editor-block-list__block {
  margin: 0 !important;
}

.editor-styles-wrapper .contact-benefits {
  display: grid !important;
  gap: var(--wp--preset--spacing--30) !important;
}

/* Contact form - editor fix */
.editor-styles-wrapper .contact-form > .block-editor-block-list__block {
  margin: 0 !important;
}

.editor-styles-wrapper .contact-form {
  display: grid !important;
  gap: var(--wp--preset--spacing--30) !important;
}

/* Form inputs converted to paragraphs */
.form-group > .wp-block-paragraph:not(:first-child),
.form-input {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 0.875rem var(--wp--preset--spacing--30);
  font-family: var(--font-family);
  font-size: var(--wp--preset--font-size--medium);
  color: var(--wp--preset--color--color-text);
  transition: all 0.3s ease;
}

.form-textarea {
  min-height: 100px;
}

/* Form submit button */
.wp-block-button.form-submit .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  background: var(--wp--preset--color--color-yellow);
  color: var(--wp--preset--color--color-navy);
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  border-radius: 10px;
  font-weight: 600;
  font-size: var(--wp--preset--font-size--medium);
  transition: all 0.3s ease;
  width: 100%;
  justify-content: center;
}
.wp-block-button.form-submit .wp-block-button__link:hover,
    .wp-block-button.form-submit .wp-block-button__link:focus {
      transform: translateY(-2px);
      box-shadow: 0 12px 32px rgba(8, 145, 178, 0.4);
  outline: none;
}

/* ===================================
   :::SECTION:Footer:::
   =================================== */

/* Footer links - editor fix */
.editor-styles-wrapper .footer-links > .block-editor-block-list__block {
  margin: 0 !important;
}

.editor-styles-wrapper .footer-links {
  display: flex !important;
  gap: var(--wp--preset--spacing--40) !important;
}

/* ===================================
   :::SECTION:Global:::
   =================================== */

/* Navigation list bullets reset */
.wp-block-navigation ul,
.wp-block-navigation li,
.wp-block-navigation__container,
.wp-block-navigation-item {
  list-style: none;
  list-style-type: none;
}

/* Margin parity - section labels */
:root :where(.section-label) {
  margin-block-end: var(--wp--preset--spacing--30);
}

.editor-styles-wrapper .section-label {
  margin-block-end: var(--wp--preset--spacing--30) !important;
}

/* Margin parity - section titles */
:root :where(.section-title) {
  margin-block-end: var(--wp--preset--spacing--30);
}

.editor-styles-wrapper .section-title {
  margin-block-end: var(--wp--preset--spacing--30) !important;
}

/* Margin parity - hero specialty */
:root :where(.hero-specialty) {
  margin-block-end: var(--wp--preset--spacing--30);
}

.editor-styles-wrapper .hero-specialty {
  margin-block-end: var(--wp--preset--spacing--30) !important;
}

/* Margin parity - hero headline */
:root :where(.hero-headline) {
  margin-block-end: var(--wp--preset--spacing--30);
}

.editor-styles-wrapper .hero-headline {
  margin-block-end: var(--wp--preset--spacing--30) !important;
}

/* Margin parity - hero description */
:root :where(.hero-description) {
  margin-block-end: var(--wp--preset--spacing--40);
}

.editor-styles-wrapper .hero-description {
  margin-block-end: var(--wp--preset--spacing--40) !important;
}

/* Margin parity - about lead */
:root :where(.about-lead) {
  margin-block-end: var(--wp--preset--spacing--30);
}

.editor-styles-wrapper .about-lead {
  margin-block-end: var(--wp--preset--spacing--30) !important;
}

/* Margin parity - about content paragraphs */
:root :where(.about-content p) {
  margin-block-end: var(--wp--preset--spacing--30);
}

.editor-styles-wrapper .about-content p {
  margin-block-end: var(--wp--preset--spacing--30) !important;
}

/* Margin parity - about credentials */
:root :where(.about-credentials) {
  margin-block-start: var(--wp--preset--spacing--40);
  padding-block-start: var(--wp--preset--spacing--40);
}

.editor-styles-wrapper .about-credentials {
  margin-block-start: var(--wp--preset--spacing--40) !important;
  padding-block-start: var(--wp--preset--spacing--40) !important;
}

/* Margin parity - service icon */
:root :where(.service-icon) {
  margin-block-end: var(--wp--preset--spacing--30);
}

.editor-styles-wrapper .service-icon {
  margin-block-end: var(--wp--preset--spacing--30) !important;
}

/* Margin parity - service title */
:root :where(.service-title) {
  margin-block-end: var(--wp--preset--spacing--20);
}

.editor-styles-wrapper .service-title {
  margin-block-end: var(--wp--preset--spacing--20) !important;
}

/* Margin parity - service description */
:root :where(.service-desc) {
  margin-block-end: var(--wp--preset--spacing--30);
}

.editor-styles-wrapper .service-desc {
  margin-block-end: var(--wp--preset--spacing--30) !important;
}

/* Margin parity - service features list items */
:root :where(.service-features li) {
  margin-block-end: var(--wp--preset--spacing--20);
}

.editor-styles-wrapper .service-features li {
  margin-block-end: var(--wp--preset--spacing--20) !important;
}

/* Margin parity - reason title */
:root :where(.reason-title) {
  margin-block-end: var(--wp--preset--spacing--20);
}

.editor-styles-wrapper .reason-title {
  margin-block-end: var(--wp--preset--spacing--20) !important;
}

/* Margin parity - problem icon */
:root :where(.problem-icon) {
  margin-block-end: var(--wp--preset--spacing--30);
}

.editor-styles-wrapper .problem-icon {
  margin-block-end: var(--wp--preset--spacing--30) !important;
}

/* Margin parity - problem title */
:root :where(.problem-title) {
  margin-block-end: var(--wp--preset--spacing--20);
}

.editor-styles-wrapper .problem-title {
  margin-block-end: var(--wp--preset--spacing--20) !important;
}

/* Margin parity - testimonial author */
:root :where(.testimonial-author) {
  margin-block-start: var(--wp--preset--spacing--40);
  padding-block-start: var(--wp--preset--spacing--30);
}

.editor-styles-wrapper .testimonial-author {
  margin-block-start: var(--wp--preset--spacing--40) !important;
  padding-block-start: var(--wp--preset--spacing--30) !important;
}

/* Margin parity - contact lead */
:root :where(.contact-lead) {
  margin-block-end: var(--wp--preset--spacing--40);
}

.editor-styles-wrapper .contact-lead {
  margin-block-end: var(--wp--preset--spacing--40) !important;
}

/* Margin parity - footer logo */
:root :where(.footer-logo) {
  margin-block-end: var(--wp--preset--spacing--20);
}

.editor-styles-wrapper .footer-logo {
  margin-block-end: var(--wp--preset--spacing--20) !important;
}

/* Margin parity - footer tagline */
:root :where(.footer-tagline) {
  margin-block-end: var(--wp--preset--spacing--40);
}

.editor-styles-wrapper .footer-tagline {
  margin-block-end: var(--wp--preset--spacing--40) !important;
}

/* Margin parity - footer links */
:root :where(.footer-links) {
  margin-block-end: var(--wp--preset--spacing--40);
}

.editor-styles-wrapper .footer-links {
  margin-block-end: var(--wp--preset--spacing--40) !important;
}

/* Margin parity - services header */
:root :where(.services-header) {
  margin-block-end: var(--wp--preset--spacing--50);
}

.editor-styles-wrapper .services-header {
  margin-block-end: var(--wp--preset--spacing--50) !important;
}

/* Margin parity - help header */
:root :where(.help-header) {
  margin-block-end: var(--wp--preset--spacing--50);
}

.editor-styles-wrapper .help-header {
  margin-block-end: var(--wp--preset--spacing--50) !important;
}

/* Margin parity - testimonials header */
:root :where(.testimonials-header) {
  margin-block-end: var(--wp--preset--spacing--50);
}

.editor-styles-wrapper .testimonials-header {
  margin-block-end: var(--wp--preset--spacing--50) !important;
}

/* Hero header flex space-between - editor fix */
.editor-styles-wrapper .hero-header {
  display: flex !important;
  justify-content: space-between !important;
}

/* Reason flex layout - editor fix */
.editor-styles-wrapper .reason {
  display: flex !important;
}

/* Contact benefit flex layout - editor fix */
.editor-styles-wrapper .contact-benefit {
  display: flex !important;
}

/* Testimonial author flex layout - editor fix */
.editor-styles-wrapper .testimonial-author {
  display: flex !important;
}

/* Footer links flex layout - editor fix */
.editor-styles-wrapper .footer-links {
  display: flex !important;
  justify-content: center !important;
}

/* WordPress Admin Bar Offset */
.admin-bar .nav,
.admin-bar [class*="nav"][style*="position: fixed"],
.admin-bar [class*="header"][style*="position: fixed"] {
  top: 32px;
}

@media screen and (max-width: 782px) {
  .admin-bar .nav,
  .admin-bar [class*="nav"][style*="position: fixed"],
  .admin-bar [class*="header"][style*="position: fixed"] {
    top: 46px;
  }
}

/* Reset paragraph wrapper styles for inline content converted to wp:paragraph */
:where(.wp-block-paragraph) {
  margin: 0;
}

/* Reset WordPress button line-height to match original CSS */
.wp-block-button__link {
  line-height: normal;
}

/* CRITICAL: Reset WordPress button wrappers to prevent double styling. */
.wp-block-button {
  padding: 0 !important;
  background: none !important;
  border: none !important;
  margin: 0;
  box-shadow: none !important;
}

/* Navigation link styling - remove default underlines in nav contexts */
:where([class*="nav"] a),
:where([class*="nav"] .wp-block-paragraph a),
:where([class*="-link-wrapper"] a) {
  text-decoration: none;
}

/* Reset paragraph margins inside navigation */
:where([class*="nav"] .wp-block-paragraph) {
  margin: 0;
}

/* Editor-specific: override WordPress editor link styles */
.editor-styles-wrapper [class*="nav"] a,
.editor-styles-wrapper [class*="-link-wrapper"] a {
  text-decoration: none;
}

/* wp:navigation block resets */
:where(.wp-block-navigation),
:where(.wp-block-navigation-item__content) {
  font-family: inherit;
  text-decoration: none;
  color: inherit;
}

:where(.wp-block-navigation__container) {
  padding: 0;
}

/* Spacer inside navigation */
:where(.wp-block-navigation .wp-block-spacer) {
  flex-grow: 1;
  height: 0 !important;
  min-height: 0 !important;
}

/* Reset responsive container */
.wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open.is-menu-open) {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Desktop navigation layout */
.wp-block-navigation__responsive-container-content {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
  overflow: visible;
}

/* Gap between nav items */
:where(.wp-block-navigation .wp-block-navigation__container) {
  gap: var(--nav-gap, 1.5rem);
}

/* Nav containers must shrink to fit */
.wp-block-navigation__responsive-container-content > .wp-block-navigation__container {
  flex-shrink: 1;
  min-width: 0;
}

:where(.wp-block-navigation__responsive-container-content > .wp-block-navigation__container) {
  display: flex;
  align-items: center;
}

/* CRITICAL: Reset inner UL elements */
.wp-block-navigation__container {
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  z-index: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

.wp-block-navigation__responsive-container-content > * {
  flex-shrink: 0;
}

:where(.wp-block-navigation .wp-block-search) {
  flex-shrink: 0;
}

.wp-block-navigation .wp-block-site-title {
  margin: 0;
}

.wp-block-navigation .wp-block-site-title a {
  text-decoration: none;
  color: inherit;
}

.wp-block-navigation .wp-block-navigation-item__content {
  display: inline;
  white-space: nowrap;
}

/* wp:navigation mobile menu defaults */
.wp-block-navigation__responsive-container-open {
  background: transparent;
  border: none;
  color: inherit;
}

/* Mobile menu overlay: explicit viewport dimensions needed because parent transforms
   (e.g. on sticky headers) create new containing blocks, breaking position:fixed */
.wp-block-navigation__responsive-container.is-menu-open {
  background: var(--mobile-nav-background, #1a1a1a);
  color: var(--mobile-nav-text, #ffffff);
  width: 100vw;
  height: 100vh;
  height: 100dvh; /* Dynamic viewport height for mobile browsers */
  padding: var(--mobile-nav-padding, 1.5rem); /* Ensure close button has breathing room */
  box-sizing: border-box;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  font-size: var(--mobile-nav-font-size, 1.5rem);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  gap: var(--mobile-nav-gap, 1.5rem);
}

/* Mobile menu: override desktop justification for centered mobile layout */
/* WordPress sets --navigation-layout-justification-setting from block attributes (e.g. justifyContent:"right") */
/* which bleeds into mobile menu. Reset the variable so WordPress's own CSS uses center alignment. */
.wp-block-navigation__responsive-container.is-menu-open {
  --navigation-layout-justification-setting: center;
  --navigation-layout-justify: center;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  flex-direction: column;
  align-items: center;
  gap: var(--mobile-nav-gap, 1.5rem);
}

/* Mobile menu z-index fix: When header and content are siblings with same z-index,
   content paints above header due to DOM order. Elevate only the template part containing
   the open navigation menu. Use :has() for precise targeting without affecting other elements. */
.wp-block-template-part:has(.wp-block-navigation .is-menu-open),
header:has(.wp-block-navigation .is-menu-open) {
  z-index: 100001;
  position: relative;
}

/* Adjust hero height for admin bar */
.admin-bar .hero {
  min-height: calc(100vh - 32px);
}

@media screen and (max-width: 782px) {
  .admin-bar .hero {
    min-height: calc(100vh - 46px);
  }
}

/* Editor-specific fixes */
.editor-styles-wrapper .wp-block-navigation-item {
  margin: 0;
}

/* Editor navigation structure fix - ensure flex display is applied */
/* Gap values should come from theme-specific CSS adjustments, not here */
.editor-styles-wrapper .wp-block-navigation__container {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}

.editor-styles-wrapper .wp-block-navigation__responsive-container-content {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}

/* ===========================================
   RESPONSIVE UTILITY CLASSES (Miles Utilities)
   Reusable helpers for common responsive patterns
   =========================================== */

/* Flex row that stacks vertically on mobile */
.miles-row-stack {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--40, 1.5rem);
}

@media (max-width: 781px) {
  .miles-row-stack {
    flex-direction: column;
    align-items: stretch;
  }
}

/* Reverse order on mobile (image above text, etc.) */
@media (max-width: 781px) {
  .miles-swap-order {
    flex-direction: column-reverse;
  }
}

/* Sticky positioning with admin bar offset */
.miles-sticky-top {
  position: sticky;
  top: 0;
  z-index: 100;
}

.admin-bar .miles-sticky-top {
  top: 32px;
}

@media screen and (max-width: 782px) {
  .admin-bar .miles-sticky-top {
    top: 46px;
  }
}

/* Prevent flex item from shrinking */
.miles-no-shrink {
  flex-shrink: 0;
}

/* Flex utilities for alignment */
.miles-flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.miles-flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Hide visually but keep accessible */
.miles-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

