html {
  background: var(--color-bg);
}

body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-base);
  font-size: var(--text-base);
  line-height: var(--line-height-base);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.site,
.wp-site-blocks {
  min-height: 100vh;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--color-heading);
  font-family: var(--font-heading);
  line-height: var(--line-height-tight);
  font-weight: 700;
}

h1 { font-size: var(--text-4xl); }
h2 { font-size: var(--text-3xl); }
h3 { font-size: var(--text-2xl); }
h4 { font-size: var(--text-xl); }
h5 { font-size: var(--text-lg); }
h6 { font-size: var(--text-md); }

p {
  color: var(--color-text-muted);
}

strong {
  color: var(--color-heading);
}

a {
  transition: color var(--transition-fast), opacity var(--transition-fast);
}

a:hover {
  color: var(--color-primary);
}

input,
textarea,
select {
  width: 100%;
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-text);
  border-radius: var(--radius-md);
  padding: 14px 16px;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}

input::placeholder,
textarea::placeholder {
  color: var(--color-text-muted);
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(110, 231, 183, 0.14);
}

section {
  position: relative;
}

.container,
.is-layout-constrained,
.wp-block-group__inner-container {
  width: min(100% - 32px, var(--container-width));
  margin-inline: auto;
}

.container-wide {
  width: min(100% - 32px, var(--container-wide));
  margin-inline: auto;
}

.container-narrow {
  width: min(100% - 32px, var(--content-width));
  margin-inline: auto;
}

.page-section {
  padding-block: var(--space-11);
}

.page-section-sm {
  padding-block: var(--space-9);
}

.page-section-lg {
  padding-block: var(--space-12);
}

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

.text-muted {
  color: var(--color-text-muted);
}

.surface-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.visually-hidden,
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  margin: -1px;
  clip: rect(0, 0, 0, 0);
  border: 0;
  white-space: nowrap;
}

.has-global-padding {
  padding-inline: 0 !important;
}

main {
  display: block;
}

@media (max-width: 767px) {
  .container,
  .container-wide,
  .container-narrow,
  .is-layout-constrained,
  .wp-block-group__inner-container {
    width: min(100% - 24px, var(--container-width));
  }

  .page-section {
    padding-block: var(--space-10);
  }

  .page-section-sm {
    padding-block: var(--space-8);
  }

  .page-section-lg {
    padding-block: var(--space-11);
  }
}