:root {
  --me-container: 1440px;
  --me-reading: 760px;
  --me-gutter: clamp(1.25rem, 4vw, 4rem);
  --me-section-space: clamp(6rem, 12vw, 12rem);
  --me-section-space-lg: clamp(9rem, 17vw, 17rem);
  --me-header-block: clamp(5.5rem, 8vw, 7.5rem);
  --me-border: color-mix(in srgb, currentColor 18%, transparent);
  --me-border-soft: color-mix(in srgb, currentColor 11%, transparent);
  --me-transition: 220ms cubic-bezier(.2,.65,.3,1);
}

html {
  scroll-behavior: smooth;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  overflow-x: clip;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.admin-bar {
  --me-admin-offset: 32px;
}

* {
  box-sizing: border-box;
}

img,
svg,
video {
  max-width: 100%;
  height: auto;
}

button,
input,
textarea,
select {
  font: inherit;
}

:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 2px solid var(--wp--preset--color--bronze, #A86F4C);
  outline-offset: 4px;
}

::selection {
  background: var(--wp--preset--color--bronze, #A86F4C);
  color: var(--wp--preset--color--soft-white, #F7F6F2);
}

.me-container,
.me-grid-container {
  width: min(calc(100% - (2 * var(--me-gutter))), var(--me-container));
  margin-inline: auto;
}

.me-reading-width {
  width: min(100%, var(--me-reading));
}

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

.me-section--large {
  padding-block: var(--me-section-space-lg);
}

.me-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 2rem);
}

.me-rule {
  border: 0;
  border-top: 1px solid var(--me-border-soft);
  margin: 0;
}

@media (max-width: 782px) {
  body.admin-bar {
    --me-admin-offset: 46px;
  }

  .me-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.me-skip-link {
  position: fixed;
  z-index: 1000;
  left: 1rem;
  top: 1rem;
  transform: translateY(-160%);
  padding: .75rem 1rem;
  background: var(--wp--preset--color--charcoal, #20241F);
  color: var(--wp--preset--color--ivory, #F4F0E7);
  font-size: .8rem;
  text-decoration: none;
  transition: transform var(--me-transition);
}
.me-skip-link:focus { transform: translateY(0); }
