
.content-page { background: #fffaf6; }
.page-hero {
  position: relative;
  padding: 28px 0 50px;
  overflow: hidden;
  background:
    radial-gradient(circle at 76% 22%, rgba(233,179,148,.18), transparent 20rem),
    linear-gradient(180deg, #fff9f4 0%, #fffdfb 68%, rgba(255,250,246,0) 100%);
}
.page-hero::after {
  content: "";
  position: absolute;
  left: -8%;
  right: -8%;
  bottom: -58px;
  height: 132px;
  border-top: 1px solid rgba(233, 223, 216, .88);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  background: var(--page);
}
.page-hero-shell {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .84fr) minmax(480px, 1.16fr);
  gap: 20px;
  align-items: center;
  min-height: 470px;
  padding: 52px 0 90px;
}
.page-hero-copy { max-width: 560px; padding-left: 4px; }
.page-hero .eyebrow { margin: 0 0 18px; }
.page-hero h1 {
  margin: 0;
  max-width: 12.2ch;
  font-family: var(--font-display);
  font-size: clamp(3rem, 5vw, 5rem);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.028em;
  color: #303535;
}
.hero-line { display: block; }
.page-hero-rule {
  display: block;
  width: 64px;
  height: 3px;
  margin: 24px 0 22px;
  border-radius: 999px;
  background: var(--coral);
}
.page-lede {
  max-width: 34rem;
  margin: 0;
  color: var(--ink-soft);
  font-size: 1.15rem;
  line-height: 1.66;
}
.page-meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 18px 0 0;
  padding: 10px 14px;
  border: 1px solid #eadad0;
  border-radius: 999px;
  background: rgba(255, 252, 248, .9);
  color: #6f726f;
  font-size: var(--type-meta);
  line-height: 1.3;
}
.page-hero-art {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  opacity: .98;
}
.page-hero-art img {
  width: min(100%, 690px);
  height: auto;
  object-fit: contain;
  transform: translateX(18px) scale(1.16);
  transform-origin: center right;
  filter: drop-shadow(0 16px 36px rgba(87, 67, 54, 0.06));
}
.page-hero + .content-section { padding-top: 8px; }
.content-section { padding: 46px 0 82px; }
.content-section.compact-top { padding-top: 22px; }
.narrow-content { max-width: 1080px; }
.prose { max-width: 760px; margin: 0 auto 40px; }
.intro-prose { max-width: 860px; text-align: center; }
.prose h2, .policy-content h2 {
  margin: 42px 0 12px;
  font-family: var(--font-display);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.012em;
  color: #303535;
}
.prose h2 { font-size: clamp(2rem, 3vw, 2.45rem); }
.prose p, .policy-content p, .policy-content li { color: #505654; font-size: 1rem; line-height: 1.72; }
.prose a, .policy-content a, .info-card a, .report-card a { color: var(--coral); font-weight: 600; text-underline-offset: 3px; }
.value-grid, .principle-grid, .contact-options { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; margin: 28px 0 44px; }
.info-card {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255,255,255,.84);
  box-shadow: 0 14px 34px rgba(75,52,41,.035);
}
.info-card h3 { margin: 10px 0 10px; font-size: 1.15rem; line-height: 1.34; }
.info-card p { margin: 0; color: var(--ink-soft); font-size: var(--type-secondary); line-height: 1.62; }
.info-card a { display: inline-block; margin-top: 16px; font-size: var(--type-secondary); }
.card-kicker, .report-type { color: var(--coral); font-size: var(--type-meta); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.status-panel, .callout { display: flex; gap: 18px; padding: 26px 28px; border: 1px solid #eadad0; border-radius: 18px; background: #fff4ed; }
.status-panel { align-items: flex-start; margin-bottom: 40px; }
.status-panel .eyebrow { margin-bottom: 7px; }
.status-panel h2, .callout h2 { margin: 0 0 8px; font-size: 1.35rem; }
.status-panel p:not(.eyebrow), .callout p { margin: 0; color: var(--ink-soft); }
.status-dot { width: 12px; height: 12px; flex: 0 0 auto; margin-top: 8px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 6px rgba(185,85,61,.12); }
.callout { display: block; margin: 38px 0; }
.callout .button { margin-top: 18px; }
.warning-callout { background: #fff8e8; border-color: #ead9ab; }
.button-row { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.empty-state { max-width: 680px; margin: 20px auto; padding: 56px 32px; text-align: center; border: 1px dashed #d8c7bd; border-radius: 24px; background: rgba(255,255,255,.52); }
.empty-mark { display: grid; width: 58px; height: 58px; place-items: center; margin: 0 auto 20px; border-radius: 16px; background: var(--surface-warm); color: var(--coral); font-family: var(--font-display); font-size: 1.3rem; }
.empty-state h2 { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: 2rem; }
.empty-state p { margin: 14px auto 24px; max-width: 34rem; color: var(--ink-soft); }
.contact-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 42px; align-items: start; }
.contact-options { grid-template-columns: 1fr; margin: 0; }
.contact-form { padding: 32px; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow); }
.contact-form h2 { margin: 0 0 24px; font-family: var(--font-display); font-size: 2rem; font-weight: 400; }
.contact-form label { display: grid; gap: 8px; margin: 16px 0; font-size: var(--type-secondary); font-weight: 600; }
.contact-form input, .contact-form select, .contact-form textarea, .help-search input { width: 100%; border: 1px solid #d9cdc5; border-radius: 10px; color: var(--ink); background: #fff; }
.contact-form input, .contact-form select { min-height: 48px; padding: 0 14px; }
.contact-form textarea { padding: 13px 14px; resize: vertical; }
.help-search-section { padding: 18px 0 0; }
.help-search { max-width: 760px; height: 58px; display: flex; align-items: center; gap: 12px; margin: 0 auto; padding: 0 18px; border: 1px solid #d9cdc5; border-radius: 14px; background: #fff; box-shadow: 0 12px 30px rgba(75,52,41,.05); }
.help-search svg { width: 24px; height: 24px; flex: 0 0 auto; fill: none; stroke: #6a6e6c; stroke-width: 1.8; }
.help-search input { height: 100%; padding: 0; border: 0; outline: 0; font-size: 1rem; }
.help-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.help-card { padding: 26px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.8); }
.help-card > span { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border-radius: 10px; color: var(--coral); background: var(--surface-warm); font-size: var(--type-meta); font-weight: 700; }
.help-card h2 { margin: 18px 0 8px; font-size: 1.15rem; }
.help-card p, .help-card li { color: var(--ink-soft); font-size: var(--type-secondary); line-height: 1.55; }
.help-card p { margin: 0 0 14px; }
.help-card ul { margin: 0; padding-left: 18px; }
.help-bottom { display: flex; justify-content: space-between; gap: 32px; align-items: center; margin-top: 42px; padding: 28px; border-radius: 18px; background: #fff3ec; }
.help-bottom h2 { margin: 0 0 7px; font-family: var(--font-display); font-weight: 400; }
.help-bottom p { max-width: 570px; margin: 0; color: var(--ink-soft); }
.search-empty { margin: 22px auto; text-align: center; color: var(--ink-soft); }
.report-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.report-card { padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.84); }
.report-card h2 { margin: 9px 0 10px; font-size: 1.2rem; }
.report-card p { margin: 0; color: var(--ink-soft); line-height: 1.6; }
.report-card a { display: inline-block; margin-top: 17px; }
.policy-shell { display: grid; grid-template-columns: 238px minmax(0,760px); gap: 48px; align-items: start; justify-content: center; }
.policy-nav { position: sticky; top: 104px; display: flex; flex-direction: column; gap: 4px; }
.policy-nav-title { margin: 0 0 9px; color: #7a7d7b; font-size: var(--type-meta); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.policy-nav a { padding: 8px 10px; border-radius: 8px; color: #4c514f; font-size: var(--type-secondary); text-decoration: none; }
.policy-nav a:hover, .policy-nav a[aria-current="page"] { color: var(--coral); background: #fff1e9; }
.policy-content { min-width: 0; }
.policy-content > h2:first-of-type { margin-top: 34px; }
.policy-content h2 { font-size: 1.75rem; }
.policy-content h3 { margin: 28px 0 8px; font-size: 1.05rem; }
.policy-content ul { padding-left: 21px; }
.policy-summary, .policy-draft { padding: 24px 26px; border-radius: 16px; }
.policy-summary { margin-bottom: 34px; border: 1px solid #eadad0; background: #fff4ed; }
.policy-summary .eyebrow { margin-bottom: 8px; }
.policy-summary p:last-child { margin: 0; color: #454b49; font-size: 1rem; line-height: 1.65; }
.policy-draft { margin-bottom: 22px; border: 1px solid #e3d7bf; background: #fff9ea; color: #5a503b; font-size: var(--type-secondary); line-height: 1.55; }
.placeholder { padding: .08em .3em; border-radius: 4px; background: #ffe7ad; color: #584316; font-weight: 600; }
.policy-content .callout { color: #4d5351; line-height: 1.65; }
.policy-table-wrap { overflow-x: auto; margin: 22px 0 30px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.policy-table { width: 100%; border-collapse: collapse; min-width: 620px; }
.policy-table th, .policy-table td { padding: 14px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); font-size: var(--type-secondary); line-height: 1.55; }
.policy-table th { color: #343938; background: #fff7f2; font-weight: 600; }
.policy-table tr:last-child td { border-bottom: 0; }
.policy-contact { margin-top: 52px; padding-top: 28px; border-top: 1px solid var(--line); }
.policy-contact h2 { margin: 0 0 9px; font-size: 1.4rem; }
.policy-cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin: 28px 0 46px; }
.policy-cards a { padding: 22px; border: 1px solid var(--line); border-radius: 14px; color: inherit; background: #fff; text-decoration: none; }
.policy-cards a:hover { border-color: #d9beb0; box-shadow: 0 10px 24px rgba(75,52,41,.05); }
.policy-cards h2 { margin: 0 0 7px; font-family: var(--font-ui); font-size: 1rem; font-weight: 600; }
.policy-cards p { margin: 0; font-size: var(--type-secondary); line-height: 1.5; }
.footer-grid-expanded { grid-template-columns: 1.35fr repeat(4,.72fr) 1.25fr; gap: 28px; }
.footer-bottom-legal { gap: 26px; }
.footer-bottom-legal nav { display: flex; gap: 16px; flex-wrap: wrap; }
.footer-bottom-legal nav a { color: #747875; font-size: var(--type-meta); text-decoration: none; }
.footer-bottom-legal nav a:hover { color: var(--coral); }
@media (max-width: 1100px) {
  .footer-grid-expanded { grid-template-columns: 1.3fr repeat(2,1fr); }
  .footer-grid-expanded .newsletter { grid-column: span 2; }
  .policy-shell { grid-template-columns: 210px minmax(0,1fr); gap: 34px; }
}
@media (max-width: 980px) {
  .page-hero { padding-top: 22px; }
  .page-hero::after { bottom: -44px; height: 98px; }
  .page-hero-shell { grid-template-columns: 1fr; min-height: 0; padding: 30px 0 62px; gap: 20px; }
  .page-hero-copy { max-width: none; }
  .page-hero h1 { max-width: 12ch; }
  .page-hero-art { justify-content: flex-end; }
  .page-hero-art img { width: min(100%, 620px); transform: none; }
}
@media (max-width: 820px) {
  .value-grid,.principle-grid,.help-grid { grid-template-columns: 1fr 1fr; }
  .contact-layout { grid-template-columns: 1fr; }
  .policy-shell { grid-template-columns: 1fr; }
  .policy-nav { position: static; display: grid; grid-template-columns: repeat(2,1fr); padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
  .policy-nav-title { grid-column: 1/-1; }
  .report-grid { grid-template-columns: 1fr; }
  .help-bottom { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 620px) {
  .page-hero { padding: 14px 0 28px; }
  .page-hero::after { bottom: -38px; height: 74px; }
  .page-hero-shell { padding: 16px 0 48px; }
  .page-hero h1 { font-size: clamp(2.4rem, 12vw, 3.7rem); max-width: none; }
  .page-lede { font-size: 1.03rem; }
  .value-grid,.principle-grid,.help-grid,.policy-cards { grid-template-columns: 1fr; }
  .policy-nav { grid-template-columns: 1fr; }
  .contact-form { padding: 24px 20px; }
  .status-panel { padding: 22px; }
  .footer-grid-expanded { grid-template-columns: 1fr 1fr; }
  .footer-grid-expanded .footer-brand,.footer-grid-expanded .newsletter { grid-column: 1/-1; }
  .footer-bottom-legal { align-items: flex-start; flex-direction: column; }
}

/* =========================================================
   Responsive company / support / legal page heroes
   ========================================================= */

.page-hero {
  padding-top: clamp(20px, 2.2vw, 28px);
  padding-bottom: clamp(38px, 4vw, 50px);
}

.page-hero-shell {
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  gap: clamp(16px, 2.4vw, 32px);
  min-height: clamp(420px, 39vw, 500px);
  padding-top: clamp(38px, 4.4vw, 56px);
  padding-bottom: clamp(72px, 7vw, 94px);
}

.page-hero-copy {
  max-width: 600px;
}

.page-hero h1 {
  max-width: 12.5ch;
  font-size: clamp(3rem, 2.25rem + 2.8vw, 5rem);
}

.page-lede {
  font-size: clamp(1.025rem, .98rem + .2vw, 1.15rem);
}

.page-hero-art {
  justify-content: flex-end;
  overflow: visible;
}

.page-hero-art img {
  width: min(100%, 700px);
  height: auto;
  transform: scale(1.12);
  transform-origin: center right;
}

.hero-line {
  display: block;
}

.value-grid,
.principle-grid,
.help-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

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

.contact-layout {
  grid-template-columns: minmax(260px, .9fr) minmax(0, 1.1fr);
}

.policy-shell {
  grid-template-columns: minmax(190px, 238px) minmax(0, 760px);
}

@media (max-width: 1180px) {
  .page-hero-shell {
    grid-template-columns: minmax(0, .92fr) minmax(380px, 1.08fr);
  }

  .page-hero-art img {
    transform: scale(1.08);
  }

  .footer-grid-expanded {
    grid-template-columns: 1.2fr repeat(3, minmax(110px, .8fr));
  }

  .footer-grid-expanded .newsletter {
    grid-column: 1 / -1;
  }
}

@media (max-width: 920px) {
  .page-hero-shell {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 22px;
    padding-top: 30px;
    padding-bottom: 72px;
  }

  .page-hero-copy {
    max-width: 720px;
  }

  .page-hero h1 {
    max-width: 14ch;
  }

  .page-hero-art {
    justify-content: center;
  }

  .page-hero-art img {
    width: min(100%, 650px);
    transform: none;
  }

  .value-grid,
  .principle-grid,
  .help-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-layout {
    grid-template-columns: 1fr;
  }

  .policy-shell {
    grid-template-columns: 1fr;
  }

  .policy-nav {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .page-hero {
    padding-top: 12px;
    padding-bottom: 28px;
  }

  .page-hero-shell {
    padding-top: 20px;
    padding-bottom: 54px;
  }

  .page-hero h1 {
    max-width: none;
    font-size: clamp(2.45rem, 11.5vw, 3.35rem);
  }

  .hero-line {
    display: inline;
  }

  .hero-line + .hero-line::before {
    content: " ";
  }

  .page-hero-rule {
    margin-block: 20px 18px;
  }

  .page-hero-art img {
    width: 100%;
  }

  .value-grid,
  .principle-grid,
  .help-grid,
  .policy-cards,
  .report-grid {
    grid-template-columns: 1fr;
  }

  .policy-nav {
    grid-template-columns: 1fr;
  }

  .info-card,
  .help-card,
  .report-card {
    padding: 22px;
  }

  .footer-grid-expanded {
    grid-template-columns: 1fr 1fr;
  }

  .footer-grid-expanded .footer-brand,
  .footer-grid-expanded .newsletter {
    grid-column: 1 / -1;
  }
}

@media (max-width: 390px) {
  .page-hero h1 {
    font-size: clamp(2.25rem, 11vw, 2.7rem);
  }

  .footer-grid-expanded {
    grid-template-columns: 1fr;
  }

  .footer-grid-expanded .footer-brand,
  .footer-grid-expanded .newsletter {
    grid-column: auto;
  }

  .policy-table {
    min-width: 520px;
  }
}

@media (min-width: 921px) and (max-height: 760px) {
  .page-hero-shell {
    min-height: 390px;
    padding-top: 30px;
    padding-bottom: 68px;
  }

  .page-hero h1 {
    font-size: clamp(2.9rem, 4.5vw, 4.35rem);
  }

  .page-hero-art img {
    width: auto;
    max-width: 100%;
    max-height: 54vh;
    transform: none;
  }

  .page-hero-rule {
    margin-block: 18px 16px;
  }
}

@media (min-width: 921px) and (max-height: 640px) {
  .page-hero-shell {
    min-height: 340px;
    padding-top: 22px;
    padding-bottom: 56px;
  }

  .page-hero h1 {
    font-size: clamp(2.65rem, 4vw, 3.9rem);
  }

  .page-lede {
    line-height: 1.52;
  }

  .page-hero-art img {
    max-height: 48vh;
  }
}


/* v11: About-page artwork is intentionally larger than the generic
   policy/support hero artwork. Preserve natural ratio at every size. */
@media (min-width: 921px) {
  .about-page .page-hero-shell {
    grid-template-columns: minmax(0, .91fr) minmax(0, 1.09fr);
    gap: 10px;
  }

  .about-page .page-hero-art {
    overflow: visible;
    justify-content: flex-end;
  }

  .about-page .page-hero-art img {
    width: min(100%, 740px);
    max-width: none;
    max-height: none;
    height: auto;
    transform: scale(1.55);
    transform-origin: center right;
  }
}

@media (max-width: 920px) {
  .about-page .page-hero-art img {
    width: min(100%, 650px);
    max-height: none;
    transform: none;
  }
}

/* =========================================================
   v12 CROSS-BROWSER COMPANY / SUPPORT / LEGAL LAYOUT
   ========================================================= */

.page-hero-shell {
  display: flex;
  min-height: 470px;
  align-items: center;
  justify-content: space-between;
}

.page-hero-copy {
  flex: 0 1 46%;
  width: 46%;
  max-width: 590px;
}

.page-hero-art {
  flex: 0 1 54%;
  width: 54%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  overflow: visible;
}

.page-hero-art img {
  display: block;
  width: 100%;
  max-width: 720px;
  height: auto;
  max-height: none;
  transform: none;
  object-fit: contain;
}

.page-hero h1 {
  font-size: 72px;
  max-width: 12.5ch;
}

/* About artwork gets more width without transform scaling. */
.about-page .page-hero-copy {
  flex-basis: 44%;
  width: 44%;
}

.about-page .page-hero-art {
  flex-basis: 56%;
  width: 56%;
}

.about-page .page-hero-art img {
  width: 100%;
  max-width: 760px;
  height: auto;
  transform: none;
}

/* Card grids via Flexbox for older Edge. */
.value-grid,
.principle-grid,
.help-grid,
.report-grid,
.policy-cards {
  display: flex;
  flex-wrap: wrap;
  margin-left: -9px;
  margin-right: -9px;
}

.value-grid > *,
.principle-grid > *,
.help-grid > * {
  flex: 1 1 calc(33.333% - 18px);
  width: calc(33.333% - 18px);
  margin: 9px;
}

.report-grid > *,
.policy-cards > * {
  flex: 1 1 calc(50% - 18px);
  width: calc(50% - 18px);
  margin: 9px;
}

.contact-layout {
  display: flex;
  align-items: flex-start;
}

.contact-layout > * {
  flex: 1 1 50%;
  width: 50%;
}

.contact-layout > * + * {
  margin-left: 42px;
}

/* Policy layout: flex fallback for CSS Grid. */
.policy-shell {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.policy-nav {
  flex: 0 0 220px;
  width: 220px;
  margin-right: 42px;
}

.policy-content {
  flex: 0 1 760px;
  width: calc(100% - 262px);
}

/* Expanded footer fallback */
.footer-grid-expanded {
  display: flex;
  flex-wrap: wrap;
}

/* ---- Compact desktop ---- */
@media (max-width: 1180px) {
  .page-hero h1 {
    font-size: 62px;
  }

  .page-hero-copy {
    flex-basis: 47%;
    width: 47%;
  }

  .page-hero-art {
    flex-basis: 53%;
    width: 53%;
  }

  .page-hero-art img {
    max-width: 650px;
  }
}

/* ---- Tablet / narrow browser ---- */
@media (max-width: 860px) {
  .page-hero-shell {
    display: block;
    min-height: 0;
  }

  .page-hero-copy,
  .page-hero-art,
  .about-page .page-hero-copy,
  .about-page .page-hero-art {
    width: 100%;
    max-width: none;
  }

  .page-hero-copy {
    margin-bottom: 24px;
  }

  .page-hero-art,
  .about-page .page-hero-art {
    justify-content: center;
  }

  .page-hero-art img,
  .about-page .page-hero-art img {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
  }

  .page-hero h1 {
    font-size: 52px;
  }

  .value-grid > *,
  .principle-grid > *,
  .help-grid > * {
    flex-basis: calc(50% - 18px);
    width: calc(50% - 18px);
  }

  .contact-layout {
    display: block;
  }

  .contact-layout > * {
    width: 100%;
  }

  .contact-layout > * + * {
    margin-left: 0;
    margin-top: 30px;
  }

  .policy-shell {
    display: block;
  }

  .policy-nav,
  .policy-content {
    width: 100%;
    max-width: none;
    margin-right: 0;
  }

  .policy-nav {
    position: static;
    margin-bottom: 28px;
  }
}

/* ---- Mobile ---- */
@media (max-width: 620px) {
  .page-hero h1 {
    font-size: 44px;
    max-width: none;
  }

  .hero-line {
    display: inline;
  }

  .hero-line + .hero-line::before {
    content: " ";
  }

  .value-grid > *,
  .principle-grid > *,
  .help-grid > *,
  .report-grid > *,
  .policy-cards > * {
    flex-basis: calc(100% - 18px);
    width: calc(100% - 18px);
  }
}

@media (max-width: 390px) {
  .page-hero h1 {
    font-size: 38px;
  }
}

/* =========================================================
   v14 ABOUT-PAGE ARTWORK PROPORTION RESTORATION
   The v12 compatibility layer also reduced the previously
   approved larger About-page doorway artwork. Restore the same
   visual scale using intrinsic width rather than transforms.
   ========================================================= */
@media (min-width: 1181px) {
  .about-page .page-hero-art {
    overflow: visible;
    justify-content: flex-end;
  }

  .about-page .page-hero-art img {
    flex: 0 0 auto;
    width: 155%;
    max-width: none;
    height: auto;
    max-height: none;
    object-fit: contain;
    transform: none;
  }
}

@media (min-width: 861px) and (max-width: 1180px) {
  .about-page .page-hero-art img {
    flex: 0 0 auto;
    width: 120%;
    max-width: none;
    height: auto;
    max-height: none;
    object-fit: contain;
    transform: none;
  }
}

@media (max-width: 860px) {
  .about-page .page-hero-art img {
    width: 100%;
    max-width: 650px;
    height: auto;
    max-height: none;
    margin-left: auto;
    margin-right: auto;
    object-fit: contain;
    transform: none;
  }
}

/* v14.1: keep the About hero's accepted section height while the doorway
   artwork is visually enlarged. This mirrors the old 1.55x composition
   without allowing the image to increase document flow height. */
@media (min-width: 1181px) {
  .about-page .page-hero-shell {
    min-height: 470px;
  }

  .about-page .page-hero-art {
    position: relative;
    min-height: 470px;
    align-self: stretch;
  }

  .about-page .page-hero-art img {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }
}

/* v14.2: same duplicate-gap correction for content-page layouts that were
   converted from Grid to margin-spaced Flexbox by the compatibility layer. */
.value-grid,
.principle-grid,
.help-grid,
.report-grid,
.policy-cards,
.contact-layout,
.policy-shell {
  gap: 0;
}

/* Product milestones */
.roadmap-intro{max-width:760px;margin:0 0 46px;padding-bottom:30px;border-bottom:1px solid var(--line)}
.roadmap-intro>p:not(.eyebrow){margin:8px 0 0;color:var(--ink-soft);font-size:var(--type-body);line-height:1.7}
.milestone-list{list-style:none;margin:0;padding:0;position:relative}
.milestone-list::before{content:"";position:absolute;left:8px;top:12px;bottom:18px;width:1px;background:#dfd1c7}
.milestone-item{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:28px;padding:0 0 46px}
.milestone-marker{position:relative;z-index:1;width:17px;height:17px;margin-top:7px;border:4px solid var(--paper);border-radius:50%;background:#c7b8ad;box-shadow:0 0 0 1px #d8c9bf}
.milestone-item.is-current .milestone-marker{background:var(--coral);box-shadow:0 0 0 1px #c96b55}
.milestone-copy{max-width:780px}
.milestone-heading{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:8px}
.milestone-heading h2{margin:0;font-size:30px;line-height:1.18}
.milestone-status{color:#9b6253;font-family:var(--font-ui);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.milestone-copy>p{margin:0 0 14px;color:var(--ink-soft);font-size:16px;line-height:1.65}
.milestone-copy ul{display:grid;gap:7px;margin:0;padding-left:20px;color:#4f5552;font-size:15px;line-height:1.55}
.roadmap-note{margin-top:4px;padding:30px 0 0;border-top:1px solid var(--line)}
.roadmap-note h2{margin:0 0 10px;font-size:30px}.roadmap-note p{max-width:760px;margin:0 0 22px;color:var(--ink-soft);line-height:1.7}
@media(max-width:620px){.milestone-item{column-gap:20px;padding-bottom:38px}.milestone-heading h2,.roadmap-note h2{font-size:26px}.milestone-heading{display:block}.milestone-status{display:block;margin-bottom:5px}}

/* Keep content-page chrome aligned with the platform-wide shell in styles.css. */
.site-footer .footer-grid.footer-grid-expanded {
  display: grid !important;
  grid-template-columns: minmax(260px, 1.55fr) repeat(4, minmax(132px, 1fr));
  gap: 28px;
  align-items: start;
}

.site-footer .footer-grid.footer-grid-expanded > * {
  margin: 0 !important;
}

.site-footer .footer-grid.footer-grid-expanded .footer-brand,
.site-footer .footer-grid.footer-grid-expanded .newsletter {
  grid-column: auto !important;
  max-width: none !important;
}

.site-footer .footer-bottom-legal {
  align-items: center;
  flex-direction: row;
  justify-content: space-between;
}

.site-footer .footer-bottom-legal nav {
  justify-content: flex-end;
}

@media (max-width: 1120px) {
  .site-footer .footer-grid.footer-grid-expanded {
    grid-template-columns: minmax(220px, 1.35fr) repeat(4, minmax(110px, 1fr));
    gap: 22px;
  }
  .site-footer .footer-grid.footer-grid-expanded .footer-brand {
    grid-column: auto !important;
  }
}

@media (max-width: 860px) {
  .site-footer .footer-grid.footer-grid-expanded {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .site-footer .footer-grid.footer-grid-expanded .footer-brand {
    grid-column: 1 / -1 !important;
  }
  .site-footer .footer-bottom-legal {
    align-items: flex-start;
    flex-direction: column;
  }
  .site-footer .footer-bottom-legal nav {
    justify-content: flex-start;
  }
}

@media (max-width: 580px) {
  .site-footer .footer-grid.footer-grid-expanded {
    grid-template-columns: 1fr;
  }
  .site-footer .footer-grid.footer-grid-expanded .footer-brand {
    grid-column: auto !important;
  }
}

/* v16: alpha-safe content heroes.
   Converted illustration assets keep soft transparency and must never render
   as hard-edged posters over hero copy. */
.page-hero-shell {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  gap: clamp(28px, 3vw, 56px);
  align-items: center;
}

.page-hero-copy {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 600px;
  flex: initial;
}

.about-page .page-hero-copy {
  width: 100%;
  max-width: 620px;
}

.page-hero-art,
.about-page .page-hero-art {
  position: relative;
  z-index: 1;
  display: flex;
  width: auto;
  min-height: 360px;
  flex: initial;
  align-items: center;
  justify-content: flex-end;
  overflow: visible;
  border-radius: 0;
}

.page-hero-art img,
.about-page .page-hero-art img {
  position: static;
  display: block;
  width: min(108%, 760px);
  max-width: 100%;
  height: auto;
  max-height: min(58vw, 620px);
  margin-left: auto;
  object-fit: contain;
  object-position: center right;
  transform: none;
  filter: drop-shadow(0 24px 48px rgb(97 77 59 / .08));
}

.about-page .page-hero-art img {
  width: min(108%, 760px);
  max-width: 100%;
}

@media (max-width: 980px) {
  .page-hero-shell {
    grid-template-columns: 1fr;
  }

  .page-hero-art,
  .about-page .page-hero-art {
    min-height: 0;
    justify-content: center;
  }

  .page-hero-art img,
  .about-page .page-hero-art img {
    width: min(100%, 620px);
    max-width: 100%;
    max-height: none;
    margin-inline: auto;
  }
}
