html,body{overflow-x:hidden;max-width:100%}.wp-block-html.alignfull{width:100%!important;max-width:100%!important;overflow-x:hidden}.entry-content{overflow-x:hidden}.is-layout-constrained>.alignfull{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}@media(max-width:768px){.wp-block-group.is-nowrap{flex-wrap:wrap!important}.wp-block-navigation{flex-wrap:wrap!important}.wp-site-blocks{overflow-x:hidden;max-width:100vw}header,.wp-block-template-part{overflow-x:hidden;max-width:100vw}.wp-block-group.alignfull.has-global-padding{padding-left:clamp(12px,4vw,24px)!important;padding-right:clamp(12px,4vw,24px)!important}}

/* ── Smooth scrolling ───────────────────────────────────────── */
html {
  scroll-behavior: smooth;
}

/* ── Page-load fade-in ──────────────────────────────────────── */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.wp-site-blocks > * {
  animation: fadeIn 0.55s ease both;
}

/* Hero block entrance */
.wp-block-html .hero-badge {
  animation: fadeInUp 0.5s ease both;
  animation-delay: 0.05s;
}
.wp-block-html h1 {
  animation: fadeInUp 0.65s ease both;
  animation-delay: 0.1s;
}
.wp-block-html .hero-subtitle,
.wp-block-html .hero-certifications {
  animation: fadeInUp 0.6s ease both;
  animation-delay: 0.2s;
}
.wp-block-html .hero-tags {
  animation: fadeInUp 0.6s ease both;
  animation-delay: 0.3s;
}
.wp-block-html .hero-cta {
  animation: fadeInUp 0.6s ease both;
  animation-delay: 0.4s;
}
.wp-block-html .hero-nav-links {
  animation: fadeInUp 0.55s ease both;
  animation-delay: 0.5s;
}
.wp-block-html .feature-grid {
  animation: fadeInUp 0.6s ease both;
  animation-delay: 0.2s;
}

/* ── Navigation link transitions ───────────────────────────── */
.wp-block-navigation a {
  transition: color 0.22s ease, opacity 0.22s ease !important;
}
.wp-block-navigation a:hover {
  opacity: 0.75;
}

/* ── Primary & secondary button hover smoothness ───────────── */
.btn-primary,
.btn-secondary,
.wp-block-button__link,
.wp-element-button {
  transition: transform 0.22s ease,
              box-shadow 0.22s ease,
              background-color 0.22s ease,
              color 0.22s ease,
              border-color 0.22s ease,
              opacity 0.22s ease !important;
  will-change: transform;
}
.btn-primary:hover,
.btn-secondary:hover,
.wp-block-button__link:hover,
.wp-element-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28) !important;
}

/* ── Hero navigation links ──────────────────────────────────── */
.hero-nav-link {
  transition: color 0.2s ease, opacity 0.2s ease, border-bottom-color 0.2s ease !important;
}
.hero-nav-link:hover {
  opacity: 0.8;
}

/* ── Skill/cert badge tags ──────────────────────────────────── */
.hero-tag {
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}
.hero-tag:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* ── Feature / expertise cards ─────────────────────────────── */
.feature-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.feature-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.22) !important;
}

/* ── WP block cards & columns ───────────────────────────────── */
.wp-block-group[class*="is-layout-flex"] > .wp-block-group,
.wp-block-columns .wp-block-column {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* ── Image smooth loading ───────────────────────────────────── */
img {
  transition: opacity 0.3s ease;
}

/* ── Respect reduced-motion preference ──────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  html { scroll-behavior: auto; }
}