/* Preserve source layouts around the core-block wrappers. */
.wp-site-blocks { padding: 0; }
.wp-block-post-content { margin: 0; }
.wp-block-template-part { margin: 0; }
.wp-block-image { margin: 0; }
.wp-block-image img { display: block; }
.hero-icon img, .footer-logo img, .nf-logo img { margin-inline: auto; }
.hero-image-wrap img { display: block; }
.why-image-col .wp-block-image { height: 100%; }
.hero-header .wp-block-site-logo, .iq-header .wp-block-site-logo { flex-shrink: 0; }
.wp-block-site-logo img { width: auto; max-width: 100%; }
.wp-block-navigation :where(ul, li) { margin: 0; padding: 0; list-style: none; }
.hero-nav.wp-block-navigation { font-size: 18px; }
.hero-nav .wp-block-navigation__container { gap: 16px; }
.footer-nav .wp-block-navigation__container { gap: 8px 22px; justify-content: center; }
.footer-nav .wp-block-navigation-item { line-height: 1.6; }
.wp-block-buttons { justify-content: center; }
.wp-block-button__link { border-radius: 0; line-height: 1.6; }
.badge-row p, .contact-tags p { margin: 0; }
.badge-row p { background: rgba(198,40,40,.2); color: var(--color-red-bright-gw); border: 1px solid rgba(198,40,40,.4); padding: 8px 20px; border-radius: 4px; font-family: var(--font-heading-gw); font-size: 13px; letter-spacing: 2px; }
.contact-tags p { background: rgba(198,40,40,.15); color: var(--color-red-bright-gw); padding: 8px 14px; border: 1px solid rgba(198,40,40,.25); border-radius: 4px; font-family: var(--font-heading-gw); letter-spacing: 1px; }
.hero-content > p:last-child { margin-top: 12px; color: #999; font-size: 13px; letter-spacing: 1px; }
.service-card { position: relative; }
.service-card h3 a { color: inherit; text-decoration: none; }
.service-card h3 a::after { content: ''; position: absolute; inset: 0; border-radius: 15px; }
.service-card:focus-within { outline: 3px solid var(--color-gold-gw); outline-offset: 4px; }
.service-card:focus-within .service-card-cta { opacity: 1; }
.service-icon img { width: 45px; height: 45px; filter: brightness(0) invert(1); }
body .faq-item summary { position: relative; padding-right: 64px; font-family: var(--font-heading-gw); font-size: 19px; line-height: 1.6; letter-spacing: 1px; text-transform: uppercase; color: var(--color-text-dark-gw); }
.faq-item summary::before, .faq-item summary::after { content: ''; position: absolute; right: 24px; top: 50%; width: 22px; height: 3px; border-radius: 2px; background: var(--color-red-gw); }
.faq-item summary::after { transform: rotate(90deg); }
.faq-item[open] summary::after { transform: rotate(0deg); }
.socials p { margin: 0; }
.iq-seal-item p { margin: 0; }
.iq-icon-wrap p { margin: 0; }
.iq-disclosure-header .wp-block-html { display: contents; }
.iq-disclosure-list ul { list-style: disc; }
.gw-phone { color: inherit; }
.nf-actions p { margin: 0; }
.nf-actions .wp-block-buttons { margin: 0; }
:where(a, button, input, summary):focus-visible { outline: 3px solid var(--color-gold-gw); outline-offset: 4px; }
.gw-button .wp-block-button__link:focus-visible { clip-path: none; }
@media (max-width: 768px) {
  .hero-nav.wp-block-navigation { font-size: 16px; }
  body .faq-item summary { padding: 16px 56px 16px 18px; font-size: 17px; }
  .wp-block-button.gw-button { width: 100%; max-width: 340px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body .brand-wordmark strong, body .iq-content h1 strong { animation: none; }
  body .service-card, body .gw-button .wp-block-button__link, body .service-card-cta { transition: none; }
  body .service-card:hover, body .gw-button .wp-block-button__link:hover { transform: none; }
}
