:root {
  --heritaging-paper: #fcf9f7;
  --heritaging-surface: #f9f8f3;
  --heritaging-dark: #032a03;
  --heritaging-mid: #2c362e;
  --heritaging-mint: #a8d4af;
  --heritaging-ticker: #c0eec7;
  --heritaging-soft-mint: #b7ecb9;
  --heritaging-text: #1c1b1b;
  --heritaging-text-secondary: #444844;
  --heritaging-text-muted: rgba(1, 2, 1, 0.4);
  --heritaging-border: rgba(1, 2, 1, 0.2);
  --heritaging-input-border: #c5c7c2;
  --heritaging-input-bg: #f6f3f2;
  --heritaging-content: 1120px;
  --heritaging-gutter: 80px;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--heritaging-paper);
  color: var(--heritaging-text);
}

/* The child theme owns the complete landing/article shell. */
.home .site-header,
.home .site-footer,
.single-post .site-header,
.single-post .site-footer,
.post-type-archive-impact_case .site-header,
.post-type-archive-impact_case .site-footer,
.single-impact_case .site-header,
.single-impact_case .site-footer,
.page-template-page-heritage-compass .site-header,
.page-template-page-heritage-compass .site-footer,
.page-template-page-heritaging-manifest .site-header,
.page-template-page-heritaging-manifest .site-footer,
.page-template-page-privacy-policy .site-header,
.page-template-page-privacy-policy .site-footer {
  display: none !important;
}

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

.heritaging-section {
  padding-block: 160px;
}

.heritaging-h1,
.heritaging-h2,
.heritaging-h3,
.heritaging-card-title {
  font-family: "Hanken Grotesk", sans-serif;
  font-weight: 400;
  margin-block: 0;
}

.heritaging-h1 {
  font-size: 72px;
  line-height: 1.1;
  letter-spacing: -1.44px;
}

.heritaging-h2 {
  font-size: 48px;
  line-height: 1.2;
  letter-spacing: -0.48px;
}

.heritaging-h3 {
  font-size: 32px;
  line-height: 1.3;
}

.heritaging-card-title {
  font-size: 28px;
  line-height: 1.486;
}

.heritaging-body-large {
  font-size: 20px;
  line-height: 1.6;
}

.heritaging-label,
.heritaging-button-label {
  font-size: 12px;
  line-height: 1;
  letter-spacing: 1.44px;
  text-transform: uppercase;
}

.heritaging-button-label {
  font-weight: 600;
}

.heritaging-meta {
  font-size: 10px;
  line-height: 1.5;
}

.heritaging-button {
  box-sizing: border-box;
  border-radius: 0;
  font-family: "Hanken Grotesk", sans-serif;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: color .24s cubic-bezier(.22, 1, .36, 1), background-color .24s cubic-bezier(.22, 1, .36, 1), border-color .24s cubic-bezier(.22, 1, .36, 1), border-radius .42s cubic-bezier(.16, 1, .3, 1), transform .12s cubic-bezier(.22, 1, .36, 1), font-weight .12s ease-out;
}

.heritaging-button:hover {
  border-radius: 999px;
}

.heritaging-button:active {
  border-radius: 999px;
  transform: scale(.97);
  transition-duration: .08s;
}

.heritaging-button-arrow {
  position: relative;
  display: inline-block;
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  margin-left: 8px;
  vertical-align: -.08em;
}

.heritaging-button-arrow::before {
  position: absolute;
  top: 1px;
  right: 1px;
  width: 8px;
  height: 8px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  content: "";
}

.heritaging-button-arrow::after {
  position: absolute;
  bottom: 2px;
  left: 1px;
  width: 15px;
  height: 1.5px;
  background: currentColor;
  content: "";
  transform: rotate(-45deg);
  transform-origin: left center;
}

.heritaging-marquee-wrapper {
  overflow: hidden;
  white-space: nowrap;
  background: var(--heritaging-ticker);
}

.heritaging-marquee-track {
  display: flex;
  width: max-content;
  animation: heritaging-marquee 30s linear infinite;
}

.heritaging-marquee-track:hover {
  animation-play-state: paused;
}

.heritaging-carousel-track {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
}

.heritaging-carousel-track::-webkit-scrollbar {
  display: none;
}

.heritaging-carousel-card {
  flex: 0 0 320px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 513px;
  padding: 48px;
  scroll-snap-align: start;
}
.heritaging-carousel-card-body { display: flex; flex-direction: column; gap: 16px; width: 224px; }
.heritaging-carousel-card-body .heritaging-card-title { padding-top: 14.8px; }
.heritaging-carousel-card .heritaging-card-title { color: currentColor; }
.heritaging-icon { width: 24px; height: 24px; }
.heritaging-icon img { display: block; width: 100%; height: 100%; }

/* Figma landing composition */
.heritaging-landing { overflow: clip; background: var(--heritaging-paper); }
.heritaging-nav { position: sticky; z-index: 20; top: 0; display: flex; align-items: center; justify-content: space-between; min-height: 85px; padding: 16px 80px; background: rgba(252,249,247,.8); border-bottom: 1px solid rgba(1,2,1,.1); backdrop-filter: blur(6px); }
.heritaging-brand { display: inline-flex; align-items: center; width: 152px; height: 71px; color: #010201; text-decoration: none; }
.heritaging-logo { position: relative; display: block; width: 152px; height: 71px; overflow: visible; }
.heritaging-logo-image { display: block; width: 152px; height: 71px; object-fit: contain; opacity: 0; transform: translateX(-20px); animation: heritaging-logo-image-in .8s cubic-bezier(.16,1,.3,1) forwards; }
.heritaging-logo-horse { position: absolute; inset: 0; display: block; }
.heritaging-logo-horse-part { position: absolute; display: block; max-width: none; object-fit: contain; opacity: 0; transform: translateX(-20px); animation: heritaging-logo-horse-in 0.65s cubic-bezier(.16,1,.3,1) forwards, heritaging-logo-gallop 5s ease-in-out .65s infinite; }
.heritaging-logo-horse-part--body { inset: 22.64% 58.13% 18.24% 5.92%; width: 35.95%; height: 59.12%; }
.heritaging-logo-horse-part--head { inset: 22.64% 64.12% 26.86% 5.92%; width: 29.96%; height: 50.5%; animation-delay: .06s, .71s; }
.heritaging-logo-horse-part--leg-a { inset: 39.52% 72.61% 28.81% 20.18%; width: 7.21%; height: 31.67%; animation-delay: .12s, .77s; transform-origin: 50% 0; }
.heritaging-logo-horse-part--leg-b { inset: 50.51% 62.77% 34.4% 27.42%; width: 9.81%; height: 15.09%; animation-delay: .18s, .83s; transform-origin: 0 50%; }
.heritaging-logo-horse-part--leg-c { inset: 55.46% 58.13% 21.76% 34.87%; width: 7%; height: 22.78%; animation-delay: .24s, .89s; transform-origin: 100% 0; }
.heritaging-logo-wordmark { position: absolute; top: 41.51%; left: 46.71%; display: flex; flex-wrap: wrap; width: 53.29%; font-family: "Lacquer", "Hanken Grotesk", sans-serif; font-size: 14.71px; line-height: 1; white-space: nowrap; }
.heritaging-logo-letter, .heritaging-logo-lab-letter { display: inline-block; opacity: 0; transform: translateY(5px); animation: heritaging-logo-letter-in .45s ease-out forwards; }
.heritaging-logo-letter--0 { animation-delay: .5s; }
.heritaging-logo-letter--1 { animation-delay: .59s; }
.heritaging-logo-letter--2 { animation-delay: .68s; }
.heritaging-logo-letter--3 { animation-delay: .77s; }
.heritaging-logo-letter--4 { animation-delay: .86s; }
.heritaging-logo-letter--5 { animation-delay: .95s; }
.heritaging-logo-letter--6 { animation-delay: 1.04s; }
.heritaging-logo-letter--7 { animation-delay: 1.13s; font-family: "Kode Mono", monospace; }
.heritaging-logo-letter--8 { animation-delay: 1.22s; font-family: "Kode Mono", monospace; }
.heritaging-logo-letter--9 { animation-delay: 1.31s; font-family: "Kode Mono", monospace; }
.heritaging-logo-labs { display: block; flex-basis: 100%; margin-left: 0; font-family: "Kode Mono", monospace; }
.heritaging-logo-lab-letter--0 { animation-delay: 1.4s; }
.heritaging-logo-lab-letter--1 { animation-delay: 1.49s; }
.heritaging-logo-lab-letter--2 { animation-delay: 1.58s; }
.heritaging-logo-lab-letter--3 { animation-delay: 1.67s; }
.heritaging-menu { display: flex; align-items: center; gap: 40px; }
.heritaging-menu a, .heritaging-nav-cta, .heritaging-section-heading a, .heritaging-audience a, .heritaging-case a, .heritaging-insights a, .heritaging-contact-copy a { color: var(--heritaging-text-secondary); font-size: 12px; letter-spacing: 1.44px; text-transform: uppercase; text-decoration: none; }
.heritaging-nav-cta { min-height: 48px; padding: 12px 24px; }
.heritaging-menu-toggle { display: none; border: 0; border-radius: 0; color: var(--heritaging-text); appearance: none; background: transparent; box-shadow: none; font: inherit; -webkit-tap-highlight-color: transparent; }
.heritaging-menu-toggle:hover,
.heritaging-menu-toggle:focus,
.heritaging-menu-toggle:active { border-color: transparent; color: var(--heritaging-text); background: transparent; box-shadow: none; }
.heritaging-hero-stage { --heritaging-hero-gutter: clamp(24px, 6.25vw, 120px); display: grid; grid-template-rows: minmax(0, 1fr) auto; min-height: calc(100svh - 104px); box-sizing: border-box; padding-bottom: clamp(36px, 6vh, 60px); }
.admin-bar .heritaging-hero-stage { min-height: calc(100svh - 136px); }
.admin-bar .heritaging-nav { top: 32px; }
.heritaging-hero { display: flex; min-height: 0; flex-direction: column; justify-content: flex-start; padding: clamp(24px, 5vh, 56px) var(--heritaging-hero-gutter) clamp(20px, 3vh, 32px); }
.heritaging-hero-kicker, .heritaging-kicker { display: block; color: var(--heritaging-text-muted); font-size: 12px; line-height: 1.2; letter-spacing: 1.44px; text-transform: uppercase; }
.heritaging-hero-kicker { box-sizing: border-box; width: fit-content; max-width: 100%; padding: 5px 13px; border: 1px solid #010201; color: #010201; }
.heritaging-hero .heritaging-h1 { max-width: none; margin-top: clamp(24px, 3vh, 32px); font-size: clamp(44px, min(5.625vw, 9vh), 112px); line-height: 1.1; text-wrap: balance; }
.heritaging-hero .heritaging-h1 > span { display: block; white-space: nowrap; }
.heritaging-hero-actions { display: flex; align-items: flex-start; gap: 24px; padding-top: 32px; }
.heritaging-hero-actions .heritaging-body-large { max-width: 430px; margin: 0; font-size: clamp(16px, 1.25vw, 20px); }
.heritaging-logo-carousel { --heritaging-logo-gap: clamp(32px, 3.75vw, 64px); --heritaging-logo-gap-share: clamp(24px, 2.8125vw, 48px); --heritaging-logo-lift: clamp(40px, calc(32.5vh - 221px), 110px); --heritaging-logos-per-page: 4; min-width: 0; margin-inline: var(--heritaging-hero-gutter); transform: translateY(calc(0px - var(--heritaging-logo-lift))); }
.heritaging-logo-carousel-viewport { overflow-x: auto; outline-offset: 4px; scrollbar-width: none; touch-action: pan-y; cursor: grab; }
.heritaging-logo-carousel-viewport::-webkit-scrollbar { display: none; }
.heritaging-logo-carousel.is-rotating .heritaging-logo-carousel-viewport { overflow: hidden; }
.heritaging-logo-carousel.is-dragging .heritaging-logo-carousel-viewport { cursor: grabbing; }
.heritaging-logo-carousel-track { display: flex; column-gap: var(--heritaging-logo-gap); align-items: center; transition: transform .55s cubic-bezier(.22, 1, .36, 1); will-change: transform; }
.heritaging-logo-carousel-track img { -webkit-user-drag: none; user-select: none; }
.heritaging-logo-carousel-item { display: flex; flex: 0 0 calc(25% - var(--heritaging-logo-gap-share)); height: clamp(77px, 12vh, 96px); align-items: center; justify-content: flex-start; }
.heritaging-logo-carousel-item img { display: block; width: auto; max-width: min(158px, 100%); height: auto; max-height: 96px; object-fit: contain; filter: grayscale(1) brightness(0); }
.heritaging-button { display: inline-flex; width: max-content; max-width: 100%; min-height: 52px; align-items: center; justify-content: center; padding: 20px 40px; border: 1px solid transparent; line-height: 1; text-decoration: none; }
.heritaging-button.heritaging-button--primary,
.heritaging-button.heritaging-button--dark { inline-size: 223px; color: var(--heritaging-ticker); background: var(--heritaging-dark); border-color: var(--heritaging-dark); font-size: 12px; font-weight: 600; letter-spacing: 1.44px; text-align: center; text-transform: uppercase; }
.heritaging-button.heritaging-button--primary:hover,
.heritaging-button.heritaging-button--primary:focus-visible,
.heritaging-button.heritaging-button--dark:hover,
.heritaging-button.heritaging-button--dark:focus-visible { color: var(--heritaging-dark); background: var(--heritaging-ticker); border-color: var(--heritaging-ticker); font-weight: 800; }
.heritaging-button.heritaging-button--primary:active,
.heritaging-button.heritaging-button--dark:active { color: var(--heritaging-dark); background: var(--heritaging-ticker); border-color: var(--heritaging-ticker); font-weight: 900; }
.heritaging-button.heritaging-button--primary:focus-visible,
.heritaging-button.heritaging-button--dark:focus-visible { outline: 2px solid var(--heritaging-dark); outline-offset: 3px; }
.heritaging-button.heritaging-button--secondary,
.heritaging-button.heritaging-button--outline { min-height: 40px; padding: 12px 24px; color: var(--heritaging-dark); background: transparent; border-color: var(--heritaging-dark); font-size: 16px; font-weight: 400; letter-spacing: 1.44px; text-transform: none; }
.heritaging-button.heritaging-button--secondary:hover,
.heritaging-button.heritaging-button--secondary:focus-visible,
.heritaging-button.heritaging-button--outline:hover,
.heritaging-button.heritaging-button--outline:focus-visible { color: var(--heritaging-surface); background: var(--heritaging-dark); border-color: var(--heritaging-dark); }
.heritaging-button.heritaging-button--secondary:active,
.heritaging-button.heritaging-button--outline:active { color: var(--heritaging-surface); background: var(--heritaging-dark); border-color: var(--heritaging-dark); font-weight: 500; }
.heritaging-button.heritaging-button--secondary:focus-visible,
.heritaging-button.heritaging-button--outline:focus-visible { outline: 2px solid var(--heritaging-dark); outline-offset: 3px; }
.heritaging-button.heritaging-button--secondary-inverse { color: var(--heritaging-mint); border-color: var(--heritaging-mint); }
.heritaging-button.heritaging-button--secondary-inverse:hover,
.heritaging-button.heritaging-button--secondary-inverse:focus-visible,
.heritaging-button.heritaging-button--secondary-inverse:active { color: var(--heritaging-dark); background: var(--heritaging-mint); border-color: var(--heritaging-mint); }
.heritaging-button.heritaging-button--secondary-inverse:focus-visible { outline-color: var(--heritaging-mint); }
.heritaging-button.heritaging-button--compact { inline-size: auto; min-height: 48px; padding: 12px 24px; }
.heritaging-button.heritaging-button--submit { inline-size: 100%; width: 100%; min-height: 48px; padding: 14px 20px; }
.heritaging-pattern-cta { width: 100%; margin-block: 32px; }
.heritaging-pattern-cta--right { justify-content: flex-end; }
.heritaging-pattern-cta .heritaging-pattern-cta__button { margin: 0; }
.heritaging-pattern-cta .wp-block-button__link {
  display: inline-flex;
  box-sizing: border-box;
  width: 223px;
  max-width: 100%;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 20px 24px;
  border: 1px solid var(--heritaging-dark);
  border-radius: 0;
  color: var(--heritaging-ticker);
  background: var(--heritaging-dark);
  font-family: "Hanken Grotesk", sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 1.44px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: color .24s cubic-bezier(.22, 1, .36, 1), background-color .24s cubic-bezier(.22, 1, .36, 1), border-color .24s cubic-bezier(.22, 1, .36, 1), border-radius .42s cubic-bezier(.16, 1, .3, 1), transform .12s cubic-bezier(.22, 1, .36, 1), font-weight .12s ease-out;
}
.heritaging-pattern-cta .wp-block-button__link:hover,
.heritaging-pattern-cta .wp-block-button__link:focus-visible {
  border-radius: 999px;
  color: var(--heritaging-dark);
  background: var(--heritaging-ticker);
  border-color: var(--heritaging-ticker);
  font-weight: 800;
}
.heritaging-pattern-cta .wp-block-button__link:active {
  border-radius: 999px;
  color: var(--heritaging-dark);
  background: var(--heritaging-ticker);
  border-color: var(--heritaging-ticker);
  font-weight: 900;
  transform: scale(.97);
  transition-duration: .08s;
}
.heritaging-pattern-cta .wp-block-button__link:focus-visible { outline: 2px solid var(--heritaging-dark); outline-offset: 3px; }
.heritaging-marquee-wrapper { padding: 20px 0; border-top: 1px solid #010201; border-bottom: 1px solid #010201; }
.heritaging-marquee-track { padding-left: 16px; color: var(--heritaging-muted-green, #456d4f); font-size: 12px; font-weight: 600; letter-spacing: 1.44px; text-transform: uppercase; }
.heritaging-diagnosis { display: grid; grid-template-columns: 1fr 1fr; gap: 96px; padding: 116px 80px 160px; color: var(--heritaging-paper); background: var(--heritaging-dark); }
.heritaging-diagnosis-copy { max-width: 512px; align-self: center; }
.heritaging-diagnosis .heritaging-kicker { color: var(--heritaging-mint); }
.heritaging-diagnosis .heritaging-h2 { margin: 24px 0; color: var(--heritaging-paper); }
.heritaging-diagnosis-copy .heritaging-body-large { color: rgba(252,249,247,.82); }
.heritaging-checklist { display: grid; gap: 24px; margin: 32px 0 0; padding: 0; list-style: none; }
.heritaging-checklist li { position: relative; padding-left: 36px; line-height: 24px; }
.heritaging-checklist li::before { content: "✓"; position: absolute; left: 0; color: var(--heritaging-mint); font-size: 21px; }
.heritaging-form, .heritaging-contact-form { display: grid; gap: 12px; padding: 48px; color: var(--heritaging-text); background: var(--heritaging-paper); }
.heritaging-form label, .heritaging-contact-form label { font-size: 16px; color: var(--heritaging-text-secondary); }
.heritaging-form input, .heritaging-form select, .heritaging-contact-form input, .heritaging-contact-form textarea { width: 100%; min-height: 44px; padding: 10px 20px; border: 1px solid var(--heritaging-input-border); border-radius: 4px; color: var(--heritaging-text); background: var(--heritaging-input-bg); font: inherit; }
.heritaging-form input::placeholder,
.heritaging-form textarea::placeholder,
.heritaging-contact-form input::placeholder,
.heritaging-contact-form textarea::placeholder { color: var(--heritaging-text-muted); opacity: 1; }
.heritaging-contact-honeypot { position: absolute !important; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.heritaging-contact-status { margin: 0 0 12px; padding: 14px 16px; border: 1px solid var(--heritaging-dark); color: var(--heritaging-dark); font-size: 14px; line-height: 1.4; }
.heritaging-contact-status--success { border-color: var(--heritaging-soft-mint); background: rgba(183, 236, 185, .35); }
.heritaging-contact-status--error,
.heritaging-contact-status--invalid { border-color: #8a3324; color: #67261b; background: rgba(138, 51, 36, .08); }
.heritaging-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.heritaging-form-row > div { display: grid; gap: 12px; }
.heritaging-form-consents { display: grid; gap: 16px; margin: 12px 0 8px; padding: 0; border: 0; }
.heritaging-form .heritaging-form-consent,
.heritaging-contact-form .heritaging-form-consent { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 12px; align-items: start; color: var(--heritaging-text-secondary); font-size: 13px; line-height: 1.45; cursor: pointer; }
.heritaging-form .heritaging-form-consent input[type="checkbox"],
.heritaging-contact-form .heritaging-form-consent input[type="checkbox"] { width: 20px; min-height: 20px; height: 20px; margin: 1px 0 0; padding: 0; border: 1px solid var(--heritaging-input-border); border-radius: 2px; accent-color: var(--heritaging-dark); }
.heritaging-form-consent a { color: inherit; font-weight: 600; text-underline-offset: 2px; }
.heritaging-form-consent input[type="checkbox"]:focus-visible { outline: 2px solid var(--heritaging-dark); outline-offset: 3px; }
.heritaging-section.heritaging-process { padding: 0; }
.heritaging-process-sticky { display: grid; grid-template-columns: minmax(0, 448px) minmax(0, 544px); gap: 32px; max-width: 1280px; margin-inline: auto; padding: 160px 144px 160px 112px; box-sizing: border-box; }
.heritaging-process-copy { max-width: 424px; transform-origin: left top; }
.heritaging-process-copy .heritaging-body-large { margin: 32px 0; color: var(--heritaging-text-secondary); }
.heritaging-accordion { display: grid; }
.heritaging-accordion details { border-bottom: 1px solid rgba(1,2,1,.1); transition: opacity .3s ease; }
.heritaging-accordion summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; min-height: 107px; padding: 31px 0 32px; cursor: pointer; list-style: none; font-size: 32px; line-height: 1.3; transition: font-size .35s ease, opacity .35s ease; }
.heritaging-accordion summary::-webkit-details-marker { display: none; }
.heritaging-accordion summary::after { width: 24px; height: 24px; margin-left: 24px; background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat, linear-gradient(currentColor, currentColor) center / 2px 100% no-repeat; content: ""; transform: rotate(0deg); transition: background-size .34s cubic-bezier(.34, 1.56, .64, 1), transform .52s cubic-bezier(.34, 1.56, .64, 1); }
.heritaging-accordion details[open] summary::after { background-size: 100% 2px, 2px 0; transform: rotate(180deg); }
.heritaging-accordion summary:active::after { transform: rotate(-8deg) scale(.82); transition-duration: .12s; }
.heritaging-accordion details[open] summary:active::after { transform: rotate(188deg) scale(.82); }
.heritaging-accordion summary > span:first-child { margin-right: 48px; color: var(--heritaging-text-muted); font-size: 12px; letter-spacing: 1.44px; }
.heritaging-accordion-title { min-width: 0; transform-origin: left center; transition: transform .35s ease; }
.heritaging-accordion-panel { max-width: 544px; padding: 0 0 32px 60px; color: var(--heritaging-text-secondary); font-size: 14px; line-height: 22px; }
.heritaging-accordion-panel p { margin: 0; }

@media (min-width: 1025px) and (min-height: 800px) {
  .heritaging-process.is-scroll-driven { --heritaging-process-distance: 0px; --heritaging-process-content-space: 0px; --heritaging-process-offset: 85px; position: relative; height: calc(100svh - var(--heritaging-process-offset) + var(--heritaging-process-distance) + var(--heritaging-process-content-space)); }
  .admin-bar .heritaging-process.is-scroll-driven { --heritaging-process-offset: 117px; }
  .heritaging-process.is-scroll-driven .heritaging-process-sticky { position: sticky; top: var(--heritaging-process-offset); height: calc(100svh - var(--heritaging-process-offset)); align-items: start; overflow: visible; padding-block: clamp(32px, 5vh, 56px); }
  .heritaging-process.is-scroll-driven .heritaging-process-copy { transition: transform .48s cubic-bezier(.22, 1, .36, 1), opacity .48s ease; will-change: transform, opacity; }
  .heritaging-process.is-scroll-driven.is-process-copy-condensed .heritaging-process-copy { opacity: .68; transform: scale(.8); }
  .heritaging-process.is-scroll-driven .heritaging-accordion details { opacity: .56; }
  .heritaging-process.is-scroll-driven .heritaging-accordion summary { min-height: 88px; padding-block: 20px; }
  .heritaging-process.is-scroll-driven .heritaging-accordion details.is-process-past { opacity: .38; }
  .heritaging-process.is-scroll-driven .heritaging-accordion details.is-process-active { opacity: 1; }
  .heritaging-process.is-scroll-driven .heritaging-accordion details.is-process-active .heritaging-accordion-title { transform: scale(1.07); }
  .heritaging-process.is-scroll-driven .heritaging-accordion-panel { animation: heritaging-process-panel-in .42s ease both; }
}

@keyframes heritaging-process-panel-in {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}
.heritaging-manifest-teaser { padding: 80px var(--heritaging-gutter) 90px; background: var(--heritaging-surface); text-align: center; }
.heritaging-manifest-teaser__inner { display: flex; width: min(100%, 838px); flex-direction: column; align-items: center; gap: 48px; margin-inline: auto; }
.heritaging-manifest-teaser .heritaging-kicker, .heritaging-manifest-page .heritaging-kicker { margin: 0; color: #3f6749; font-weight: 600; letter-spacing: 4.8px; }
.heritaging-manifest-teaser .heritaging-h2 { width: 100%; color: var(--heritaging-mid); font-size: 40px; line-height: 1.45; letter-spacing: -0.48px; }
.heritaging-manifest-divider { display: block; width: 96px; height: 1px; flex: 0 0 1px; background: #757873; }
.heritaging-manifest-teaser__cta { display: flex; max-width: 672px; flex-direction: column; align-items: center; gap: 36px; }
.heritaging-manifest-teaser__cta .heritaging-button { width: 132px; min-height: 48px; padding: 12px 14px; }
.heritaging-manifest-teaser__cta p { margin: 0; color: var(--heritaging-text-secondary); font-size: 31px; line-height: 48px; }
.heritaging-manifest-page { min-height: 100svh; background: var(--heritaging-surface); }
.heritaging-manifest-page__content { display: flex; max-width: 1008px; flex-direction: column; align-items: center; gap: 48px; margin-inline: auto; padding-inline: var(--heritaging-gutter); text-align: center; }
.heritaging-manifest-page__intro { display: flex; width: 100%; flex-direction: column; align-items: center; gap: 48px; }
.heritaging-manifest-page__intro .heritaging-h2 { width: 100%; color: var(--heritaging-mid); font-size: 40px; line-height: 1.45; letter-spacing: -0.48px; }
.heritaging-manifest-page__statement { width: min(100%, 672px); color: var(--heritaging-text-secondary); font-size: 31px; line-height: 48px; }
.heritaging-manifest-page__statement p { margin: 0; }
.heritaging-areas { padding: 160px 0 80px; background: #e2e2de; }
.heritaging-areas .heritaging-container { margin-bottom: 64px; }
.heritaging-progress { display: block; width: 48px; height: 4px; margin-top: 16px; background: #010201; transform-origin: left center; transition: transform .12s linear; }
.heritaging-areas .heritaging-carousel-track { width: calc(100% + 80px); padding: 0 0 0 56px; }
.heritaging-carousel-card--dark { color: var(--heritaging-paper); background: var(--heritaging-dark); }
.heritaging-carousel-card--mint { color: var(--heritaging-dark); background: var(--heritaging-mint); }
.heritaging-carousel-card--cream { color: var(--heritaging-text); background: var(--heritaging-surface); }
.heritaging-carousel-card h3 { margin: 0; }
.heritaging-carousel-card p { color: currentColor; opacity: .7; line-height: 24px; }
.heritaging-icon { font-size: 26px; }
.heritaging-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.heritaging-tags span { padding: 5px 13px; border: 1px solid currentColor; font-size: 10px; line-height: 15px; opacity: .7; }

@media (min-width: 768px) and (min-height: 600px) {
  .heritaging-areas.is-scroll-driven { --heritaging-carousel-distance: 0px; --heritaging-carousel-offset: 85px; position: relative; height: calc(100svh - var(--heritaging-carousel-offset) + var(--heritaging-carousel-distance)); padding: 0; }
  .admin-bar .heritaging-areas.is-scroll-driven { --heritaging-carousel-offset: 117px; }
  .heritaging-areas.is-scroll-driven .heritaging-areas-sticky { position: sticky; top: var(--heritaging-carousel-offset); display: flex; height: calc(100svh - var(--heritaging-carousel-offset)); box-sizing: border-box; flex-direction: column; justify-content: center; overflow: hidden; padding-block: clamp(24px, 5vh, 48px); }
  .heritaging-areas.is-scroll-driven .heritaging-container { margin-bottom: clamp(24px, 5vh, 64px); }
  .heritaging-areas.is-scroll-driven .heritaging-carousel-track { flex: 0 0 auto; width: 100%; box-sizing: border-box; padding-inline: var(--heritaging-carousel-edge-space, 0px); overflow-x: hidden; scroll-snap-type: none; }
  .heritaging-areas.is-scroll-driven .heritaging-carousel-card { flex-basis: 384px; min-height: clamp(360px, calc(100svh - var(--heritaging-carousel-offset) - 160px), 513px); padding: clamp(32px, 5vh, 48px); }
  .heritaging-areas.is-scroll-driven .heritaging-carousel-card-body { width: min(100%, 268px); }
}
.heritaging-three-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 48px; }
.heritaging-for-whom { padding: 64px 0 58px; background: var(--heritaging-surface); }
.heritaging-for-whom[data-heritaging-reveal] { opacity: 1; }
.heritaging-for-whom[data-heritaging-reveal].is-visible { opacity: 1; animation: none; }
.heritaging-for-whom-kicker { margin: 0; }
.heritaging-for-whom .heritaging-three-columns { margin-top: 0; }
.heritaging-audience { display: grid; min-height: 489px; grid-template-rows: auto auto 1fr auto; gap: 30px; align-content: start; padding-top: 32px; border-top: 1px solid var(--heritaging-border); transform-origin: center; }
.js-motion-ready .heritaging-for-whom-kicker,
.js-motion-ready .heritaging-audience { opacity: 0; }
.heritaging-audience h3, .heritaging-audience p { margin: 0; }
.heritaging-audience p { font-family: "Hanken Grotesk", sans-serif; font-size: 16px; }
.heritaging-audience p, .heritaging-case p, .heritaging-team-grid > div > p, .heritaging-insights p, .heritaging-contact-copy > p { color: var(--heritaging-text-secondary); line-height: 24px; }
.heritaging-audience-cta,
.heritaging-audience a.heritaging-audience-cta { display: inline-flex; width: max-content; max-width: 100%; align-items: center; gap: 8px; color: var(--heritaging-dark); font-size: 16px; font-weight: 400; line-height: 1; letter-spacing: 1.44px; text-transform: none; text-decoration: none; -webkit-tap-highlight-color: transparent; }
.heritaging-audience-cta__action { flex: 0 0 auto; padding: 12px 24px; border: 1px solid var(--heritaging-dark); border-radius: 0; transition: color .24s cubic-bezier(.22,1,.36,1), background-color .24s cubic-bezier(.22,1,.36,1), border-radius .42s cubic-bezier(.16,1,.3,1), transform .12s cubic-bezier(.22,1,.36,1), font-weight .12s ease-out; }
.heritaging-audience-cta__context { font-size: 12px; text-decoration: underline; text-underline-offset: 3px; transition: text-underline-offset .24s cubic-bezier(.22,1,.36,1); }
.heritaging-audience-cta:hover .heritaging-audience-cta__action,
.heritaging-audience-cta:focus-visible .heritaging-audience-cta__action { border-radius: 999px; color: var(--heritaging-surface); background: var(--heritaging-dark); }
.heritaging-audience-cta:active .heritaging-audience-cta__action { border-radius: 999px; color: var(--heritaging-surface); background: var(--heritaging-dark); font-weight: 500; transform: scale(.97); transition-duration: .08s; }
.heritaging-audience-cta:hover .heritaging-audience-cta__context,
.heritaging-audience-cta:focus-visible .heritaging-audience-cta__context { text-underline-offset: 6px; }
.heritaging-audience-cta:focus-visible { outline: 2px solid var(--heritaging-dark); outline-offset: 4px; }

.heritaging-for-whom.is-visible .heritaging-for-whom-kicker { animation: heritaging-for-whom-heading-opacity 5s linear forwards, heritaging-for-whom-heading-translate 5s linear forwards; will-change: opacity, translate; }
.heritaging-for-whom.is-visible .heritaging-audience--01 { animation: heritaging-for-whom-card-01-opacity 5s linear forwards, heritaging-for-whom-card-01-scale 5s linear forwards; will-change: opacity, scale; }
.heritaging-for-whom.is-visible .heritaging-audience--02 { animation: heritaging-for-whom-card-02-opacity 5s linear forwards, heritaging-for-whom-card-02-scale 5s linear forwards; will-change: opacity, scale; }
.heritaging-for-whom.is-visible .heritaging-audience--03 { animation: heritaging-for-whom-card-03-opacity 5s linear forwards, heritaging-for-whom-card-03-scale 5s linear forwards; will-change: opacity, scale; }

@keyframes heritaging-for-whom-heading-opacity {
  0% { opacity: 0; animation-timing-function: cubic-bezier(.16,1,.3,1); }
  9%, 100% { opacity: 1; }
}

@keyframes heritaging-for-whom-heading-translate {
  0% { translate: 0 20px; animation-timing-function: cubic-bezier(.16,1,.3,1); }
  9%, 100% { translate: 0 0; }
}

@keyframes heritaging-for-whom-card-01-opacity {
  0% { opacity: 0; animation-timing-function: cubic-bezier(.16,1,.3,1); }
  10%, 100% { opacity: 1; }
}

@keyframes heritaging-for-whom-card-01-scale {
  0% { scale: .95; animation-timing-function: cubic-bezier(.16,1,.3,1); }
  10%, 100% { scale: 1; }
}

@keyframes heritaging-for-whom-card-02-opacity {
  0% { opacity: 0; }
  2.4% { opacity: 0; animation-timing-function: cubic-bezier(.16,1,.3,1); }
  12.4%, 100% { opacity: 1; }
}

@keyframes heritaging-for-whom-card-02-scale {
  0% { scale: .95; }
  2.4% { scale: .95; animation-timing-function: cubic-bezier(.16,1,.3,1); }
  12.4%, 100% { scale: 1; }
}

@keyframes heritaging-for-whom-card-03-opacity {
  0% { opacity: 0; }
  4.8% { opacity: 0; animation-timing-function: cubic-bezier(.16,1,.3,1); }
  14.8%, 100% { opacity: 1; }
}

@keyframes heritaging-for-whom-card-03-scale {
  0% { scale: .95; }
  4.8% { scale: .95; animation-timing-function: cubic-bezier(.16,1,.3,1); }
  14.8%, 100% { scale: 1; }
}
.heritaging-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: 96px; }
.heritaging-case { display: grid; grid-template-columns: 1.78fr 1fr; gap: 64px; align-items: center; margin-bottom: 96px; }
.heritaging-case--reverse { grid-template-columns: 1fr 1.78fr; }
.heritaging-case--reverse .parallax-image { order: 2; }
.heritaging-case img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.heritaging-case__media { display: block; overflow: hidden; background: var(--heritaging-dark); text-decoration: none; }
.heritaging-case__placeholder { display: block; width: 100%; aspect-ratio: 16 / 9; background: linear-gradient(135deg, var(--heritaging-dark), var(--heritaging-mid)); }
.heritaging-case h3 { margin: 16px 0; }
.heritaging-case p { margin: 0 0 24px; }
.heritaging-impact-archive__content { min-height: calc(100svh - 104px); background: var(--heritaging-paper); }
.heritaging-impact-case-single .heritaging-article-header:not(:has(.heritaging-article-hero)) { padding-bottom: 0; }
.heritaging-team { background: var(--heritaging-paper); }
.heritaging-team-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 64px; }
.heritaging-team-grid > div > p { margin-top: 32px; }
.heritaging-team-members { display: grid; grid-template-columns: repeat(2, 1fr); gap: 48px; }
.heritaging-team-members img { display: block; width: 100%; height: 344px; object-fit: cover; }
.heritaging-team-members article:nth-child(1) img { object-position: 50% 20%; }
.heritaging-team-members article:nth-child(2) img { object-position: 50% 26%; }
.heritaging-team-members h3 { margin: 20px 0 8px; }
.heritaging-team-role { margin: 0; color: var(--heritaging-text-secondary); font-size: 12px; font-weight: 600; line-height: 16px; letter-spacing: 1.44px; text-transform: uppercase; }
.heritaging-team-bio { display: inline-block; margin-top: 16px; padding: 4px 10px; border-radius: 999px; background: var(--heritaging-ticker); color: var(--heritaging-mid); font-size: 10px; font-weight: 600; line-height: 14px; letter-spacing: .8px; }
.heritaging-compass { background: var(--heritaging-surface); }
.heritaging-home-compass-carousel { min-width: 0; }
.heritaging-home-compass-track { display: flex; gap: 32px; width: 100%; padding: 0 0 8px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; touch-action: pan-y pinch-zoom; cursor: grab; }
.heritaging-home-compass-track::-webkit-scrollbar { display: none; }
.heritaging-home-compass-track.is-dragging { scroll-behavior: auto; scroll-snap-type: none; cursor: grabbing; user-select: none; }
.heritaging-home-compass-card { display: flex; flex: 0 0 calc((100% - 64px) / 3); min-width: 0; flex-direction: column; align-items: flex-start; gap: 20px; scroll-snap-align: start; }
.heritaging-home-compass-card__media { display: block; width: 100%; margin: 0; aspect-ratio: 16 / 10; overflow: hidden; background: var(--heritaging-soft-mint); }
.heritaging-home-compass-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.16, 1, .3, 1); -webkit-user-drag: none; user-select: none; }
.heritaging-home-compass-card:hover .heritaging-home-compass-card__media img,
.heritaging-home-compass-card:focus-within .heritaging-home-compass-card__media img { transform: scale(1.035); }
.heritaging-home-compass-card h3 { margin: 0; }
.heritaging-home-compass-card h3 a { color: inherit; text-decoration: none; }
.heritaging-home-compass-card h3 a:focus-visible { outline: 2px solid var(--heritaging-dark); outline-offset: 4px; }
.heritaging-home-compass-card__excerpt { margin: 0; color: var(--heritaging-text-secondary); }
.heritaging-home-compass-card > .heritaging-button { margin-top: auto; }
.heritaging-home-compass-controls { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 40px; }
.heritaging-home-compass-status { min-width: 72px; margin: 0 16px 0 0; color: var(--heritaging-text-muted); font-size: 12px; letter-spacing: 1.44px; text-align: right; }
.heritaging-home-compass-controls button { display: grid; width: 48px; height: 48px; padding: 0; border: 1px solid var(--heritaging-dark); border-radius: 50%; color: var(--heritaging-dark); background: transparent; place-items: center; font: inherit; cursor: pointer; transition: color .2s ease, background-color .2s ease; }
.heritaging-home-compass-controls button:hover { color: var(--heritaging-paper); background: var(--heritaging-dark); }
.heritaging-home-compass-controls button:disabled { opacity: .3; cursor: default; }
.heritaging-home-compass-controls button:disabled:hover { color: var(--heritaging-dark); background: transparent; }
.heritaging-home-compass-controls button:focus-visible { outline: 2px solid var(--heritaging-dark); outline-offset: 3px; }
.heritaging-insights { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.heritaging-insights article { display: grid; gap: 20px; padding-top: 32px; border-top: 1px solid var(--heritaging-border); }
.heritaging-insights h3 { margin: 0; }
.heritaging-compass-archive__content { min-height: calc(100svh - 104px); background: var(--heritaging-surface); }
.heritaging-compass-archive__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 96px; }
.heritaging-compass-archive__heading .heritaging-meta { margin: 0 0 20px; color: var(--heritaging-text-muted); letter-spacing: 1.44px; text-transform: uppercase; }
.heritaging-compass-archive__count { margin: 0 0 10px; padding: 4px 16px; border-radius: 999px; color: var(--heritaging-mid); background: var(--heritaging-mint); font-size: 10px; }
.heritaging-compass-grid { align-items: start; row-gap: 80px; }
.heritaging-insights .heritaging-compass-card { display: grid; gap: 20px; padding-top: 0; border-top: 0; }
.heritaging-compass-card__media { width: 100%; height: 80px; margin: 0 0 12px; overflow: hidden; background: var(--heritaging-card-color, var(--heritaging-soft-mint)); transition: height .56s cubic-bezier(.16, 1, .3, 1); }
.heritaging-compass-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: 0; clip-path: inset(50% 0); transform: scale(1.04); transition: opacity .3s ease, clip-path .56s cubic-bezier(.16, 1, .3, 1), transform .7s cubic-bezier(.16, 1, .3, 1); }
.heritaging-compass-card:hover .heritaging-compass-card__media,
.heritaging-compass-card:focus-within .heritaging-compass-card__media { height: clamp(220px, 19vw, 280px); }
.heritaging-compass-card:hover .heritaging-compass-card__media img,
.heritaging-compass-card:focus-within .heritaging-compass-card__media img { opacity: 1; clip-path: inset(0); transform: scale(1); }
.heritaging-compass-card h2 a { color: inherit; text-decoration: none; }
.heritaging-compass-card h2 a:focus-visible { outline: 2px solid var(--heritaging-dark); outline-offset: 4px; }
.heritaging-insights .heritaging-compass-card h2.heritaging-h3 {
  margin: 0;
  color: var(--heritaging-text);
  font-family: "Hanken Grotesk", sans-serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -.32px;
  text-transform: none;
}
.heritaging-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 96px; }
.heritaging-contact-form { padding: 0; background: transparent; }
.heritaging-contact-form h2 { margin-bottom: 32px; }
.heritaging-contact-copy { align-self: start; padding-top: 8px; }
.heritaging-contact-copy h3 { max-width: 420px; margin: 24px 0; }
.heritaging-contact-copy > a { display: inline-block; margin-top: 24px; color: var(--heritaging-text); text-transform: none; letter-spacing: 0; font-size: 16px; }
.heritaging-socials { display: flex; gap: 24px; margin-top: 48px; }
.heritaging-faq { background: rgba(226,226,222,.3); }
.heritaging-faq .heritaging-container { max-width: 896px; }
.heritaging-faq .heritaging-h2 { margin-bottom: 64px; }
.heritaging-faq .heritaging-accordion-panel { max-width: 720px; }
.heritaging-faq .heritaging-accordion-panel p { max-width: none; margin: 0; }
.heritaging-faq details p { max-width: 720px; margin: 0 0 32px 48px; color: var(--heritaging-text-secondary); }
.heritaging-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 80px; border-top: 1px solid rgba(1,2,1,.05); color: var(--heritaging-text-muted); font-size: 12px; line-height: 18px; }
.heritaging-footer a { color: inherit; text-underline-offset: 2px; }

/* Privacy policy page. */
.heritaging-privacy-page { min-height: 100vh; color: var(--heritaging-text); background: var(--heritaging-paper); }
.heritaging-privacy-page__content { max-width: 896px; margin-inline: auto; padding: 96px 80px 120px; }
.heritaging-privacy-page__intro { margin-bottom: 64px; }
.heritaging-privacy-page__intro .heritaging-kicker { margin-bottom: 24px; }
.heritaging-privacy-page__body { color: var(--heritaging-text-secondary); font-size: 16px; line-height: 1.6; }
.heritaging-privacy-page__body h2 { margin: 56px 0 20px; color: var(--heritaging-text); font-size: 32px; font-weight: 500; line-height: 1.25; }
.heritaging-privacy-page__body h3 { margin: 32px 0 12px; color: var(--heritaging-text); font-size: 22px; line-height: 1.3; }
.heritaging-privacy-page__body p,
.heritaging-privacy-page__body ul { margin: 0 0 20px; }
.heritaging-privacy-page__body a { color: inherit; text-underline-offset: 3px; }
.heritaging-privacy-page__body li + li { margin-top: 8px; }

/* Article detail layout: 12 columns, 32px gutters and an 80px vertical rhythm. */
.heritaging-article-shell { padding: 110px 80px 0; background: #fff; }
.heritaging-article-header, .heritaging-article-intro, .heritaging-article-content, .heritaging-article-cta, .heritaging-article-compass, .heritaging-article-hero-pattern, .heritaging-portfolio-hero-pattern { max-width: 1120px; margin-inline: auto; }
.heritaging-article-header { padding-top: 33px; border-top: 1px solid var(--heritaging-border); }
.heritaging-article-kicker, .heritaging-article-label { width: fit-content; max-width: 100%; margin: 0 0 32px; padding: 5px 13px; border: 1px solid #010201; color: #010201; font-size: 12px; font-weight: 600; letter-spacing: 1.44px; line-height: 1; text-transform: uppercase; }
.heritaging-article-kicker { display: flex; flex-wrap: wrap; gap: 0 6px; }
.heritaging-article-kicker a { color: inherit; text-decoration: none; }
.heritaging-article-kicker span[aria-current="page"] { font-weight: 400; }
.heritaging-article-header .heritaging-h1, .heritaging-article-hero-pattern .wp-block-post-title, .heritaging-portfolio-hero-pattern .wp-block-post-title { max-width: 900px; margin: 0 0 24px; }
.heritaging-article-hero, .heritaging-portfolio-hero { position: relative; width: 100%; height: 621px; margin: 0; overflow: hidden; }
.heritaging-article-hero img, .heritaging-portfolio-hero img { display: block; width: 100%; height: 100%; object-fit: cover; }
.heritaging-article-hero-placeholder-caption { position: absolute; right: 0; bottom: 0; left: 0; margin: 0; padding: 12px 16px; color: var(--heritaging-paper); background: rgba(1, 2, 1, .72); font-size: 12px; font-weight: 600; letter-spacing: 1.44px; line-height: 1.3; text-align: left; text-transform: uppercase; }
.heritaging-article-intro { padding-top: 80px; }
.heritaging-article-lead, .heritaging-article-hero-pattern .wp-block-post-excerpt, .heritaging-portfolio-hero-pattern .wp-block-post-excerpt { margin: 0; color: var(--heritaging-text); font-size: 32px; line-height: 1.3; }
.heritaging-article-hero-pattern, .heritaging-portfolio-hero-pattern { display: grid; gap: 0; padding-top: 33px; border-top: 1px solid var(--heritaging-border); }
.heritaging-article-hero-pattern .heritaging-article-hero, .heritaging-portfolio-hero-pattern .heritaging-portfolio-hero { position: relative; margin-bottom: 80px; }
.heritaging-article-hero-pattern .heritaging-article-hero .wp-element-caption, .heritaging-portfolio-hero-pattern .heritaging-portfolio-hero .wp-element-caption { position: absolute; right: 0; bottom: 0; left: 0; margin: 0; padding: 12px 16px; color: var(--heritaging-paper); background: rgba(1, 2, 1, .72); font-size: 12px; font-weight: 600; letter-spacing: 1.44px; line-height: 1.3; text-align: left; text-transform: uppercase; }
.heritaging-article-hero-pattern .wp-block-post-excerpt__excerpt, .heritaging-portfolio-hero-pattern .wp-block-post-excerpt__excerpt { margin: 0; }
.heritaging-article-copy, .heritaging-article-content > p, .heritaging-article-body p { color: var(--heritaging-text-secondary); font-size: 16px; line-height: 1.5; }
.heritaging-article-content { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 32px; row-gap: 80px; margin-top: 80px; padding-bottom: 0; }
.heritaging-article-content > * { grid-column: 1 / -1; }
.heritaging-article-content > p, .heritaging-article-body { width: min(100%, 640px); margin: 0; }
.heritaging-article-body p { margin: 0; }
.heritaging-article-body > * { margin-block: 0; }
.heritaging-article-body > * + * { margin-top: 24px; }
.heritaging-article-body ul, .heritaging-article-body ol { padding-left: 1.25em; color: var(--heritaging-text-secondary); font-size: 16px; line-height: 1.5; }
.heritaging-article-body h3, .heritaging-article-body h4 { color: var(--heritaging-text); line-height: 1.25; }
.heritaging-article-body--right { justify-self: end; }
.heritaging-article-heading-full, .heritaging-article-heading-full h2 { width: 100%; }
.heritaging-article-content h2, .heritaging-article-heading-full h2 { margin: 0; color: var(--heritaging-text); font-size: 32px; font-weight: 500; line-height: 1.25; }
.heritaging-article-content figure { margin: 0; }
.heritaging-article-image-block, .heritaging-article-image-copy { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 32px; align-items: center; width: 100%; }
.heritaging-article-image-block figure { grid-column: 1 / span 7; min-width: 0; }
.heritaging-article-image-block img { display: block; width: 100%; height: 360px; object-fit: cover; }
.heritaging-article-image-block-copy { grid-column: 9 / span 4; align-self: stretch; display: flex; flex-direction: column; gap: 14.8px; }
.heritaging-article-image-block-copy h2 { margin: 0; }
.heritaging-article-image-block-copy p { margin: 0; color: var(--heritaging-text-secondary); font-size: 16px; line-height: 1.625; }
.heritaging-article-image-block-copy .heritaging-article-label { margin: 0; border: 0; padding: 0; color: var(--heritaging-text-muted); }
.heritaging-article-image-copy > div { grid-column: 1 / span 4; }
.heritaging-article-image-copy h2 { margin: 0 0 16px; color: var(--heritaging-text); font-size: 32px; font-weight: 400; line-height: 1.3; }
.heritaging-article-image-copy p { margin: 0; color: var(--heritaging-text-secondary); font-size: 16px; line-height: 1.625; }
.heritaging-article-inline-link { display: block; width: auto; padding-top: 16px; border: 0; }
.heritaging-article-inline-link a { color: inherit; text-decoration: none; }
.heritaging-article-image-copy .heritaging-article-label { margin-bottom: 16px; border: 0; padding: 0; color: var(--heritaging-text-muted); }
.heritaging-article-image-copy figure, .heritaging-article-image-copy--reverse figure { grid-column: 6 / span 7; grid-row: 1; }
.heritaging-article-image-copy img { display: block; width: 100%; height: 503px; object-fit: cover; }
.heritaging-article-key-points { box-sizing: border-box; width: min(100%, 640px); min-height: 569px; padding: 34px 37px 37px; border: 3px solid #010201; }
.heritaging-article-key-points--right { justify-self: end; }
.heritaging-article-key-points__list { display: grid; gap: 30px; margin: 0; padding: 0; color: var(--heritaging-text-secondary); list-style: none; }
.heritaging-article-key-points__item { margin: 0; overflow-wrap: anywhere; }
.heritaging-article-key-points__item::marker { content: ""; }
.heritaging-article-key-points__title { margin: 0 0 4px; color: var(--heritaging-text-secondary); font-size: 24px; font-weight: 700; line-height: 1; }
.heritaging-article-key-points__item > p { margin: 0; color: var(--heritaging-text-secondary); font-size: 16px; line-height: 1.5; }
.heritaging-article-cta { display: grid; grid-template-columns: 223px 384px minmax(0, 1fr); gap: 24px; align-items: start; padding: 80px 0; }
.heritaging-article-cta .wp-block-buttons { margin: 0; }
.heritaging-article-cta .wp-block-button { width: 100%; }
.heritaging-article-cta .wp-block-button__link { width: 100%; }
.heritaging-article-cta p { margin: 0; color: var(--heritaging-text-secondary); font-size: 16px; line-height: 1.5; }
.heritaging-article-cta .heritaging-body-large { color: var(--heritaging-text); }
.heritaging-article-compass { padding: 0 0 80px; }
.heritaging-article-section-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 64px; }
.heritaging-article-section-head h2 { margin: 0; }
.heritaging-article-section-head span, .heritaging-article-section-head > p { margin: 0; padding: 4px 16px; border-radius: 999px; color: var(--heritaging-mid); background: var(--heritaging-mint); font-size: 10px; }
.heritaging-article-related { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.heritaging-article-related article, .heritaging-article-related > .wp-block-post { display: grid; gap: 24px; align-content: start; margin: 0; }
.heritaging-article-related article > p:first-child, .heritaging-article-related .wp-block-post-date { margin: 0; color: var(--heritaging-text-muted); font-size: 12px; font-weight: 600; letter-spacing: 1.44px; text-transform: uppercase; }
.heritaging-article-related h3, .heritaging-article-related .wp-block-post-title { margin: 0; font-size: 32px; font-weight: 500; line-height: 1.25; }
.heritaging-article-related h3 a, .heritaging-article-related .wp-block-post-title a { color: inherit; text-decoration: none; }
.heritaging-article-related-excerpt, .heritaging-article-related .wp-block-post-excerpt { margin: 0; color: var(--heritaging-text-secondary); font-size: 16px; line-height: 1.5; }
.heritaging-article-related .wp-block-post-excerpt__excerpt { margin: 0; }
.heritaging-article-related-link, .heritaging-article-related .wp-block-read-more { width: max-content; border-bottom: 1px solid; color: var(--heritaging-text); font-size: 12px; font-weight: 600; letter-spacing: 1.44px; text-decoration: none; text-transform: uppercase; }
.heritaging-article-latest-query .wp-block-post-template { padding: 0; list-style: none; }
.heritaging-article-gallery { min-width: 0; }
.heritaging-article-gallery > h2 { margin: 0 0 32px; }
.heritaging-article-gallery-track.wp-block-gallery { display: flex; flex-wrap: nowrap; gap: 32px; width: 100%; margin: 0; padding: 0 0 8px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; cursor: grab; }
.heritaging-article-gallery-track.wp-block-gallery::-webkit-scrollbar { display: none; }
.heritaging-article-gallery-track.wp-block-gallery.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.heritaging-article-gallery-track.wp-block-gallery > .wp-block-image { flex: 0 0 min(960px, calc(100vw - 80px)); width: auto; margin: 0; scroll-snap-align: start; }
.heritaging-article-gallery-track.wp-block-gallery > .wp-block-image img { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover; }
.heritaging-article-gallery-controls { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.heritaging-article-gallery-controls button { display: grid; width: 48px; height: 48px; padding: 0; border: 1px solid var(--heritaging-dark); border-radius: 50%; color: var(--heritaging-dark); background: transparent; place-items: center; font: inherit; cursor: pointer; }
.heritaging-article-gallery-controls button:disabled { opacity: .3; cursor: default; }
.heritaging-article-gallery-controls button:focus-visible { outline: 2px solid var(--heritaging-dark); outline-offset: 3px; }
.heritaging-article-gallery-caption { width: min(100%, 640px); margin: 16px 0 0; color: var(--heritaging-text-muted); font-size: 14px; line-height: 1.5; }

.js-motion-ready [data-heritaging-reveal],
.js-motion-ready [data-animate="fade-up"],
.js-motion-ready .card-stagger,
.js-motion-ready .line-reveal {
  opacity: 0;
}

[data-heritaging-reveal].is-visible,
[data-animate="fade-up"].visible,
.card-stagger.visible,
.line-reveal.visible {
  animation: heritaging-fade-in-up 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.card-stagger.visible:nth-child(2) { animation-delay: 0.15s; }
.card-stagger.visible:nth-child(3) { animation-delay: 0.3s; }

.line-reveal {
  transform: scaleX(0);
  transform-origin: left;
}

.line-reveal.visible {
  animation-name: heritaging-line-reveal;
}

.js-motion-ready .heritaging-article-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 500ms cubic-bezier(0.16, 1, 0.3, 1), transform 500ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--reveal-delay, 0) * 150ms);
}

.js-motion-ready .heritaging-article-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.parallax-image {
  overflow: hidden;
  position: relative;
}

.parallax-image img {
  width: 100%;
  height: 120%;
  object-fit: cover;
  will-change: transform;
}

@keyframes heritaging-fade-in-up {
  from { opacity: 0; transform: translateY(32px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes heritaging-line-reveal {
  from { opacity: 1; transform: scaleX(0); }
  to { opacity: 1; transform: scaleX(1); }
}

@keyframes heritaging-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@keyframes heritaging-logo-horse-in {
  to { opacity: 1; transform: translateX(0); }
}

@keyframes heritaging-logo-gallop {
  0%, 100% { transform: translate(0, 0); }
  12% { transform: translate(0, -1px); }
  24% { transform: translate(1px, 1px); }
  36% { transform: translate(-1px, -1px); }
  48% { transform: translate(1px, 0); }
  60% { transform: translate(0, 1px); }
  72% { transform: translate(-1px, 0); }
}

@keyframes heritaging-logo-letter-in {
  to { opacity: 1; transform: translateY(0); }
}

@keyframes heritaging-logo-image-in {
  to { opacity: 1; transform: translateX(0); }
}

@keyframes heritaging-menu-panel-in {
  0% { clip-path: inset(0 0 100% 0); transform: translateY(-24px); }
  86% { clip-path: inset(0 0 0 0); transform: translateY(2px); }
  100% { clip-path: inset(0 0 0 0); transform: translateY(0); }
}

@keyframes heritaging-menu-item-in {
  from { opacity: 0; transform: translateY(-12px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes heritaging-menu-cta-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes heritaging-menu-line-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (max-width: 1100px) {
  body.has-heritaging-menu-open { overflow: hidden; }

  .heritaging-nav { --heritaging-menu-panel-top: 102px; min-height: 102px; padding: 24px 80px; }
  .heritaging-brand, .heritaging-logo, .heritaging-logo-image { width: 152px; height: 53px; }
  .heritaging-logo { transform: none; }
  .heritaging-menu-toggle { display: grid; width: 18px; height: 18px; margin-left: auto; padding: 0; border: 0; border-radius: 0; appearance: none; background: transparent; box-shadow: none; cursor: pointer; place-items: center; }
  .heritaging-menu-toggle__icon { position: relative; display: block; width: 18px; height: 18px; }
  .heritaging-menu-toggle__line { position: absolute; left: 0; display: block; width: 18px; height: 3px; transform-origin: center; will-change: transform, opacity; }
  .heritaging-menu-toggle__line--top { top: 0; transition: transform 250ms cubic-bezier(.68, -.55, .27, 1.55); }
  .heritaging-menu-toggle__line--middle { top: 7.5px; transition: opacity 150ms ease-out 250ms, transform 150ms ease-out 250ms; }
  .heritaging-menu-toggle__line--bottom { top: 15px; transition: transform 250ms cubic-bezier(.68, -.55, .27, 1.55); }
  .heritaging-nav.is-menu-open .heritaging-menu-toggle__line--top { transform: translateY(7.5px) rotate(45deg); transition-delay: 150ms; }
  .heritaging-nav.is-menu-open .heritaging-menu-toggle__line--middle { opacity: 0; transform: scaleX(.5); transition-delay: 0ms; }
  .heritaging-nav.is-menu-open .heritaging-menu-toggle__line--bottom { transform: translateY(-7.5px) rotate(-45deg); transition-delay: 150ms; }
  .heritaging-menu-toggle:focus-visible { outline: 2px solid var(--heritaging-text); outline-offset: 5px; }
  .heritaging-nav::after { position: fixed; z-index: 0; top: var(--heritaging-menu-panel-top); right: 0; bottom: 0; left: 0; background: rgba(1, 2, 1, .88); content: ""; pointer-events: none; visibility: hidden; }
  .heritaging-nav.is-menu-open::after { pointer-events: auto; visibility: visible; }
  .heritaging-nav > * { position: relative; z-index: 1; }
  .heritaging-menu { position: fixed; z-index: 2; top: var(--heritaging-menu-panel-top); right: 0; left: auto; display: flex; width: 339px; height: 298px; box-sizing: border-box; flex-direction: column; align-items: stretch; gap: 0; padding: 18px 28px; border: 0; color: var(--heritaging-text-secondary); background: #e2e2de; clip-path: inset(0 0 100% 0); pointer-events: none; transform: translateY(-24px); visibility: hidden; }
  .heritaging-menu.is-open { visibility: visible; pointer-events: auto; animation: heritaging-menu-panel-in .7s cubic-bezier(.34, 1.56, .64, 1) both; }
  .heritaging-menu a { position: relative; display: flex; width: 100%; min-height: 46px; box-sizing: border-box; align-items: center; padding: 0 2px; border-bottom: 0; color: var(--heritaging-text-secondary); font-size: 12px; font-weight: 600; line-height: 1; letter-spacing: 1.44px; opacity: 0; text-transform: none; transform: translateY(-12px); }
  .heritaging-menu a::after { position: absolute; right: 0; bottom: 0; left: 0; height: 1px; background: rgba(1, 2, 1, .55); content: ""; opacity: 0; }
  .heritaging-menu a:last-child { width: 150px; }
  .heritaging-menu.is-open a { animation: heritaging-menu-item-in .175s cubic-bezier(.16, 1, .3, 1) both; }
  .heritaging-menu.is-open a::after { animation: heritaging-menu-line-in .125s cubic-bezier(.16, 1, .3, 1) both; }
  .heritaging-menu.is-open a:nth-child(1) { animation-delay: .275s; }
  .heritaging-menu.is-open a:nth-child(2) { animation-delay: .315s; }
  .heritaging-menu.is-open a:nth-child(3) { animation-delay: .355s; }
  .heritaging-menu.is-open a:nth-child(4) { animation-delay: .395s; }
  .heritaging-menu.is-open a:nth-child(5) { animation-delay: .435s; }
  .heritaging-menu.is-open a:nth-child(1)::after { animation-delay: .3s; }
  .heritaging-menu.is-open a:nth-child(2)::after { animation-delay: .34s; }
  .heritaging-menu.is-open a:nth-child(3)::after { animation-delay: .38s; }
  .heritaging-menu.is-open a:nth-child(4)::after { animation-delay: .42s; }
  .heritaging-menu.is-open a:nth-child(5)::after { animation-delay: .46s; }
  .heritaging-button.heritaging-button--primary.heritaging-nav-cta { position: fixed; z-index: 3; top: calc(var(--heritaging-menu-panel-top) + 232px); right: 28px; display: none; inline-size: 127px; width: 127px; min-height: 48px; height: 48px; align-items: center; justify-content: center; padding: 12px; color: var(--heritaging-mint); font-size: 12px; font-weight: 600; line-height: 12px; letter-spacing: 1.44px; text-align: center; opacity: 0; }
  .heritaging-nav.is-menu-open .heritaging-nav-cta { display: flex; animation: heritaging-menu-cta-in .175s cubic-bezier(.16, 1, .3, 1) .49s both; }
  .admin-bar .heritaging-nav { --heritaging-menu-panel-top: 134px; }
}

@media (max-width: 1024px) {
  :root { --heritaging-gutter: 40px; }

  .heritaging-section { padding-block: 112px; }
  .heritaging-h1 { font-size: clamp(40px, 5vw, 56px); }
  .heritaging-h2 { font-size: clamp(40px, 6vw, 48px); }
  .heritaging-carousel-card { flex-basis: 300px; padding: 40px; }
  .heritaging-nav { padding-inline: 80px; }
  .heritaging-hero-stage { --heritaging-hero-gutter: 40px; }
  .heritaging-logo-carousel { --heritaging-logo-lift: clamp(56px, calc(50vh - 344px), 176px); }
  .heritaging-hero { padding-inline: var(--heritaging-hero-gutter); }
  .heritaging-hero .heritaging-h1 { max-width: none; }
  .heritaging-hero .heritaging-h1 > span { display: inline; white-space: normal; }
  .heritaging-diagnosis { padding-inline: 40px; }
  .heritaging-process-sticky { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 48px; padding: 112px 40px; }
  .heritaging-article-shell { padding-inline: 40px; }
  .heritaging-home-compass-card { flex-basis: calc((100% - 32px) / 2); }
}

@media (max-width: 900px) {
  .heritaging-for-whom .heritaging-three-columns { grid-template-columns: 1fr; gap: 64px; }
  .heritaging-audience { min-height: 0; }
  .heritaging-article-image-block, .heritaging-article-image-copy, .heritaging-article-image-copy--reverse { display: flex; flex-direction: column; align-items: stretch; gap: 24px; }
  .heritaging-article-image-block-copy { align-self: stretch; }
  .heritaging-article-image-copy figure, .heritaging-article-image-copy--reverse figure { order: 0; }
  .heritaging-article-image-copy > div { order: 1; }
  .heritaging-article-cta { grid-template-columns: 1fr; gap: 24px; }
  .heritaging-article-cta .heritaging-button, .heritaging-article-cta .wp-block-buttons { width: min(100%, 320px); }
  .heritaging-article-related, .heritaging-article-related.wp-block-post-template { grid-template-columns: 1fr; gap: 48px; }
}

@media (max-width: 767px) {
  :root { --heritaging-gutter: 24px; }

  .heritaging-section { padding-block: 80px; }
  .heritaging-h1 { font-size: clamp(40px, 11vw, 52px); letter-spacing: -0.8px; }
  .heritaging-h2 { font-size: 36px; letter-spacing: -0.36px; }
  .heritaging-h3 { font-size: 28px; }
  .heritaging-card-title { font-size: 24px; }
  .heritaging-body-large { font-size: 18px; line-height: 1.5; }
  .heritaging-carousel-card { flex-basis: min(78vw, 288px); min-height: 420px; padding: 32px; }
  .heritaging-nav { padding-inline: 40px; }
  .heritaging-menu { width: 100%; }
  .heritaging-hero-stage { min-height: calc(100svh - 102px); }
  .admin-bar .heritaging-hero-stage { min-height: calc(100svh - 148px); }
  .admin-bar .heritaging-nav { --heritaging-menu-panel-top: 148px; top: 46px; }
  .heritaging-hero-stage { --heritaging-hero-gutter: 24px; padding-bottom: 36px; }
  .heritaging-hero { min-height: 0; padding: clamp(32px, 6vh, 56px) var(--heritaging-hero-gutter) clamp(24px, 4vh, 36px); }
  .heritaging-hero .heritaging-h1 { margin-top: 24px; font-size: clamp(36px, 10.5vw, 44px); line-height: 1.08; }
  .heritaging-hero-actions, .heritaging-diagnosis, .heritaging-process-sticky, .heritaging-contact-grid, .heritaging-team-grid { grid-template-columns: 1fr; }
  .heritaging-hero-actions { display: grid; gap: 16px; padding-top: 24px; }
  .heritaging-hero-actions .heritaging-button { width: 100%; }
  .heritaging-logo-carousel { --heritaging-logo-gap: 24px; --heritaging-logo-gap-share: 12px; --heritaging-logo-lift: clamp(38px, 6vh, 48px); --heritaging-logos-per-page: 2; }
  .heritaging-logo-carousel-item { flex-basis: calc(50% - var(--heritaging-logo-gap-share)); }
  .heritaging-logo-carousel-item { height: 77px; justify-content: center; }
  .heritaging-logo-carousel-item img { max-width: min(132px, 100%); max-height: 72px; }
  .heritaging-marquee-wrapper { padding-block: 16px; }
  .heritaging-diagnosis { gap: 48px; padding: 80px 24px; }
  .heritaging-form, .heritaging-contact-form { padding: 32px 24px; }
  .heritaging-privacy-page__content { padding: 64px 24px 80px; }
  .heritaging-privacy-page__intro { margin-bottom: 40px; }
  .heritaging-privacy-page__body h2 { margin-top: 40px; font-size: 28px; }
  .heritaging-form-row, .heritaging-three-columns, .heritaging-insights, .heritaging-team-members { grid-template-columns: 1fr; }
  .heritaging-for-whom .heritaging-three-columns { gap: 56px; }
  .heritaging-for-whom { padding-top: 48px; }
  .heritaging-audience-cta { flex-wrap: wrap; row-gap: 12px; }
  .heritaging-process-sticky { gap: 48px; padding: 80px 24px; }
  .heritaging-manifest-teaser { padding-block: 80px; }
  .heritaging-manifest-teaser__inner, .heritaging-manifest-page__content, .heritaging-manifest-page__intro { gap: 32px; }
  .heritaging-manifest-teaser .heritaging-h2, .heritaging-manifest-page__intro .heritaging-h2 { font-size: 32px; line-height: 1.35; letter-spacing: -0.32px; }
  .heritaging-manifest-teaser__cta { gap: 24px; }
  .heritaging-manifest-teaser__cta p, .heritaging-manifest-page__statement { font-size: 24px; line-height: 1.45; }
  .heritaging-manifest-page__content { padding-top: 96px; padding-bottom: 96px; }
  .heritaging-accordion summary { min-height: 74px; padding: 20px 0; font-size: 24px; }
  .heritaging-accordion summary > span:first-child { margin-right: 20px; }
  .heritaging-accordion-panel { padding-left: 40px; }
  .heritaging-areas { padding: 80px 0 48px; }
  .heritaging-areas .heritaging-container { margin-bottom: 40px; }
  .heritaging-areas .heritaging-carousel-track { width: 100%; padding-left: 24px; }
  .heritaging-section-heading { align-items: flex-start; flex-direction: column; margin-bottom: 48px; }
  .heritaging-home-compass-track { gap: 16px; }
  .heritaging-home-compass-card { flex-basis: min(84vw, 320px); }
  .heritaging-home-compass-controls { justify-content: space-between; margin-top: 32px; }
  .heritaging-home-compass-status { margin-right: auto; text-align: left; }
  .heritaging-compass-archive__heading { align-items: flex-start; flex-direction: column; margin-bottom: 48px; }
  .heritaging-compass-archive__count { margin-bottom: 0; }
  .heritaging-compass-grid { row-gap: 56px; }
  .heritaging-insights .heritaging-compass-card h2.heritaging-h3 { font-size: 28px; line-height: 1.25; letter-spacing: -.28px; }
  .heritaging-case, .heritaging-case--reverse { grid-template-columns: 1fr; gap: 24px; margin-bottom: 64px; }
  .heritaging-case--reverse .parallax-image { order: 0; }
  .heritaging-team-members img { height: 360px; }
  .heritaging-contact-copy { padding-top: 0; }
  .heritaging-faq .heritaging-h2 { margin-bottom: 40px; }
  .heritaging-faq details p { margin-left: 0; }
  .heritaging-footer { align-items: flex-start; flex-direction: column; padding: 24px 20px; }
  .heritaging-article-shell { padding: 64px 20px 0; }
  .heritaging-article-header, .heritaging-article-hero-pattern, .heritaging-portfolio-hero-pattern { padding-top: 32px; }
  .heritaging-article-kicker { margin-bottom: 24px; font-size: 10px; line-height: 1.3; }
  .heritaging-article-header .heritaging-h1 { font-size: 40px; line-height: 1.08; }
  .heritaging-article-hero-pattern .wp-block-post-title, .heritaging-portfolio-hero-pattern .wp-block-post-title { font-size: 40px; line-height: 1.08; }
  .heritaging-article-hero, .heritaging-portfolio-hero { width: calc(100% + 40px); height: min(623px, 160vw); margin-inline: -20px; }
  .heritaging-article-intro { padding-top: 48px; }
  .heritaging-article-lead { font-size: 20px; line-height: 1.45; }
  .heritaging-article-hero-pattern .heritaging-article-hero, .heritaging-portfolio-hero-pattern .heritaging-portfolio-hero { margin-bottom: 48px; }
  .heritaging-article-hero-pattern .wp-block-post-excerpt, .heritaging-portfolio-hero-pattern .wp-block-post-excerpt { font-size: 20px; line-height: 1.45; }
  .heritaging-article-copy, .heritaging-article-content > p, .heritaging-article-body p { font-size: 14px; line-height: 1.6; }
  .heritaging-article-content { grid-template-columns: 1fr; row-gap: 48px; margin-top: 48px; }
  .heritaging-article-content > * { grid-column: 1; }
  .heritaging-article-image-block, .heritaging-article-image-copy, .heritaging-article-image-copy--reverse { gap: 16px; }
  .heritaging-article-image-block img { height: 210px; }
  .heritaging-article-image-block-copy { align-self: stretch; gap: 12px; }
  .heritaging-article-image-copy img { height: 260px; }
  .heritaging-article-image-copy h2 { font-size: 28px; }
  .heritaging-article-key-points { min-height: 0; padding: 24px; border-width: 2px; }
  .heritaging-article-key-points__list { gap: 24px; }
  .heritaging-article-key-points__title { font-size: 20px; line-height: 1.2; }
  .heritaging-article-key-points__item > p { font-size: 14px; line-height: 1.6; }
  .heritaging-article-gallery > h2 { margin-bottom: 24px; }
  .heritaging-article-gallery-track.wp-block-gallery { gap: 16px; }
  .heritaging-article-gallery-track.wp-block-gallery > .wp-block-image { flex-basis: calc(100vw - 56px); }
  .heritaging-article-gallery-track.wp-block-gallery > .wp-block-image img { aspect-ratio: 16 / 9; height: auto; }
  .heritaging-article-cta { gap: 16px; padding: 48px 0; }
  .heritaging-article-cta .heritaging-button { width: 100%; }
  .heritaging-article-compass { padding: 0 0 64px; }
  .heritaging-article-section-head { align-items: flex-start; flex-direction: column; gap: 16px; margin-bottom: 32px; }
  .heritaging-article-section-head h2 { font-size: 36px; }
  .heritaging-article-related { grid-template-columns: 1fr; gap: 32px; }
  .heritaging-article-related h3 { font-size: 24px; }
}

@media (hover: none), (pointer: coarse) {
  .heritaging-compass-card__media { height: clamp(200px, 60vw, 280px); }
  .heritaging-compass-card__media img { opacity: 1; clip-path: inset(0); transform: none; }
}

@media (max-width: 767px) and (max-height: 700px) {
  .heritaging-hero { padding: 24px var(--heritaging-hero-gutter) 20px; }
  .heritaging-hero-kicker { font-size: 10px; }
  .heritaging-hero .heritaging-h1 { margin-top: 16px; font-size: clamp(32px, 9vw, 38px); }
  .heritaging-hero-actions { gap: 12px; padding-top: 16px; }
  .heritaging-hero-actions .heritaging-body-large { font-size: 16px; line-height: 1.4; }
  .heritaging-hero-actions .heritaging-button { min-height: 48px; padding-block: 16px; }
  .heritaging-logo-carousel-item { height: 62px; }
  .heritaging-logo-carousel-item img { max-height: 58px; }
  .heritaging-marquee-wrapper { padding-block: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .heritaging-logo-image {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 479px) {
  :root { --heritaging-gutter: 20px; }
  .heritaging-h1 { font-size: 38px; }
  .heritaging-h2 { font-size: 32px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
  .parallax-image img { transform: none !important; }
}
