:root {
  --agency-bg: #f3f8ff;
  --agency-bg-soft: #e7f2ff;
  --agency-card: #ffffff;
  --agency-ink: #061833;
  --agency-muted: #56677f;
  --agency-muted-2: #8190a8;
  --agency-line: rgba(6, 24, 51, 0.12);
  --agency-line-strong: rgba(6, 24, 51, 0.22);
  --agency-purple: #041b46;
  --agency-purple-2: #0b66e4;
  --agency-accent: #0b66e4;
  --agency-accent-dark: #073f9f;
  --agency-accent-cyan: #18c7ff;
  --agency-accent-soft: rgba(11, 102, 228, 0.12);
  --agency-success: #138a5b;
  --agency-warning: #b7791f;
  --agency-danger: #d64545;
  --agency-shadow: 0 28px 80px rgba(6, 24, 51, 0.10);
  --agency-focus: 0 0 0 4px rgba(11, 102, 228, 0.22);
}

body,
.nws-pro-body,
.site,
.nws-main {
  background: var(--agency-bg) !important;
  color: var(--agency-ink) !important;
}

body::before {
  background:
    radial-gradient(circle at 76% 4%, rgba(24, 199, 255, 0.16), transparent 27rem),
    radial-gradient(circle at 16% 14%, rgba(11, 102, 228, 0.11), transparent 24rem),
    var(--agency-bg) !important;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--agency-accent) !important;
  outline-offset: 3px !important;
  box-shadow: var(--agency-focus) !important;
}

.nws-header__inner {
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 18px 50px rgba(6, 24, 51, 0.10) !important;
}

.nws-brand span {
  border-color: rgba(11, 102, 228, 0.18) !important;
  background: linear-gradient(145deg, #fff, #eef7ff) !important;
  color: var(--agency-accent) !important;
  box-shadow: 0 12px 28px rgba(10, 43, 98, 0.16) !important;
}

.nws-nav a:hover,
.nws-nav a.is-active,
.nws-quiet-link:hover {
  color: var(--agency-accent-dark) !important;
  background: var(--agency-accent-soft) !important;
}

.nws-button,
.nws-button--primary,
.wp-block-button__link,
.agency-button,
.agency-price a,
button,
input[type="submit"],
.nws-mobile-menu a:last-child,
.nws-mobile-menu a:nth-last-child(2) {
  background: linear-gradient(135deg, var(--agency-accent), var(--agency-accent-cyan)) !important;
  color: #fff !important;
}

.nws-button:hover,
.nws-button--primary:hover,
.wp-block-button__link:hover,
.agency-button:hover,
.agency-price a:hover,
button:hover,
input[type="submit"]:hover {
  background: var(--agency-accent-dark) !important;
  color: #fff !important;
}

.agency-button--secondary,
.nws-button--secondary,
.nws-button--quiet {
  background: #fff !important;
  color: var(--agency-ink) !important;
  border-color: var(--agency-line-strong) !important;
}

.agency-button--secondary:hover,
.nws-button--secondary:hover,
.nws-button--quiet:hover {
  background: var(--agency-purple) !important;
  color: #fff !important;
  border-color: var(--agency-accent) !important;
}

.agency-hero,
.nws-page-hero,
.nws-hero {
  background:
    radial-gradient(circle at 82% 10%, rgba(24, 199, 255, 0.14), transparent 32rem),
    linear-gradient(180deg, #fff, var(--agency-bg)) !important;
}

.agency-trust,
.agency-price:nth-child(2),
.agency-final,
.nws-deep,
.nws-final {
  background:
    radial-gradient(circle at 84% 8%, rgba(24, 199, 255, 0.18), transparent 24rem),
    linear-gradient(135deg, #031634, var(--agency-purple)) !important;
  color: #fff !important;
}

.agency-why,
.agency-pricing,
.agency-founder,
.aw-paper,
.nws-soft,
.nws-trust,
.nws-section:nth-of-type(even) {
  background: var(--agency-bg-soft) !important;
}

.agency-card,
.agency-price,
.nws-card,
.nws-contact-card,
.nws-form,
.agency-project-card,
.nws-project-card,
.agency-proof-cta,
.nws-master-showcase-rule,
.nws-pricing article,
.nws-service-list a,
.nws-ai-tools article,
.nws-faq details {
  border-color: var(--agency-line) !important;
  background: #fff !important;
  color: var(--agency-ink) !important;
  box-shadow: var(--agency-shadow) !important;
}

.agency-founder-card,
.nws-founder-portrait,
.agency-project-card__media,
.nws-project-card__media,
.nws-showcase-feature__media {
  background:
    radial-gradient(circle at 28% 22%, rgba(24, 199, 255, 0.22), transparent 18rem),
    linear-gradient(135deg, #edf7ff, #f8fbff 46%, #e7f2ff) !important;
}

.nws-kicker,
.nws-badge,
.nws-chip,
.badge,
.pill,
.tag,
.agency-label,
.aw-kicker,
.aw-eyebrow,
.aw-eyebrow-dark {
  background: var(--agency-accent-soft) !important;
  border-color: var(--agency-line) !important;
  color: var(--agency-accent-dark) !important;
}

.nws-form label small,
.nws-onboarding-form label small,
.agency-form-helper {
  display: block;
  margin-top: 4px;
  color: var(--agency-muted) !important;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
}

input,
select,
textarea,
.nws-form input,
.nws-form select,
.nws-form textarea {
  border-color: var(--agency-line-strong) !important;
  background: #fff !important;
  color: var(--agency-ink) !important;
}

input:focus,
select:focus,
textarea:focus,
.nws-form input:focus,
.nws-form select:focus,
.nws-form textarea:focus {
  border-color: var(--agency-accent) !important;
  outline: 3px solid rgba(11, 102, 228, 0.24) !important;
}

input.is-invalid,
select.is-invalid,
textarea.is-invalid,
.nws-onboarding-form .is-invalid {
  border-color: var(--agency-danger) !important;
  box-shadow: 0 0 0 4px rgba(214, 69, 69, 0.12) !important;
}

.nws-form-status {
  color: var(--agency-muted) !important;
  line-height: 1.55 !important;
}

.nws-form-consent {
  color: var(--agency-muted) !important;
}

.nws-footer {
  background:
    radial-gradient(circle at 78% 0%, rgba(24, 199, 255, 0.18), transparent 24rem),
    linear-gradient(135deg, #031634, var(--agency-purple)) !important;
  color: #fff !important;
}

.nws-footer .nws-brand span {
  border-color: rgba(24, 199, 255, 0.28) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  color: var(--agency-accent) !important;
}

.nws-footer p,
.nws-footer a,
.nws-footer span,
.nws-footer__bottom {
  color: rgba(238, 247, 255, 0.78) !important;
}

.nws-footer h2,
.nws-footer .nws-brand strong {
  color: #fff !important;
}

.nws-footer a:hover {
  color: var(--agency-accent-cyan) !important;
}

.nws-case-study__features span {
  background: rgba(11, 102, 228, 0.10) !important;
  border-color: rgba(11, 102, 228, 0.24) !important;
  color: var(--agency-ink) !important;
}

.nws-showcase-phone span {
  background: linear-gradient(135deg, var(--agency-accent), var(--agency-accent-cyan)), var(--agency-accent) !important;
}

.nws-showcase-phone small {
  background: var(--agency-bg-soft) !important;
  color: var(--agency-accent-dark) !important;
}

.nws-showcase-feature__content li::before {
  color: var(--agency-accent) !important;
}

.nws-cookie-banner,
.agency-onboarding__inner,
.nws-onboarding-strip,
.nws-legal-note,
.nws-legal-block,
.nws-legal-links {
  background: linear-gradient(180deg, rgba(24, 199, 255, 0.10), rgba(255, 255, 255, 0.02)), #041b46 !important;
  border-color: rgba(24, 199, 255, 0.24) !important;
}

.nws-cookie-button--accept,
.nws-legal-links a {
  background: var(--agency-accent) !important;
  border-color: var(--agency-accent) !important;
  color: #fff !important;
}

@media (max-width: 900px) {
  .nws-header {
    padding-inline: 12px !important;
  }

  .nws-header__inner {
    border-radius: 24px !important;
  }

  .nws-mobile-menu {
    width: auto !important;
    left: 12px !important;
    right: 12px !important;
    border-color: var(--agency-line) !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 24px 70px rgba(6, 24, 51, 0.18) !important;
  }

  .nws-mobile-menu a {
    min-height: 46px !important;
    color: var(--agency-ink) !important;
    background: #f8fbff !important;
  }
}
