/*
Theme Name: Theme2 Container 960
Theme URI: https://example.com/theme2
Author: patboruc.pl
Author URI: https://patboruc.pl
Description: Motyw blokowy WordPress z kontenerem 1440px dla header/footer i layoutem Gutenberg 1440/1440/full.
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
Version: 1.0.25
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: theme2
Tags: block-theme, full-site-editing, gutenberg
*/

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-scroll-top-button.theme2-marketing-button {
    display: none;
}

html {
  --theme2-font-scale: 1;
  font-size: calc(16px * var(--theme2-font-scale));
}

.site-container {
  box-sizing: border-box;
  width: min(100% - 2rem, 1440px);
  margin-inline: auto;
}

:root {
  --theme2-font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --theme2-text-gutter: clamp(0px, calc((1472px - 100vw) / 2), 1rem);
  --theme2-font-size-body: 1.125rem;
  --theme2-font-size-ui: 0.875rem;
  --theme2-font-size-note: 0.875rem;
  --theme2-font-size-small: 0.875rem;
  --theme2-font-size-meta: 0.8125rem;
  --theme2-font-size-micro: 0.75rem;
  --theme2-font-size-eyebrow: 0.75rem;
  --theme2-font-size-ui-large: 0.9375rem;
  --theme2-font-size-icon: 0.91rem;
  --theme2-font-size-h1: clamp(1.85rem, 3vw, 2.125rem);
  --theme2-font-size-h2: clamp(1.5rem, 2.3vw, 1.7rem);
  --theme2-font-size-h3: clamp(1.25rem, 1.7vw, 1.375rem);
  --theme2-font-size-h4: 1.125rem;
  --theme2-font-size-h5: 1rem;
  --theme2-font-size-h6: 0.9375rem;
  --theme2-line-height-body: 1.6;
  --theme2-font-weight-normal: 400;
  --theme2-font-weight-semibold: 500;
  --theme2-font-weight-bold: 500;
  --theme2-button-base-bg: #ffffff;
  --theme2-button-base-text: #111111;
  --theme2-button-hover-fill: #111111;
  --theme2-button-hover-text: #ffffff;
  --theme2-button-border: #111111;
  --theme2-cf7-success: #1f8f5f;
  --theme2-cf7-success-soft: #edf9f1;
  --theme2-cf7-danger: #c94a3c;
  --theme2-cf7-danger-soft: #fff2f0;
  --theme2-cf7-warning: #b7791f;
  --theme2-cf7-warning-soft: #fff7df;
  --theme2-cf7-spam: #b85c10;
  --theme2-cf7-spam-soft: #fff3e2;
}

body,
button,
input,
select,
textarea {
  font-family: var(--theme2-font-sans);
}

body {
  font-size: var(--theme2-font-size-body);
  line-height: var(--theme2-line-height-body);
  font-weight: var(--theme2-font-weight-normal);
}

button,
input,
select,
textarea {
  font-size: var(--theme2-font-size-body);
  line-height: var(--theme2-line-height-body);
}

:where(h1, h1.wp-block-heading) {
  font-size: var(--theme2-font-size-h1);
  line-height: 1.08;
  font-weight: var(--theme2-font-weight-bold);
}

:where(h2, h2.wp-block-heading) {
  font-size: var(--theme2-font-size-h2);
  line-height: 1.12;
  font-weight: var(--theme2-font-weight-bold);
}

:where(h3, h3.wp-block-heading) {
  font-size: var(--theme2-font-size-h3);
  line-height: 1.2;
  font-weight: var(--theme2-font-weight-bold);
}

:where(h4, h4.wp-block-heading) {
  font-size: var(--theme2-font-size-h4);
  line-height: 1.24;
  font-weight: var(--theme2-font-weight-semibold);
}

:where(h5, h5.wp-block-heading) {
  font-size: var(--theme2-font-size-h5);
  line-height: 1.3;
  font-weight: var(--theme2-font-weight-semibold);
}

:where(h6, h6.wp-block-heading) {
  font-size: var(--theme2-font-size-h6);
  line-height: 1.35;
  font-weight: var(--theme2-font-weight-semibold);
}

/* Marketing blocks: inherit theme layout widths instead of plugin-fixed 960px. */
body :is(
  .wp-block-theme2-marketing-hero .theme2-marketing-hero__inner,
  .wp-block-theme2-marketing-cta .theme2-marketing-cta__inner,
  .wp-block-theme2-marketing-split .theme2-marketing-split__inner,
  .wp-block-theme2-marketing-timeline .theme2-marketing-timeline__inner,
  .wp-block-theme2-marketing-testimonials > *,
  .wp-block-theme2-marketing-feature-grid > *,
  .wp-block-theme2-marketing-process > *,
  .wp-block-theme2-marketing-services > *,
  .wp-block-theme2-marketing-stats > *,
  .wp-block-theme2-marketing-faq > *,
  .wp-block-theme2-marketing-portfolio-latest > *
) {
  max-width: var(--wp--style--global--content-size, 1440px);
}

.single-portfolio .entry-content .theme2-portfolio-project-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 480px);
  gap: clamp(1rem, 2.5vw, 2rem);
  align-items: start;
}

.single-portfolio main.wp-block-group.alignfull > .entry-content.alignfull.wp-block-post-content {
  margin-top: 20px !important;
}

.single-portfolio .entry-content .theme2-portfolio-project-content {
  min-width: 0;
}

.single-portfolio .entry-content .theme2-portfolio-project-sidebar {
  width: 100%;
  max-width: 480px;
  justify-self: end;
}

.single-portfolio .entry-content .theme2-portfolio-project-thumbnail-wrap {
  margin-top: 0;
  margin-bottom: 0;
}

.single-portfolio .entry-content .theme2-portfolio-project-thumbnail {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #d7deea;
  border-radius: 14px;
}

.single-portfolio .entry-content .theme2-portfolio-project-link {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0.95rem 0 0;
}

.single-portfolio .entry-content .theme2-portfolio-project-content > .theme2-portfolio-project-link:first-child {
  margin: 0 0 20px;
}

.single-portfolio .entry-content .theme2-portfolio-project-link a {
  display: inline-block;
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.single-portfolio .entry-content .theme2-portfolio-project-link__icon {
  display: inline-flex;
  flex: 0 0 auto;
  width: 1.05em;
  height: 1.05em;
  align-items: center;
  justify-content: center;
  color: #0f172a;
}

.single-portfolio .entry-content .theme2-portfolio-project-link__icon-svg {
  display: block;
  width: 100%;
  height: 100%;
}

.post-type-archive-portfolio .theme2-portfolio-archive-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 360px);
  gap: clamp(1rem, 2.5vw, 1.5rem);
  align-items: center;
}

.post-type-archive-portfolio .theme2-portfolio-archive-item__content {
  min-width: 0;
}

.post-type-archive-portfolio .theme2-portfolio-archive-item__media {
  width: 100%;
}

.post-type-archive-portfolio .theme2-portfolio-archive-item__media .wp-block-post-featured-image {
  margin: 0;
}

.post-type-archive-portfolio .theme2-portfolio-archive-thumbnail img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: left top;
  border: 1px solid #d7deea;
  border-radius: 14px;
}

@media (max-width: 900px) {
  .single-portfolio .entry-content .theme2-portfolio-project-layout {
    grid-template-columns: 1fr;
  }

  .single-portfolio .entry-content .theme2-portfolio-project-sidebar {
    max-width: min(100%, 420px);
    justify-self: start;
  }

  .post-type-archive-portfolio .theme2-portfolio-archive-item {
    grid-template-columns: 1fr;
  }

  .post-type-archive-portfolio .theme2-portfolio-archive-item__media {
    order: 2;
  }
}

/* CF7 feedback: clearer, softer status and validation states across the frontend. */
body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 .screen-reader-response {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  word-wrap: normal !important;
  word-break: normal !important;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 .hidden-fields-container {
  display: none;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 .wpcf7-form-control-wrap {
  position: relative;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form .wpcf7-response-output {
  position: relative;
  margin: 1rem 0 0;
  padding: 0.95rem 1rem;
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  background: #f8fafc;
  color: #0f172a;
  font-size: var(--theme2-font-size-ui-large);
  font-weight: var(--theme2-font-weight-semibold);
  line-height: 1.5;
  overflow-wrap: anywhere;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form:is(.init, .resetting, .submitting) .wpcf7-response-output {
  display: none;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form.sent .wpcf7-response-output {
  border-color: #b8e6c8;
  background: var(--theme2-cf7-success-soft);
  color: #166534;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form.failed .wpcf7-response-output,
body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form.aborted .wpcf7-response-output {
  border-color: #f2c4bd;
  background: var(--theme2-cf7-danger-soft);
  color: #991b1b;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form.spam .wpcf7-response-output {
  border-color: #f0ccb2;
  background: var(--theme2-cf7-spam-soft);
  color: #9a3412;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form.invalid .wpcf7-response-output,
body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form.unaccepted .wpcf7-response-output,
body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #f0dea4;
  background: var(--theme2-cf7-warning-soft);
  color: #92400e;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-form-panel__form-card .wpcf7 form .wpcf7-response-output {
  border-radius: 14px;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 .wpcf7-not-valid-tip {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin-top: -1px;
  padding: 0.62rem 0.8rem 0.62rem 0.9rem;
  border: 1px solid #f2c4bd;
  border-top: 0;
  border-radius: 0 0 12px 12px;
  background: #fff5f3;
  color: #9f2d20;
  font-size: var(--theme2-font-size-note);
  font-weight: var(--theme2-font-weight-semibold);
  line-height: 1.45;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 :is(
  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="tel"],
  input[type="number"],
  input[type="search"],
  textarea,
  select
).wpcf7-not-valid,
body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 :is(
  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="tel"],
  input[type="number"],
  input[type="search"],
  textarea,
  select
)[aria-invalid="true"] {
  border-color: #d97706;
  background: #fffdf7;
  box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.14);
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card .wpcf7 form .wpcf7-response-output {
  background: #1e293b !important;
  color: #f8fafc !important;
  border-color: rgba(148, 163, 184, 0.38) !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card .wpcf7 form.sent .wpcf7-response-output {
  background: #14532d !important;
  color: #dcfce7 !important;
  border-color: rgba(52, 211, 153, 0.34) !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card .wpcf7 form.failed .wpcf7-response-output,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card .wpcf7 form.aborted .wpcf7-response-output {
  background: #7f1d1d !important;
  color: #fee2e2 !important;
  border-color: rgba(248, 113, 113, 0.36) !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card .wpcf7 form.spam .wpcf7-response-output {
  background: #7c2d12 !important;
  color: #ffedd5 !important;
  border-color: rgba(251, 146, 60, 0.36) !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card .wpcf7 form.invalid .wpcf7-response-output,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card .wpcf7 form.unaccepted .wpcf7-response-output,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card .wpcf7 form.payment-required .wpcf7-response-output {
  background: #78350f !important;
  color: #fef3c7 !important;
  border-color: rgba(250, 204, 21, 0.34) !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card .wpcf7 .wpcf7-not-valid-tip {
  background: #450a0a !important;
  color: #fee2e2 !important;
  border-color: rgba(248, 113, 113, 0.36) !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card .wpcf7 :is(
  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="tel"],
  input[type="number"],
  input[type="search"],
  textarea,
  select
).wpcf7-not-valid,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card .wpcf7 :is(
  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="tel"],
  input[type="number"],
  input[type="search"],
  textarea,
  select
)[aria-invalid="true"] {
  border-color: #f59e0b !important;
  background: rgba(120, 53, 15, 0.2) !important;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.2) !important;
}

html[data-theme2-contrast="high"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form .wpcf7-response-output {
  background: #000000 !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
  box-shadow: none !important;
}

html[data-theme2-contrast="high"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form.sent .wpcf7-response-output {
  border-color: #38ff7a !important;
}

html[data-theme2-contrast="high"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form.failed .wpcf7-response-output,
html[data-theme2-contrast="high"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form.aborted .wpcf7-response-output {
  border-color: #ff5454 !important;
}

html[data-theme2-contrast="high"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form.spam .wpcf7-response-output {
  border-color: #ff9d00 !important;
}

html[data-theme2-contrast="high"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form.invalid .wpcf7-response-output,
html[data-theme2-contrast="high"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form.unaccepted .wpcf7-response-output,
html[data-theme2-contrast="high"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #ffeb3b !important;
}

html[data-theme2-contrast="high"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 .wpcf7-not-valid-tip {
  background: #000000 !important;
  color: #ffffff !important;
  border-color: #ffeb3b !important;
  box-shadow: none !important;
}

html[data-theme2-contrast="high"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 :is(
  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="tel"],
  input[type="number"],
  input[type="search"],
  textarea,
  select
).wpcf7-not-valid,
html[data-theme2-contrast="high"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 :is(
  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="tel"],
  input[type="number"],
  input[type="search"],
  textarea,
  select
)[aria-invalid="true"] {
  border-color: #ffeb3b !important;
  background: #000000 !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 2px #ffffff !important;
}

/* Homepage form (Contact Form 7): centered card layout aligned with marketing sections. */
body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel#contact {
  padding-top: clamp(1rem, 2.2vw, 1.8rem);
  padding-bottom: clamp(0.5rem, 1.1vw, 0.9rem);
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel#contact .theme2-marketing-form-panel__form-card {
  padding-bottom: clamp(0.85rem, 1.6vw, 1.25rem);
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel#contact + .wp-block-paragraph:empty {
  display: none;
}

@media (max-width: 640px) {
  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-portfolio-latest {
    padding-top: clamp(1.8rem, 8vw, 2.35rem);
    padding-bottom: clamp(1.8rem, 8vw, 2.35rem);
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-portfolio-latest__grid {
    gap: 1.25rem;
    margin-top: 1rem;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-portfolio-latest__card {
    min-height: auto;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-portfolio-latest__thumb-link {
    aspect-ratio: 16 / 10;
    border: 1px solid #d7deea;
    border-radius: 18px;
    background: #e7edf6;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-portfolio-latest__image {
    border-radius: inherit;
    object-position: center top;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-portfolio-latest__content {
    flex: none;
    gap: 0.38rem;
    padding: 0.72rem 0.15rem 0;
    background: transparent;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-portfolio-latest__title {
    font-size: clamp(1.24rem, 6.2vw, 1.52rem);
    line-height: 1.18;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-portfolio-latest__excerpt {
    font-size: 0.95rem;
    line-height: 1.5;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-portfolio-latest__more-wrap {
    width: 100%;
    margin-top: 1.25rem;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-portfolio-latest__more-link {
    width: 100%;
    min-height: 48px;
    padding-top: 0.62rem;
    padding-bottom: 0.62rem;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-trusted__logos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 1.35rem;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-trusted__logo-item {
    min-height: 72px;
    padding: 0.65rem;
    border-radius: 14px;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-trusted__logo-image {
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: 44px;
    object-fit: contain;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-trusted__card {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: start;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    gap: 1rem;
    margin-top: 1.4rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-trusted__card-media,
  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-trusted__frame-shell {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    contain: none !important;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-trusted__frame-shell {
    aspect-ratio: 748 / 446;
    padding: 0;
    border: 0;
    border-radius: 18px;
    background: transparent;
    overflow: hidden;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-trusted__frame-shell::before {
    display: none;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-trusted__frame-image {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    aspect-ratio: 748 / 446 !important;
    contain: none !important;
    border-radius: 18px;
    object-fit: cover;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-trusted__card-content {
    padding-right: 0.15rem;
    padding-left: 0.15rem;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-trusted__card-title {
    font-size: clamp(1.35rem, 8vw, 1.7rem);
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-trusted__card-text {
    margin-top: 0.75rem;
    line-height: 1.5;
  }
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 {
  box-sizing: border-box;
  width: min(100%, var(--wp--style--global--content-size, 1440px));
  margin-inline: auto;
  margin-top: clamp(1.6rem, 3.6vw, 2.4rem);
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form {
  max-width: 760px;
  margin: clamp(1rem, 2vw, 1.3rem) auto 0;
  border: 1px solid #d7deea;
  border-radius: var(--theme2-marketing-card-radius, 16px);
  background: #ffffff;
  box-shadow: none;
  padding: var(--theme2-marketing-box-padding-y, clamp(1.15rem, 2vw, 1.35rem)) var(--theme2-marketing-box-padding-x, clamp(1.2rem, 2.4vw, 1.5rem));
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form p {
  margin: 0;
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form p + p {
  margin-top: 0.92rem;
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form label {
  display: block;
  color: #1f2937;
  font-weight: var(--theme2-font-weight-semibold);
  line-height: 1.35;
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 .wpcf7-form-control-wrap {
  display: block;
  margin-top: 0.42rem;
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 :is(
  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="tel"],
  input[type="number"],
  textarea,
  select
) {
  box-sizing: border-box;
  width: 100%;
  min-height: 46px;
  padding: 0.62rem 0.78rem;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #ffffff;
  color: #0f172a;
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 textarea {
  min-height: 155px;
  resize: vertical;
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel#contact .wpcf7 textarea.wpcf7-textarea {
  height: 78px;
  min-height: 78px;
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 :is(
  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="tel"],
  input[type="number"],
  textarea,
  select
):focus {
  border-color: #94a3b8;
  box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.22);
  outline: none;
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 p.has-spinner {
  text-align: center;
}

/* CF7 submit: force exact Hero/CTA button visuals and motion. */
body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 button.wpcf7-submit.theme2-marketing-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
  font: inherit;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
  font-weight: 500;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-sizing: border-box;
  min-height: 44px;
  padding: 0.72rem 2.75rem;
  border: 2px solid var(--theme2-button-border) !important;
  border-radius: 7px !important;
  background: transparent !important;
  background-image: none !important;
  color: #252525 !important;
  box-shadow: 2px 3px 0 #2d2d2d;
  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  cursor: pointer;
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 button.wpcf7-submit.theme2-marketing-button::after {
  content: none;
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 button.wpcf7-submit.theme2-marketing-button:is(:hover, :focus-visible) {
  background: #111111 !important;
  background-color: #111111 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 2px 3px 0 #2d2d2d;
  text-decoration: none;
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 button.wpcf7-submit.theme2-marketing-button:is(:hover, :focus-visible)::after {
  transform: none;
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 button.wpcf7-submit.theme2-marketing-button:active {
  transform: translateY(1px);
  box-shadow: 1px 2px 0 #2d2d2d;
}

@media (prefers-reduced-motion: reduce) {
  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 button.wpcf7-submit.theme2-marketing-button {
    transition: none;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 button.wpcf7-submit.theme2-marketing-button::after {
    transition: none;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 button.wpcf7-submit.theme2-marketing-button:is(:hover, :focus-visible)::after {
    transform: translateX(-220%) rotate(12deg);
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 button.wpcf7-submit.theme2-marketing-button:active {
    transform: none;
  }
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 .wpcf7-spinner {
  visibility: hidden;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-left: 0.55rem;
  border-radius: 999px;
  background: #23282d;
  opacity: 0.75;
  vertical-align: middle;
  position: relative;
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form.submitting .wpcf7-spinner {
  visibility: visible;
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 .wpcf7-spinner::before {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 999px;
  background: #fbfbfc;
  opacity: 1;
  transform-origin: 8px 8px;
  animation: theme2-cf7-spinner 1000ms linear infinite;
}

body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form .wpcf7-response-output {
  margin: 1rem 0 0;
  border-radius: 14px;
  font-size: var(--theme2-font-size-ui-large);
}

@keyframes theme2-cf7-spinner {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 860px) {
  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 {
    margin-top: clamp(1.1rem, 5vw, 1.8rem);
    padding-top: var(--theme2-marketing-section-padding-y, clamp(2.6rem, 5.8vw, 4.4rem));
    padding-right: var(--theme2-home-mobile-gutter, 2em);
    padding-bottom: var(--theme2-marketing-section-padding-y, clamp(2.6rem, 5.8vw, 4.4rem));
    padding-left: var(--theme2-home-mobile-gutter, 2em);
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 form {
    margin-top: 0;
  }
}

/* Keep pricing visually aligned with bordered card sections, even when a block background is set. */
body :is(.wp-block-theme2-marketing-pricing.theme2-marketing-pricing.has-background, .theme2-marketing-pricing-editor.has-background) {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-pricing {
  padding-bottom: calc((var(--theme2-marketing-section-padding-y, clamp(2.6rem, 5.8vw, 4.4rem)) * 1.666667) + clamp(0.667rem, 1.333vw, 1.084rem)) !important;
}

@supports (contain: layout) {
  @media (max-width: 782px) {
    body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) :is(
      .theme2-marketing-email-form-panel,
      .theme2-marketing-hero,
      .theme2-marketing-intro,
      .theme2-marketing-split,
      .theme2-marketing-cta,
      .theme2-marketing-testimonials,
      .theme2-marketing-feature-grid,
      .theme2-marketing-process,
      .theme2-marketing-timeline,
      .theme2-marketing-services,
      .theme2-marketing-audience,
      .theme2-marketing-pricing,
      .theme2-marketing-stats,
      .theme2-marketing-faq,
      .theme2-marketing-portfolio-latest,
      .theme2-marketing-trusted
    ),
    body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) :is(
      .theme2-marketing-feature-grid__card,
      .theme2-marketing-process__step,
      .theme2-marketing-timeline__item,
      .theme2-marketing-services__card,
      .theme2-marketing-audience__card,
      .theme2-marketing-pricing__card,
      .theme2-marketing-portfolio-latest__card,
      .theme2-marketing-trusted__logo-item
    ) {
      contain: layout;
    }
  }
}

/* Keep Hero side gutters consistent with CTA while viewport shrinks (frontend only). */
@media (max-width: 1280px) and (min-width: 861px) {
  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-hero {
    padding-right: min(var(--theme2-hero-padding-right, clamp(1rem, 3vw, 2rem)), clamp(1rem, 3vw, 2rem)) !important;
    padding-left: min(var(--theme2-hero-padding-left, clamp(1rem, 3vw, 2rem)), clamp(1rem, 3vw, 2rem)) !important;
  }
}

body:not(.block-editor-iframe__body) .wp-site-blocks {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
}

body:not(.block-editor-iframe__body) .wp-site-blocks > main {
  flex: 1;
}

/* Keep site header pinned on scroll only on frontend (not editor iframe). */
body:not(.block-editor-iframe__body) header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #ffffff;
}

/* Header nav links need horizontal breathing room */
header .wp-block-navigation .wp-block-navigation-item__content {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.25rem 0.625rem;
}

/* Strong, consistent keyboard focus indicator (WCAG 2.2 focus appearance) */
:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 3px solid #005fcc;
  outline-offset: 2px;
}

/* Keep plain links neutral (no browser default blue/purple states). */
:where(a:not(.wp-element-button):not(.wp-block-button__link):not(.theme2-marketing-button)) {
  color: currentColor;
}

:where(a:not(.wp-element-button):not(.wp-block-button__link):not(.theme2-marketing-button)):visited {
  color: currentColor;
}

:where(a:not(.wp-element-button):not(.wp-block-button__link):not(.theme2-marketing-button)):is(:hover, :focus-visible) {
  color: currentColor;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

/* Better hover affordance for nav links */
header .wp-block-navigation .wp-block-navigation-item__content:hover {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

/* Multi-level navigation: keep submenu toggles and dropdowns readable. */
header .wp-block-navigation .wp-block-navigation-item.has-child {
  align-items: center;
}

header .wp-block-navigation .wp-block-navigation-item.has-child > .wp-block-navigation-item__content {
  padding-right: 0.2rem;
}

header .wp-block-navigation .wp-block-navigation-item.has-child > .wp-block-navigation-submenu__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  width: 1.25rem;
  margin-left: 0.12rem;
  padding: 0;
  border-radius: 6px;
}

header .wp-block-navigation .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-icon {
  margin-left: 0;
}

header .wp-block-navigation .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-icon svg {
  width: 0.68em;
  height: 0.68em;
}

@media (min-width: 1301px) {
  header .wp-block-navigation .wp-block-navigation__submenu-container {
    min-width: 220px;
    border: 1px solid #dbe3ec;
    border-radius: 10px;
    padding: 0.35rem;
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
  }

  header .wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content,
  header .wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-submenu__toggle {
    min-height: 40px;
    padding: 0.45rem 0.6rem;
    border-radius: 8px;
    white-space: nowrap;
  }

  header .wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item:is(:hover, :focus-within) > .wp-block-navigation-item__content,
  header .wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item:is(:hover, :focus-within) > .wp-block-navigation-submenu__toggle {
    background: #f3f6fa;
    text-decoration: none;
  }
}

/* Header search toggle and collapsible panel */
header .theme2-header-brand {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  flex: 1 1 auto;
  align-items: center;
  column-gap: 0.7rem;
  row-gap: 0;
  min-width: 0;
}

header .theme2-header-brand .wp-block-site-title {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  padding: 0;
  min-width: 0;
  font-size: clamp(1.35rem, 1.6vw, 1.7rem);
  line-height: 1;
}

header .theme2-header-brand .wp-block-site-title a {
  display: block;
  margin: 0;
  padding: 0;
  line-height: 1;
  overflow-wrap: anywhere;
  font-weight: 700;
}

header .theme2-header-brand .theme2-accessibility-controls {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
}

header .theme2-header-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

header .theme2-header-nav .wp-block-navigation {
  justify-content: center;
}

header .theme2-classic-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}

header .theme2-classic-nav__desktop {
  display: block;
}

header .theme2-classic-menu,
header .theme2-classic-menu .sub-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

header .theme2-classic-menu--desktop {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
}

header .theme2-classic-menu--desktop > .menu-item {
  position: relative;
}

header .theme2-classic-menu a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.25rem 0.625rem;
  text-decoration: none;
}

header .theme2-classic-menu a:is(:hover, :focus-visible) {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

header .theme2-classic-menu--desktop .menu-item-has-children > a::after {
  content: "";
  display: inline-block;
  width: 0.45rem;
  height: 0.45rem;
  margin-left: 0.5rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
}

header .theme2-classic-menu--desktop .sub-menu {
  position: absolute;
  top: calc(100% + 0.35rem);
  left: 0;
  min-width: 220px;
  border: 1px solid #dbe3ec;
  border-radius: 10px;
  padding: 0.35rem;
  background: #ffffff;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

header .theme2-classic-menu--desktop .menu-item-has-children:is(:hover, :focus-within) > .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

header .theme2-classic-menu--desktop .sub-menu a {
  display: flex;
  min-height: 40px;
  padding: 0.45rem 0.6rem;
  border-radius: 8px;
  white-space: nowrap;
}

header .theme2-classic-menu--desktop .sub-menu .menu-item:is(:hover, :focus-within) > a {
  background: #f3f6fa;
  text-decoration: none;
}

header .theme2-classic-menu-toggle {
  position: relative;
  display: none;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #0f172a;
  box-shadow: none;
  z-index: 1004;
}

header .theme2-classic-menu-toggle:is(:hover, :focus-visible),
header .theme2-classic-menu-toggle:active {
  background: transparent !important;
  color: #0f172a !important;
  border-color: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
}

header .theme2-classic-menu-toggle__bars,
header .theme2-classic-menu-toggle__bars::before,
header .theme2-classic-menu-toggle__bars::after {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: currentColor !important;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

header .theme2-classic-menu-toggle__bars::before,
header .theme2-classic-menu-toggle__bars::after {
  content: "";
  position: absolute;
  left: 0;
  transform-origin: center;
}

header .theme2-classic-menu-toggle__bars {
  position: relative;
}

header .theme2-classic-menu-toggle__bars::before {
  top: -6px;
}

header .theme2-classic-menu-toggle__bars::after {
  top: 6px;
}

header.theme2-classic-menu-open .theme2-classic-menu-toggle__bars {
  background: transparent !important;
  height: 0 !important;
}

header.theme2-classic-menu-open .theme2-classic-menu-toggle__bars::before {
  top: 0;
  transform: rotate(45deg);
}

header.theme2-classic-menu-open .theme2-classic-menu-toggle__bars::after {
  top: 0;
  transform: rotate(-45deg);
}

header.theme2-classic-menu-open .theme2-classic-menu-toggle,
header.theme2-classic-menu-open .theme2-classic-menu-toggle:is(:hover, :focus-visible),
header.theme2-classic-menu-open .theme2-classic-menu-toggle:active {
  color: #0f172a !important;
  opacity: 1 !important;
}

header .theme2-classic-menu-panel {
  position: fixed;
  top: var(--theme2-header-height, 72px);
  left: 0;
  right: 0;
  width: 100vw;
  margin: 0;
  background: #ffffff;
  color: #111111;
  border-top: 1px solid #e5e5e5;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18);
  z-index: 999;
}

header .theme2-classic-menu-panel[hidden] {
  display: none !important;
}

header .theme2-classic-menu-panel__inner {
  box-sizing: border-box;
  width: 100%;
  max-height: min(75svh, calc(100svh - var(--theme2-header-height, 72px)));
  padding: 0.55rem 1.25rem 1rem;
  overflow-y: auto;
}

header .theme2-classic-menu--mobile,
header .theme2-classic-menu--mobile .sub-menu {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

header .theme2-classic-menu--mobile .menu-item {
  width: 100%;
  border-radius: 8px;
  background: transparent !important;
}

header .theme2-classic-menu--mobile .menu-item > a {
  display: block;
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
  padding: 0.5rem 0;
  background: transparent !important;
}

header .theme2-classic-menu--mobile .menu-item:is(:hover, :focus-within),
header .theme2-classic-menu--mobile .menu-item.current-menu-item,
header .theme2-classic-menu--mobile .menu-item.current_page_item {
  background: transparent !important;
}

header .theme2-classic-menu--mobile .menu-item-has-children {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  row-gap: 0.2rem;
}

header .theme2-classic-menu--mobile .menu-item-has-children > a {
  grid-column: 1;
  min-width: 0;
}

header .theme2-classic-submenu-toggle {
  grid-column: 2;
  align-self: stretch;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  width: 2rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
  font: inherit;
}

header .theme2-classic-menu--mobile .sub-menu {
  grid-column: 1 / -1;
  margin: 0.1rem 0 0.2rem;
  padding: 0 0 0 0.85rem;
  border-left: 1px solid #dbe3ec;
}

header .theme2-classic-menu-panel__footer {
  margin-top: 0;
  padding-top: 0.65rem;
  border-top: 1px solid #e5e5e5;
  display: flex;
  justify-content: flex-end;
}

header .theme2-classic-menu-panel__footer .theme2-accessibility-controls--mobile {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
  width: 100%;
}

header .theme2-classic-menu-panel__footer .theme2-accessibility-controls--mobile .theme2-accessibility-button {
  min-width: 42px;
  min-height: 42px;
}

header .theme2-classic-menu-panel__footer:empty {
  display: none;
}

header .theme2-language-switcher {
  flex-shrink: 0;
}

header .theme2-language-switcher__list {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

header .theme2-language-switcher__item {
  margin: 0;
  padding: 0;
}

header .theme2-language-switcher :is(.theme2-language-switcher__link, .theme2-language-switcher__current) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 34px;
  padding: 0.18rem;
  border: 1px solid transparent;
  border-radius: 999px;
  line-height: 1;
  text-decoration: none;
}

header .theme2-language-switcher__link:is(:hover, :focus-visible) {
  border-color: #cbd5e1;
  background: #f8fafc;
  text-decoration: none;
}

header .theme2-language-switcher__current {
  border-color: #d0d7e2;
  background: #f8fafc;
}

header .theme2-language-switcher__flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  background: transparent;
}

header .theme2-language-switcher :is(img, .theme2-language-switcher__code) {
  display: block;
}

header .theme2-language-switcher img {
  width: 20px;
  height: auto;
  border-radius: 2px;
}

header .theme2-language-switcher__code {
  min-width: 20px;
  font-size: var(--theme2-font-size-eyebrow);
  font-weight: var(--theme2-font-weight-bold);
  letter-spacing: 0.08em;
}

@media (max-width: 1300px) {
  header .theme2-header-actions > .theme2-language-switcher {
    display: none;
  }

  header .theme2-classic-menu-panel__footer {
    flex-direction: column;
    align-items: stretch;
    gap: 0.45rem;
  }

  header .theme2-classic-menu-panel__footer .theme2-accessibility-controls--mobile {
    order: 1;
    justify-content: flex-end;
  }

  header .theme2-classic-menu-panel__footer .theme2-language-switcher--mobile {
    display: flex;
    order: 2;
    width: 100%;
    justify-content: flex-end;
  }

  header .theme2-classic-menu-panel__footer .theme2-language-switcher--mobile .theme2-language-switcher__list {
    justify-content: flex-end;
  }
}

header .theme2-header-actions {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

@media (min-width: 1301px) {
  header .theme2-header-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    column-gap: 1.5rem;
  }

  header .theme2-header-brand {
    justify-self: start;
  }

  header .theme2-header-nav {
    justify-self: center;
  }

  header .theme2-header-actions {
    justify-self: end;
    justify-content: flex-end;
  }
}

header .theme2-accessibility-controls {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.35rem;
}

header .theme2-accessibility-button {
  min-width: 42px;
  min-height: 42px;
  padding: 0.35rem 0.55rem;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #0f172a;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  box-shadow: none;
  cursor: pointer;
}

header .theme2-accessibility-button:is(:hover, :focus-visible) {
  background: transparent;
  border-color: transparent;
  color: #020617 !important;
  box-shadow: none;
  transform: none;
}

header .theme2-accessibility-button:active {
  transform: none;
  box-shadow: none;
}

header .theme2-accessibility-button::after {
  content: none;
}

header .theme2-accessibility-button--contrast {
  min-width: 42px;
}

header .theme2-accessibility-button--scheme {
  min-width: 42px;
}

header .theme2-accessibility-button__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  line-height: 1;
}

header .theme2-accessibility-button__icon svg {
  display: block;
  width: 18px;
  height: 18px;
}

header .theme2-accessibility-button__icon--sun {
  display: none;
}

header .theme2-accessibility-button__icon--moon {
  display: inline-flex;
}

header .theme2-accessibility-button--scheme[aria-pressed="true"] .theme2-accessibility-button__icon--sun {
  display: inline-flex;
}

header .theme2-accessibility-button--scheme[aria-pressed="true"] .theme2-accessibility-button__icon--moon {
  display: none;
}

@media (max-width: 1300px) {
  header .theme2-classic-nav__desktop {
    display: none;
  }

  header .theme2-header-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    column-gap: 0.45rem;
    row-gap: 0 !important;
    flex-wrap: nowrap !important;
  }

  header .theme2-header-brand {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    overflow: hidden;
  }

  header .theme2-header-actions {
    grid-column: 2;
    grid-row: 1;
    display: flex !important;
    align-items: center;
    justify-self: end;
    gap: 0.45rem;
    width: auto !important;
    min-width: auto !important;
    flex-wrap: nowrap !important;
  }

  header .theme2-header-nav {
    grid-column: 3;
    grid-row: 1;
    display: flex !important;
    align-items: center;
    justify-self: end;
    min-width: auto;
    width: auto !important;
    overflow: visible;
  }

  header .theme2-classic-nav {
    justify-content: flex-end;
  }

  header .theme2-classic-nav .theme2-header-search-toggle {
    order: 1;
  }

  header .theme2-classic-menu-toggle {
    order: 2;
    display: inline-flex;
  }

  header .theme2-header-brand > .theme2-accessibility-controls {
    display: none;
  }

  header .theme2-header-actions > * {
    flex-shrink: 0;
  }

  header .theme2-header-nav > * {
    flex-shrink: 0;
  }

  header .theme2-classic-menu-panel {
    top: var(--theme2-header-bottom, var(--theme2-header-height, 72px));
    z-index: 1000;
  }
}

@media (min-width: 1301px) {
  header .theme2-classic-menu-panel {
    display: none !important;
  }
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .wp-site-blocks {
  background: #0b0b0b;
  color: #f3f4f6;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body) header.wp-block-template-part,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body) footer.wp-block-template-part,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .wp-site-blocks > * {
  background-color: #0b0b0b;
  color: #f3f4f6;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .wp-site-blocks *:not(img):not(svg):not(path):not(video):not(iframe):not(canvas) {
  color: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .site-container,
  .wp-block-group,
  .wp-block-columns,
  .wp-block-column,
  .theme2-single-post-sidebar,
  .theme2-single-post-comments .comment-respond,
  .theme2-sidebar-widget,
  .theme2-marketing-audience__note,
  .theme2-marketing-feature-grid__card,
  .theme2-marketing-pricing__card,
  .theme2-marketing-testimonials__item,
  .theme2-marketing-services__card
) {
  color: #f3f4f6;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] a,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] a:visited {
  color: #f3f4f6;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  input,
  textarea,
  select,
  .wp-block-search__inside-wrapper,
  .theme2-header-search-toggle,
  .theme2-accessibility-button,
  .wp-block-navigation__responsive-container-open,
  .wp-block-navigation__responsive-container-close
) {
  background-color: #111827;
  color: #f3f4f6;
  border-color: #374151;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-button,
  .wp-block-button__link,
  .wp-element-button,
  .wpcf7-submit,
  .theme2-back-home-button,
  .theme2-back-home-main-button,
  .theme2-scroll-top-button,
  .theme2-sidebar-widget--search .wp-block-search__button,
  header .theme2-header-search-panel .wp-block-search__button,
  .single-post .wp-block-post-comments-form .form-submit .wp-element-button,
  header .wp-block-navigation__responsive-container-open,
  header .wp-block-navigation__responsive-container-close
) {
  background: #f3f4f6 !important;
  background-color: #f3f4f6 !important;
  color: #0b0b0b !important;
  -webkit-text-fill-color: #0b0b0b !important;
  border-color: #f3f4f6 !important;
  box-shadow: 2px 3px 0 #000000 !important;
  text-decoration: none !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-scroll-top-button {
  background: transparent !important;
  background-color: transparent !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .single-post .wp-block-post-comments-form .form-submit .wp-element-button {
  background: transparent !important;
  background-color: transparent !important;
  color: #f3f4f6 !important;
  -webkit-text-fill-color: #f3f4f6 !important;
  border-color: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-button,
  .wp-block-button__link,
  .wp-element-button,
  .wpcf7-submit,
  .theme2-back-home-button,
  .theme2-back-home-main-button,
  .theme2-scroll-top-button,
  .theme2-sidebar-widget--search .wp-block-search__button,
  header .theme2-header-search-panel .wp-block-search__button,
  .single-post .wp-block-post-comments-form .form-submit .wp-element-button,
  header .wp-block-navigation__responsive-container-open,
  header .wp-block-navigation__responsive-container-close
):is(:hover, :focus-visible) {
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #ffffff !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-back-home-button,
  .theme2-back-home-main-button,
  .theme2-scroll-top-button,
  .theme2-sidebar-widget--search .wp-block-search__button,
  header .theme2-header-search-panel .wp-block-search__button,
  .single-post .wp-block-post-comments-form .form-submit .wp-element-button,
  header .wp-block-navigation__responsive-container-open,
  header .wp-block-navigation__responsive-container-close
):active {
  background: #000000 !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
  box-shadow: 1px 2px 0 #000000 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-post-vote,
  .theme2-post-vote__label,
  .theme2-post-vote__count,
  .theme2-comment-vote-count,
  .theme2-comment-actions a,
  .theme2-comment-actions > .theme2-comment-seq,
  .wp-block-comments-pagination a
) {
  color: #cbd5e1 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-post-vote__button,
  .theme2-single-post-comments .theme2-comment-actions a.theme2-comment-vote-button
) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #cbd5e1 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-post-vote__button,
  .theme2-single-post-comments .theme2-comment-actions a.theme2-comment-vote-button
):is(:hover, :focus-visible) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #ffffff !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-post-vote__button.is-selected,
  .theme2-single-post-comments .theme2-comment-vote-button.is-selected
) {
  color: #ffffff !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-announcement-bar,
  .theme2-marketing-email-reveal,
  .theme2-marketing-email-form-panel,
  .theme2-marketing-hero,
  .theme2-marketing-intro,
  .theme2-marketing-form-panel,
  .theme2-marketing-split,
  .theme2-marketing-cta,
  .theme2-marketing-testimonials,
  .theme2-marketing-feature-grid,
  .theme2-marketing-process,
  .theme2-marketing-timeline,
  .theme2-marketing-services,
  .theme2-marketing-audience,
  .theme2-marketing-pricing,
  .theme2-marketing-stats,
  .theme2-marketing-faq,
  .theme2-marketing-portfolio-latest,
  .theme2-marketing-trusted
) .theme2-marketing-button {
  background: #f3f4f6 !important;
  background-color: #f3f4f6 !important;
  color: #0b0b0b !important;
  -webkit-text-fill-color: #0b0b0b !important;
  border-color: #f3f4f6 !important;
  box-shadow: 2px 3px 0 #000000 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-pricing__cta,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-pricing__cta * {
  color: #0b0b0b !important;
  -webkit-text-fill-color: #0b0b0b !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-pricing__cta-label {
  color: #0b0b0b !important;
  -webkit-text-fill-color: #0b0b0b !important;
  opacity: 1 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-announcement-bar,
  .theme2-marketing-email-reveal,
  .theme2-marketing-email-form-panel,
  .theme2-marketing-hero,
  .theme2-marketing-intro,
  .theme2-marketing-form-panel,
  .theme2-marketing-split,
  .theme2-marketing-cta,
  .theme2-marketing-testimonials,
  .theme2-marketing-feature-grid,
  .theme2-marketing-process,
  .theme2-marketing-timeline,
  .theme2-marketing-services,
  .theme2-marketing-audience,
  .theme2-marketing-pricing,
  .theme2-marketing-stats,
  .theme2-marketing-faq,
  .theme2-marketing-portfolio-latest,
  .theme2-marketing-trusted
) .theme2-marketing-button:is(:hover, :focus-visible) {
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #ffffff !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-pricing__cta:is(:hover, :focus-visible),
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-pricing__cta:is(:hover, :focus-visible) * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-pricing__cta:is(:hover, :focus-visible) .theme2-marketing-pricing__cta-label {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-announcement-bar,
  .theme2-marketing-email-reveal,
  .theme2-marketing-email-form-panel,
  .theme2-marketing-hero,
  .theme2-marketing-intro,
  .theme2-marketing-form-panel,
  .theme2-marketing-split,
  .theme2-marketing-cta,
  .theme2-marketing-testimonials,
  .theme2-marketing-feature-grid,
  .theme2-marketing-process,
  .theme2-marketing-timeline,
  .theme2-marketing-services,
  .theme2-marketing-audience,
  .theme2-marketing-pricing,
  .theme2-marketing-stats,
  .theme2-marketing-faq,
  .theme2-marketing-portfolio-latest,
  .theme2-marketing-trusted
) .theme2-marketing-button:active {
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #ffffff !important;
  box-shadow: 1px 2px 0 #000000 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-announcement-bar,
  .theme2-marketing-email-reveal,
  .theme2-marketing-email-form-panel,
  .theme2-marketing-hero,
  .theme2-marketing-intro,
  .theme2-marketing-form-panel,
  .theme2-marketing-split,
  .theme2-marketing-cta,
  .theme2-marketing-testimonials,
  .theme2-marketing-feature-grid,
  .theme2-marketing-process,
  .theme2-marketing-timeline,
  .theme2-marketing-services,
  .theme2-marketing-audience,
  .theme2-marketing-pricing,
  .theme2-marketing-stats,
  .theme2-marketing-faq,
  .theme2-marketing-portfolio-latest,
  .theme2-marketing-trusted
) .theme2-marketing-button:active .theme2-marketing-pricing__cta-label,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-announcement-bar,
  .theme2-marketing-email-reveal,
  .theme2-marketing-email-form-panel,
  .theme2-marketing-hero,
  .theme2-marketing-intro,
  .theme2-marketing-form-panel,
  .theme2-marketing-split,
  .theme2-marketing-cta,
  .theme2-marketing-testimonials,
  .theme2-marketing-feature-grid,
  .theme2-marketing-process,
  .theme2-marketing-timeline,
  .theme2-marketing-services,
  .theme2-marketing-audience,
  .theme2-marketing-pricing,
  .theme2-marketing-stats,
  .theme2-marketing-faq,
  .theme2-marketing-portfolio-latest,
  .theme2-marketing-trusted
) .theme2-marketing-button:active * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-hero__actions .theme2-marketing-button,
  .theme2-marketing-cta__actions .theme2-marketing-button,
  .theme2-marketing-split__actions .theme2-marketing-button,
  .theme2-marketing-pricing__cta,
  .theme2-marketing-portfolio-latest__more-link
) {
  background: #f3f4f6 !important;
  background-color: #f3f4f6 !important;
  color: #0b0b0b !important;
  -webkit-text-fill-color: #0b0b0b !important;
  border-color: #f3f4f6 !important;
  box-shadow: 2px 3px 0 #000000 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-pricing__cta,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-pricing__cta * {
  color: #0b0b0b !important;
  -webkit-text-fill-color: #0b0b0b !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-pricing__cta-label {
  color: #0b0b0b !important;
  -webkit-text-fill-color: #0b0b0b !important;
  opacity: 1 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-hero__actions .theme2-marketing-button,
  .theme2-marketing-cta__actions .theme2-marketing-button,
  .theme2-marketing-split__actions .theme2-marketing-button,
  .theme2-marketing-pricing__cta,
  .theme2-marketing-portfolio-latest__more-link
):is(:hover, :focus-visible) {
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #ffffff !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-pricing__cta:is(:hover, :focus-visible),
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-pricing__cta:is(:hover, :focus-visible) * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-pricing__cta:is(:hover, :focus-visible) .theme2-marketing-pricing__cta-label {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-feature-grid__icon,
  .theme2-marketing-audience .theme2-marketing-feature-grid__icon,
  .theme2-marketing-services .theme2-marketing-feature-grid__icon
) {
  color: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-feature-grid__icon svg,
  .theme2-marketing-audience .theme2-marketing-feature-grid__icon svg,
  .theme2-marketing-services .theme2-marketing-feature-grid__icon svg
) {
  color: #f3f4f6 !important;
  stroke: currentColor !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-feature-grid--icon-circle .theme2-marketing-feature-grid__icon,
  .theme2-marketing-audience .theme2-marketing-feature-grid__icon,
  .theme2-marketing-services .theme2-marketing-feature-grid__icon
) {
  background: #111827 !important;
  border-color: #374151 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-audience__icon-image,
  .theme2-marketing-hero__image,
  .theme2-marketing-split__image,
  .theme2-marketing-process__image
) {
  opacity: 1 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-sidebar-widget--search .wp-block-search__inside-wrapper,
  .theme2-sidebar-widget--search .wp-block-search__input,
  .theme2-sidebar-widget--search .wp-block-search__button
) {
  background: #111827 !important;
  color: #f3f4f6 !important;
  border-color: #374151 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-sidebar-widget--search .wp-block-search__button :is(svg, path, circle, line) {
  color: currentColor !important;
  fill: currentColor !important;
  stroke: none !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-header-search-panel .wp-block-search__button {
  min-width: auto !important;
  width: auto !important;
  padding-inline: 0.85rem !important;
  background: #000000 !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-header-search-panel .wp-block-search__button > * {
  opacity: 1 !important;
  visibility: visible !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-header-search-panel .wp-block-search__button:is(:hover, :focus-visible) {
  background: #000000 !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-mobile-menu-panel {
  background: #0b0b0b;
  color: #f3f4f6;
  border-top-color: #374151;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-mobile-menu-panel .wp-block-navigation-item:is(:hover, :focus-within),
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-mobile-menu-panel .wp-block-navigation-item.current-menu-item,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-mobile-menu-panel .wp-block-navigation-item.current_page_item {
  background: #111827;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-mobile-menu-panel :is(
  .wp-block-navigation-item__content,
  .wp-block-navigation-submenu__toggle
) {
  color: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-mobile-menu-panel :is(
  .theme2-mobile-menu-panel__footer,
  .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container
) {
  border-color: #374151;
}


html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-single-post-comments :is(
  .wp-block-comments,
  .wp-block-comments-title,
  .wp-block-comment-template,
  .wp-block-comment-content,
  .theme2-comment-header,
  .theme2-comment-actions,
  .comment-reply-title,
  .comment-notes,
  .logged-in-as,
  label
) {
  color: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-single-post-comments .wp-block-comment-template .children {
  border-left-color: #374151 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-single-post-comments .theme2-comment-card {
  background: #111827 !important;
  border-color: #374151 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-single-post-comments :is(
  .depth-2 > .theme2-comment-card,
  .depth-3 > .theme2-comment-card,
  .depth-4 > .theme2-comment-card,
  .comment-respond
) {
  background: #0f172a !important;
  border-color: #374151 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-single-post-comments :is(
  .theme2-comment-seq,
  .wp-block-comment-date,
  .theme2-comment-vote-count,
  .wp-block-comments-pagination,
  .wp-block-comments-pagination a,
  .theme2-comment-actions a,
  .theme2-comment-vote-button,
  .wp-block-comment-author-name,
  .wp-block-comment-content a
) {
  color: #cbd5e1 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-single-post-comments :is(
  input[type="text"],
  input[type="email"],
  input[type="url"],
  textarea
) {
  background: #111827 !important;
  color: #f3f4f6 !important;
  border-color: #374151 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-single-post-comments :is(
  input[type="text"],
  input[type="email"],
  input[type="url"],
  textarea
):focus {
  border-color: #60a5fa !important;
  box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.22) !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-header-search-toggle:is(:hover, :focus-visible),
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-accessibility-button:is(:hover, :focus-visible) {
  background: #1f2937 !important;
  border-color: #4b5563 !important;
  color: #ffffff !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header :is(
  .theme2-classic-menu a,
  .theme2-classic-menu-toggle,
  .theme2-classic-submenu-toggle
) {
  color: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-classic-menu-toggle:is(:hover, :focus-visible),
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-classic-menu-toggle:active {
  background: transparent !important;
  color: #f3f4f6 !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-classic-menu--desktop .sub-menu,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-classic-menu-panel {
  background: #0b0b0b !important;
  border-color: #374151 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-classic-menu--desktop .sub-menu .menu-item:is(:hover, :focus-within) > a,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-classic-menu--mobile .menu-item:is(:hover, :focus-within),
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-classic-menu--mobile .menu-item.current-menu-item,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-classic-menu--mobile .menu-item.current_page_item {
  background: #111827 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-classic-menu--mobile .sub-menu,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-classic-menu-panel__footer {
  border-color: #374151 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-language-switcher__current {
  background: #111827 !important;
  background-color: #111827 !important;
  border-color: #374151 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .theme2-language-switcher__link:is(:hover, :focus-visible) {
  background: transparent !important;
  background-color: transparent !important;
  border-color: #4b5563 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-accessibility-button--scheme[aria-pressed="true"] {
  background: #111827 !important;
  color: #f3f4f6 !important;
  border-color: #4b5563 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-process,
  .theme2-marketing-timeline,
  .theme2-marketing-pricing,
  .theme2-marketing-portfolio-latest,
  .theme2-marketing-trusted,
  .theme2-marketing-hero,
  .theme2-marketing-audience
) {
  background: #0b0b0b !important;
  color: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-hero__eyebrow,
  .theme2-marketing-audience__card-text,
  .theme2-marketing-audience__note-text
) {
  color: #cbd5e1 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-audience__body,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-hero__text {
  color: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-audience__note {
  background: #111827 !important;
  border-color: #374151 !important;
  color: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-audience__note-title {
  color: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-hero__media-placeholder,
  .theme2-marketing-audience__intro-image
) {
  background: #111827 !important;
  border-color: #374151 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-hero__media-placeholder {
  color: #cbd5e1 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-audience__intro-image-el {
  background: #111827 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-process__highlight-card,
  .theme2-marketing-pricing__card,
  .theme2-marketing-portfolio-latest__card,
  .theme2-marketing-trusted__card,
  .theme2-marketing-timeline__content
) {
  background: #111827 !important;
  border-color: #374151 !important;
  color: #f3f4f6 !important;
  box-shadow: none !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-process__highlight-card,
  .theme2-marketing-pricing__card,
  .theme2-marketing-portfolio-latest__card,
  .theme2-marketing-trusted__card
) {
  box-shadow: none !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-timeline__content {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-pricing__card--featured,
  .theme2-marketing-process--variant-spotlight .theme2-marketing-process__highlight-card
) {
  background: #0f172a !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-pricing__card--featured {
  background: #111827 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-process__meta,
  .theme2-marketing-process--variant-spotlight .theme2-marketing-process__text,
  .theme2-marketing-process__highlight-text,
  .theme2-marketing-pricing__billing-label,
  .theme2-marketing-pricing__period,
  .theme2-marketing-pricing__description,
  .theme2-marketing-pricing__features,
  .theme2-marketing-portfolio-latest__excerpt,
  .theme2-marketing-portfolio-latest__notice,
  .theme2-marketing-portfolio-latest__empty,
  .theme2-marketing-trusted__eyebrow,
  .theme2-marketing-trusted__card-eyebrow,
  .theme2-marketing-trusted__intro .theme2-marketing-section-intro,
  .theme2-marketing-trusted__card-text,
  .theme2-marketing-timeline__period,
  .theme2-marketing-timeline__place,
  .theme2-marketing-timeline__description,
  .theme2-marketing-timeline--variant-cv .theme2-marketing-timeline__period-wrap .theme2-marketing-timeline__period,
  .theme2-marketing-timeline--variant-cv .theme2-marketing-timeline__place,
  .theme2-marketing-timeline--variant-cv .theme2-marketing-timeline__description,
  .post-type-archive-portfolio main > .wp-block-group.is-layout-constrained > .theme2-portfolio-archive-description
) {
  color: #cbd5e1 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-timeline__role,
  .theme2-marketing-timeline--variant-cv .theme2-marketing-timeline__role
) {
  color: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-trusted__frame-shell,
  .theme2-marketing-process__media-placeholder,
  .theme2-marketing-trusted__logo-placeholder
) {
  background: #0f172a !important;
  border-color: #374151 !important;
  box-shadow: none !important;
  color: #cbd5e1 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-pricing__icon-wrap {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-trusted__logo-item {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-color: #e5e7eb !important;
  color: #111111 !important;
  box-shadow: none !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-trusted__logo-item * {
  background: transparent !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-trusted__frame-shell::before {
  border-color: rgba(148, 163, 184, 0.4) !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-portfolio-latest__thumb-link,
  .theme2-marketing-trusted__inner
) {
  border-color: #374151 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-portfolio-latest__image--placeholder,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-trusted__frame-shell--placeholder {
  background: linear-gradient(145deg, #1f2937 0%, #111827 48%, #0f172a 100%) !important;
  border-color: #374151 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-pricing__icon-wrap .theme2-marketing-feature-grid__icon,
  .theme2-marketing-pricing__icon-wrap .theme2-marketing-feature-grid__icon svg,
  .theme2-marketing-process--variant-spotlight .theme2-marketing-process__highlight-icon,
  .theme2-marketing-process--variant-spotlight .theme2-marketing-process__highlight-icon svg
) {
  color: #f3f4f6 !important;
  stroke: currentColor !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-process__highlight-icon {
  border-color: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-process__highlight-icon::before,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-process__highlight-icon::after {
  background: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-process--variant-spotlight .theme2-marketing-process__step:not(:last-child)::after,
  .theme2-marketing-timeline__list::before,
  .theme2-marketing-timeline--variant-cv .theme2-marketing-timeline__list::before
) {
  background: #374151 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-timeline__dot {
  background: #94a3b8 !important;
  border-color: #111827 !important;
  box-shadow: 0 0 0 1px rgba(148, 163, 184, 0.3) !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-timeline--variant-cv .theme2-marketing-timeline__dot {
  background: #94a3b8 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-timeline__item--current .theme2-marketing-timeline__dot,
  .theme2-marketing-timeline--variant-cv .theme2-marketing-timeline__item--current .theme2-marketing-timeline__dot
) {
  background: #f3f4f6 !important;
  border-color: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-process--variant-spotlight .theme2-marketing-process__index {
  background: #111827 !important;
  border-color: #374151 !important;
  color: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-process--variant-spotlight .theme2-marketing-process__step:last-child .theme2-marketing-process__index {
  background: #f3f4f6 !important;
  border-color: #f3f4f6 !important;
  color: #0b0b0b !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-pricing__billing-note {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #f8b4a0 !important;
  box-shadow: inset 0 0 0 1px rgba(248, 180, 160, 0.22) !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-pricing__billing-checkbox:not(:checked) ~ .theme2-marketing-pricing__billing .theme2-marketing-pricing__billing-label--monthly,
  .theme2-marketing-pricing__billing-checkbox:checked ~ .theme2-marketing-pricing__billing .theme2-marketing-pricing__billing-label--yearly
) {
  color: #f3f4f6 !important;
}

html[data-theme2-contrast="high"] body,
html[data-theme2-contrast="high"] .wp-site-blocks,
html[data-theme2-contrast="high"] .wp-site-blocks *:not(img):not(svg):not(path):not(video):not(iframe):not(canvas) {
  background: #000000 !important;
  color: #ffeb3b !important;
  border-color: #ffeb3b !important;
  box-shadow: none !important;
}

html[data-theme2-contrast="high"] a,
html[data-theme2-contrast="high"] a:visited,
html[data-theme2-contrast="high"] .wp-block-navigation a,
html[data-theme2-contrast="high"] .wp-block-navigation a:visited {
  color: #ffeb3b !important;
  text-decoration: underline !important;
}

html[data-theme2-contrast="high"] :is(button, .wp-element-button, .wp-block-button__link, .theme2-marketing-button, input[type="button"], input[type="submit"], input[type="reset"]) {
  background: #000000 !important;
  color: #ffeb3b !important;
  border-color: #ffeb3b !important;
  text-decoration: underline !important;
}

html[data-theme2-contrast="high"] :is(img, video, iframe, svg) {
  background: transparent !important;
}

html[data-theme2-contrast="high"] .theme2-accessibility-button[aria-pressed="true"] {
  background: #ffeb3b !important;
  color: #000000 !important;
}

html[data-theme2-contrast="high"] .theme2-accessibility-button--contrast[aria-pressed="true"] {
  background: #111827 !important;
  color: #f3f4f6 !important;
  border-color: #ffeb3b !important;
}

html[data-theme2-contrast="high"] .theme2-accessibility-button--scheme[aria-pressed="true"] {
  background: #111827 !important;
  color: #f3f4f6 !important;
  border-color: #ffeb3b !important;
}

html[data-theme2-contrast="high"] header :is(
  .theme2-classic-menu a,
  .theme2-classic-menu-toggle,
  .theme2-classic-submenu-toggle
) {
  color: #ffeb3b !important;
}

html[data-theme2-contrast="high"] header .theme2-classic-menu-toggle:is(:hover, :focus-visible),
html[data-theme2-contrast="high"] header .theme2-classic-menu-toggle:active {
  background: transparent !important;
  color: #ffeb3b !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

html[data-theme2-contrast="high"] header .theme2-classic-menu--desktop .sub-menu,
html[data-theme2-contrast="high"] header .theme2-classic-menu-panel {
  background: #000000 !important;
  border-color: #ffeb3b !important;
}

html[data-theme2-contrast="high"] header .theme2-classic-menu--mobile .sub-menu,
html[data-theme2-contrast="high"] header .theme2-classic-menu-panel__footer {
  border-color: #ffeb3b !important;
}

html[data-theme2-contrast="high"] header .theme2-classic-menu-panel {
  border-bottom: 1px solid #ffeb3b !important;
}

html[data-theme2-contrast="high"] header:not(.theme2-classic-menu-open) .theme2-classic-menu-toggle__bars,
html[data-theme2-contrast="high"] header:not(.theme2-classic-menu-open) .theme2-classic-menu-toggle__bars::before,
html[data-theme2-contrast="high"] header:not(.theme2-classic-menu-open) .theme2-classic-menu-toggle__bars::after {
  height: 2px !important;
  background: #ffeb3b !important;
  opacity: 1 !important;
}

html[data-theme2-contrast="high"] header .theme2-mobile-menu-panel {
  background: #000000 !important;
  color: #ffeb3b !important;
  border-top-color: #ffeb3b !important;
}

html[data-theme2-contrast="high"] header .theme2-mobile-menu-panel :is(
  .wp-block-navigation-item__content,
  .wp-block-navigation-submenu__toggle
) {
  color: #ffeb3b !important;
}

html[data-theme2-contrast="high"] header .theme2-mobile-menu-panel :is(
  .theme2-mobile-menu-panel__footer,
  .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container
) {
  border-color: #ffeb3b !important;
}

html[data-theme2-contrast="high"] .wp-site-blocks header .theme2-language-switcher__current {
  background: #ffeb3b !important;
  background-color: #ffeb3b !important;
  border-color: #ffeb3b !important;
  color: #000000 !important;
}

html[data-theme2-contrast="high"] .wp-site-blocks header .theme2-language-switcher__current .theme2-language-switcher__flag {
  background: #ffeb3b !important;
  background-color: #ffeb3b !important;
  border-color: transparent !important;
}

html[data-theme2-contrast="high"] .wp-site-blocks header .theme2-language-switcher__current .theme2-language-switcher__code {
  color: #000000 !important;
}

header .theme2-header-search-toggle {
  --theme2-button-fill: transparent;
  --theme2-button-fill-text: #0f172a;
  width: 42px;
  min-height: 42px;
  padding: 0;
  cursor: pointer;
  border: 0;
  border-radius: 10px;
  background-color: transparent;
  color: #0f172a;
  box-shadow: none;
  transition: color 0.2s ease, border-color 0.2s ease;
}

header .theme2-header-search-toggle__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
}

header .theme2-header-search-toggle__icon svg {
  display: block;
  width: 18px;
  height: 18px;
}

header .theme2-header-search-toggle::after {
  content: none;
}

header .theme2-header-search-toggle:is(:hover, :focus-visible) {
  background-color: transparent !important;
  border-color: transparent !important;
  color: #020617 !important;
  box-shadow: none;
  transform: none;
}

html[data-theme2-contrast="high"] header .theme2-header-search-toggle:is(:hover, :focus-visible) {
  background: #000000 !important;
  border-color: #ffeb3b !important;
  color: #ffeb3b !important;
}

html[data-theme2-contrast="high"] header .theme2-header-search-toggle,
html[data-theme2-contrast="high"] header .theme2-header-search-toggle:is(:hover, :focus-visible),
html[data-theme2-contrast="high"] header .theme2-header-search-toggle:active,
html[data-theme2-contrast="high"] .theme2-sidebar-widget--search .wp-block-search__button,
html[data-theme2-contrast="high"] .theme2-sidebar-widget--search .wp-block-search__button:is(:hover, :focus-visible),
html[data-theme2-contrast="high"] .theme2-sidebar-widget--search .wp-block-search__button:active,
html[data-theme2-contrast="high"] header .theme2-header-search-panel .wp-block-search__button,
html[data-theme2-contrast="high"] header .theme2-header-search-panel .wp-block-search__button:is(:hover, :focus-visible),
html[data-theme2-contrast="high"] header .theme2-header-search-panel .wp-block-search__button:active {
  background: #000000 !important;
  color: #ffeb3b !important;
  border-color: #ffeb3b !important;
  box-shadow: none !important;
}

html[data-theme2-contrast="high"] :is(
  header .theme2-header-search-toggle__icon,
  header .theme2-header-search-toggle__icon svg,
  .theme2-sidebar-widget--search .wp-block-search__button,
  header .theme2-header-search-panel .wp-block-search__button
) {
  color: #ffeb3b !important;
  stroke: #ffeb3b !important;
}

header .theme2-header-search-toggle:active {
  transform: none;
  box-shadow: none;
}

header .theme2-header-search-wrap {
  margin-top: 0;
}

header.theme2-search-open .theme2-header-search-wrap {
  margin-top: 0.75rem;
}

header .theme2-header-search-panel {
  display: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

header.theme2-search-open .theme2-header-search-panel {
  display: block;
}

header .theme2-header-search-panel[hidden] {
  display: none !important;
}

header .theme2-header-search-panel .wp-block-search__inside-wrapper,
.theme2-sidebar-widget--search .wp-block-search__inside-wrapper {
  display: flex;
  align-items: center;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  padding-left: 0.8rem;
  padding-right: 0.3rem;
  min-height: 46px;
  background: #ffffff;
  overflow: hidden;
}

header .theme2-header-search-panel .wp-block-search__inside-wrapper:focus-within,
.theme2-sidebar-widget--search .wp-block-search__inside-wrapper:focus-within {
  border-color: #94a3b8;
}

header .theme2-header-search-panel .wp-block-search__input,
.theme2-sidebar-widget--search .wp-block-search__input {
  border: 0;
  margin: 0;
  padding: 0;
  min-height: 44px;
  line-height: 1.35;
}

header .theme2-header-search-panel .wp-block-search__button {
  margin: 0;
  min-height: 36px;
  padding-inline: 0.85rem;
  cursor: pointer;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #ffffff;
  background-image: none;
  background-size: auto;
  background-position: center;
  box-shadow: none;
  color: #334155;
  width: auto;
  white-space: nowrap;
}

.theme2-sidebar-widget--search .wp-block-search__button {
  margin: 0;
  min-width: 36px;
  width: 36px;
  min-height: 36px;
  padding: 0;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #ffffff;
  background-image: none;
  background-size: auto;
  background-position: center;
  box-shadow: none;
  color: #334155;
}

header .theme2-header-search-panel .wp-block-search__button::after,
.theme2-sidebar-widget--search .wp-block-search__button::after {
  content: none;
}

header .theme2-header-search-panel .wp-block-search__button:is(:hover, :focus-visible),
.theme2-sidebar-widget--search .wp-block-search__button:is(:hover, :focus-visible) {
  background: #f8fafc;
  border-color: #94a3b8;
  box-shadow: none;
  color: #0f172a !important;
  opacity: 1;
  transform: none;
}

header .theme2-header-search-panel .wp-block-search__button:active,
.theme2-sidebar-widget--search .wp-block-search__button:active {
  transform: none;
  box-shadow: none;
}

/* Keep back-home button visually aligned with Hero/CTA button variant. */
.theme2-back-home-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  width: 100%;
}

/* Never underline links in the back-home buttons above footer. */
.theme2-back-home-actions a,
.theme2-back-home-actions a:is(:visited, :hover, :focus-visible, :active) {
  text-decoration: none !important;
}

/* Keep floating scroll-top arrow free from link underline on every template. */
a.theme2-scroll-top-button,
a.theme2-scroll-top-button:is(:visited, :hover, :focus, :focus-visible, :active) {
  text-decoration: none !important;
  text-decoration-line: none !important;
}

/* Use the exact Hero button visuals for back-home/scroll-top controls. */
.theme2-back-home-button,
.theme2-back-home-main-button,
.theme2-scroll-top-button {
  --theme2-button-fill: var(--theme2-button-hover-fill) !important;
  --theme2-button-fill-text: var(--theme2-button-hover-text) !important;
  background-color: var(--theme2-button-base-bg) !important;
  border-color: var(--theme2-button-border) !important;
  color: var(--theme2-button-base-text) !important;
  border-radius: 10px !important;
}

.theme2-scroll-top-button {
  position: fixed;
  left: clamp(0.85rem, 2vw, 1.35rem);
  bottom: 60px;
  z-index: 1100;
  min-width: 48px;
  width: 48px;
  min-height: 48px;
  height: 48px;
  padding: 0;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--theme2-button-base-text);
  font-size: var(--theme2-font-size-icon);
  line-height: 1;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.theme2-scroll-top-button.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.theme2-scroll-top-button > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-1px);
}

.theme2-marketing-timeline__period-text {
  white-space: nowrap;
}

.theme2-marketing-timeline__period :is(a, a[x-apple-data-detectors], a[href^="tel:"]) {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  text-decoration: none !important;
  pointer-events: none;
}

@media (max-width: 640px) {
  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-scroll-top-button {
    display: none !important;
  }
}

/* Hide homepage H1 visually, keep it for SEO/accessibility */
.seo-hidden-h1 {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

/* Global default button effect (inspired by codepen.io/mw_codes/pen/eYBXQOQ) */
:where(
  .wp-element-button,
  .wp-block-button__link,
  .theme2-back-home-button,
  .theme2-back-home-main-button,
  .theme2-scroll-top-button,
  button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle):not(.theme2-marketing-button):not(.theme2-home-form-submit):not(.wpcf7-submit):not(.theme2-accessibility-button),
  input[type="submit"]:not(.wpcf7-submit),
  input[type="button"],
  input[type="reset"]
) {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  text-decoration: none;
  border: 2px solid var(--theme2-button-border);
  border-radius: 7px;
  background: #ecf0f1;
  background-image: none;
  background-size: auto;
  color: #252525;
  font-size: var(--theme2-font-size-ui);
  line-height: 1.2;
  letter-spacing: 0;
  font-weight: 500;
  overflow: hidden;
  min-height: 44px;
  padding: 0.72rem 1.2rem;
  box-shadow: 2px 3px 0 #2d2d2d;
  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  cursor: pointer;
}

:where(
  .wp-element-button,
  .wp-block-button__link,
  .theme2-back-home-button,
  .theme2-back-home-main-button,
  .theme2-scroll-top-button,
  button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle):not(.theme2-marketing-button):not(.theme2-home-form-submit):not(.wpcf7-submit):not(.theme2-accessibility-button)
)::after {
  content: none;
}

:where(
  .wp-element-button,
  .wp-block-button__link,
  .theme2-back-home-button,
  .theme2-back-home-main-button,
  .theme2-scroll-top-button,
  button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle):not(.theme2-marketing-button):not(.theme2-home-form-submit):not(.wpcf7-submit):not(.theme2-accessibility-button),
  input[type="submit"]:not(.wpcf7-submit),
  input[type="button"],
  input[type="reset"]
):is(:hover, :focus-visible) {
  background: #111111;
  background-color: #111111;
  background-image: none;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 2px 3px 0 #2d2d2d;
  text-decoration: none;
}

/* Keep plugin block buttons aligned with theme-wide button styling. */
body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-button {
  border-width: 2px;
  border-radius: 7px;
  background: #ecf0f1 !important;
  background-color: #ecf0f1 !important;
  background-image: none;
  background-size: auto;
  box-shadow: 2px 3px 0 #2d2d2d;
  color: #252525;
  font-weight: 500;
  letter-spacing: 0;
  min-height: 44px;
  padding: 0.72rem 1.2rem;
  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-scroll-top-button.theme2-marketing-button {
  background: transparent !important;
  background-color: transparent !important;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-hero__actions .theme2-marketing-button {
  padding-right: 2.75rem;
  padding-left: 2.75rem;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-pricing__header {
  width: fit-content;
  max-width: 100%;
  margin-right: auto;
  margin-left: 0;
  justify-content: flex-start;
  text-align: left;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-pricing__name {
  order: 1;
  text-align: left;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-pricing__icon-wrap {
  order: 2;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-pricing__cta {
  box-sizing: border-box;
  display: inline-flex;
  align-self: stretch;
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  margin-right: 0;
  margin-left: 0;
  padding: 0.72rem 2.75rem;
  border-radius: 7px !important;
  box-shadow: 2px 3px 0 #2d2d2d;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) :is(
  .theme2-marketing-portfolio-latest__more-link,
  .theme2-marketing-form-panel__form-card .theme2-marketing-button,
  .theme2-marketing-form-panel__form-card .wpcf7-submit,
  .theme2-marketing-form-panel__form-card button[type="submit"],
  .theme2-marketing-form-panel__form-card input[type="submit"]
) {
  min-height: 44px;
  padding: 0.72rem 2.75rem;
  border-radius: 7px !important;
  box-shadow: 2px 3px 0 #2d2d2d;
  line-height: 1.2;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-hero__actions .theme2-marketing-button,
body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-cta__actions .theme2-marketing-button,
body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) :is(
  .theme2-marketing-announcement-bar,
  .theme2-marketing-email-reveal,
  .theme2-marketing-email-form-panel,
  .theme2-marketing-hero,
  .theme2-marketing-intro,
  .theme2-marketing-form-panel,
  .theme2-marketing-split,
  .theme2-marketing-cta,
  .theme2-marketing-testimonials,
  .theme2-marketing-feature-grid,
  .theme2-marketing-process,
  .theme2-marketing-timeline,
  .theme2-marketing-services,
  .theme2-marketing-audience,
  .theme2-marketing-pricing,
  .theme2-marketing-stats,
  .theme2-marketing-faq,
  .theme2-marketing-portfolio-latest,
  .theme2-marketing-trusted
) .theme2-marketing-button {
  background: transparent !important;
  background-color: transparent !important;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-button:is(:hover, :focus-visible) {
  background: #111111 !important;
  background-color: #111111 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 2px 3px 0 #2d2d2d;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-button::after {
  content: none;
}

body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-button:active {
  transform: translateY(1px);
  box-shadow: 1px 2px 0 #2d2d2d;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) :is(
  .theme2-marketing-button:not(.theme2-scroll-top-button),
  .wp-element-button,
  .wp-block-button__link,
  .wpcf7-submit,
  button[type="submit"],
  input[type="submit"]
) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.72rem 1.2rem;
  border: 2px solid #f3f4f6 !important;
  border-radius: 7px !important;
  background: #f3f4f6 !important;
  background-color: #f3f4f6 !important;
  background-image: none !important;
  color: #0b0b0b !important;
  -webkit-text-fill-color: #0b0b0b !important;
  box-shadow: 2px 3px 0 #000000 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) :is(
  .theme2-marketing-button:not(.theme2-scroll-top-button),
  .wp-element-button,
  .wp-block-button__link,
  .wpcf7-submit,
  button[type="submit"],
  input[type="submit"]
):is(:hover, :focus-visible) {
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #ffffff !important;
  box-shadow: 2px 3px 0 #000000 !important;
  text-decoration: none !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) :is(
  .theme2-marketing-button:not(.theme2-scroll-top-button),
  .wp-element-button,
  .wp-block-button__link,
  .wpcf7-submit,
  button[type="submit"],
  input[type="submit"]
):active {
  transform: translateY(1px);
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #ffffff !important;
  box-shadow: 1px 2px 0 #000000 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) :is(
  .theme2-marketing-hero__actions .theme2-marketing-button,
  .theme2-marketing-pricing__cta,
  .theme2-marketing-portfolio-latest__more-link,
  .theme2-marketing-form-panel__form-card .theme2-marketing-button,
  .theme2-marketing-form-panel__form-card .wpcf7-submit,
  .theme2-marketing-form-panel__form-card button[type="submit"],
  .theme2-marketing-form-panel__form-card input[type="submit"]
),
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 button.wpcf7-submit.theme2-marketing-button {
  min-height: 44px;
  padding: 0.72rem 2.75rem;
  border-radius: 7px !important;
  line-height: 1.2;
}

:where(
  .wp-element-button,
  .wp-block-button__link,
  .theme2-back-home-button,
  .theme2-back-home-main-button,
  .theme2-scroll-top-button,
  button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle):not(.theme2-marketing-button):not(.theme2-home-form-submit):not(.wpcf7-submit):not(.theme2-accessibility-button)
):is(:hover, :focus-visible)::after {
  transform: none;
}

:where(
  .wp-element-button,
  .wp-block-button__link,
  .theme2-back-home-button,
  .theme2-back-home-main-button,
  .theme2-scroll-top-button,
  button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle):not(.theme2-marketing-button):not(.theme2-home-form-submit):not(.wpcf7-submit):not(.theme2-accessibility-button),
  input[type="submit"]:not(.wpcf7-submit),
  input[type="button"],
  input[type="reset"]
):active {
  transform: translateY(1px);
  box-shadow: 1px 2px 0 #2d2d2d;
}

@media (prefers-reduced-motion: reduce) {
  :where(
    .wp-element-button,
    .wp-block-button__link,
    .theme2-back-home-button,
    .theme2-back-home-main-button,
    .theme2-scroll-top-button,
    button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle):not(.theme2-marketing-button):not(.theme2-home-form-submit):not(.wpcf7-submit):not(.theme2-accessibility-button),
    input[type="submit"]:not(.wpcf7-submit),
    input[type="button"],
    input[type="reset"]
  ) {
    transition: none;
  }

  :where(
    .wp-element-button,
    .wp-block-button__link,
    .theme2-back-home-button,
    .theme2-back-home-main-button,
    .theme2-scroll-top-button,
    button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle):not(.theme2-marketing-button):not(.theme2-home-form-submit):not(.wpcf7-submit):not(.theme2-accessibility-button)
  )::after {
    transition: none;
  }

  :where(
    .wp-element-button,
    .wp-block-button__link,
    .theme2-back-home-button,
    .theme2-back-home-main-button,
    .theme2-scroll-top-button,
    button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle):not(.theme2-marketing-button):not(.theme2-home-form-submit):not(.wpcf7-submit):not(.theme2-accessibility-button)
  ):is(:hover, :focus-visible)::after {
    transform: translateX(-220%) rotate(12deg);
  }

  :where(
    .wp-element-button,
    .wp-block-button__link,
    .theme2-back-home-button,
    .theme2-back-home-main-button,
    .theme2-scroll-top-button,
    button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle):not(.theme2-marketing-button):not(.theme2-home-form-submit):not(.wpcf7-submit):not(.theme2-accessibility-button),
    input[type="submit"]:not(.wpcf7-submit),
    input[type="button"],
    input[type="reset"]
  ):active {
    transform: none;
  }
}

/* Responsive nav controls should not look like CTA buttons. */
header .wp-block-navigation__responsive-container-open,
header .wp-block-navigation__responsive-container-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #0f172a;
  box-shadow: none;
  transition: color 0.2s ease, opacity 0.2s ease;
}

header .wp-block-navigation__responsive-container-open:hover,
header .wp-block-navigation__responsive-container-close:hover {
  background: transparent;
  color: #020617;
  opacity: 0.8;
}

header .wp-block-navigation__responsive-container-open svg,
header .wp-block-navigation__responsive-container-close svg {
  width: 22px;
  height: 22px;
}

header .wp-block-navigation__responsive-container-open svg {
  display: none;
}

header .wp-block-navigation__responsive-container-open {
  position: relative;
}

header .wp-block-navigation__responsive-container-open::before {
  content: "";
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor;
}

header .wp-block-navigation__responsive-container-open::after {
  content: "";
  display: none;
}

/* Keep readable text slightly inset from the content edge while leaving block layouts untouched. */
:is(.page, .single:not(.single-post)) main > .wp-block-group.is-layout-constrained > .wp-block-post-title,
.error404 main > .wp-block-group.is-layout-constrained > :is(h1, p, .theme2-404-search),
:is(.blog, .archive, .search) main > .wp-block-group.is-layout-constrained > .wp-block-query-title,
:is(.blog, .archive, .search) .wp-block-query-no-results > p,
:is(.blog, .archive, .search) .wp-block-post-template > li > .wp-block-group.is-layout-constrained > :is(.wp-block-post-title, .theme2-post-card-meta, .wp-block-post-excerpt),
.post-type-archive-portfolio main > .wp-block-group.is-layout-constrained > .wp-block-query-title,
.post-type-archive-portfolio main > .wp-block-group.is-layout-constrained > .theme2-portfolio-archive-description,
.post-type-archive-portfolio .wp-block-query-no-results > p,
.post-type-archive-portfolio .theme2-portfolio-archive-item__content > :is(.wp-block-post-title, .wp-block-post-excerpt) {
  box-sizing: border-box;
  padding-right: var(--theme2-text-gutter);
  padding-left: var(--theme2-text-gutter);
}

:is(.page, .single:not(.single-post)) .entry-content.alignfull.wp-block-post-content.is-layout-constrained > :is(
  p,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  blockquote,
  pre
) {
  box-sizing: border-box;
  padding-right: var(--theme2-text-gutter);
  padding-left: var(--theme2-text-gutter);
}

:is(.page, .single:not(.single-post)) .entry-content.alignfull.wp-block-post-content.is-layout-constrained > :is(ul, ol) {
  box-sizing: border-box;
  padding-right: var(--theme2-text-gutter);
  padding-left: calc(1.25rem + var(--theme2-text-gutter));
}

:is(.page, .single:not(.single-post)) main > .wp-block-group.is-layout-constrained > .wp-block-post-title:not(.seo-hidden-h1) + .entry-content {
  margin-top: 1.35rem;
}

:is(.blog, .archive:not(.post-type-archive-portfolio)) main > .wp-block-group.is-layout-constrained > .wp-block-query-title + .wp-block-query,
.search main > .wp-block-group.is-layout-constrained > .theme2-search-page-form + .wp-block-query {
  margin-top: clamp(1rem, 2vw, 1.4rem);
}

.post-type-archive-portfolio main > .wp-block-group.is-layout-constrained > .theme2-portfolio-archive-description {
  width: min(100%, var(--wp--style--global--content-size));
  max-width: none;
  margin-top: 0.9rem;
  margin-bottom: clamp(1rem, 2vw, 1.4rem);
  margin-right: auto !important;
  margin-left: auto !important;
  color: #475569;
  font-size: 1rem;
  line-height: 1.65;
  text-align: left;
}

.post-type-archive-portfolio main > .wp-block-group.is-layout-constrained > .theme2-portfolio-archive-description p {
  max-width: 44rem;
  margin: 0;
}

.post-type-archive-portfolio main > .wp-block-group.is-layout-constrained > .theme2-portfolio-archive-description p + p {
  margin-top: 0.75rem;
}

@media (max-width: 1300px) {
  :root {
    --theme2-mobile-text-gutter: 1rem;
  }

  header .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: inline-flex;
  }

  header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none;
  }

  header .site-container {
    gap: 0.75rem;
  }

  header .wp-block-navigation__responsive-container.is-menu-open {
    background: #ffffff !important;
    color: #111111 !important;
    padding: 0.95rem 0;
  }

  header .wp-block-navigation__responsive-close {
    width: min(100% - 2rem, 1440px);
    margin-left: auto;
    margin-right: auto;
  }

  header .wp-block-navigation__responsive-dialog {
    width: 100%;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding-top: 0.5rem;
    gap: 0.5rem;
    width: 100%;
    align-items: stretch;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list {
    width: 100%;
    gap: 0.35rem;
    align-items: stretch;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    width: 100%;
    align-items: stretch;
    border-radius: 8px;
    transition: background-color 0.2s ease;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display: block;
    width: 100%;
    box-sizing: border-box;
    min-height: 44px;
    padding: 0.5rem 0 !important;
    border-radius: 8px;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:is(:hover, :focus-within),
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current_page_item {
    background: #f3f6fa;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
    text-decoration: none;
    background: transparent;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    row-gap: 0.2rem;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation-item__content {
    grid-column: 1;
    min-width: 0;
    padding-right: 0 !important;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation-submenu__toggle {
    grid-column: 2;
    align-self: stretch;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    width: 2rem;
    margin: 0;
    padding: 0 !important;
    border-radius: 8px;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-icon svg {
    width: 0.7em;
    height: 0.7em;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
    grid-column: 1 / -1;
    position: static;
    width: 100%;
    min-width: 0;
    height: 0;
    opacity: 0;
    overflow: hidden;
    visibility: hidden;
    margin: 0.1rem 0 0.2rem;
    padding: 0 0 0 0.85rem !important;
    border-left: 1px solid #dbe3ec;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
    height: auto;
    opacity: 1;
    overflow: visible;
    visibility: visible;
    padding-top: 0.15rem !important;
    padding-bottom: 0.15rem !important;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle {
    min-height: 38px;
    padding: 0.35rem 0.5rem !important;
  }

  header .theme2-header-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    row-gap: 0.6rem;
    column-gap: 0.7rem;
  }

  header .theme2-header-brand {
    column-gap: 0.55rem;
    row-gap: 0;
    min-width: 0;
  }

  header .theme2-header-nav {
    justify-self: end;
  }

  header .theme2-header-actions {
    width: auto;
    justify-content: flex-end;
    gap: 0.65rem;
    flex-shrink: 0;
    justify-self: end;
  }

  header .theme2-header-actions .theme2-language-switcher {
    order: 1;
  }

  header .theme2-header-nav .wp-block-navigation {
    order: 3;
  }

  header .theme2-classic-nav .theme2-header-search-toggle {
    order: 1;
  }

  header .theme2-header-search-wrap {
    margin-top: 0;
  }

  header.theme2-search-open .theme2-header-search-wrap {
    margin-top: 0.5rem;
  }

  :is(.page, .single:not(.single-post)) main > .wp-block-group.is-layout-constrained > .wp-block-post-title {
    box-sizing: border-box;
    padding-right: var(--theme2-mobile-text-gutter);
    padding-left: var(--theme2-mobile-text-gutter);
  }

  :is(.page, .single:not(.single-post)) .entry-content.alignfull.wp-block-post-content.is-layout-constrained > :is(
    p,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    blockquote,
    pre
  ) {
    box-sizing: border-box;
    padding-right: var(--theme2-mobile-text-gutter);
    padding-left: var(--theme2-mobile-text-gutter);
  }

  :is(.page, .single:not(.single-post)) .entry-content.alignfull.wp-block-post-content.is-layout-constrained > :is(ul, ol) {
    box-sizing: border-box;
    padding-right: var(--theme2-mobile-text-gutter);
    padding-left: calc(1.25rem + var(--theme2-mobile-text-gutter));
  }

  .error404 main > .wp-block-group.is-layout-constrained > :is(h1, p, .theme2-404-search) {
    box-sizing: border-box;
    padding-right: var(--theme2-mobile-text-gutter);
    padding-left: var(--theme2-mobile-text-gutter);
  }

  :is(.blog, .archive, .search) main > .wp-block-group.is-layout-constrained > .wp-block-query-title,
  :is(.blog, .archive, .search) .wp-block-query-no-results > p {
    box-sizing: border-box;
    padding-right: var(--theme2-mobile-text-gutter);
    padding-left: var(--theme2-mobile-text-gutter);
  }

  :is(.blog, .archive, .search) .wp-block-post-template > li > .wp-block-group.is-layout-constrained > :is(
    .wp-block-post-title,
    .theme2-post-card-meta,
    .wp-block-post-excerpt
  ) {
    box-sizing: border-box;
    padding-right: var(--theme2-mobile-text-gutter);
    padding-left: var(--theme2-mobile-text-gutter);
  }

  .post-type-archive-portfolio main > .wp-block-group.is-layout-constrained > :is(.wp-block-query-title, .theme2-portfolio-archive-description),
  .post-type-archive-portfolio .wp-block-query-no-results > p {
    box-sizing: border-box;
    padding-right: var(--theme2-mobile-text-gutter);
    padding-left: var(--theme2-mobile-text-gutter);
  }

  .post-type-archive-portfolio .theme2-portfolio-archive-item__content > :is(.wp-block-post-title, .wp-block-post-excerpt) {
    box-sizing: border-box;
    padding-right: var(--theme2-mobile-text-gutter);
    padding-left: var(--theme2-mobile-text-gutter);
  }
}

@media (max-width: 520px) {
  header .theme2-header-brand {
    column-gap: 0.45rem;
    row-gap: 0;
  }

  header .theme2-accessibility-controls {
    gap: 0.25rem;
  }

  header .theme2-accessibility-button {
    min-width: 36px;
    min-height: 36px;
    padding: 0.28rem 0.4rem;
    font-size: 0.75rem;
  }

  header .theme2-accessibility-button--contrast {
    min-width: 36px;
  }

  header .theme2-language-switcher :is(.theme2-language-switcher__link, .theme2-language-switcher__current) {
    min-width: 32px;
    min-height: 32px;
    padding: 0.14rem;
  }

  header .theme2-language-switcher img {
    width: 18px;
  }
}

@media (max-width: 1300px) {
  header.wp-block-template-part {
    position: relative;
    z-index: 1001;
  }

  header .theme2-header-nav .wp-block-navigation,
  header .wp-block-navigation__responsive-container-open {
    position: relative;
    z-index: 1003;
  }

  header .wp-block-navigation__responsive-container,
  header .wp-block-navigation__responsive-close,
  header .wp-block-navigation__responsive-container-close {
    display: none !important;
  }

  header .theme2-mobile-menu-panel {
    position: fixed;
    top: var(--theme2-header-bottom, var(--theme2-header-height, 72px));
    left: 0;
    right: 0;
    width: 100vw;
    max-height: min(75svh, calc(100svh - var(--theme2-header-bottom, var(--theme2-header-height, 72px))));
    overflow: hidden;
    margin: 0;
    background: #ffffff;
    color: #111111;
    border-top: 1px solid #e5e5e5;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18);
    z-index: 999;
  }

  header .theme2-mobile-menu-panel[hidden] {
    display: none !important;
  }

  header .theme2-mobile-menu-panel__inner {
    box-sizing: border-box;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    min-height: 0;
    max-height: min(75svh, calc(100svh - var(--theme2-header-bottom, var(--theme2-header-height, 72px))));
    padding: 0.55rem 1.25rem 1rem;
    overflow-y: auto;
  }

  header .theme2-mobile-menu-panel__nav {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  header .theme2-mobile-menu-panel .theme2-mobile-menu-list,
  header .theme2-mobile-menu-panel .wp-block-navigation__container,
  header .theme2-mobile-menu-panel .wp-block-page-list {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  header .theme2-mobile-menu-panel .wp-block-navigation-item {
    width: 100%;
    align-items: stretch;
    border-radius: 8px;
    transition: background-color 0.2s ease;
  }

  header .theme2-mobile-menu-panel .wp-block-navigation-item__content {
    display: block;
    width: 100%;
    box-sizing: border-box;
    min-height: 44px;
    padding: 0.5rem 0 !important;
    border-radius: 8px;
    text-decoration: none;
  }

  header .theme2-mobile-menu-panel .wp-block-navigation-item:is(:hover, :focus-within),
  header .theme2-mobile-menu-panel .wp-block-navigation-item.current-menu-item,
  header .theme2-mobile-menu-panel .wp-block-navigation-item.current_page_item {
    background: #f3f6fa;
  }

  header .theme2-mobile-menu-panel .wp-block-navigation-item__content:hover {
    text-decoration: none;
    background: transparent;
  }

  header .theme2-mobile-menu-panel .wp-block-navigation-item.has-child {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    row-gap: 0.2rem;
  }

  header .theme2-mobile-menu-panel .wp-block-navigation-item.has-child > .wp-block-navigation-item__content {
    grid-column: 1;
    min-width: 0;
    padding-right: 0 !important;
  }

  header .theme2-mobile-menu-panel .wp-block-navigation-item.has-child > .wp-block-navigation-submenu__toggle {
    grid-column: 2;
    align-self: stretch;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    width: 2rem;
    margin: 0;
    padding: 0 !important;
    border-radius: 8px;
    background: transparent;
    border: 0;
    box-shadow: none;
  }

  header .theme2-mobile-menu-panel .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-icon svg {
    width: 0.7em;
    height: 0.7em;
  }

  header .theme2-mobile-menu-panel .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
    grid-column: 1 / -1;
    position: static;
    width: 100%;
    min-width: 0;
    margin: 0.1rem 0 0.2rem;
    padding: 0 0 0 0.85rem !important;
    border-left: 1px solid #dbe3ec;
  }

  header .theme2-mobile-menu-panel .wp-block-navigation-item.has-child:not(.is-open) > .wp-block-navigation__submenu-container {
    display: none;
  }

  header .theme2-mobile-menu-panel .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
  header .theme2-mobile-menu-panel .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle {
    min-height: 38px;
    padding: 0.35rem 0.5rem !important;
  }

  header .wp-block-navigation.theme2-mobile-menu-open .wp-block-navigation__responsive-container-open {
    display: inline-flex !important;
    z-index: 1002;
  }

  header .wp-block-navigation.theme2-mobile-menu-open .wp-block-navigation__responsive-container-open::before {
    position: absolute;
    width: 18px;
    box-shadow: none;
    transform: rotate(45deg);
  }

  header .wp-block-navigation.theme2-mobile-menu-open .wp-block-navigation__responsive-container-open::after {
    content: "";
    display: block;
    position: absolute;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transform: rotate(-45deg);
  }

  header .theme2-mobile-menu-panel__footer {
    margin-top: 0;
    padding-top: 0.65rem;
    border-top: 1px solid #e5e5e5;
  }

  header .theme2-mobile-menu-panel__footer:empty {
    display: none;
  }

  header .theme2-mobile-menu-panel__footer .theme2-accessibility-controls--mobile {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    width: 100%;
  }

  header .theme2-mobile-menu-panel__footer .theme2-accessibility-controls--mobile .theme2-accessibility-button {
    min-width: 42px;
    min-height: 42px;
  }
}

/* Revert header navigation to the standard WordPress responsive menu. */
@media (max-width: 1300px) {
  header .theme2-mobile-menu-panel {
    display: none !important;
  }

  header .wp-block-navigation__responsive-container {
    display: none !important;
  }

  header .wp-block-navigation__responsive-container.is-menu-open {
    display: block !important;
    position: fixed;
    inset: var(--theme2-header-height, 72px) 0 0 0;
    padding: 0;
    background: #ffffff !important;
    color: #111111 !important;
    z-index: 1002;
  }

  header .wp-block-navigation__responsive-dialog {
    width: 100%;
    height: 100%;
  }

  header .wp-block-navigation__responsive-close {
    display: flex !important;
    width: min(100% - 2rem, 1440px);
    margin: 0 auto;
    padding: 0.85rem 0 0;
    justify-content: flex-end;
  }

  header .wp-block-navigation__responsive-container-close {
    display: inline-flex !important;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    box-sizing: border-box;
    width: min(100% - 2rem, 1440px);
    max-height: calc(100svh - var(--theme2-header-height, 72px));
    margin: 0 auto;
    padding: 0.35rem 0 1rem;
    overflow-y: auto;
    align-items: stretch;
    gap: 0.5rem;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list {
    width: 100%;
    gap: 0.35rem;
    align-items: stretch;
  }

  header .wp-block-navigation__responsive-container-content .theme2-accessibility-controls--mobile {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    width: 100%;
    padding-top: 0.75rem;
    margin-top: 0.35rem;
    border-top: 1px solid #e5e5e5;
  }

  header .wp-block-navigation__responsive-container-content .theme2-accessibility-controls--mobile .theme2-accessibility-button {
    min-width: 42px;
    min-height: 42px;
  }
}

@media (max-width: 1300px) {
  html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .wp-block-navigation__responsive-container.is-menu-open {
    background: #0b0b0b !important;
    color: #f3f4f6 !important;
  }

  html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .wp-block-navigation__responsive-container-content .theme2-accessibility-controls--mobile {
    border-top-color: #374151;
  }

  html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:is(:hover, :focus-within),
  html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item,
  html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current_page_item {
    background: #111827;
  }
}

@media (max-width: 1000px) {
  html[data-theme2-contrast="high"] header .wp-block-navigation__responsive-container.is-menu-open {
    background: #000000 !important;
    color: #ffeb3b !important;
  }

  html[data-theme2-contrast="high"] header .wp-block-navigation__responsive-container-content .theme2-accessibility-controls--mobile {
    border-top-color: #ffeb3b !important;
  }
}

@media (max-width: 640px) {
  .theme2-marketing-hero__actions,
  .theme2-marketing-cta__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.95rem;
    width: 100%;
  }

  .theme2-marketing-hero__actions .theme2-marketing-button,
  .theme2-marketing-cta__actions .theme2-marketing-button {
    width: 100%;
    min-height: 56px;
    padding-top: 0.58em;
    padding-right: 1rem;
    padding-bottom: 0.58em;
    padding-left: 1rem;
    white-space: nowrap;
    text-align: center;
    justify-content: center;
    line-height: 1.15;
  }

  .theme2-marketing-hero__actions .theme2-marketing-button {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-pricing__cta {
    min-height: 56px;
    padding-top: 0.58em;
    padding-right: 2rem;
    padding-bottom: 0.58em;
    padding-left: 2rem;
    line-height: 1.15;
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) :is(
    .theme2-marketing-portfolio-latest__more-link,
    .theme2-marketing-form-panel__form-card .theme2-marketing-button,
    .theme2-marketing-form-panel__form-card .wpcf7-submit,
    .theme2-marketing-form-panel__form-card button[type="submit"],
    .theme2-marketing-form-panel__form-card input[type="submit"]
  ),
  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 button.wpcf7-submit.theme2-marketing-button {
    min-height: 56px;
    padding-top: 0.58em;
    padding-right: 2rem;
    padding-bottom: 0.58em;
    padding-left: 2rem;
    line-height: 1.15;
  }

  .single-post .wp-block-post-comments-form .form-submit .wp-element-button {
    min-height: 56px;
    padding-top: 0.58em;
    padding-right: 2rem;
    padding-bottom: 0.58em;
    padding-left: 2rem;
    line-height: 1.15;
  }
}

.theme2-post-meta,
.theme2-post-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 1rem;
  color: #5f6b7a;
  font-size: var(--theme2-font-size-note);
  line-height: 1.35;
}

.theme2-post-meta {
  width: 100%;
}

.theme2-post-meta > *,
.theme2-post-card-meta > * {
  margin: 0;
}

.theme2-post-meta > * {
  position: relative;
  display: inline-flex;
  align-items: center;
  max-width: 100%;
}

.theme2-post-meta > * + * {
  padding-left: 0.9rem;
}

.theme2-post-meta > * + *::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 0.95em;
  transform: translateY(-50%);
  background: #d5dde7;
}

.theme2-post-meta .wp-block-post-date,
.theme2-post-meta .wp-block-post-comments-link {
  white-space: nowrap;
}

.theme2-post-meta a,
.theme2-post-card-meta a {
  text-decoration: none;
}

.theme2-post-meta a:hover,
.theme2-post-card-meta a:hover {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

@media (max-width: 640px) {
  .theme2-post-meta,
  .theme2-post-card-meta {
    gap: 0.35rem 0.65rem;
  }

  .theme2-post-meta {
    font-size: var(--theme2-font-size-small);
  }

  .theme2-post-card-meta {
    font-size: var(--theme2-font-size-small);
  }

  .theme2-post-meta > * + * {
    padding-left: 0;
  }

  .theme2-post-meta > * + *::before {
    content: none;
  }

  .blog .wp-block-post-template > li > .wp-block-group,
  .archive .wp-block-post-template > li > .wp-block-group,
  .search .wp-block-post-template > li > .wp-block-group {
    padding-top: 0.8rem !important;
    padding-bottom: 0.8rem !important;
    margin-bottom: 0.8rem !important;
  }

  .blog .wp-block-query-title,
  .archive .wp-block-query-title,
  .search .wp-block-query-title {
    margin: 0 0 0.2rem;
  }
}

.error404 .theme2-404-lead {
  color: #0f172a;
  font-size: var(--theme2-font-size-ui-large);
  line-height: 1.45;
}

.error404 .theme2-404-page > p:last-of-type {
  color: #475569;
}

.error404 .theme2-404-search {
  margin-top: 1rem;
}

.error404 .theme2-404-search .wp-block-search {
  margin: 0;
}

.search .theme2-search-page-form {
  box-sizing: border-box;
  margin-top: 0.9rem;
  padding-right: var(--theme2-text-gutter);
  padding-left: var(--theme2-text-gutter);
}

.search .theme2-search-page-form .wp-block-search {
  margin: 0;
}

.search .theme2-search-results {
  box-sizing: border-box;
  margin-top: 1.15rem;
  padding-top: 1.2rem;
  border-top: 1px solid #d7dfea;
}

.search .theme2-search-results .wp-block-query-pagination {
  box-sizing: border-box;
  padding-right: var(--theme2-text-gutter);
  padding-left: var(--theme2-text-gutter);
}

/* Keep list markers inside content flow for post/page content. */
.wp-block-post-content :is(ul, ol) {
  margin-left: 0;
  padding-left: 1.25rem;
}

.wp-block-post-content :is(ul, ol) :is(ul, ol) {
  margin-top: 0.35rem;
}

.wp-block-post-content li + li {
  margin-top: 0.25rem;
}

/* Soften separators inside post content (avoid thick, dark HR lines). */
.single-post .wp-block-post-content hr:not(.wp-block-separator),
.single-post .wp-block-post-content .wp-block-separator:not(.is-style-dots) {
  border: 0;
  border-top: 1px solid #d7dfea !important;
  background: transparent !important;
  color: #d7dfea !important;
  height: 0;
  margin: 1.25rem auto;
}

.single-post .wp-block-post-content .wp-block-separator:not(.is-style-dots) {
  max-width: 100%;
}

.single-post .theme2-post-meta {
  font-size: 0.875rem;
  line-height: 1.45;
}

.theme2-post-vote-anchor {
  min-height: 1px;
}

.theme2-post-vote {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.32rem 0.55rem;
  color: #64748b;
  font-size: var(--theme2-font-size-ui);
  line-height: 1;
}

.theme2-post-vote.is-loading {
  opacity: 0.65;
  pointer-events: none;
}

.theme2-post-vote__label {
  margin-right: 0.2rem;
  color: #475569;
}

.theme2-post-vote__button {
  color: #64748b;
  text-decoration: none;
  font-size: var(--theme2-font-size-ui-large);
  line-height: 1;
}

.theme2-post-vote__button:is(:hover, :focus-visible) {
  color: #0f172a;
  text-decoration: none;
}

.theme2-post-vote__button.is-selected {
  color: #0f172a;
}

.theme2-post-vote__count {
  min-width: 1ch;
  text-align: center;
  font-size: var(--theme2-font-size-meta);
  color: #64748b;
}

.single-post .theme2-post-vote {
  gap: 0.4rem 0.65rem;
  font-size: 0.875rem;
}

.single-post .theme2-post-vote__button {
  font-size: 0.95rem;
}

.single-post .theme2-post-vote__count {
  font-size: 0.8125rem;
}

.theme2-most-liked-widget {
  margin-top: 1.15rem;
  padding-top: 0.95rem;
  border-top: 1px solid #e5e5e5;
}

.theme2-most-liked-widget__title {
  margin: 0 0 0.5rem;
}

.theme2-most-liked-widget__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.5rem;
}

.theme2-most-liked-widget__item {
  margin: 0;
}

.theme2-most-liked-widget__link {
  color: #0f172a;
  display: inline-block;
  font-weight: var(--theme2-font-weight-semibold);
  text-decoration: none;
}

.theme2-most-liked-widget__link:hover {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.theme2-most-liked-widget__meta {
  margin: 0.25rem 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem 0.75rem;
  color: #64748b;
  font-size: var(--theme2-font-size-meta);
}

.theme2-most-liked-widget__likes,
.theme2-most-liked-widget__dislikes {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}

.theme2-most-liked-widget__empty {
  margin: 0;
  color: #64748b;
  font-size: var(--theme2-font-size-small);
}

.theme2-most-liked-comments-widget {
  margin-top: 1.15rem;
  padding-top: 0.95rem;
  border-top: 1px solid #e5e5e5;
}

.theme2-most-liked-comments-widget__title {
  margin: 0 0 0.5rem;
}

.theme2-most-liked-comments-widget__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.7rem;
}

.theme2-most-liked-comments-widget__item {
  margin: 0;
}

.theme2-most-liked-comments-widget__comment-link {
  color: #0f172a;
  display: inline;
  font-size: var(--theme2-font-size-small);
  font-weight: var(--theme2-font-weight-normal);
  line-height: 1.45;
  text-decoration: none;
}

.theme2-most-liked-comments-widget__comment-link:hover,
.theme2-most-liked-comments-widget__post-link:hover {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.theme2-most-liked-comments-widget__context {
  margin: 0.28rem 0 0;
  color: #64748b;
  font-size: var(--theme2-font-size-meta);
}

.theme2-most-liked-comments-widget__context-label {
  color: #64748b;
}

.theme2-most-liked-comments-widget__post-link {
  color: #334155;
  text-decoration: none;
}

.theme2-most-liked-comments-widget__meta {
  margin-top: 0.25rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem 0.75rem;
  color: #64748b;
  font-size: var(--theme2-font-size-meta);
}

.theme2-most-liked-comments-widget__likes,
.theme2-most-liked-comments-widget__dislikes {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}

.theme2-most-liked-comments-widget__empty {
  margin: 0;
  color: #64748b;
  font-size: var(--theme2-font-size-small);
}

.theme2-single-post-sidebar {
  border-left: 1px solid #e5e5e5;
  padding-left: 1.5rem;
  font-size: var(--theme2-font-size-body);
  line-height: 1.6;
}

.theme2-single-post-sidebar .theme2-sidebar-widget {
  margin: 0;
  padding: 0 0 1rem;
  border-bottom: 1px solid #e5e5e5;
}

.theme2-single-post-sidebar .theme2-sidebar-widget + .theme2-sidebar-widget {
  margin-top: 1rem;
}

.theme2-single-post-sidebar .theme2-sidebar-widget .wp-block-heading {
  margin-top: 0;
  margin-bottom: 0.6rem;
  font-size: clamp(1.05rem, 1.3vw, 1.2rem);
  line-height: 1.3;
}

/* Sidebar wrappers own separators; avoid duplicate top line inside custom shortcodes. */
.theme2-single-post-sidebar .theme2-most-liked-widget,
.theme2-single-post-sidebar .theme2-most-liked-comments-widget {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.theme2-single-post-sidebar :is(
  .wp-block-search__input,
  .wp-block-search__button,
  .wp-block-latest-posts,
  .wp-block-latest-comments,
  .wp-block-categories-list,
  .theme2-most-liked-widget,
  .theme2-most-liked-comments-widget
) {
  font-size: var(--theme2-font-size-body);
}

.theme2-single-post-sidebar .wp-block-latest-posts,
.theme2-single-post-sidebar .wp-block-latest-comments,
.theme2-single-post-sidebar .wp-block-categories-list {
  margin-top: 0.6rem;
}

.theme2-single-post-sidebar .wp-block-latest-posts li,
.theme2-single-post-sidebar .wp-block-latest-comments li,
.theme2-single-post-sidebar .wp-block-categories-list li {
  margin-bottom: 0.45rem;
  line-height: 1.55;
}

.theme2-single-post-sidebar .wp-block-latest-posts a,
.theme2-single-post-sidebar .wp-block-latest-comments a,
.theme2-single-post-sidebar .wp-block-categories-list a {
  line-height: 1.55;
}

.theme2-single-post-sidebar .wp-block-latest-posts__post-date,
.theme2-single-post-sidebar .wp-block-latest-comments__comment-date {
  margin-top: 0.25rem;
  color: #64748b;
  font-size: 0.8125rem;
}

.theme2-single-post-sidebar .wp-block-latest-comments {
  padding-left: 0;
}

.theme2-single-post-sidebar .wp-block-latest-comments__comment {
  margin-bottom: 0.75rem;
}

.theme2-single-post-sidebar .wp-block-latest-comments__comment-excerpt {
  margin-top: 0.25rem;
  color: #475569;
  font-size: var(--theme2-font-size-small);
  line-height: 1.5;
}

.theme2-single-post-sidebar .theme2-most-liked-widget__link,
.theme2-single-post-sidebar .theme2-most-liked-comments-widget__comment-link {
  font-size: var(--theme2-font-size-body);
  line-height: 1.55;
}

.theme2-single-post-sidebar .theme2-most-liked-widget__meta,
.theme2-single-post-sidebar .theme2-most-liked-comments-widget__context,
.theme2-single-post-sidebar .theme2-most-liked-comments-widget__meta {
  font-size: 0.8125rem;
  line-height: 1.45;
}

.theme2-single-post-sidebar .theme2-most-liked-widget__empty,
.theme2-single-post-sidebar .theme2-most-liked-comments-widget__empty {
  font-size: 0.875rem;
}

/* Single post comments: cards + readable threaded replies */
.theme2-single-post-comments .wp-block-comments {
  margin-top: 0.5rem;
}

.theme2-single-post-comments .wp-block-comments-title {
  margin-bottom: 1rem;
}

.theme2-single-post-comments .wp-block-comment-template,
.theme2-single-post-comments .wp-block-comment-template .children {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.theme2-single-post-comments .wp-block-comment-template > li {
  margin-bottom: 1rem;
}

.theme2-single-post-comments .wp-block-comment-template .children {
  margin-top: 0.85rem;
  margin-left: 1rem;
  padding-left: 1rem;
  border-left: 1px solid #d8dee8;
}

.theme2-single-post-comments .theme2-comment-card {
  position: relative;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #ffffff;
  padding-bottom: 1rem !important;
}

.theme2-single-post-comments .theme2-comment-seq {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  margin-left: auto !important;
  font-size: 0.8125rem;
  font-weight: var(--theme2-font-weight-normal);
  line-height: 1.2;
  color: #334155;
  background: transparent;
  border: 0;
  border-radius: 0;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  padding: 0;
  pointer-events: none;
}

.theme2-single-post-comments .depth-2 > .theme2-comment-card {
  background: #ffffff;
  border-color: #dbe4ee;
}

.theme2-single-post-comments .depth-3 > .theme2-comment-card {
  background: #ffffff;
  border-color: #d5dfeb;
}

.theme2-single-post-comments .depth-4 > .theme2-comment-card {
  background: #ffffff;
  border-color: #cfd9e6;
}

.theme2-single-post-comments .theme2-comment-header {
  gap: 0.75rem;
  margin-bottom: 0.6rem;
  align-items: flex-start;
}

.theme2-single-post-comments .theme2-comment-header :is(.wp-block-avatar, .wp-block-comment-author-avatar) {
  flex-shrink: 0;
}

.theme2-single-post-comments .theme2-comment-header > .wp-block-group {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: row !important;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.75rem;
}

.theme2-single-post-comments .theme2-comment-header .wp-block-comment-author-name {
  margin: 0;
  font-size: var(--theme2-font-size-body);
  line-height: 1.25;
  font-weight: var(--theme2-font-weight-semibold);
}

.theme2-single-post-comments .theme2-comment-header .wp-block-comment-date {
  margin: 0;
  margin-left: auto;
  padding-left: 0.75rem;
  color: #64748b;
  font-size: 0.8125rem;
  line-height: 1.4;
  text-align: right;
  white-space: nowrap;
}

.theme2-single-post-comments .wp-block-comment-content {
  margin-top: 0;
  font-size: var(--theme2-font-size-body);
  line-height: 1.7;
}

.theme2-single-post-comments .wp-block-comment-content > :first-child {
  margin-top: 0;
}

.theme2-single-post-comments .wp-block-comment-content > :last-child {
  margin-bottom: 0;
}

.theme2-single-post-comments .theme2-comment-actions {
  gap: 0.45rem 0.9rem;
  margin-top: 0.85rem;
  font-size: 0.875rem;
  line-height: 1.45;
  width: 100%;
  justify-content: flex-start;
  align-items: center;
}

.theme2-single-post-comments .theme2-comment-actions > * {
  margin: 0;
}

.theme2-single-post-comments .theme2-comment-votes {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  color: #64748b;
  line-height: 1;
}

.theme2-single-post-comments .theme2-comment-votes.is-loading {
  opacity: 0.65;
  pointer-events: none;
}

.theme2-single-post-comments .theme2-comment-actions a.theme2-comment-vote-button {
  color: #64748b;
  text-decoration: none;
  font-size: 0.95rem;
  line-height: 1;
}

.theme2-single-post-comments .theme2-comment-actions a.theme2-comment-vote-button:is(:hover, :focus-visible) {
  color: #0f172a;
  text-decoration: none;
}

.theme2-single-post-comments .theme2-comment-vote-button[aria-disabled="true"] {
  pointer-events: none;
}

.theme2-single-post-comments .theme2-comment-vote-button.is-selected {
  color: #0f172a;
  font-weight: var(--theme2-font-weight-semibold);
}

.theme2-single-post-comments .theme2-comment-vote-count {
  min-width: 1ch;
  text-align: center;
  font-size: 0.75rem;
  color: #64748b;
}

.theme2-single-post-comments .theme2-comment-actions > .theme2-comment-seq {
  order: 99;
  text-align: right;
}

.theme2-single-post-comments .theme2-comment-actions a {
  color: #334155;
  text-decoration: none;
}

.theme2-single-post-comments .theme2-comment-actions a:hover {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.theme2-single-post-comments .wp-block-comments-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 0.8rem 0 1.4rem;
  font-size: 0.875rem;
  line-height: 1.45;
}

.theme2-single-post-comments .wp-block-comments-pagination a {
  text-decoration: none;
}

.theme2-single-post-comments .wp-block-comments-pagination a:hover {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.theme2-single-post-comments .wp-block-post-comments-form {
  margin-top: 1rem;
}

.theme2-single-post-comments .comment-respond {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 1rem;
  background: #ffffff;
}

.theme2-single-post-comments .comment-reply-title {
  margin-top: 0;
  margin-bottom: 0.75rem;
}

.theme2-single-post-comments :is(.comment-notes, .logged-in-as) {
  margin-bottom: 0.75rem;
  color: #64748b;
  font-size: 0.875rem;
  line-height: 1.45;
}

.theme2-single-post-comments :is(.comment-form-author, .comment-form-email, .comment-form-url, .comment-form-comment) {
  margin-bottom: 0.7rem;
}

.theme2-single-post-comments :is(label) {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.875rem;
  line-height: 1.45;
}

.theme2-single-post-comments :is(input[type="text"], input[type="email"], input[type="url"], textarea) {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 0.62rem 0.75rem;
  box-sizing: border-box;
  background: #ffffff;
  color: inherit;
  font-size: var(--theme2-font-size-body);
  line-height: 1.5;
}

.theme2-single-post-comments textarea {
  min-height: 140px;
  resize: vertical;
}

.theme2-single-post-comments :is(input[type="text"], input[type="email"], input[type="url"], textarea):focus {
  border-color: #3b82f6;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
}

.theme2-single-post-comments .comment-form-cookies-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  margin-bottom: 0.9rem;
  font-size: 0.875rem;
  line-height: 1.45;
  color: #64748b;
}

.theme2-single-post-comments .comment-form-cookies-consent input[type="checkbox"] {
  margin-top: 0.22rem;
}

.theme2-single-post-comments .comment-form-cookies-consent label {
  margin: 0;
}

.theme2-single-post-comments .form-submit {
  margin: 1rem 0 0;
}

/* Single post action buttons: force one Hero-like effect only */
.single-post .wp-block-post-comments-form .form-submit .wp-element-button {
  appearance: none;
  cursor: pointer;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  box-sizing: border-box;
  text-decoration: none;
  border: 2px solid var(--theme2-button-border);
  border-radius: 7px;
  color: #252525;
  line-height: 1.2;
  letter-spacing: 0;
  font-weight: 500;
  overflow: hidden;
  padding: 0.72rem 2.75rem;
  background: transparent;
  background-color: transparent;
  background-image: none;
  box-shadow: 2px 3px 0 #2d2d2d;
  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.single-post .wp-block-post-comments-form .form-submit .wp-element-button::after {
  content: none !important;
}

.single-post .wp-block-post-comments-form .form-submit .wp-element-button::before {
  content: none;
}

.single-post .wp-block-post-comments-form .form-submit .wp-element-button:is(:hover, :focus-visible) {
  background: #111111;
  background-color: #111111;
  background-image: none;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 2px 3px 0 #2d2d2d;
  text-decoration: none;
}

.single-post .wp-block-post-comments-form .form-submit .wp-element-button:is(:hover, :focus-visible)::before {
  transform: none;
}

.single-post .wp-block-post-comments-form .form-submit .wp-element-button:active {
  transform: translateY(1px);
  box-shadow: 1px 2px 0 #2d2d2d;
}

/* Keep all buttons readable in the high-contrast mode, even after later theme overrides. */
html[data-theme2-contrast="high"] :is(
  .theme2-marketing-button,
  .wp-element-button,
  .wp-block-button__link,
  .theme2-back-home-button,
  .theme2-back-home-main-button,
  .theme2-scroll-top-button,
  .single-post .wp-block-post-comments-form .form-submit .wp-element-button,
  button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle),
  input[type="submit"],
  input[type="button"],
  input[type="reset"]
) {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
  color: #ffeb3b !important;
  border-color: #ffeb3b !important;
  box-shadow: none !important;
  text-decoration: underline !important;
}

html[data-theme2-contrast="high"] :is(
  .theme2-marketing-button,
  .wp-element-button,
  .wp-block-button__link,
  .theme2-back-home-button,
  .theme2-back-home-main-button,
  .theme2-scroll-top-button,
  .single-post .wp-block-post-comments-form .form-submit .wp-element-button,
  button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-item__content):not(.wp-block-navigation-submenu__toggle),
  input[type="submit"],
  input[type="button"],
  input[type="reset"]
):is(:hover, :focus-visible, :active) {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
  box-shadow: none !important;
  text-decoration: underline !important;
}

html[data-theme2-contrast="high"] :is(
  .theme2-marketing-button,
  .wp-element-button,
  .wp-block-button__link,
  .single-post .wp-block-post-comments-form .form-submit .wp-element-button
)::before,
html[data-theme2-contrast="high"] :is(
  .theme2-marketing-button,
  .wp-element-button,
  .wp-block-button__link,
  .single-post .wp-block-post-comments-form .form-submit .wp-element-button
)::after {
  content: none !important;
}

html[data-theme2-contrast="high"] .wp-site-blocks .theme2-marketing-trusted__logo-item,
html[data-theme2-contrast="high"] .theme2-marketing-trusted__logo-item {
  background: #ffeb3b !important;
  background-color: #ffeb3b !important;
  border-color: #ffeb3b !important;
  border-radius: 16px !important;
}

html[data-theme2-contrast="high"] .wp-site-blocks .theme2-marketing-trusted__logo-item *,
html[data-theme2-contrast="high"] .theme2-marketing-trusted__logo-item * {
  background: transparent !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .wp-site-blocks .theme2-marketing-email-form-panel,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-email-form-panel {
  background: #0b0b0b !important;
  color: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-email-form-panel :is(
  .theme2-marketing-email-reveal__title,
  .theme2-marketing-email-reveal__label
) {
  color: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-email-form-panel :is(
  .theme2-marketing-email-reveal__intro,
  .theme2-marketing-email-reveal__eyebrow,
  .theme2-marketing-form-panel__editor-note,
  .theme2-marketing-form-panel__editor-label
) {
  color: #cbd5e1 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-email-form-panel .theme2-marketing-email-reveal__card {
  background: #111827 !important;
  border-color: #374151 !important;
  color: #f3f4f6 !important;
  box-shadow: none !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-email-form-panel .theme2-marketing-email-reveal__icon {
  background: #0f172a !important;
  color: #f3f4f6 !important;
  border-color: #374151 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card *:not(img):not(svg):not(path):not(video):not(iframe):not(canvas) {
  background: transparent !important;
  color: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-form-panel,
  .theme2-marketing-email-form-panel
) .theme2-marketing-form-panel__form-card :is(
  .theme2-marketing-button,
  .wpcf7-submit,
  button,
  button[type="submit"],
  input[type="submit"],
  .wp-element-button,
  .wp-block-button__link
),
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 button.wpcf7-submit.theme2-marketing-button {
  background: #f3f4f6 !important;
  background-color: #f3f4f6 !important;
  background-image: none !important;
  color: #0b0b0b !important;
  -webkit-text-fill-color: #0b0b0b !important;
  border-color: #f3f4f6 !important;
  box-shadow: 2px 3px 0 #000000 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] :is(
  .theme2-marketing-form-panel,
  .theme2-marketing-email-form-panel
) .theme2-marketing-form-panel__form-card :is(
  .theme2-marketing-button,
  .wpcf7-submit,
  button,
  button[type="submit"],
  input[type="submit"],
  .wp-element-button,
  .wp-block-button__link
):is(:hover, :focus-visible, :active),
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .wpcf7 button.wpcf7-submit.theme2-marketing-button:is(:hover, :focus-visible, :active) {
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #ffffff !important;
  box-shadow: 1px 2px 0 #000000 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-email-form-panel .theme2-marketing-form-panel__editor-field {
  background: #111827 !important;
  border-color: #374151 !important;
  color: #cbd5e1 !important;
  box-shadow: none !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-email-form-panel .theme2-marketing-form-panel__editor-field--select {
  color: #f3f4f6 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-email-form-panel .theme2-marketing-form-panel__editor-field--select::after {
  border-top-color: #cbd5e1 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] .theme2-marketing-email-form-panel .theme2-marketing-form-panel__editor-button {
  background: #f3f4f6 !important;
  color: #0b0b0b !important;
  border-color: #f3f4f6 !important;
  box-shadow: 2px 3px 0 #000000 !important;
}

html[data-theme2-contrast="high"] .wp-site-blocks .theme2-marketing-email-form-panel,
html[data-theme2-contrast="high"] .theme2-marketing-email-form-panel {
  background: #000000 !important;
  color: #ffeb3b !important;
}

html[data-theme2-contrast="high"] .theme2-marketing-email-form-panel :is(
  .theme2-marketing-email-reveal__title,
  .theme2-marketing-email-reveal__intro,
  .theme2-marketing-email-reveal__eyebrow,
  .theme2-marketing-email-reveal__label,
  .theme2-marketing-form-panel__editor-note,
  .theme2-marketing-form-panel__editor-label
) {
  color: #ffeb3b !important;
}

html[data-theme2-contrast="high"] .theme2-marketing-email-form-panel .theme2-marketing-email-reveal__card {
  background: #000000 !important;
  border-color: #ffeb3b !important;
  color: #ffeb3b !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

html[data-theme2-contrast="high"] .theme2-marketing-email-form-panel .theme2-marketing-email-reveal__card:is(:hover, :focus-visible) {
  border-color: #ffffff !important;
  color: #ffffff !important;
}

html[data-theme2-contrast="high"] .theme2-marketing-email-form-panel .theme2-marketing-email-reveal__icon {
  background: #000000 !important;
  border: 1px solid #ffeb3b !important;
  color: #ffeb3b !important;
}

html[data-theme2-contrast="high"] .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card,
html[data-theme2-contrast="high"] .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card *:not(img):not(svg):not(path):not(video):not(iframe):not(canvas) {
  background: transparent !important;
  color: #ffeb3b !important;
  border-color: #ffeb3b !important;
  box-shadow: none !important;
}

html[data-theme2-contrast="high"] .theme2-marketing-email-form-panel .theme2-marketing-form-panel__editor-field {
  background: #000000 !important;
  border-color: #ffeb3b !important;
  color: #ffeb3b !important;
  box-shadow: none !important;
}

html[data-theme2-contrast="high"] .theme2-marketing-email-form-panel .theme2-marketing-form-panel__editor-field--select::after {
  border-top-color: #ffeb3b !important;
}

html[data-theme2-contrast="high"] .theme2-marketing-email-form-panel .theme2-marketing-form-panel__editor-button {
  background: #000000 !important;
  color: #ffeb3b !important;
  border: 1px solid #ffeb3b !important;
  box-shadow: none !important;
  text-decoration: underline !important;
}

html[data-theme2-contrast="high"] .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card :is(
  .theme2-marketing-button,
  .wpcf7-submit,
  button,
  button[type="submit"],
  input[type="submit"],
  .wp-element-button,
  .wp-block-button__link
) {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
  color: #ffeb3b !important;
  -webkit-text-fill-color: #ffeb3b !important;
  border-color: #ffeb3b !important;
  box-shadow: none !important;
  text-decoration: underline !important;
}

html[data-theme2-contrast="high"] .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card :is(
  .theme2-marketing-button,
  .wpcf7-submit,
  button,
  button[type="submit"],
  input[type="submit"],
  .wp-element-button,
  .wp-block-button__link
):is(:hover, :focus-visible, :active) {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #ffffff !important;
  box-shadow: none !important;
  text-decoration: underline !important;
}

html[data-theme2-contrast="high"] .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card input.wpcf7-submit,
html[data-theme2-contrast="high"] .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card input[type="submit"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
  background-clip: padding-box !important;
  color: #ffeb3b !important;
  -webkit-text-fill-color: #ffeb3b !important;
  border: 1px solid #ffeb3b !important;
  box-shadow: none !important;
  filter: none !important;
  outline: 0 !important;
  opacity: 1 !important;
  text-shadow: none !important;
  text-decoration: underline !important;
}

html[data-theme2-contrast="high"] .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card input.wpcf7-submit:is(:hover, :focus-visible, :active),
html[data-theme2-contrast="high"] .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card input[type="submit"]:is(:hover, :focus-visible, :active) {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #ffffff !important;
  box-shadow: none !important;
  filter: none !important;
  outline: 0 !important;
  opacity: 1 !important;
  text-shadow: none !important;
  text-decoration: underline !important;
}

html[data-theme2-contrast="high"] body .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card form input[type="submit"] {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
}

html[data-theme2-contrast="high"] .theme2-marketing-pricing__cta,
html[data-theme2-contrast="high"] .theme2-marketing-pricing__cta * {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
  color: #ffeb3b !important;
  -webkit-text-fill-color: #ffeb3b !important;
  border-color: #ffeb3b !important;
  box-shadow: none !important;
  filter: none !important;
  text-decoration: underline !important;
}

html[data-theme2-contrast="high"] .theme2-marketing-pricing__cta:is(:hover, :focus-visible, :active),
html[data-theme2-contrast="high"] .theme2-marketing-pricing__cta:is(:hover, :focus-visible, :active) * {
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #ffffff !important;
  box-shadow: none !important;
  transform: none !important;
}

html[data-theme2-contrast="high"] .theme2-marketing-pricing__cta-label {
  animation: none !important;
}

html[data-theme2-contrast="high"] :is(
  .theme2-marketing-form-panel,
  .theme2-marketing-email-form-panel
) .theme2-marketing-form-panel__form-card :is(
  .theme2-marketing-button,
  .wpcf7-submit,
  input.wpcf7-submit,
  input.wpcf7-form-control.wpcf7-submit,
  input.wpcf7-form-control.wpcf7-submit.has-spinner,
  button,
  button[type="submit"],
  button.wp-element-button,
  input[type="submit"],
  input.wp-element-button,
  .wp-element-button,
  .wp-block-button__link
) {
  border: 2px solid #ffeb3b !important;
  transform: none !important;
}

html[data-theme2-contrast="high"] :is(
  .theme2-marketing-form-panel,
  .theme2-marketing-email-form-panel
) .theme2-marketing-form-panel__form-card :is(
  .theme2-marketing-button,
  .wpcf7-submit,
  input.wpcf7-submit,
  input.wpcf7-form-control.wpcf7-submit,
  input.wpcf7-form-control.wpcf7-submit.has-spinner,
  button,
  button[type="submit"],
  button.wp-element-button,
  input[type="submit"],
  input.wp-element-button,
  .wp-element-button,
  .wp-block-button__link
):is(:hover, :focus-visible, :active) {
  border: 2px solid #ffffff !important;
  transform: none !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] {
  --theme2-button-base-bg: #000000;
  --theme2-button-base-text: #ffffff;
  --theme2-button-hover-fill: #f3f4f6;
  --theme2-button-hover-text: #0b0b0b;
  --theme2-button-border: #ffffff;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) :is(
  .theme2-marketing-button,
  .wp-element-button,
  .wp-block-button__link,
  .wpcf7-submit,
  .theme2-back-home-button,
  .theme2-back-home-main-button,
  .theme2-scroll-top-button,
  .theme2-sidebar-widget--search .wp-block-search__button,
  header .theme2-header-search-panel .wp-block-search__button,
  .single-post .wp-block-post-comments-form .form-submit .wp-element-button,
  header .wp-block-navigation__responsive-container-open,
  header .wp-block-navigation__responsive-container-close,
  button[type="submit"],
  input[type="submit"]
) {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #ffffff !important;
  box-shadow: 2px 3px 0 #000000 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) :is(
  .theme2-marketing-button,
  .wp-element-button,
  .wp-block-button__link,
  .wpcf7-submit,
  .theme2-back-home-button,
  .theme2-back-home-main-button,
  .theme2-scroll-top-button,
  .theme2-sidebar-widget--search .wp-block-search__button,
  header .theme2-header-search-panel .wp-block-search__button,
  .single-post .wp-block-post-comments-form .form-submit .wp-element-button,
  header .wp-block-navigation__responsive-container-open,
  header .wp-block-navigation__responsive-container-close,
  button[type="submit"],
  input[type="submit"]
):is(:hover, :focus-visible) {
  background: #f3f4f6 !important;
  background-color: #f3f4f6 !important;
  background-image: none !important;
  color: #0b0b0b !important;
  -webkit-text-fill-color: #0b0b0b !important;
  border-color: #f3f4f6 !important;
  box-shadow: 2px 3px 0 #000000 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) :is(
  .theme2-marketing-button,
  .wp-element-button,
  .wp-block-button__link,
  .wpcf7-submit,
  .theme2-back-home-button,
  .theme2-back-home-main-button,
  .theme2-scroll-top-button,
  .theme2-sidebar-widget--search .wp-block-search__button,
  header .theme2-header-search-panel .wp-block-search__button,
  .single-post .wp-block-post-comments-form .form-submit .wp-element-button,
  header .wp-block-navigation__responsive-container-open,
  header .wp-block-navigation__responsive-container-close,
  button[type="submit"],
  input[type="submit"]
):active {
  background: #f3f4f6 !important;
  background-color: #f3f4f6 !important;
  color: #0b0b0b !important;
  -webkit-text-fill-color: #0b0b0b !important;
  border-color: #f3f4f6 !important;
  box-shadow: 1px 2px 0 #000000 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-pricing__cta,
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-pricing__cta * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-pricing__cta:is(:hover, :focus-visible, :active),
html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-pricing__cta:is(:hover, :focus-visible, :active) * {
  color: #0b0b0b !important;
  -webkit-text-fill-color: #0b0b0b !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card .wpcf7 :is(
  button.wpcf7-submit.theme2-marketing-button,
  input.wpcf7-submit,
  input[type="submit"]
) {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #ffffff !important;
  box-shadow: 2px 3px 0 #000000 !important;
}

html[data-theme2-color-scheme="dark"][data-theme2-contrast="default"] body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel .theme2-marketing-form-panel__form-card .wpcf7 :is(
  button.wpcf7-submit.theme2-marketing-button,
  input.wpcf7-submit,
  input[type="submit"]
):is(:hover, :focus-visible, :active) {
  background: #f3f4f6 !important;
  background-color: #f3f4f6 !important;
  background-image: none !important;
  color: #0b0b0b !important;
  -webkit-text-fill-color: #0b0b0b !important;
  border-color: #f3f4f6 !important;
  box-shadow: 1px 2px 0 #000000 !important;
}

@media (max-width: 900px) {
  .theme2-single-post-layout {
    --wp--style--block-gap: 1.35rem;
  }

  .single-post .theme2-post-meta {
    margin-bottom: 1.1rem !important;
  }

  .theme2-single-post-sidebar {
    border-left: 0;
    border-top: 1px solid #e5e5e5;
    padding-left: 0;
    padding-top: 1.25rem;
    margin-top: 0.75rem;
  }

  .theme2-single-post-comments .wp-block-comment-template .children {
    margin-left: 0.55rem;
    padding-left: 0.65rem;
  }

  .theme2-single-post-comments .comment-respond {
    padding: 0.85rem;
  }
}

@media (max-width: 640px) {
  .theme2-single-post-layout {
    --wp--style--block-gap: 1rem;
  }

  .single-post .theme2-post-meta {
    font-size: 0.8125rem;
  }

  .theme2-single-post-sidebar {
    margin-top: 0.5rem;
    padding-top: 1rem;
  }

  .theme2-single-post-sidebar .wp-block-heading {
    margin-bottom: 0.45rem;
  }

  .theme2-single-post-comments .theme2-comment-header > .wp-block-group {
    flex-wrap: wrap;
    gap: 0.3rem 0.55rem;
  }

  .theme2-single-post-comments .theme2-comment-header .wp-block-comment-date {
    margin-left: 0;
    padding-left: 0;
    width: 100%;
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .single-post .wp-block-post-comments-form .form-submit .wp-element-button {
    transition: none;
  }

  .single-post .wp-block-post-comments-form .form-submit .wp-element-button::before {
    transition: none;
  }

  .single-post .wp-block-post-comments-form .form-submit .wp-element-button:is(:hover, :focus-visible)::before {
    transform: translateX(-220%) rotate(12deg);
  }

  .single-post .wp-block-post-comments-form .form-submit .wp-element-button:active {
    transform: none;
  }
}

/* Last-mile mobile guard: real phones must not render portfolio items as stretched white cards. */
@media (max-width: 782px) {
  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-portfolio-latest__grid {
    align-items: start !important;
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-portfolio-latest__card,
  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-portfolio-latest__card:is(:hover, :focus-within) {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-portfolio-latest__thumb-link {
    display: block !important;
    aspect-ratio: 16 / 10 !important;
    overflow: hidden !important;
    border: 1px solid #d7deea !important;
    border-radius: 18px !important;
    background: #e7edf6 !important;
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-portfolio-latest__image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: inherit !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-portfolio-latest__content {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0.72rem 0.15rem 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-portfolio-latest__title {
    margin: 0 !important;
    font-size: clamp(1.24rem, 6.2vw, 1.52rem) !important;
    line-height: 1.18 !important;
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-portfolio-latest__title-link {
    color: inherit !important;
    text-decoration: none !important;
  }
}

/* Mobile bottom spacing and portfolio archive gutters. */
@media (max-width: 782px) {
  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) {
    --theme2-home-mobile-gutter: 1rem !important;
    --theme2-home-mobile-section-y: clamp(1.75rem, 7vw, 2.45rem);
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .entry-content.wp-block-post-content {
    --theme2-home-mobile-gutter: 1rem !important;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-hero {
    box-sizing: border-box;
    padding-top: var(--theme2-home-mobile-section-y) !important;
    padding-right: var(--theme2-home-mobile-gutter) !important;
    padding-bottom: clamp(1.9rem, 7vw, 2.6rem) !important;
    padding-left: var(--theme2-home-mobile-gutter) !important;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-hero__inner {
    width: 100%;
    max-width: 100%;
    gap: clamp(1.25rem, 6vw, 1.85rem);
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-hero__content,
  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-hero__media {
    max-width: 100%;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-hero__text {
    max-width: none;
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) footer.wp-block-template-part > .wp-block-group.alignfull {
    box-sizing: border-box;
    padding-top: clamp(1.65rem, 7vw, 2.4rem) !important;
    padding-right: clamp(1rem, 5vw, 1.35rem) !important;
    padding-bottom: calc(clamp(2.2rem, 9vw, 3.2rem) + env(safe-area-inset-bottom, 0px)) !important;
    padding-left: clamp(1rem, 5vw, 1.35rem) !important;
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) footer.wp-block-template-part .site-container {
    width: 100%;
    max-width: var(--wp--style--global--content-size, 1440px);
  }

  body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) footer.wp-block-template-part .theme2-footer-copyright {
    line-height: 1.55;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel#contact {
    box-sizing: border-box;
    padding-top: var(--theme2-home-mobile-section-y) !important;
    padding-right: var(--theme2-home-mobile-gutter) !important;
    padding-bottom: calc(clamp(2.2rem, 8vw, 3rem) + env(safe-area-inset-bottom, 0px)) !important;
    padding-left: var(--theme2-home-mobile-gutter) !important;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel#contact .theme2-marketing-email-form-panel__inner {
    width: 100%;
    max-width: 100%;
    gap: clamp(1.15rem, 5vw, 1.65rem);
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel#contact .theme2-marketing-email-form-panel__content,
  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel#contact .theme2-marketing-email-form-panel__form-side {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel#contact .theme2-marketing-form-panel__form-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel#contact .wpcf7 {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-top: clamp(0.85rem, 4vw, 1.25rem);
    padding: 0 !important;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel#contact .wpcf7 form {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-top: 0;
    padding: clamp(1rem, 4.8vw, 1.2rem) !important;
  }

  body:is(.home, .front-page):not(.block-editor-iframe__body):not(.editor-styles-wrapper) .theme2-marketing-email-form-panel#contact .wpcf7 form :is(
    p,
    label,
    .wpcf7-form-control-wrap,
    input,
    textarea,
    select,
    button
  ) {
    box-sizing: border-box;
    max-width: 100%;
  }

  .post-type-archive-portfolio main.wp-block-group.alignfull > .wp-block-group.is-layout-constrained {
    box-sizing: border-box;
    width: 100%;
    padding-right: var(--theme2-mobile-text-gutter, 1rem) !important;
    padding-left: var(--theme2-mobile-text-gutter, 1rem) !important;
  }

  .post-type-archive-portfolio main.wp-block-group.alignfull > .wp-block-group.is-layout-constrained > :is(
    .wp-block-query-title,
    .theme2-portfolio-archive-description,
    .wp-block-query
  ) {
    max-width: 100%;
  }

  .post-type-archive-portfolio main.wp-block-group.alignfull > .wp-block-group.is-layout-constrained > .wp-block-theme2-breadcrumbs,
  .single-portfolio main.wp-block-group.alignfull > .wp-block-group.is-layout-constrained > .wp-block-theme2-breadcrumbs {
    max-width: 100%;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .post-type-archive-portfolio main > .wp-block-group.is-layout-constrained > :is(.wp-block-query-title, .theme2-portfolio-archive-description),
  .post-type-archive-portfolio .wp-block-query-no-results > p,
  .post-type-archive-portfolio .theme2-portfolio-archive-item__content > :is(.wp-block-post-title, .wp-block-post-excerpt) {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .post-type-archive-portfolio .wp-block-post-template,
  .post-type-archive-portfolio .wp-block-post-template > li,
  .post-type-archive-portfolio .theme2-portfolio-archive-item,
  .post-type-archive-portfolio .theme2-portfolio-archive-item__media,
  .post-type-archive-portfolio .theme2-portfolio-archive-thumbnail {
    box-sizing: border-box;
    max-width: 100%;
  }

  .single-portfolio main.wp-block-group.alignfull > .wp-block-group.is-layout-constrained,
  .single-portfolio .entry-content.alignfull.wp-block-post-content.is-layout-constrained {
    box-sizing: border-box;
    width: 100%;
    padding-right: var(--theme2-mobile-text-gutter, 1rem) !important;
    padding-left: var(--theme2-mobile-text-gutter, 1rem) !important;
  }

  .single-portfolio .entry-content .theme2-portfolio-project-layout,
  .single-portfolio .entry-content .theme2-portfolio-project-content,
  .single-portfolio .entry-content .theme2-portfolio-project-sidebar,
  .single-portfolio .entry-content .theme2-portfolio-project-thumbnail-wrap {
    box-sizing: border-box;
    max-width: 100%;
  }

  .single-portfolio main.wp-block-group.alignfull > .wp-block-group.is-layout-constrained > .wp-block-post-title,
  .single-portfolio .entry-content.alignfull.wp-block-post-content.is-layout-constrained > :is(
    p,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    blockquote,
    pre
  ) {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .single-portfolio .entry-content.alignfull.wp-block-post-content.is-layout-constrained > :is(ul, ol) {
    padding-right: 0 !important;
    padding-left: 1.25rem !important;
  }
}
