/*
 * Legally Strangers — converted from the ClarityandCalm React design system.
 * Palette: navy / blue-grey / soft neutrals + a single warm accent.
 * Layout: every section uses .container (max-width 82rem).
 */

:root {
  --radius: 0.875rem;
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);

  --background: oklch(0.973 0.009 88);
  --foreground: oklch(0.27 0.018 250);
  --card: oklch(0.988 0.006 88);
  --card-foreground: oklch(0.27 0.018 250);
  --primary: oklch(0.295 0.033 252);
  --primary-foreground: oklch(0.975 0.008 88);
  --secondary: oklch(0.952 0.012 92);
  --muted: oklch(0.952 0.012 92);
  --muted-foreground: oklch(0.475 0.015 250);
  --accent: oklch(0.685 0.095 68);
  --accent-foreground: oklch(0.22 0.02 254);
  --destructive: oklch(0.56 0.18 27);
  --border: oklch(0.902 0.011 88);
  --input: oklch(0.888 0.012 88);
  --ring: oklch(0.62 0.03 251);

  --navy: oklch(0.295 0.033 252);
  --navy-soft: oklch(0.43 0.032 252);
  --steel: oklch(0.655 0.022 250);
  --mist: oklch(0.945 0.014 150);
  --sand: oklch(0.958 0.013 88);
  --cream: oklch(0.973 0.009 88);
  --ink: oklch(0.27 0.018 250);
  --ink-soft: oklch(0.475 0.015 250);

  --font-display: "Newsreader", ui-serif, Georgia, serif;
  --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;

  --shadow-soft: 0 1px 2px oklch(0.295 0.033 252 / 0.04), 0 8px 24px oklch(0.295 0.033 252 / 0.05);
  --shadow-lift: 0 2px 8px oklch(0.295 0.033 252 / 0.06), 0 24px 48px oklch(0.295 0.033 252 / 0.09);
  --shadow-panel: 0 1px 1px oklch(0.295 0.033 252 / 0.03), 0 12px 32px -12px oklch(0.295 0.033 252 / 0.12);
  --ease-calm: cubic-bezier(0.22, 0.61, 0.36, 1);
}

*,
*::before,
*::after {
  box-sizing: border-box;
  border-color: var(--border);
}

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
}

body {
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font-family: var(--font-sans);
  font-size: 1.0625rem;
  line-height: 1.75;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

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

h1, h2, h3, h4 {
  font-family: var(--font-display);
  color: var(--navy);
  font-weight: 400;
  letter-spacing: -0.01em;
  text-wrap: balance;
  margin: 0;
}

p { margin: 0; text-wrap: pretty; }
ul, ol { margin: 0; padding: 0; list-style: none; }

.site {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.site-main { flex: 1; }

/* ---------- Typography ---------- */

.h-display {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(2.25rem, 1.45rem + 2.9vw, 3.75rem);
  line-height: 1.1;
  letter-spacing: -0.018em;
}

.h-section {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem);
  line-height: 1.22;
  letter-spacing: -0.013em;
}

.h-statement {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(1.65rem, 1.15rem + 1.8vw, 2.375rem);
  line-height: 1.28;
  letter-spacing: -0.013em;
  color: var(--navy);
}

.h-card {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 1.0625rem;
  letter-spacing: -0.005em;
  line-height: 1.45;
  color: var(--navy);
}

.eyebrow {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--accent);
  margin: 0;
}

.lede {
  font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.1875rem);
  line-height: 1.75;
  color: var(--ink-soft);
}

.is-light { color: var(--primary-foreground) !important; }
.is-muted-light { color: color-mix(in oklab, var(--primary-foreground) 70%, transparent) !important; }
.text-accent { color: var(--accent) !important; }

.lede.is-light { color: color-mix(in oklab, var(--primary-foreground) 75%, transparent); }

/* ---------- Container (WordPress layout) ---------- */

.container {
  width: 100%;
  max-width: 82rem;
  margin-inline: auto;
  padding-inline: 1.5rem;
}

@media (min-width: 768px) {
  .container { padding-inline: 3rem; }
}

@media (min-width: 1280px) {
  .container { padding-inline: 4.5rem; }
}

/* ---------- Sections ---------- */

.section { padding-block: 3.25rem; }
.section--sm { padding-block: 2.5rem; }
.section--lg { padding-block: 3.75rem; }
.section--base { padding-block: 3.25rem; }

@media (min-width: 768px) {
  .section--base, .section { padding-block: 4.25rem; }
  .section--sm { padding-block: 3rem; }
  .section--lg { padding-block: 5rem; }
}

@media (min-width: 1024px) {
  .section--base, .section { padding-block: 4.75rem; }
  .section--sm { padding-block: 3.5rem; }
  .section--lg { padding-block: 5.75rem; }
}

.section--white { background: var(--card); }
.section--cream { background: var(--cream); }
.section--sand { background: var(--sand); }
.section--mist { background: var(--mist); }
.section--navy { background: var(--navy); color: var(--primary-foreground); }
.section--navy .h-section,
.section--navy .h-card { color: var(--primary-foreground); }

/* ---------- Surfaces ---------- */

.card-soft {
  background: color-mix(in oklab, var(--card) 92%, white);
  border: 1px solid color-mix(in oklab, var(--border) 88%, white);
  border-radius: var(--radius);
  box-shadow: 0 1px 1px oklch(0.295 0.033 252 / 0.02), 0 8px 20px -14px oklch(0.295 0.033 252 / 0.14);
  transition: border-color 0.35s var(--ease-calm), box-shadow 0.35s var(--ease-calm), transform 0.35s var(--ease-calm);
}

.card-soft:hover {
  border-color: color-mix(in oklab, var(--accent) 35%, var(--border));
  box-shadow: var(--shadow-panel);
}

.surface-panel {
  background: color-mix(in oklab, var(--card) 92%, white);
  border: 1px solid color-mix(in oklab, var(--border) 88%, white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-panel);
}

.surface-quiet {
  background: color-mix(in oklab, var(--card) 70%, transparent);
  border: 1px solid color-mix(in oklab, var(--border) 75%, transparent);
  border-radius: var(--radius);
}

.surface-glass {
  background: color-mix(in oklab, var(--card) 78%, transparent);
  border: 1px solid color-mix(in oklab, white 45%, var(--border));
  border-radius: var(--radius);
  backdrop-filter: blur(12px) saturate(115%);
  box-shadow: 0 1px 1px oklch(0.295 0.033 252 / 0.02), 0 10px 26px -16px oklch(0.295 0.033 252 / 0.14);
}

.surface-dark {
  background: var(--navy);
  border: 1px solid oklch(1 0 0 / 0.08);
  border-radius: var(--radius);
  box-shadow: 0 2px 6px oklch(0.295 0.033 252 / 0.05), 0 24px 48px -24px oklch(0.295 0.033 252 / 0.28);
  color: var(--primary-foreground);
}

.image-frame {
  border-radius: calc(var(--radius) - 0.25rem);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  object-fit: cover;
}

.image-rounded {
  width: 100%;
  border-radius: 0.75rem;
  object-fit: cover;
  box-shadow: var(--shadow-soft);
}

.img-portrait { aspect-ratio: 4 / 5; width: 100%; object-fit: cover; }
.img-landscape { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; }
.img-top { object-position: top; }

.accent-line::before {
  content: "";
  display: block;
  width: 1.75rem;
  height: 1px;
  background: var(--accent);
  margin-bottom: 1.5rem;
}

.prose-site { max-width: 46rem; }
.prose-site p {
  margin-block: 1.15rem;
  color: var(--ink-soft);
}
.prose-site h2 {
  font-size: 1.75rem;
  line-height: 1.3;
  margin-top: 2.75rem;
  margin-bottom: 0.75rem;
}
.prose-site h3 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 2rem;
  margin-bottom: 0.5rem;
}
.prose-site a {
  color: var(--navy-soft);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---------- Buttons ---------- */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 999px;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  border: 0;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.3s var(--ease-calm);
}

.btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--cream), 0 0 0 4px var(--ring);
}

.btn--primary {
  background: var(--accent);
  color: var(--accent-foreground);
  padding: 0.875rem 1.75rem;
  box-shadow: var(--shadow-soft);
}
.btn--primary:hover { filter: brightness(1.04); box-shadow: var(--shadow-lift); }

.btn--navy {
  background: var(--navy);
  color: var(--primary-foreground);
  padding: 0.875rem 1.75rem;
  box-shadow: var(--shadow-soft);
}
.btn--navy:hover { background: var(--navy-soft); box-shadow: var(--shadow-lift); }

.btn--outline {
  border: 1px solid color-mix(in oklab, var(--navy) 20%, transparent);
  background: color-mix(in oklab, var(--card) 60%, transparent);
  color: var(--navy);
  padding: 0.875rem 1.75rem;
  backdrop-filter: blur(4px);
}
.btn--outline:hover {
  border-color: var(--accent);
  background: var(--card);
  color: var(--accent);
}

.btn--ghost-light {
  border: 1px solid color-mix(in oklab, var(--primary-foreground) 25%, transparent);
  background: transparent;
  color: var(--primary-foreground);
  padding: 0.875rem 1.75rem;
}
.btn--ghost-light:hover { background: color-mix(in oklab, var(--primary-foreground) 10%, transparent); }

.btn--header {
  height: 2.5rem;
  padding: 0 1rem;
  border-radius: 0.375rem;
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  box-shadow: 0 1px 0 oklch(1 0 0 / 0.1) inset, 0 8px 24px -12px oklch(0.295 0.033 252 / 0.45);
}

.btn--full { width: 100%; }
.btn-row { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1.75rem; }
.btn-row--center { justify-content: center; }
.mt-5 { margin-top: 1.25rem; }
.mt-7 { margin-top: 1.75rem; }
.mt-8 { margin-top: 2rem; }
.mt-6 { margin-top: 1.5rem; }

/* ---------- Icons ---------- */

.ls-icon { width: 1.125rem; height: 1.125rem; flex-shrink: 0; display: block; }
.ls-icon--xs { width: 0.875rem; height: 0.875rem; }
.ls-icon--sm { width: 1rem; height: 1rem; }
.ls-icon--lg { width: 2rem; height: 2rem; }
.ls-icon--accent { color: var(--accent); }

/* ---------- Header ---------- */

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
}

.site-header__bar {
  border-bottom: 1px solid transparent;
  background: linear-gradient(to bottom, color-mix(in oklab, var(--cream) 95%, transparent), color-mix(in oklab, var(--cream) 80%, transparent) 55%, color-mix(in oklab, var(--cream) 55%, transparent));
  backdrop-filter: blur(12px);
  transition: background-color 0.5s var(--ease-calm), border-color 0.5s var(--ease-calm), box-shadow 0.5s var(--ease-calm);
}

.site-header.is-scrolled .site-header__bar,
.site-header.is-open .site-header__bar {
  border-bottom-color: color-mix(in oklab, var(--border) 90%, transparent);
  background: color-mix(in oklab, var(--cream) 92%, transparent);
  box-shadow: 0 1px 0 oklch(0.295 0.033 252 / 0.03), 0 12px 40px -28px oklch(0.295 0.033 252 / 0.35);
  backdrop-filter: blur(20px);
}

.site-header .container {
  padding-inline: 1.5rem;
}

@media (min-width: 768px) {
  .site-header .container { padding-inline: 2.5rem; }
}

@media (min-width: 1280px) {
  .site-header .container { padding-inline: 2.5rem; }
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  height: 4.25rem;
}

@media (min-width: 768px) {
  .site-header__inner { height: 4.75rem; }
}

.logo { display: flex; align-items: center; gap: 0.875rem; flex-shrink: 0; }
.logo__mark {
  position: relative;
  display: flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 0.375rem;
  background: var(--navy);
  color: var(--primary-foreground);
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.12);
  transition: transform 0.5s var(--ease-calm);
}
.logo__mark::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: 2px;
  background: var(--accent);
}
.logo:hover .logo__mark { transform: scale(1.03); }
.logo__text { display: flex; flex-direction: column; line-height: 1; }
.logo__name { font-family: var(--font-display); font-size: 1.125rem; font-weight: 500; letter-spacing: -0.02em; color: var(--navy); }
.logo__tag {
  display: none;
  margin-top: 0.25rem;
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--steel);
}
@media (min-width: 640px) { .logo__tag { display: block; } }

.nav-desktop { display: none; align-items: center; }
.nav-desktop__link {
  position: relative;
  white-space: nowrap;
  border-radius: 0.375rem;
  padding: 0.5rem 0.55rem;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--ink-soft);
  transition: color 0.3s, background 0.3s;
}
.nav-desktop__link::after {
  content: "";
  position: absolute;
  inset-inline: 0.75rem;
  bottom: 0.25rem;
  height: 2px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s var(--ease-calm);
}
.nav-desktop__link:hover,
.nav-desktop__link.is-active {
  color: var(--navy);
  background: color-mix(in oklab, var(--navy) 4%, transparent);
}
.nav-desktop__link:hover::after,
.nav-desktop__link.is-active::after { transform: scaleX(1); }

.site-header__cta { display: none; flex-shrink: 0; }

.nav-toggle {
  display: flex;
  width: 2.75rem;
  height: 2.75rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  border: 1px solid color-mix(in oklab, var(--border) 80%, transparent);
  background: color-mix(in oklab, var(--card) 80%, transparent);
  color: var(--navy);
  cursor: pointer;
}

@media (min-width: 1100px) {
  .nav-desktop { display: flex; }
  .site-header__cta { display: flex; }
  .nav-toggle { display: none; }
}
.nav-toggle__close { display: none; }
.site-header.is-open .nav-toggle__open { display: none; }
.site-header.is-open .nav-toggle__close { display: block; }

.nav-mobile {
  overflow: hidden;
  border-top: 1px solid color-mix(in oklab, var(--border) 70%, transparent);
}
.nav-mobile[hidden] { display: none; }
.nav-mobile__list { display: flex; flex-direction: column; padding-top: 0.5rem; padding-bottom: 1.5rem; }
.nav-mobile__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid color-mix(in oklab, var(--border) 50%, transparent);
  padding-block: 0.875rem;
  font-size: 1.0625rem;
  font-weight: 500;
  color: var(--ink-soft);
}
.nav-mobile__link.is-active { color: var(--navy); }

/* ---------- Footer ---------- */

.site-footer {
  border-top: 1px solid var(--border);
  background: var(--navy);
  color: var(--primary-foreground);
}

.site-footer__grid {
  display: grid;
  gap: 2.75rem;
  padding-block: 3.5rem;
}

@media (min-width: 768px) {
  .site-footer__grid {
    grid-template-columns: repeat(12, 1fr);
    gap: 2.5rem;
    padding-block: 4rem;
  }
  .site-footer__brand { grid-column: span 5; }
  .site-footer__pages { grid-column: span 4; }
  .site-footer__legal { grid-column: span 3; }
}

.site-footer__logo {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-family: var(--font-display);
  font-size: 1.125rem;
  font-weight: 600;
}
.site-footer__mark {
  display: flex;
  width: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  border: 1px solid color-mix(in oklab, var(--primary-foreground) 25%, transparent);
  font-family: var(--font-display);
  font-size: 0.875rem;
  font-weight: 600;
}
.site-footer__brand p {
  margin-top: 1.25rem;
  max-width: 24rem;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: color-mix(in oklab, var(--primary-foreground) 70%, transparent);
}
.site-footer__contact { margin-top: 1.5rem; display: flex; flex-direction: column; gap: 0.75rem; }
.site-footer__contact li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.9375rem;
  color: color-mix(in oklab, var(--primary-foreground) 75%, transparent);
}
.site-footer h2 {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--primary-foreground) 55%, transparent);
}
.site-footer__pages ul { margin-top: 1.25rem; display: grid; gap: 0.75rem; }
@media (min-width: 640px) { .site-footer__pages ul { grid-template-columns: 1fr 1fr; } }
.site-footer__legal ul { margin-top: 1.25rem; display: flex; flex-direction: column; gap: 0.75rem; }
.site-footer a {
  font-size: 0.9375rem;
  color: color-mix(in oklab, var(--primary-foreground) 80%, transparent);
  transition: color 0.2s;
}
.site-footer a:hover { color: var(--accent); }
.site-footer__bar { border-top: 1px solid color-mix(in oklab, var(--primary-foreground) 12%, transparent); }
.site-footer__bar-inner {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-block: 1.5rem;
  font-size: 0.8125rem;
  color: color-mix(in oklab, var(--primary-foreground) 55%, transparent);
}
@media (min-width: 640px) {
  .site-footer__bar-inner { flex-direction: row; align-items: center; justify-content: space-between; }
}

/* ---------- Breadcrumbs ---------- */

.breadcrumbs { margin-bottom: 2rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.8125rem; color: var(--ink-soft); }
.breadcrumbs a:hover { color: var(--navy); }
.breadcrumbs__current { font-weight: 500; color: var(--navy); }
.breadcrumbs--light a,
.breadcrumbs--light .breadcrumbs__current { color: color-mix(in oklab, var(--primary-foreground) 70%, transparent); }
.breadcrumbs--light .breadcrumbs__current { color: var(--primary-foreground); font-weight: 500; }

/* ---------- Heroes ---------- */

.home-hero {
  position: relative;
  overflow: hidden;
  background: var(--cream);
}
.home-hero .container { padding-top: 2.5rem; padding-bottom: 3rem; }
@media (min-width: 768px) {
  .home-hero .container { padding-top: 3.5rem; padding-bottom: 4rem; }
}
.home-hero__grid {
  display: grid;
  gap: 2.25rem;
}
@media (min-width: 1024px) {
  .home-hero__grid { grid-template-columns: repeat(12, 1fr); align-items: center; gap: 2.5rem; }
  .home-hero__copy { grid-column: span 7; }
  .home-hero__media { grid-column: span 5; }
}
.home-hero .h-display { margin-top: 1rem; max-width: 34rem; font-size: 36px; }
.home-hero .lede { margin-top: 1.25rem; max-width: 31rem; }
.home-hero__img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
@media (min-width: 640px) { .home-hero__img { aspect-ratio: 3 / 2; } }
@media (min-width: 1024px) { .home-hero__img { aspect-ratio: 4 / 5; } }

.facts-bar {
  margin-top: 2.25rem;
  display: grid;
  gap: 1.75rem;
  padding: 1.75rem;
}
@media (min-width: 640px) { .facts-bar { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 768px) {
  .facts-bar { margin-top: 2.5rem; gap: 2.25rem; padding: 2rem 2.25rem; }
}
.facts-bar dt {
  font-family: var(--font-display);
  font-size: 1.5rem;
  line-height: 1.2;
  color: var(--navy);
}
.facts-bar dd {
  margin-top: 0.5rem;
  max-width: 18rem;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--ink-soft);
}

.page-hero { border-bottom: 1px solid var(--border); }
.page-hero--mist { background: var(--mist); }
.page-hero--sand { background: var(--sand); }
.page-hero--navy { background: var(--navy); color: var(--primary-foreground); }
.page-hero .container { padding-block: 3.5rem; }
@media (min-width: 768px) { .page-hero .container { padding-block: 5rem; } }
.page-hero__grid { display: grid; gap: 3rem; }
.page-hero__copy--wide { max-width: 48rem; }
.page-hero .h-display { margin-top: 1.25rem; }
.page-hero .lede { margin-top: 1.5rem; max-width: 42rem; }
@media (min-width: 1024px) {
  .page-hero__grid--split { grid-template-columns: repeat(12, 1fr); align-items: center; }
  .page-hero__grid--split .page-hero__copy { grid-column: span 7; }
  .page-hero__grid--split .page-hero__media { grid-column: span 5; }
}
.page-hero__media img {
  width: 100%;
  border-radius: 0.75rem;
  object-fit: cover;
  box-shadow: var(--shadow-soft);
}

.section-heading { max-width: 46rem; }
.section-heading--center { margin-inline: auto; text-align: center; }
.section-heading .h-section { margin-top: 0.75rem; }
.section-heading .lede { margin-top: 1rem; max-width: 40rem; }

/* ---------- Split / editorial ---------- */

.split {
  display: grid;
  gap: 2rem;
  align-items: center;
}
@media (min-width: 1024px) {
  .split { grid-template-columns: repeat(12, 1fr); gap: 3.5rem; }
  .split__text { grid-column: span 6; order: 1; }
  .split__media { grid-column: span 6; order: 2; }
  .split--image-left .split__text { order: 2; }
  .split--image-left .split__media { order: 1; }
  .split--wide-image .split__text { grid-column: span 5; }
  .split--wide-image .split__media { grid-column: span 7; }
}
.split__title { margin-top: 0.75rem; max-width: 26rem; }
.split__p { margin-top: 1rem; max-width: 33rem; color: var(--ink-soft); }
.split__img { width: 100%; object-fit: cover; }
.split__img--landscape { aspect-ratio: 4 / 3; }
.split__img--portrait { aspect-ratio: 4 / 5; }

.editorial {
  display: grid;
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  .editorial { grid-template-columns: repeat(12, 1fr); gap: 2.5rem; }
  .editorial__title { grid-column: span 5; padding-top: 1.25rem; }
  .editorial__body { grid-column: span 7; }
}
.editorial__title .h-section { margin-top: 0.75rem; max-width: 22rem; }
.editorial__body > p:first-child { margin-top: 0; }

.bullet-list { margin-top: 1.25rem; max-width: 33rem; display: flex; flex-direction: column; gap: 0.625rem; }
.bullet-list li {
  display: flex;
  gap: 0.625rem;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--ink-soft);
}
.bullet-list__mark {
  width: 0.5rem;
  flex-shrink: 0;
  font-size: 1.0625rem;
  line-height: 1.45;
  color: var(--accent);
}

/* ---------- Shock ---------- */

.shock-a, .shock-c {
  display: grid;
  gap: 2rem;
  align-items: center;
}
@media (min-width: 1024px) {
  .shock-a { grid-template-columns: repeat(12, 1fr); gap: 2.75rem; }
  .shock-a__media { grid-column: span 5; }
  .shock-a__copy { grid-column: 7 / span 6; }
  .shock-c { grid-template-columns: repeat(12, 1fr); gap: 4rem; }
  .shock-c__quote { grid-column: span 7; }
  .shock-c > div:last-child { grid-column: span 5; }
}
.shock-a .h-statement { margin-top: 1rem; max-width: 30rem; }
.shock-a__support { margin-top: 1.25rem; max-width: 32rem; color: var(--ink-soft); }

.shock-b { background: var(--cream); padding-block: 1rem; }
@media (min-width: 768px) { .shock-b { padding-block: 1.75rem; } }
.shock-b__panel { color: var(--primary-foreground); }
.shock-b__grid {
  display: grid;
  gap: 2rem;
  padding: 2.5rem 1.5rem;
}
@media (min-width: 768px) {
  .shock-b__grid { gap: 2.5rem; padding: 3rem 2.75rem; }
}
@media (min-width: 1024px) {
  .shock-b__grid { grid-template-columns: repeat(12, 1fr); gap: 2.75rem; align-items: center; }
  .shock-b__grid > div:first-child { grid-column: span 4; }
  .shock-b__copy { grid-column: 6 / span 7; padding-left: 0.5rem; }
}
.shock-b .h-statement { margin-top: 1rem; max-width: 32rem; }
.shock-b__support {
  margin-top: 1.25rem;
  max-width: 32rem;
  color: color-mix(in oklab, var(--primary-foreground) 70%, transparent);
}

.shock-c blockquote {
  margin: 1.5rem 0 0;
  font-family: var(--font-display);
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--navy);
}
@media (min-width: 768px) { .shock-c blockquote { font-size: 2rem; } }
.shock-c__attr {
  margin-top: 1.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--navy-soft);
}
.shock-c__support { margin-top: 1.5rem; max-width: 42rem; color: var(--ink-soft); }

/* ---------- Cards / trust / related / CTA ---------- */

.cards-grid {
  margin-top: 1.75rem;
  display: grid;
  gap: 1rem;
}
@media (min-width: 640px) { .cards-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) {
  .cards-grid--4 { grid-template-columns: repeat(4, 1fr); }
  .cards-grid--3 { grid-template-columns: repeat(3, 1fr); }
}
.card-feature { padding: 1.5rem; }
@media (min-width: 768px) { .card-feature { padding: 1.75rem; } }
.card-feature .h-card { margin-top: 1rem; }
.card-feature p {
  margin-top: 0.625rem;
  font-size: 0.9875rem;
  line-height: 1.7;
  color: var(--ink-soft);
}

.trust {
  display: grid;
  gap: 2.25rem;
}
@media (min-width: 1024px) {
  .trust { grid-template-columns: repeat(12, 1fr); align-items: center; gap: 2.75rem; }
  .trust__copy { grid-column: span 5; }
  .trust__stats { grid-column: 7 / span 6; }
}
.trust__copy .h-section { margin-top: 0.75rem; }
.trust__copy .lede { margin-top: 1rem; max-width: 30rem; }
.trust__stats { padding: 0.5rem 1.5rem; }
@media (min-width: 768px) { .trust__stats { padding: 0.75rem 2rem; } }
.trust__stats > div {
  display: grid;
  gap: 0.5rem;
  padding-block: 1.25rem;
  border-top: 1px solid color-mix(in oklab, var(--border) 70%, transparent);
}
.trust__stats > div:first-child { border-top: 0; }
@media (min-width: 640px) {
  .trust__stats > div { grid-template-columns: 4.75rem minmax(0, 1fr); align-items: baseline; gap: 1.25rem; }
}
.trust__stats dt {
  font-family: var(--font-display);
  font-size: 1.875rem;
  line-height: 1;
  color: var(--navy);
}
.trust__stats dd { font-size: 0.9875rem; line-height: 1.7; color: var(--ink-soft); }

.related {
  margin-top: 1.5rem;
  display: grid;
  gap: 1rem;
}
@media (min-width: 768px) { .related { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; } }
.related__item { display: block; padding: 1.5rem; }
@media (min-width: 768px) { .related__item { padding: 1.75rem; } }
.related--glass .related__item {
  background: color-mix(in oklab, var(--card) 78%, transparent);
  border: 1px solid color-mix(in oklab, white 45%, var(--border));
  border-radius: var(--radius);
  backdrop-filter: blur(12px);
  transition: transform 0.3s, border-color 0.3s, box-shadow 0.3s;
}
.related--glass .related__item:hover {
  transform: translateY(-2px);
  border-color: color-mix(in oklab, var(--accent) 40%, var(--border));
  box-shadow: var(--shadow-lift);
}
.related__item p {
  margin-top: 0.625rem;
  font-size: 0.9875rem;
  line-height: 1.7;
  color: var(--ink-soft);
}
.related__more {
  margin-top: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--navy-soft);
}
.related__item:hover .h-card { color: var(--navy-soft); }
.related__item:hover .ls-icon { transform: translateX(4px); }
.related .ls-icon { transition: transform 0.3s; }

.final-cta { text-align: center; padding: 2.75rem 1.75rem; }
@media (min-width: 768px) { .final-cta { padding: 3.5rem 3rem; } }
.final-cta--emphasis { padding: 3rem 1.5rem; }
@media (min-width: 768px) { .final-cta--emphasis { padding: 4rem 3.5rem; } }
.final-cta__inner { margin-inline: auto; max-width: 46rem; display: flex; flex-direction: column; align-items: center; }
.final-cta--emphasis .final-cta__inner { max-width: 40rem; }
.final-cta .h-section,
.final-cta .h-statement { margin-top: 0.75rem; }
.final-cta p { margin-top: 1rem; max-width: 34rem; color: var(--ink-soft); }
.final-cta .surface-dark p,
.final-cta.surface-dark p { color: color-mix(in oklab, var(--primary-foreground) 70%, transparent); }
.final-cta .btn-row { margin-top: 2rem; }

.statement-band {
  margin-inline: auto;
  max-width: 46rem;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--card);
  padding: 2.75rem 2rem;
  text-align: center;
}
@media (min-width: 768px) { .statement-band { padding: 3.5rem 3.5rem; } }
.statement-band .h-statement { max-width: 38rem; margin-inline: auto; }
.statement-band p + p { margin-top: 1.25rem; max-width: 34rem; margin-inline: auto; color: var(--ink-soft); }
.statement-band--on-navy { border-color: color-mix(in oklab, var(--primary-foreground) 10%, transparent); }

/* ---------- Home extras ---------- */

.guide-panel { padding: 2.25rem 1.75rem; }
@media (min-width: 768px) { .guide-panel { padding: 2.5rem 2rem; } }
.guide-panel ul { margin-top: 1.25rem; }
.guide-panel li {
  padding-block: 1rem;
  border-top: 1px solid color-mix(in oklab, var(--border) 70%, transparent);
  font-size: 0.9875rem;
  color: var(--ink-soft);
}
.guide-panel li:first-child { border-top: 0; }

.two-col {
  display: grid;
  gap: 2.25rem;
}
@media (min-width: 1024px) {
  .two-col { grid-template-columns: repeat(12, 1fr); align-items: center; gap: 2.75rem; }
  .two-col__main { grid-column: span 7; }
  .two-col__side { grid-column: 9 / span 4; }
}

/* ---------- Page-specific: services / faqs / myth / property / contact ---------- */

.toolkit {
  display: grid;
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  .toolkit { grid-template-columns: repeat(12, 1fr); gap: 3.5rem; }
  .toolkit__title { grid-column: span 5; }
  .toolkit__body { grid-column: span 7; padding-top: 0.5rem; }
}
.toolkit .h-section { margin-top: 0.75rem; max-width: 20rem; }
.toolkit .lede { max-width: 36rem; }
.toolkit__body p { margin-top: 1rem; max-width: 36rem; color: var(--ink-soft); }

.instruments-head {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media (min-width: 1024px) {
  .instruments-head { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 3.5rem; }
}
.instruments-head .h-section { margin-top: 0.75rem; max-width: 26rem; }
.instruments-head p { max-width: 24rem; font-size: 0.9375rem; line-height: 1.7; color: var(--ink-soft); }

.instruments {
  margin-top: 2.5rem;
  display: grid;
  border-top: 1px solid color-mix(in oklab, var(--navy) 12%, transparent);
}
@media (min-width: 640px) { .instruments { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .instruments { grid-template-columns: repeat(4, 1fr); } }
.instruments article {
  border-bottom: 1px solid color-mix(in oklab, var(--navy) 12%, transparent);
  padding-block: 1.5rem;
}
@media (min-width: 640px) {
  .instruments article { border-bottom: 0; padding-right: 2rem; }
}
@media (min-width: 1024px) {
  .instruments article {
    border-right: 1px solid color-mix(in oklab, var(--navy) 12%, transparent);
    padding-left: 2rem;
  }
  .instruments article:first-child { padding-left: 0; }
  .instruments article:last-child { border-right: 0; padding-right: 0; }
}
.instruments .num {
  font-family: var(--font-display);
  font-size: 1.375rem;
  line-height: 1;
  color: var(--accent);
}
.instruments .h-card { margin-top: 1rem; }
.instruments p {
  margin-top: 0.625rem;
  max-width: 22rem;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--ink-soft);
}

.feature-split {
  display: grid;
  gap: 2.25rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .feature-split { grid-template-columns: repeat(12, 1fr); gap: 3.5rem; align-items: center; }
  .feature-split__copy { grid-column: span 7; }
  .feature-split__media { grid-column: span 5; }
  .feature-split--media-left .feature-split__media { grid-column: span 5; }
  .feature-split--media-left .feature-split__copy { grid-column: 7 / span 6; }
  .feature-split--copy-6 .feature-split__copy { grid-column: span 6; }
  .feature-split--copy-6 .feature-split__side,
  .feature-split--copy-6 .feature-split__media { grid-column: 8 / span 5; }
}
.feature-split .h-section { margin-top: 0.75rem; }
.feature-split .lede { margin-top: 1rem; max-width: 30rem; }
.divide-list { margin-top: 1.75rem; }
.divide-list > div { padding-block: 1.25rem; border-top: 1px solid var(--border); }
.divide-list > div:first-child { padding-top: 0; border-top: 0; }
.divide-list .stage {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--navy-soft) 70%, transparent);
}
.divide-list p { margin-top: 0.625rem; max-width: 36rem; color: var(--ink-soft); }

.stat-box { padding: 1.5rem 1.75rem; }
.stat-box dl { margin-top: 1.25rem; display: grid; gap: 1.25rem; }
@media (min-width: 640px) { .stat-box dl { grid-template-columns: 1fr 1fr; gap: 1.25rem 2rem; } }
.stat-box dl > div { border-top: 1px solid color-mix(in oklab, var(--border) 70%, transparent); padding-top: 1rem; }
.stat-box dt {
  font-family: var(--font-display);
  font-size: 1.5rem;
  line-height: 1;
  color: var(--navy);
}
.stat-box dd { margin-top: 0.5rem; font-size: 0.875rem; line-height: 1.6; color: var(--ink-soft); }

.steps-grid {
  margin-top: 2.25rem;
  display: grid;
  gap: 1rem;
}
@media (min-width: 768px) { .steps-grid { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; } }
.step-card {
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--cream);
  padding: 1.5rem 1.75rem;
}
.step-card .num {
  font-family: var(--font-display);
  font-size: 1.25rem;
  line-height: 1;
  color: var(--accent);
}
.step-card .h-card { margin-top: 0.875rem; }
.step-card p { margin-top: 0.625rem; font-size: 0.9375rem; line-height: 1.7; color: var(--ink-soft); }

.faq-layout {
  display: grid;
  gap: 2.25rem;
}
@media (min-width: 1024px) {
  .faq-layout { grid-template-columns: repeat(12, 1fr); gap: 4rem; }
  .faq-layout__intro { grid-column: span 4; }
  .faq-layout__list { grid-column: 6 / span 7; }
}
.faq-layout .h-section { margin-top: 0.75rem; max-width: 18rem; }
.faq-layout__intro .lede,
.faq-layout__intro p { margin-top: 1.25rem; max-width: 24rem; color: var(--ink-soft); }
.faq-list { display: flex; flex-direction: column; gap: 2.25rem; }
.faq-list dt { font-size: 1.0625rem; font-weight: 600; line-height: 1.5; color: var(--navy); }
.faq-list dd { margin-top: 0.625rem; max-width: 36rem; font-size: 0.9875rem; line-height: 1.75; color: var(--ink-soft); }

.myth-hero { border-bottom: 1px solid var(--border); background: var(--navy); color: var(--primary-foreground); }
.myth-hero .container { padding-block: 3rem; }
@media (min-width: 768px) { .myth-hero .container { padding-block: 4rem; } }
.myth-hero__grid {
  display: grid;
  gap: 2.5rem;
}
@media (min-width: 1024px) {
  .myth-hero__grid { grid-template-columns: repeat(12, 1fr); align-items: center; gap: 3.5rem; }
  .myth-hero__copy { grid-column: span 7; }
  .myth-hero__media { grid-column: span 5; }
}
.myth-hero .h-display { margin-top: 1rem; max-width: 36rem; color: var(--primary-foreground); }
.myth-hero .lede { margin-top: 1.25rem; max-width: 36rem; color: color-mix(in oklab, var(--primary-foreground) 75%, transparent); }
.myth-chain {
  margin-top: 2.5rem;
  display: grid;
  gap: 1rem;
}
@media (min-width: 768px) { .myth-chain { margin-top: 3rem; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; } }
.myth-chain li {
  border-radius: var(--radius);
  border: 1px solid color-mix(in oklab, var(--primary-foreground) 12%, transparent);
  background: var(--navy);
  padding: 1.5rem;
  transition: border-color 0.3s;
}
.myth-chain li:hover { border-color: color-mix(in oklab, var(--accent) 40%, transparent); }
.myth-chain p { margin-top: 0.75rem; font-size: 0.9375rem; line-height: 1.7; color: color-mix(in oklab, var(--accent) 90%, white); }

.myth-ledger { margin-top: 2.75rem; border-top: 1px solid color-mix(in oklab, var(--border) 70%, transparent); }
.myth-row {
  display: grid;
  gap: 1.5rem;
  padding-block: 2rem;
  border-bottom: 1px solid color-mix(in oklab, var(--border) 70%, transparent);
}
@media (min-width: 1024px) {
  .myth-row { grid-template-columns: repeat(12, 1fr); gap: 3.5rem; }
  .myth-row dt { grid-column: span 5; }
  .myth-row dd { grid-column: span 7; border-left: 1px solid color-mix(in oklab, var(--border) 70%, transparent); padding-left: 2.5rem; }
}
.myth-row__label { display: flex; align-items: baseline; gap: 0.75rem; }
.myth-row__num {
  font-size: 1.125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: color-mix(in oklab, var(--navy) 45%, transparent);
}
.myth-row__kicker { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.16em; color: var(--navy); }
.myth-row dt p {
  margin-top: 0.75rem;
  font-family: var(--font-display);
  font-size: 1.3125rem;
  font-style: italic;
  line-height: 1.35;
  color: color-mix(in oklab, var(--navy) 85%, transparent);
}
.myth-row dd p { margin-top: 0.75rem; color: var(--ink-soft); }

.ownership {
  margin-top: 2.75rem;
  display: grid;
  border-top: 1px solid color-mix(in oklab, var(--navy) 12%, transparent);
}
@media (min-width: 768px) { .ownership { grid-template-columns: 1fr 1fr; } }
.ownership article { padding-block: 1.75rem; }
@media (min-width: 768px) {
  .ownership article:first-child {
    border-right: 1px solid color-mix(in oklab, var(--navy) 12%, transparent);
    padding-right: 2.5rem;
  }
  .ownership article:last-child { padding-left: 2.5rem; }
}
@media (min-width: 1024px) {
  .ownership article:first-child { padding-right: 3.5rem; }
  .ownership article:last-child { padding-left: 3.5rem; }
}
.ownership .stage {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--navy-soft) 70%, transparent);
}
.ownership .h-card { margin-top: 0.75rem; }
.ownership p { margin-top: 0.875rem; max-width: 34rem; font-size: 0.9875rem; line-height: 1.7; color: var(--ink-soft); }

.contact-grid {
  display: grid;
  gap: 3.5rem;
}
@media (min-width: 1024px) {
  .contact-grid { grid-template-columns: repeat(12, 1fr); gap: 4rem; }
  .contact-grid__details { grid-column: span 5; }
  .contact-grid__form { grid-column: span 7; }
}
.contact-details { margin-top: 2.5rem; display: flex; flex-direction: column; gap: 1.75rem; }
.contact-details > div { display: flex; gap: 1rem; }
.contact-details__icon {
  margin-top: 0.125rem;
  display: flex;
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  background: var(--mist);
  color: var(--navy-soft);
}
.contact-details dt {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--steel);
}
.contact-details dd { margin-top: 0.25rem; color: var(--ink); }

.form-card { padding: 2rem; }
@media (min-width: 768px) { .form-card { padding: 2.5rem; } }
.form-card .h-card { margin: 0; }
.form-card > p { margin-top: 0.5rem; font-size: 0.9375rem; color: var(--ink-soft); }
.form-grid {
  margin-top: 2rem;
  display: grid;
  gap: 1.5rem;
}
@media (min-width: 640px) { .form-grid { grid-template-columns: 1fr 1fr; } }
.form-field { display: flex; flex-direction: column; }
.form-field--full { grid-column: 1 / -1; }
.form-field label { font-size: 0.875rem; font-weight: 500; color: var(--navy); }
.form-field input,
.form-field select,
.form-field textarea {
  margin-top: 0.5rem;
  width: 100%;
  border-radius: 0.375rem;
  border: 1px solid var(--input);
  background: var(--card);
  padding: 0.75rem 1rem;
  font-size: 0.9375rem;
  color: var(--ink);
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color: var(--navy-soft);
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--ring) 30%, transparent);
}
.form-privacy {
  margin-top: 1.5rem;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  border-radius: 0.375rem;
  background: var(--mist);
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--ink-soft);
}
.form-privacy a { text-decoration: underline; text-underline-offset: 2px; }
.form-status {
  margin-top: 1.25rem;
  border-radius: 0.375rem;
  padding: 0.875rem 1rem;
  font-size: 0.9375rem;
}
.form-status.is-success { background: var(--mist); color: var(--navy); }
.form-status.is-error { background: color-mix(in oklab, var(--destructive) 12%, white); color: var(--destructive); }

.next-steps { margin-top: 3rem; display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .next-steps { grid-template-columns: repeat(3, 1fr); } }
.next-steps li { padding: 2rem; }
.next-steps .step-kicker {
  font-family: var(--font-display);
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--accent);
}
.next-steps .h-card { margin-top: 1rem; }
.next-steps p { margin-top: 0.75rem; font-size: 0.9375rem; line-height: 1.7; color: var(--ink-soft); }

/* ---------- Legal ---------- */

.legal-updated {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--steel);
}
.legal-layout {
  display: grid;
  gap: 3rem;
}
@media (min-width: 1024px) {
  .legal-layout { grid-template-columns: repeat(12, 1fr); gap: 4rem; }
  .legal-toc { grid-column: span 4; }
  .legal-body { grid-column: span 8; }
}
.legal-toc__sticky { position: sticky; top: 7rem; }
.legal-toc h2 {
  font-family: var(--font-display);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--navy-soft);
}
.legal-toc ol {
  margin-top: 1.25rem;
  padding-left: 1.25rem;
  border-left: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.legal-toc a { font-size: 0.9375rem; color: var(--ink-soft); }
.legal-toc a:hover { color: var(--navy); }
.legal-section { scroll-margin-top: 7rem; }
.legal-note {
  margin-top: 3rem;
  border-top: 1px solid var(--border);
  padding-top: 1.5rem;
  font-size: 0.875rem;
  color: var(--steel);
}

/* ---------- 404 ---------- */

.error-page {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4rem 1.5rem;
  text-align: center;
}
.error-page h1 {
  font-size: 4.5rem;
  font-weight: 700;
  font-family: var(--font-sans);
}
.error-page h2 { margin-top: 1rem; font-family: var(--font-sans); font-weight: 600; font-size: 1.25rem; }
.error-page p { margin-top: 0.5rem; font-size: 0.875rem; color: var(--muted-foreground); }

/* ---------- Reveal ---------- */

.reveal {
  opacity: 0;
  transform: translate3d(0, 1.15rem, 0);
  transition: opacity 0.75s var(--ease-calm), transform 0.75s var(--ease-calm);
}
.reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

.admin-bar .site-header { top: 32px; }

@media (max-width: 782px) {
  .admin-bar .site-header { top: 0px; }
}
