/* Theme 5 — "Monarch" company skin (drafted for /green-monarch)
   Forked from theme-3's editorial structure. Colorway lifted from the
   client's logo: monarch lime wings on black. Rebuilt as a deep green-black
   ink, a cool sage-white paper (California marine light, not ivory), one
   action green ("leaf") for every control, and the logo lime reserved for
   the mark, the progress hairline, and the wing texture. Fraunces
   (display serif) + Albert Sans (body); type runs a step large for a
   62+ reader. Motion: transform + opacity only. Reveals via
   [data-reveal].is-visible. */

/* Fonts: Fraunces + Albert Sans, loaded by assets/fonts.css */

:root {
  --t5-ink: #231F20;
  --t5-ink-deep: #161314;
  --t5-moss: #3F1F5C;
  --t5-moss-soft: rgba(63, 31, 92, 0.08);
  --t5-leaf: #582D82;
  --t5-leaf-deep: #3F1F5C;
  --t5-leaf-soft: rgba(88, 45, 130, 0.1);
  --t5-lime: #CDB6E8;
  --t5-lime-soft: rgba(88, 45, 130, 0.18);
  --t5-text: #231F20;
  --t5-muted: #5C5859;
  --t5-line: rgba(35, 31, 32, 0.12);
  --t5-line-strong: rgba(35, 31, 32, 0.22);
  --t5-paper: #F3EEF7;
  --t5-paper-deep: #E6DCF2;
  --t5-surface: #FAFAF9;
  --t5-shadow:
    0 1px 2px rgba(35, 31, 32, 0.06),
    0 18px 40px rgba(35, 31, 32, 0.1);
  --t5-shadow-lg:
    0 1px 2px rgba(35, 31, 32, 0.08),
    0 30px 60px rgba(22, 19, 20, 0.28);
  --t5-display: "Fraunces", Georgia, "Times New Roman", serif;
  --t5-body: "Albert Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --t5-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --t5-ease-enter: cubic-bezier(0, 0, 0.2, 1);
  --t5-radius: 0.5rem;
  --t5-radius-lg: 1rem;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  /* Instant jumps. A long smooth scroll counted as a slow click on these pages. */
  scroll-behavior: auto;
}

/* Sticky header must not cover anchored section headings */
.t5-page section[id] {
  scroll-margin-top: 5rem;
}

html,
body.t5-page {
  overflow-x: clip;
}

body.t5-page {
  margin: 0;
  font-family: var(--t5-body);
  font-size: 1.0625rem;
  color: var(--t5-text);
  background: var(--t5-paper);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern", "liga";
}

.t5-page a:not(.t5-btn) {
  color: inherit;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sr-only:focus {
  position: fixed;
  top: 1rem;
  left: 1rem;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0.6rem 1rem;
  clip: auto;
  background: var(--t5-ink);
  color: #fff;
  z-index: 100;
  border-radius: var(--t5-radius);
}

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

.t5-wrap {
  width: min(1180px, calc(100% - 2.5rem));
  margin: 0 auto;
}

.t5-narrow {
  max-width: 46rem;
}

/* ——— Type ——— */
.t5-kicker {
  margin: 0 0 0.9rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--t5-leaf);
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
}

.t5-kicker::before {
  content: "";
  width: 1.5rem;
  height: 1px;
  background: currentColor;
  opacity: 0.7;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 700ms var(--t5-ease) 150ms;
}

.is-visible .t5-kicker::before,
.t5-kicker.is-visible::before,
.t5-rise.t5-kicker::before,
.t5-fit__head .t5-kicker::before {
  transform: scaleX(1);
}

html:not(.js) .t5-kicker::before {
  transform: scaleX(1);
}

.t5-fit__head .t5-kicker::after {
  content: "";
  width: 1.5rem;
  height: 1px;
  background: currentColor;
  opacity: 0.7;
}

.t5-kicker--lime {
  color: var(--t5-lime);
}

.t5-headline {
  margin: 0 0 1rem;
  font-family: var(--t5-display);
  font-weight: 500;
  font-size: clamp(2.1rem, 3.8vw, 3.35rem);
  line-height: 1.06;
  letter-spacing: -0.022em;
  color: #fff;
  text-wrap: balance;
}

.t5-headline em {
  font-style: italic;
  font-weight: 400;
  color: var(--t5-lime);
}

.t5-h2 {
  margin: 0 0 1rem;
  font-family: var(--t5-display);
  font-weight: 500;
  font-size: clamp(1.9rem, 3.2vw, 2.7rem);
  line-height: 1.1;
  letter-spacing: -0.018em;
  color: var(--t5-ink);
  text-wrap: balance;
}

.t5-h2--light {
  color: #fff;
}

.t5-lead {
  margin: 0 0 1.5rem;
  font-size: clamp(1.05rem, 1.35vw, 1.15rem);
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.78);
  max-width: 32rem;
}

.t5-muted {
  margin: 0 0 1.1rem;
  color: var(--t5-muted);
  max-width: 40rem;
}

.t5-muted strong {
  color: var(--t5-ink);
}

/* ——— Buttons ——— */
.t5-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.9rem 1.45rem;
  border-radius: 999px;
  font-family: var(--t5-body);
  font-weight: 600;
  font-size: 1rem;
  line-height: 1;
  text-decoration: none;
  border: 1.5px solid transparent;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition-property: transform, opacity, box-shadow;
  transition-duration: 350ms;
  transition-timing-function: var(--t5-ease);
  will-change: transform;
}

.t5-btn svg {
  width: 1.1rem;
  height: 1.1rem;
  transition: transform 350ms var(--t5-ease);
}

.t5-btn:hover svg {
  transform: translateX(3px);
}

.t5-btn--lg {
  padding: 1.05rem 1.75rem;
  font-size: 1.08rem;
}

.t5-btn--leaf {
  background: var(--t5-leaf);
  color: #fff;
  box-shadow:
    0 1px 1px rgba(63, 31, 92, 0.3),
    0 12px 28px rgba(88, 45, 130, 0.3);
}

.t5-btn--leaf:hover {
  transform: translateY(-2px);
  box-shadow:
    0 2px 2px rgba(63, 31, 92, 0.3),
    0 18px 34px rgba(88, 45, 130, 0.36);
}

.t5-btn--leaf:active {
  transform: translateY(0);
}

.t5-btn--moss {
  background: var(--t5-moss);
  color: #fff;
  box-shadow: 0 12px 28px rgba(63, 31, 92, 0.25);
}

.t5-btn--moss:hover {
  transform: translateY(-2px);
}

.t5-btn--ghost {
  background: transparent;
  color: var(--t5-ink);
  border-color: var(--t5-line-strong);
}

.t5-btn--ghost:hover {
  transform: translateY(-2px);
  box-shadow: var(--t5-shadow);
}

.t5-btn--ghost-light {
  background: rgba(255, 255, 255, 0.04);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.28);
}

.t5-btn--ghost-light:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.6);
}

.t5-btn:focus-visible {
  outline: 3px solid var(--t5-lime);
  outline-offset: 3px;
}

.t5-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.75rem;
}

.t5-cta-row--center {
  justify-content: center;
}

/* ——— Header ——— */
.t5-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(35, 31, 32, 0.82);
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  border-bottom: 1px solid rgba(88, 45, 130, 0.18);
}

.t5-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 0.95rem 0;
}

.t5-header .t5-wordmark {
  display: grid;
  gap: 0.2rem;
  text-decoration: none;
  color: #fff;
  min-width: 0;
}

.t5-header .t5-wordmark strong {
  font-family: var(--t5-display);
  font-weight: 500;
  font-size: 1.4rem;
  letter-spacing: -0.015em;
  line-height: 1;
  color: #fff;
}

.t5-header .t5-wordmark span {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 0.045em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.t5-header .t5-nav {
  display: none;
  align-items: center;
  gap: 0.15rem 1.65rem;
}

.t5-header .t5-nav a {
  font-size: 0.88rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  white-space: nowrap;
  padding: 0.35rem 0;
  border-bottom: 1px solid transparent;
  transition-property: color, border-color, opacity;
  transition-duration: 280ms;
  transition-timing-function: var(--t5-ease);
}

.t5-header .t5-nav a:hover {
  color: #fff;
  border-bottom-color: var(--t5-lime);
}

.t5-header .t5-nav a:focus-visible {
  outline: 2px solid var(--t5-lime);
  outline-offset: 4px;
  border-radius: 2px;
}

@media (min-width: 980px) {
  .t5-header .t5-nav {
    display: flex;
  }
}

.t5-header .t5-topbar__phone {
  display: none;
  align-items: center;
  gap: 0.5rem;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  font-size: 1.05rem;
}

.t5-header .t5-topbar__phone:hover {
  color: var(--t5-lime);
}

.t5-header .t5-topbar__phone svg {
  width: 1.2rem;
  height: 1.2rem;
}

@media (min-width: 760px) {
  .t5-header .t5-topbar__phone {
    display: inline-flex;
  }
}

.t5-header .t5-btn--leaf {
  box-shadow: 0 8px 22px rgba(88, 45, 130, 0.35);
}

.t5-header .t5-btn--leaf:hover {
  box-shadow: 0 10px 26px rgba(88, 45, 130, 0.45);
}

@media (max-width: 560px) {
  .t5-header .t5-wordmark span {
    display: none;
  }
  .t5-header .t5-topbar .t5-btn {
    padding: 0.7rem 1rem;
    font-size: 0.9rem;
  }
}

/* ——— Hero ——— */
.t5-hero {
  position: relative;
  background:
    radial-gradient(ellipse 70% 60% at 80% 20%, rgba(88, 45, 130, 0.12), transparent 65%),
    radial-gradient(ellipse 60% 50% at 10% 90%, rgba(88, 45, 130, 0.18), transparent 70%),
    linear-gradient(180deg, var(--t5-ink) 0%, var(--t5-ink-deep) 100%);
  color: #fff;
  overflow: hidden;
}

.t5-hero__grain {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.35;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.t5-hero__grid {
  position: relative;
  display: grid;
  gap: 1.75rem;
  padding: clamp(2.5rem, 5.5vw, 4rem) 0 clamp(2rem, 4vw, 3rem);
  align-items: start;
}

@media (min-width: 900px) {
  .t5-hero__grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    grid-template-areas:
      "copy portrait"
      "meta portrait";
    column-gap: 2.75rem;
    row-gap: 1.75rem;
    align-items: start;
  }

  .t5-hero__copy {
    grid-area: copy;
  }

  .t5-hero__portrait {
    grid-area: portrait;
  }

  .t5-hero__meta {
    grid-area: meta;
  }
}

.t5-hero__copy {
  padding-bottom: 0;
  /* Pull portrait face up to headline baseline on desktop */
  padding-top: 0.15rem;
}

.t5-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-bottom: 0;
}

.t5-hero__meta {
  display: grid;
  gap: 1rem;
}

.t5-creds {
  list-style: none;
  margin: 0;
  padding: 1.15rem 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.95rem 1.25rem;
  border-top: 1px solid var(--t5-lime-soft);
  position: relative;
}

.t5-creds::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 4.5rem;
  height: 1px;
  background: var(--t5-lime);
}

@media (min-width: 640px) {
  .t5-creds {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.t5-creds li {
  display: grid;
  gap: 0.15rem;
}

.t5-creds strong {
  font-family: var(--t5-display);
  font-weight: 500;
  font-size: 1.15rem;
  letter-spacing: -0.01em;
  color: #fff;
  line-height: 1.1;
}

.t5-creds span {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.35;
}

.t5-consent {
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.5;
  color: var(--t5-muted);
  max-width: 42rem;
}

.t5-consent--on-ink {
  color: rgba(255, 255, 255, 0.42);
}

.t5-consent a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Portrait sits with the headline — face, not waist */
.t5-hero__portrait {
  position: relative;
  margin: 0 auto;
  align-self: start;
  width: 100%;
  max-width: 22rem;
  justify-self: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media (min-width: 900px) {
  .t5-hero__portrait {
    max-width: 23rem;
    justify-self: end;
    margin-top: -2.25rem; /* face sits with the headline, not below it */
  }
}

.t5-hero__portrait img {
  display: block;
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: center 2%;
  margin: 0 auto;
  border-radius: 0;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 68%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0%, #000 68%, transparent 100%);
}

.t5-hero__portrait--ty {
  max-width: 30rem;
}

.t5-hero__portrait--ty img {
  border-radius: var(--t5-radius-lg);
  -webkit-mask-image: none;
  mask-image: none;
  box-shadow: var(--t5-shadow-lg);
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
}

/* Thank-you plate (kept for TY page) */
.t5-hero__plate {
  position: absolute;
  left: 50%;
  bottom: 1.75rem;
  transform: translateX(-50%);
  display: grid;
  gap: 0.3rem;
  width: min(19rem, calc(100% - 2rem));
  max-width: 19rem;
  padding: 1rem 1.15rem;
  background: rgba(250, 250, 249, 0.96);
  color: var(--t5-ink);
  border-radius: var(--t5-radius);
  border-top: 3px solid var(--t5-leaf);
  border-left: 0;
  box-shadow: var(--t5-shadow-lg);
  text-align: center;
  z-index: 2;
}

.t5-hero__portrait--ty .t5-hero__plate {
  position: relative;
  z-index: 1;
  left: auto;
  bottom: auto;
  transform: none;
  margin-top: -2.5rem;
  margin-left: 1.25rem;
  margin-right: 1.25rem;
  width: auto;
  max-width: none;
  text-align: left;
  border-top: 0;
  border-left: 3px solid var(--t5-leaf);
}

.t5-hero__plate-name {
  font-family: var(--t5-display);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.1;
}

.t5-hero__plate-role {
  font-size: 0.78rem;
  color: var(--t5-muted);
  letter-spacing: 0.02em;
}

.t5-hero__plate-quote {
  margin-top: 0.35rem;
  font-family: var(--t5-display);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--t5-moss);
  line-height: 1.35;
}

.t5-hero__plate-steps {
  margin: 0.5rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.35rem;
  counter-reset: steps;
  font-size: 0.85rem;
  color: var(--t5-text);
}

.t5-hero__plate-steps li {
  counter-increment: steps;
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
}

.t5-hero__plate-steps li::before {
  content: counter(steps);
  font-family: var(--t5-display);
  font-weight: 600;
  color: var(--t5-leaf);
}

@media (max-width: 899px) {
  .t5-hero__grid {
    gap: 1.5rem;
  }
  .t5-hero__portrait {
    order: -1;
    max-width: 16rem;
    margin-bottom: 0.25rem;
  }
  .t5-hero__portrait img {
    -webkit-mask-image: none;
    mask-image: none;
    border-radius: var(--t5-radius-lg);
    aspect-ratio: 1 / 1;
    object-position: center 10%;
  }
  .t5-hero__plate {
    position: static;
    transform: none;
    left: auto;
    bottom: auto;
    margin: -1.25rem auto 0;
    width: min(22rem, 100%);
    max-width: none;
  }
}

.t5-hero--ty .t5-hero__grid {
  align-items: start;
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

.t5-stamp {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  margin: 0 0 1.25rem;
  padding: 0.45rem 0.9rem 0.45rem 0.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #fff;
}

.t5-stamp__check {
  display: grid;
  place-items: center;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background: var(--t5-lime);
  color: var(--t5-ink);
}

.t5-stamp__check svg {
  width: 1rem;
  height: 1rem;
}

.t5-callcard {
  display: grid;
  gap: 0.6rem;
  padding: 1.5rem;
  background: var(--t5-surface);
  color: var(--t5-ink);
  border-radius: var(--t5-radius-lg);
  border-top: 3px solid var(--t5-leaf);
  box-shadow: var(--t5-shadow-lg);
  max-width: 36rem;
}

.t5-callcard__label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t5-leaf);
}

.t5-phone-xl {
  font-family: var(--t5-display);
  font-weight: 500;
  font-size: clamp(2rem, 4.5vw, 3rem);
  letter-spacing: -0.02em;
  line-height: 1.05;
  color: var(--t5-ink);
  text-decoration: none;
  font-variant-numeric: tabular-nums;
}

.t5-phone-xl--light {
  display: inline-block;
  margin: 0.5rem 0 0.25rem;
  color: #fff;
}

.t5-phone-xl:hover {
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-color: var(--t5-leaf);
}

.t5-callcard__hint {
  font-size: 0.9rem;
  color: var(--t5-muted);
}

.t5-callcard__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.5rem;
}

/* ——— Header refinements: progress + compact ——— */
.t5-progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: linear-gradient(90deg, var(--t5-lime), var(--t5-leaf));
  transform: scaleX(0);
  transform-origin: left center;
  pointer-events: none;
}

.t5-topbar {
  transition: padding 350ms var(--t5-ease);
}

.t5-header.is-compact .t5-topbar {
  padding: 0.55rem 0;
}

.t5-header.is-compact .t5-wordmark span {
  opacity: 0;
  transform: translateY(-4px);
}

.t5-wordmark span {
  transition-property: opacity, transform;
  transition-duration: 300ms;
  transition-timing-function: var(--t5-ease);
}

/* ——— Hero word reveal ——— */
.t5-words-ready .t5-word {
  display: inline-block;
  opacity: 0;
  transform: translateY(0.35em);
  transition-property: opacity, transform;
  transition-duration: 700ms;
  transition-timing-function: var(--t5-ease-enter);
  will-change: transform, opacity;
}

.t5-words-ready.is-visible .t5-word {
  opacity: 1;
  transform: translateY(0);
}

/* ——— Hero (landing): anchored portrait plate ———
   The cutout stands on the hero's bottom edge inside one ivory plate —
   a magazine-cover subject, not a floating sticker. Offset lime hairline,
   ink nameplate overlapping the plate edge. Under 900px the same DOM
   collapses to a byline (thumb + name) placed after the CTA so the
   headline and button both sit above the fold. */
.t5-hero--lp .t5-headline {
  font-size: clamp(2.3rem, 4.2vw, 3.7rem);
  margin-bottom: 1.25rem;
}

.t5-hero--lp .t5-lead {
  max-width: 34rem;
}

.t5-hero--lp .t5-hero__grid {
  padding-bottom: 0;
  row-gap: 0;
}

.t5-hero--lp .t5-hero__copy {
  padding-bottom: 1.75rem;
}

.t5-hero--lp .t5-hero__meta {
  padding-bottom: clamp(2rem, 4vw, 3rem);
}

.t5-hero__assure {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 1.35rem;
  font-size: 0.82rem;
  letter-spacing: 0.01em;
  color: rgba(255, 255, 255, 0.62);
}

.t5-hero__assure li {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

.t5-hero__assure li::before {
  content: "";
  width: 0.3rem;
  height: 0.55rem;
  margin-top: -0.2rem;
  border-right: 1.5px solid var(--t5-lime);
  border-bottom: 1.5px solid var(--t5-lime);
  transform: rotate(45deg);
  flex: none;
}

.t5-hero__figure {
  position: relative;
  margin: 0;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.t5-hero__plate-bg {
  position: absolute;
  inset: 0;
  border-radius: var(--t5-radius-lg) var(--t5-radius-lg) 0 0;
  background:
    radial-gradient(ellipse 80% 55% at 50% 0%, #FAFAF9 0%, transparent 70%),
    linear-gradient(180deg, #F3EEF7 0%, #E6DCF2 100%);
  box-shadow:
    inset 0 -6rem 6rem -4rem rgba(35, 31, 32, 0.14),
    0 30px 60px rgba(22, 19, 20, 0.45);
}

/* Offset lime bracket — top + right only, shifted up/right, open below.
   The portrait sits in front of it, so the line passes behind the head. */
.t5-hero__plate-bg::before {
  content: "";
  position: absolute;
  inset: -0.85rem -0.85rem 0 1.5rem;
  border-top: 1px solid rgba(88, 45, 130, 0.55);
  border-right: 1px solid rgba(88, 45, 130, 0.55);
  border-radius: 0 var(--t5-radius-lg) 0 0;
  pointer-events: none;
}

.t5-hero__photo {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  animation: t5-rise 750ms var(--t5-ease-enter) 260ms both;
}

.t5-hero__nameplate {
  position: absolute;
  z-index: 2;
  left: -1.75rem;
  bottom: 1.75rem;
  display: grid;
  gap: 0.2rem;
  width: max-content;
  max-width: min(17rem, calc(100% + 1rem));
  padding: 0.9rem 1.15rem 0.95rem 1.05rem;
  background: var(--t5-ink);
  color: #fff;
  border-left: 3px solid var(--t5-leaf);
  border-radius: 0 var(--t5-radius) var(--t5-radius) 0;
  box-shadow:
    0 1px 2px rgba(22, 19, 20, 0.4),
    0 18px 36px rgba(22, 19, 20, 0.45);
}

.t5-hero__nameplate strong {
  font-family: var(--t5-display);
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.t5-hero__nameplate span {
  font-size: 0.75rem;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.62);
}

@media (min-width: 900px) {
  .t5-hero--lp .t5-hero__grid {
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr);
    grid-template-rows: auto 1fr;
    column-gap: 3.5rem;
    align-items: stretch;
  }

  .t5-hero--lp .t5-hero__meta {
    align-self: end;
  }

  .t5-hero__figure {
    grid-area: portrait;
    min-height: 30rem;
    margin-top: 0.75rem;
  }

  /* Box runs taller than the plate and is anchored to its base; the image
     is top-aligned and covers, so the head breaks above the frame and the
     torso bleeds out the bottom regardless of how tall the copy column is. */
  .t5-hero__photo {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(100% + 5.5rem);
    object-fit: cover;
    object-position: center top;
  }
}

@media (max-width: 899px) {
  .t5-hero--lp .t5-hero__grid {
    gap: 0;
  }

  .t5-hero--lp .t5-hero__copy {
    padding-bottom: 1.5rem;
  }

  .t5-hero__figure {
    flex-direction: row;
    align-items: flex-start;
    gap: 1rem;
    padding-bottom: 1.5rem;
    margin-bottom: 0.25rem;
  }

  .t5-hero__figure .t5-hero__nameplate {
    align-self: center;
  }

  .t5-hero__plate-bg {
    position: relative;
    flex: none;
    width: 4.5rem;
    height: 4.5rem;
    inset: auto;
    border-radius: var(--t5-radius);
    box-shadow: 0 10px 24px rgba(22, 19, 20, 0.45);
  }

  .t5-hero__plate-bg::before {
    inset: 0.28rem;
    border-bottom: 1px solid rgba(88, 45, 130, 0.55);
    border-radius: calc(var(--t5-radius) - 0.2rem);
    opacity: 0.8;
  }

  /* Overlay the img onto the thumb: same DOM, byline treatment */
  .t5-hero__photo {
    position: absolute;
    left: 0;
    top: 0;
    width: 4.5rem;
    height: 4.5rem;
    border-radius: var(--t5-radius);
    object-fit: cover;
    object-position: 50% 8%;
    animation: none;
  }

  .t5-hero__nameplate {
    position: static;
    width: auto;
    max-width: none;
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
    gap: 0.15rem;
  }

  .t5-hero__nameplate strong {
    font-size: 1.15rem;
  }
}

/* ——— Strip / marquee ——— */
.t5-strip {
  background: var(--t5-moss);
  color: rgba(255, 255, 255, 0.82);
  border-top: 1px solid rgba(88, 45, 130, 0.35);
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.t5-marquee {
  display: flex;
  width: max-content;
  animation: t5-marquee 48s linear infinite;
}

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

.t5-marquee.is-static {
  width: auto;
  animation: none;
  justify-content: center;
}

.t5-marquee.is-static .t5-marquee__row {
  flex-wrap: wrap;
  justify-content: center;
  width: min(1180px, calc(100vw - 2.5rem));
}

.t5-marquee__row {
  list-style: none;
  margin: 0;
  padding: 0.95rem 0;
  display: flex;
  gap: 0;
  font-size: 0.86rem;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.t5-marquee__row li {
  padding: 0 1.6rem;
  position: relative;
}

.t5-marquee__row li::after {
  content: "";
  position: absolute;
  right: -2px;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--t5-lime);
  transform: translateY(-50%);
}

.t5-marquee__row em {
  font-family: var(--t5-display);
  font-size: 1rem;
}

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

/* ——— Sections ——— */
.t5-section {
  padding: clamp(3.5rem, 7vw, 6rem) 0;
}

.t5-section--paper {
  background: var(--t5-surface);
  border-top: 1px solid var(--t5-line);
  border-bottom: 1px solid var(--t5-line);
}

.t5-split {
  display: grid;
  gap: 3rem;
  align-items: start;
}

@media (min-width: 960px) {
  .t5-split {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 4.5rem;
  }
}

.t5-compare {
  display: grid;
  gap: 1rem;
  margin-top: 1.75rem;
}

@media (min-width: 560px) {
  .t5-compare {
    grid-template-columns: 1fr 1fr;
  }
}

.t5-compare__card {
  padding: 1.25rem 1.35rem;
  border-radius: var(--t5-radius);
  border: 1px solid var(--t5-line);
  background: var(--t5-surface);
}

.t5-compare__card p {
  margin: 0;
  font-size: 0.95rem;
  color: var(--t5-muted);
}

.t5-compare__title {
  margin: 0 0 0.4rem !important;
  font-family: var(--t5-display);
  font-size: 1.2rem !important;
  font-weight: 500;
  color: var(--t5-ink) !important;
}

.t5-compare__card--on {
  background: var(--t5-ink);
  border-color: var(--t5-ink);
  box-shadow: var(--t5-shadow);
}

.t5-compare__card--on p {
  color: rgba(255, 255, 255, 0.78);
}

.t5-compare__card--on .t5-compare__title {
  color: var(--t5-lime) !important;
}

.t5-pillars {
  padding: 2rem;
  background: var(--t5-surface);
  border-radius: var(--t5-radius-lg);
  border: 1px solid var(--t5-line);
  box-shadow: var(--t5-shadow);
}

.t5-pillars__kicker {
  margin: 0 0 1.25rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--t5-moss);
}

.t5-pillars ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1.25rem;
  counter-reset: pillar;
}

.t5-pillars li {
  counter-increment: pillar;
  display: grid;
  grid-template-columns: 2.4rem 1fr;
  gap: 0.25rem 0.9rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--t5-line);
}

.t5-pillars li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.t5-pillars li::before {
  content: counter(pillar, decimal-leading-zero);
  grid-row: span 2;
  font-family: var(--t5-display);
  font-size: 1.4rem;
  color: var(--t5-leaf);
  line-height: 1;
}

.t5-pillars strong {
  font-family: var(--t5-display);
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--t5-ink);
}

.t5-pillars span {
  font-size: 0.95rem;
  color: var(--t5-muted);
}

.t5-pillars__note {
  margin: 1.5rem 0 0;
  font-size: 0.8rem;
  color: var(--t5-muted);
}

/* ——— Why (company authority) ——— */
.t5-why {
  padding: clamp(3.5rem, 7vw, 6rem) 0;
  background: var(--t5-paper-deep);
}

.t5-why__grid {
  display: grid;
  gap: 2.5rem;
  align-items: center;
}

@media (min-width: 960px) {
  .t5-why__grid {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 4rem;
  }
}

.t5-why__photo {
  margin: 0;
  position: relative;
}

.t5-why__photo img {
  border-radius: var(--t5-radius-lg);
  box-shadow: var(--t5-shadow-lg);
}

.t5-why__photo::after {
  content: "";
  position: absolute;
  inset: 1.25rem -1.25rem -1.25rem 1.25rem;
  border: 1px solid var(--t5-lime);
  border-radius: var(--t5-radius-lg);
  z-index: -1;
  opacity: 0.7;
}

.t5-why__photo figcaption {
  margin-top: 1.5rem;
  font-size: 0.85rem;
  color: var(--t5-muted);
  font-style: italic;
  font-family: var(--t5-display);
  font-size: 1rem;
}

.t5-stats {
  list-style: none;
  margin: 1.75rem 0 0.5rem;
  padding: 1.35rem 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem 1.5rem;
  border-top: 1px solid var(--t5-line-strong);
  border-bottom: 1px solid var(--t5-line-strong);
}

@media (min-width: 640px) {
  .t5-stats {
    grid-template-columns: repeat(4, 1fr);
  }
}

.t5-stats li {
  display: grid;
  gap: 0.2rem;
}

.t5-stats strong {
  font-family: var(--t5-display);
  font-weight: 500;
  font-size: clamp(2rem, 3vw, 2.6rem);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--t5-ink);
  font-variant-numeric: tabular-nums;
}

.t5-stats > li > span {
  font-size: 0.8rem;
  color: var(--t5-muted);
  letter-spacing: 0.01em;
}

.t5-facts {
  margin: 1.75rem 0 0;
  display: grid;
  gap: 1.1rem;
}

.t5-facts div {
  display: grid;
  gap: 0.2rem;
  padding: 0 0 1.1rem;
  border-bottom: 1px solid var(--t5-line-strong);
}

.t5-facts dt {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t5-leaf);
}

.t5-facts dd {
  margin: 0;
  font-size: 1rem;
  color: var(--t5-text);
}

/* ——— Family ——— */
.t5-family {
  position: relative;
  padding: clamp(3.5rem, 7vw, 6.5rem) 0;
  background:
    radial-gradient(ellipse 50% 60% at 100% 0%, rgba(88, 45, 130, 0.25), transparent 70%),
    linear-gradient(160deg, var(--t5-moss) 0%, var(--t5-ink) 55%, var(--t5-ink-deep) 100%);
  color: #fff;
  overflow: hidden;
}

.t5-family__grid {
  display: grid;
  gap: 3rem;
  align-items: center;
}

@media (min-width: 960px) {
  .t5-family__grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 4.5rem;
  }
}

.t5-family__body {
  margin: 0 0 1.5rem;
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.82);
  max-width: 36rem;
}

.t5-family__body strong {
  color: #fff;
}

.t5-quote {
  margin: 0 0 1.75rem;
  padding: 0 0 0 1.5rem;
  border-left: 2px solid var(--t5-lime);
}

.t5-quote p {
  margin: 0 0 0.6rem;
  font-family: var(--t5-display);
  font-style: italic;
  font-size: clamp(1.2rem, 1.9vw, 1.5rem);
  line-height: 1.35;
  color: #fff;
}

.t5-quote footer {
  font-size: 0.85rem;
  color: var(--t5-lime);
  letter-spacing: 0.03em;
}

.t5-family__points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.6rem;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.7);
}

.t5-family__points li {
  padding-left: 1.25rem;
  position: relative;
}

.t5-family__points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 0.5rem;
  height: 1px;
  background: var(--t5-lime);
}

.t5-family__photos {
  position: relative;
  max-width: 30rem;
  margin: 0 auto;
  padding-bottom: 3rem;
}

.t5-family__frame {
  position: absolute;
  inset: -1rem auto auto -1rem;
  width: 55%;
  height: 55%;
  border: 1px solid rgba(88, 45, 130, 0.55);
  border-right: 0;
  border-bottom: 0;
  border-radius: var(--t5-radius-lg) 0 0 0;
  pointer-events: none;
}

.t5-family__main img {
  transition: transform 600ms var(--t5-ease);
}

.t5-family__photos:hover .t5-family__main img {
  transform: scale(1.015);
}

.t5-family__inset {
  transition: transform 600ms var(--t5-ease);
}

.t5-family__photos:hover .t5-family__inset {
  transform: rotate(0deg) translateY(-6px);
}

.t5-family__main {
  margin: 0;
}

.t5-family__main img {
  border-radius: var(--t5-radius-lg);
  box-shadow: var(--t5-shadow-lg);
}

.t5-family__inset {
  position: absolute;
  right: -1.5rem;
  bottom: 0;
  width: 42%;
  margin: 0;
  border-radius: var(--t5-radius);
  overflow: hidden;
  border: 4px solid var(--t5-paper);
  box-shadow: var(--t5-shadow-lg);
  transform: rotate(2.5deg);
}

@media (max-width: 560px) {
  .t5-family__inset {
    right: 0;
  }
}

/* ——— Fit ——— */
.t5-fit__head {
  max-width: 44rem;
  margin: 0 auto 2.5rem;
  text-align: center;
}

.t5-fit__head .t5-muted {
  margin-left: auto;
  margin-right: auto;
}

.t5-fit {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 760px) {
  .t5-fit {
    grid-template-columns: repeat(3, 1fr);
  }
}

.t5-fit li {
  padding: 1.75rem 1.5rem 1.5rem;
  background: var(--t5-paper);
  border-radius: var(--t5-radius-lg);
  border: 1px solid var(--t5-line);
  display: grid;
  gap: 0.5rem;
}

.t5-fit__num {
  font-family: var(--t5-display);
  font-size: 1.1rem;
  color: var(--t5-leaf);
}

.t5-fit strong {
  font-family: var(--t5-display);
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--t5-ink);
}

.t5-fit p {
  margin: 0;
  font-size: 0.95rem;
  color: var(--t5-muted);
}

/* ——— Reviews continuous marquee ——— */
.t5-reviews {
  position: relative;
  margin-top: 1.5rem;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.t5-reviews__viewport {
  overflow: hidden;
  padding: 0.5rem 0 1rem;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.t5-reviews__rail {
  display: flex;
  width: max-content;
  gap: 0;
}

.t5-reviews.is-ready .t5-reviews__rail {
  animation: t5-reviews-drift 70s linear infinite;
}

.t5-reviews__rail:hover,
.t5-reviews:focus-within .t5-reviews__rail {
  animation-play-state: paused;
}

.t5-reviews.is-static .t5-reviews__rail {
  animation: none;
  width: auto;
  max-width: min(1180px, calc(100vw - 2.5rem));
  margin: 0 auto;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.25rem;
}

.t5-reviews.is-static .t5-reviews__group {
  flex-wrap: wrap;
  justify-content: center;
}

.t5-reviews__group {
  display: flex;
  gap: 1.25rem;
  padding-right: 1.25rem;
  flex-shrink: 0;
}

.t5-slide {
  flex: 0 0 min(88vw, 26rem);
  margin: 0;
  padding: 1.85rem 1.85rem 1.6rem;
  background: var(--t5-surface);
  border: 1px solid var(--t5-line);
  border-radius: var(--t5-radius-lg);
  display: grid;
  gap: 1rem;
  position: relative;
  box-shadow: var(--t5-shadow);
}

.t5-slide:nth-child(odd) {
  background: var(--t5-ink);
  border-color: var(--t5-ink);
}

.t5-slide::before {
  content: "“";
  position: absolute;
  top: 0.35rem;
  left: 1.2rem;
  font-family: var(--t5-display);
  font-size: 4.25rem;
  line-height: 1;
  color: var(--t5-lime);
  opacity: 0.55;
}

.t5-slide blockquote {
  margin: 1.35rem 0 0;
  font-family: var(--t5-display);
  font-size: clamp(1.05rem, 1.5vw, 1.22rem);
  line-height: 1.45;
  color: var(--t5-ink);
  text-wrap: pretty;
}

.t5-slide:nth-child(odd) blockquote {
  color: #fff;
}

.t5-slide figcaption {
  display: grid;
  gap: 0.1rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--t5-line);
}

.t5-slide:nth-child(odd) figcaption {
  border-top-color: rgba(255, 255, 255, 0.14);
}

.t5-slide figcaption strong {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--t5-ink);
}

.t5-slide:nth-child(odd) figcaption strong {
  color: var(--t5-lime);
}

.t5-slide figcaption span {
  font-size: 0.8rem;
  color: var(--t5-muted);
}

.t5-slide:nth-child(odd) figcaption span {
  color: rgba(255, 255, 255, 0.62);
}

.t5-reviews__source {
  margin: 0.75rem auto 0;
  max-width: min(1180px, calc(100vw - 2.5rem));
  text-align: center;
  font-size: 0.78rem;
  color: var(--t5-muted);
}

@keyframes t5-reviews-drift {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

/* ——— Process ——— */
.t5-process {
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
  display: grid;
  gap: 1.25rem;
  counter-reset: proc;
}

@media (min-width: 760px) {
  .t5-process {
    grid-template-columns: repeat(3, 1fr);
  }
}

.t5-process li {
  display: grid;
  gap: 0.5rem;
  padding: 1.5rem 0 0;
  border-top: 2px solid var(--t5-ink);
}

.t5-process__num {
  font-family: var(--t5-display);
  font-size: 2.2rem;
  line-height: 1;
  color: var(--t5-leaf);
}

/* Timeline variant: shared line draws in, dots pop, no per-item border */
.t5-timeline {
  position: relative;
  padding-top: 1.25rem;
}

.t5-timeline li {
  border-top: 0;
  position: relative;
}

.t5-timeline__line {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--t5-ink);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 1100ms var(--t5-ease) !important;
  opacity: 1 !important;
}

.t5-timeline__line.is-visible {
  transform: scaleX(1);
}

.t5-timeline__dot {
  position: absolute;
  top: -1.25rem;
  left: 0;
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 50%;
  background: var(--t5-leaf);
  border: 3px solid var(--t5-surface);
  box-shadow: 0 0 0 2px var(--t5-ink);
  transform: translateY(-50%) scale(0);
  transition: transform 500ms var(--t5-ease) 700ms;
}

li.is-visible .t5-timeline__dot {
  transform: translateY(-50%) scale(1);
}

@media (max-width: 759px) {
  .t5-timeline {
    padding-top: 0;
    padding-left: 1.5rem;
  }
  .t5-timeline__line {
    top: 0;
    bottom: 0;
    left: 0;
    right: auto;
    width: 2px;
    height: auto;
    transform: scaleY(0);
    transform-origin: top center;
  }
  .t5-timeline__line.is-visible {
    transform: scaleY(1);
  }
  .t5-timeline__dot {
    top: 1.9rem;
    left: -1.5rem;
    transform: translateX(-50%) scale(0);
  }
  li.is-visible .t5-timeline__dot {
    transform: translateX(-50%) scale(1);
  }
}

.t5-process h3 {
  margin: 0;
  font-family: var(--t5-display);
  font-weight: 500;
  font-size: 1.35rem;
  color: var(--t5-ink);
}

.t5-process p {
  margin: 0;
  font-size: 0.95rem;
  color: var(--t5-muted);
}

/* ——— Band ——— */
.t5-band {
  position: relative;
  color: #fff;
  background: var(--t5-ink-deep);
  overflow: hidden;
}

.t5-band__photo {
  position: absolute;
  inset: 0;
  margin: 0;
}

.t5-band__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 70% 30%;
  opacity: 0.32;
}

.t5-band::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(22, 19, 20, 0.96) 0%, rgba(22, 19, 20, 0.85) 50%, rgba(22, 19, 20, 0.4) 100%);
}

.t5-band__inner {
  position: relative;
  z-index: 1;
  padding: clamp(4rem, 8vw, 7rem) 0;
  max-width: 44rem;
  margin-left: max(1.25rem, calc((100% - 1180px) / 2));
}

.t5-band__body {
  margin: 0 0 0.5rem;
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.8);
}

.t5-band .t5-consent {
  margin-top: 1.5rem;
}

/* ——— Use cases / myths / resources (TY) ——— */
.t5-usecases {
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
  display: grid;
  gap: 1rem;
}

@media (min-width: 700px) {
  .t5-usecases {
    grid-template-columns: repeat(2, 1fr);
  }
}

.t5-usecases li {
  display: grid;
  gap: 0.35rem;
  padding: 1.35rem 1.5rem;
  background: var(--t5-paper);
  border-radius: var(--t5-radius);
  border-left: 3px solid var(--t5-leaf);
}

.t5-usecases strong {
  font-family: var(--t5-display);
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--t5-ink);
}

.t5-usecases span {
  font-size: 0.95rem;
  color: var(--t5-muted);
}

.t5-myths {
  display: grid;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.t5-myths__item {
  background: var(--t5-surface);
  border: 1px solid var(--t5-line);
  border-radius: var(--t5-radius);
}

.t5-myths__item summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  cursor: pointer;
  list-style: none;
  font-family: var(--t5-display);
  font-size: 1.2rem;
  color: var(--t5-ink);
}

.t5-myths__item summary::-webkit-details-marker {
  display: none;
}

.t5-myths__item summary svg {
  width: 1.2rem;
  height: 1.2rem;
  flex: none;
  color: var(--t5-leaf);
  transition: transform 350ms var(--t5-ease);
}

.t5-myths__item[open] summary svg {
  transform: rotate(180deg);
}

.t5-myths__item summary:focus-visible {
  outline: 2px solid var(--t5-lime);
  outline-offset: 2px;
  border-radius: var(--t5-radius);
}

.t5-myths__body {
  padding: 0 1.25rem 1.25rem;
  color: var(--t5-muted);
}

.t5-myths__body p {
  margin: 0 0 0.6rem;
}

.t5-myths__body a {
  font-weight: 600;
  color: var(--t5-leaf);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.t5-resources {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}

@media (min-width: 700px) {
  .t5-resources {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1000px) {
  .t5-resources {
    grid-template-columns: repeat(3, 1fr);
  }
}

.t5-resource {
  display: grid;
  gap: 0.35rem;
  padding: 1.35rem 1.5rem;
  background: var(--t5-paper);
  border: 1px solid var(--t5-line);
  border-radius: var(--t5-radius);
  text-decoration: none;
  transition-property: transform, box-shadow;
  transition-duration: 350ms;
  transition-timing-function: var(--t5-ease);
}

.t5-resource:hover {
  transform: translateY(-3px);
  box-shadow: var(--t5-shadow);
}

.t5-resource:focus-visible {
  outline: 2px solid var(--t5-lime);
  outline-offset: 2px;
}

.t5-resource strong {
  font-family: var(--t5-display);
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--t5-ink);
}

.t5-resource span {
  font-size: 0.92rem;
  color: var(--t5-muted);
}

/* ——— Footer ——— */
.t5-footer {
  background: var(--t5-ink-deep);
  color: rgba(255, 255, 255, 0.7);
  padding: 3rem 0 3rem;
  border-top: 1px solid rgba(88, 45, 130, 0.3);
}

.t5-footer__top {
  display: grid;
  gap: 2.5rem;
  padding-bottom: 2.5rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

@media (min-width: 860px) {
  .t5-footer__top {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    align-items: start;
  }
}

.t5-book {
  display: grid;
  grid-template-columns: 5.5rem 1fr;
  gap: 1.25rem;
  align-items: center;
  text-decoration: none;
  color: #fff;
  max-width: 34rem;
}

.t5-book {
  perspective: 900px;
}

.t5-book img {
  border-radius: 0.25rem 0.5rem 0.5rem 0.25rem;
  box-shadow:
    -3px 0 0 rgba(255, 255, 255, 0.08),
    var(--t5-shadow-lg);
  transform-origin: left center;
  transition: transform 550ms var(--t5-ease);
}

.t5-book:hover img {
  transform: rotateY(-18deg) translateY(-3px);
}

.t5-book > span {
  display: grid;
  gap: 0.25rem;
}

.t5-book__kicker {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--t5-lime);
}

.t5-book strong {
  font-family: var(--t5-display);
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.1;
}

.t5-book__sub {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.65);
}

.t5-book:focus-visible {
  outline: 2px solid var(--t5-lime);
  outline-offset: 4px;
  border-radius: var(--t5-radius);
}

.t5-social__kicker {
  margin: 0 0 0.9rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--t5-lime);
}

.t5-social ul {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.t5-social ul a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.5rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #fff;
  font-size: 0.88rem;
  font-weight: 500;
  text-decoration: none;
  transition-property: transform, border-color;
  transition-duration: 300ms;
  transition-timing-function: var(--t5-ease);
}

.t5-social ul a:hover {
  transform: translateY(-2px);
  border-color: var(--t5-lime);
}

.t5-social ul a:focus-visible {
  outline: 2px solid var(--t5-lime);
  outline-offset: 2px;
}

.t5-social ul svg {
  width: 1.05rem;
  height: 1.05rem;
  fill: none;
}

.t5-social__sites {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 0.88rem;
}

.t5-social__sites a {
  color: rgba(255, 255, 255, 0.75);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.t5-footer .site-legal__title,
.t5-footer .site-legal__heading {
  margin: 0 0 0.35rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t5-lime);
}

.t5-footer .site-legal__block p {
  margin: 0 0 0.55rem;
}

.t5-footer .site-legal {
  font-size: 13px;
  line-height: 1.65;
  display: grid;
  gap: 1.15rem;
  max-width: 64rem;
}

.t5-footer .site-legal svg {
  width: 1.75rem;
  height: 1.75rem;
  flex: none;
}

.t5-footer .site-legal .flex {
  display: flex;
}

.t5-footer .site-legal .flex-wrap {
  flex-wrap: wrap;
}

.t5-footer .site-legal .items-end {
  align-items: flex-end;
}

.t5-footer .site-legal .items-center {
  align-items: center;
}

.t5-footer .site-legal .gap-6 {
  gap: 1.5rem;
}

.t5-footer .site-legal [class*="gap-2"] {
  gap: 0.6rem;
}

.t5-footer .site-legal .uppercase {
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.12em;
  line-height: 1.35;
}

.t5-footer .site-legal a {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.t5-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.85rem;
  margin: 0 0 1.5rem;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.4);
}

.t5-footer-links a {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.t5-footer-links a:hover {
  color: #fff;
}

.t5-footer-links a:focus-visible {
  outline: 2px solid var(--t5-lime);
  outline-offset: 3px;
}

/* ——— Motion ——— */
@keyframes t5-rise {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.t5-rise {
  animation: t5-rise 600ms var(--t5-ease-enter) both;
}

.t5-rise--2 {
  animation-delay: 110ms;
}

.t5-rise--3 {
  animation-delay: 220ms;
}

.t5-rise--4 {
  animation-delay: 330ms;
}

.t5-rise--5 {
  animation-delay: 440ms;
}

[data-reveal] {
  opacity: 0;
  transform: translateY(14px);
  transition-property: opacity, transform;
  transition-duration: 650ms;
  transition-timing-function: var(--t5-ease);
}

[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

html:not(.js) [data-reveal] {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .t5-btn,
  .t5-rise,
  .t5-resource,
  .t5-book img,
  .t5-hero__photo,
  .t5-marquee,
  .t5-reviews__rail,
  .t5-slide,
  .t5-family__main img,
  .t5-family__inset {
    animation: none;
    transition-duration: 0.01ms;
  }
  [data-reveal],
  .t5-timeline__line,
  .t5-timeline__dot {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .t5-timeline__dot {
    transform: translateY(-50%);
  }
  .t5-slide {
    opacity: 1;
    transform: none;
  }
}

/* ——— Shared legal / SMS pages (light chrome) ——— */
.t5-legal-page .t5-header,
body.t5-page:has(.t5-sms-body) .t5-header {
  background: var(--t5-ink);
}

.t5-sms-body {
  display: grid;
  gap: 1.25rem;
  margin-top: 0.5rem;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--t5-muted);
}

.t5-sms-body p {
  margin: 0;
}

.t5-sms-h {
  margin: 0.5rem 0 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t5-moss);
}

.t5-sms-pending {
  margin: 0 0 1.5rem;
  padding: 0.85rem 1rem;
  border: 1px dashed rgba(88, 45, 130, 0.5);
  border-radius: var(--t5-radius);
  background: var(--t5-leaf-soft);
  font-size: 0.9rem;
  color: var(--t5-leaf-deep);
}

.t5-legal-page__wrap {
  max-width: 42rem;
}

.t5-legal-page__body {
  margin-bottom: 2rem;
}

.t5-legal-page .site-legal,
.t5-legal-page .site-legal p,
.t5-legal-page .site-legal div {
  color: var(--t5-muted);
}

.t5-legal-page .site-legal__title,
.t5-legal-page .site-legal__heading {
  color: var(--t5-moss);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 0 0 0.4rem;
}

.t5-legal-page .site-legal__block {
  margin-bottom: 1.35rem;
}

.t5-legal-page .site-legal a,
.t5-legal-page__links a,
.t5-sms-body a {
  color: var(--t5-leaf);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.t5-legal-page__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  font-size: 0.9rem;
  color: var(--t5-muted);
}

/* ═══════════════════════════════════════════════════════════════════════
   Theme 5 additions — Monarch company skin
   Everything below is new for /green-monarch. The theme-3 hero cutout
   rules above are left in place but unused; the landing hero uses
   .t5-pair instead of .t5-hero__figure / .t5-hero__photo.
   ═══════════════════════════════════════════════════════════════════════ */

/* Hero + bands: calmer washes than theme-3 (no lime glow, moss only) */
.t5-hero {
  background:
    radial-gradient(ellipse 60% 55% at 85% 15%, rgba(63, 31, 92, 0.55), transparent 65%),
    linear-gradient(180deg, var(--t5-ink) 0%, var(--t5-ink-deep) 100%);
}

.t5-band {
  background:
    radial-gradient(ellipse 50% 60% at 0% 100%, rgba(63, 31, 92, 0.6), transparent 70%),
    linear-gradient(180deg, var(--t5-ink) 0%, var(--t5-ink-deep) 100%);
}

/* ——— Signature: the logo's wing cells as texture ———
   One wing, cropped off the edge, static, ~5% lime. Replaces film grain. */
.t5-wing {
  position: absolute;
  pointer-events: none;
  z-index: 0;
  right: -6vw;
  top: -8%;
  width: clamp(26rem, 52vw, 56rem);
  aspect-ratio: 704 / 239;
  background: url("/brand_assets/clients/green-monarch/logo-lockup.png") no-repeat center / contain;
  opacity: 0.055;
  transform: rotate(-8deg) scale(1.6);
  transform-origin: 70% 30%;
  -webkit-mask-image: linear-gradient(200deg, #000 30%, transparent 85%);
  mask-image: linear-gradient(200deg, #000 30%, transparent 85%);
}

.t5-wing--band {
  right: auto;
  left: -14vw;
  top: auto;
  bottom: -30%;
  transform: rotate(10deg) scale(1.5);
  -webkit-mask-image: linear-gradient(20deg, #000 30%, transparent 85%);
  mask-image: linear-gradient(20deg, #000 30%, transparent 85%);
}

/* Hero only: the same cropped wing, faded in from the opposite corner. */
.t5-wing--mirror {
  right: auto;
  left: -6vw;
  top: auto;
  bottom: -8%;
  transform: rotate(8deg) scale(1.6);
  transform-origin: 30% 70%;
  -webkit-mask-image: linear-gradient(20deg, #000 30%, transparent 85%);
  mask-image: linear-gradient(20deg, #000 30%, transparent 85%);
}

@media (max-width: 899px) {
  .t5-wing {
    width: 120vw;
    right: -40vw;
    top: 0;
    opacity: 0.045;
  }

  .t5-wing--mirror {
    width: 110vw;
    left: -32vw;
    right: auto;
    top: auto;
    bottom: 1%;
  }
}

/* ——— Header wordmark with the butterfly mark ——— */
.t5-header .t5-wordmark {
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 0.75rem;
  align-items: center;
}

.t5-wordmark__mark {
  grid-row: 1 / span 2;
  width: 3rem;
  height: auto;
  display: block;
}

.t5-header .t5-wordmark strong {
  font-family: var(--t5-body);
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--t5-lime);
  line-height: 1;
  align-self: end;
}

.t5-header .t5-wordmark span {
  align-self: start;
  letter-spacing: 0.02em;
}

.t5-header {
  background: rgba(35, 31, 32, 0.86);
  border-bottom-color: rgba(88, 45, 130, 0.14);
}

.t5-header .t5-nav a:hover {
  border-bottom-color: var(--t5-lime);
}

/* Buttons: one radius system, no pills */
.t5-btn {
  border-radius: var(--t5-radius);
}

.t5-btn--leaf {
  box-shadow:
    0 1px 1px rgba(63, 31, 92, 0.3),
    0 10px 24px rgba(88, 45, 130, 0.26);
}

.t5-btn--leaf:hover {
  background: var(--t5-leaf-deep);
  box-shadow:
    0 2px 2px rgba(63, 31, 92, 0.3),
    0 14px 30px rgba(88, 45, 130, 0.32);
}

.t5-btn--leaf:active {
  transform: translateY(1px);
}

.t5-btn:focus-visible {
  outline-color: var(--t5-lime);
}

.t5-stamp {
  border-radius: var(--t5-radius);
}

/* Kicker on paper reads leaf; on ink reads lime */
.t5-kicker {
  color: var(--t5-leaf);
}

.t5-kicker--lime {
  color: var(--t5-lime);
}

.t5-headline em {
  color: #D4C4E8;
  padding-bottom: 0.06em; /* italic descender reserve */
}

.t5-h2 em {
  font-style: italic;
  font-weight: 400;
  color: var(--t5-leaf);
}

.t5-h2--light em {
  color: #D4C4E8;
}

/* ——— Hero: portrait pair ———
   Two officers on matching moss plates. Front = Dave, back = Lucas.
   The company nameplate sits below both, so the figure reads as a
   firm with faces, not a headshot. */
.t5-pair {
  position: relative;
  z-index: 1;
  margin: 0;
  display: grid;
  gap: 1.1rem;
  justify-items: start;
  align-content: start;
}

.t5-pair__stage {
  position: relative;
  width: 100%;
  max-width: 27rem;
  aspect-ratio: 27 / 24;
}

.t5-pair__card {
  position: absolute;
  width: 62%;
  aspect-ratio: 4 / 5;
  border-radius: var(--t5-radius);
  overflow: hidden;
  background: var(--t5-moss);
  box-shadow:
    0 1px 2px rgba(22, 19, 20, 0.5),
    0 28px 56px rgba(22, 19, 20, 0.5);
}

.t5-pair__card::after {
  /* 1px lime inner hairline + edge vignette so the two studio
     backgrounds recede behind the plate */
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow:
    inset 0 0 0 1px rgba(88, 45, 130, 0.35),
    inset 0 -4rem 4rem -3rem rgba(35, 31, 32, 0.55),
    inset 0 0 3rem rgba(35, 31, 32, 0.25);
  pointer-events: none;
}

.t5-pair__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.t5-pair__card--front {
  left: 0;
  bottom: 0;
  z-index: 2;
  animation: t5-pair-in 760ms var(--t5-ease-enter) 220ms both;
}

.t5-pair__card--back {
  right: 0;
  top: 0;
  z-index: 1;
  width: 56%;
  animation: t5-pair-in 760ms var(--t5-ease-enter) 340ms both;
}

.t5-pair__card--back::after {
  box-shadow:
    inset 0 0 0 1px rgba(88, 45, 130, 0.22),
    inset 0 -4rem 4rem -3rem rgba(35, 31, 32, 0.6),
    inset 0 0 4rem rgba(35, 31, 32, 0.4);
}

.t5-pair__card figcaption,
.t5-pair__tag {
  position: absolute;
  left: 0.85rem;
  bottom: 0.8rem;
  z-index: 3;
  display: grid;
  gap: 0.1rem;
  font-size: 0.72rem;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.78);
}

.t5-pair__tag strong {
  display: block;
  font-family: var(--t5-display);
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: #fff;
  line-height: 1.1;
}

@keyframes t5-pair-in {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.t5-pair__plate {
  display: grid;
  gap: 0.25rem;
  padding: 0.25rem 0 0 0.1rem;
  border-top: 1px solid rgba(88, 45, 130, 0.35);
  padding-top: 0.9rem;
  width: 100%;
  max-width: 27rem;
}

.t5-pair__plate strong {
  font-family: var(--t5-display);
  font-weight: 500;
  font-size: 1.25rem;
  letter-spacing: -0.01em;
  color: #fff;
  line-height: 1.1;
}

.t5-pair__plate span {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.62);
  line-height: 1.45;
}

@media (min-width: 900px) {
  .t5-pair {
    grid-area: portrait;
    justify-self: end;
    align-self: start;
    margin-top: 0.4rem;
  }
}

@media (max-width: 899px) {
  .t5-hero--lp .t5-hero__grid {
    gap: 1.5rem;
  }
  .t5-pair {
    order: 2;
    justify-items: center;
    padding-bottom: 1.5rem;
  }
  .t5-pair__stage {
    max-width: 22rem;
  }
  .t5-pair__plate {
    max-width: 22rem;
    text-align: center;
  }
}

/* Thank-you hero reuses the pair at a smaller scale with the expectation
   steps underneath (replaces theme-3's single portrait + plate) */
.t5-hero--ty .t5-pair__stage {
  max-width: 24rem;
}

.t5-hero--ty .t5-hero__copy {
  grid-area: copy;
  min-width: 0;
}

.t5-hero--ty .t5-pair {
  grid-area: portrait;
}

.t5-hero--ty .t5-hero__grid {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "copy" "portrait";
}

@media (min-width: 900px) {
  .t5-hero--ty .t5-hero__grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    grid-template-areas: "copy portrait";
    column-gap: 2.75rem;
  }
}

.t5-pair__steps {
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.4rem;
  counter-reset: steps;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.78);
}

.t5-pair__steps li {
  counter-increment: steps;
  display: flex;
  gap: 0.6rem;
  align-items: baseline;
}

.t5-pair__steps li::before {
  content: counter(steps);
  font-family: var(--t5-display);
  font-weight: 600;
  color: var(--t5-lime);
}

/* ——— Credential row (static; replaces the proof marquee) ——— */
.t5-creds-row {
  background: var(--t5-paper-deep);
  border-top: 1px solid rgba(88, 45, 130, 0.25);
  border-bottom: 1px solid var(--t5-line);
}

.t5-creds-row ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 760px) {
  .t5-creds-row ul {
    grid-template-columns: repeat(var(--cells, 4), minmax(0, 1fr));
  }
}

.t5-creds-row li {
  display: grid;
  gap: 0.2rem;
  padding: 1.25rem 1.25rem 1.25rem 0;
  border-right: 1px solid var(--t5-line);
}

.t5-creds-row li + li {
  padding-left: 1.25rem;
}

.t5-creds-row li:last-child {
  border-right: 0;
}

@media (max-width: 759px) {
  .t5-creds-row li:nth-child(2n) {
    border-right: 0;
    padding-left: 1.25rem;
  }
  .t5-creds-row li:nth-child(2n + 1) {
    padding-left: 0;
  }
  .t5-creds-row li:nth-child(n + 3) {
    border-top: 1px solid var(--t5-line);
  }
}

.t5-creds-row strong {
  font-family: var(--t5-display);
  font-weight: 500;
  font-size: 1.2rem;
  letter-spacing: -0.01em;
  color: var(--t5-ink);
  line-height: 1.1;
}

.t5-creds-row span {
  font-size: 0.8rem;
  color: var(--t5-muted);
  line-height: 1.4;
}

/* ——— Why: office photo + stats; stats numerals in leaf ——— */
.t5-stats strong {
  color: var(--t5-leaf);
}

/* ——— Our family: two bios on ink (replaces father/daughter photos) ——— */
.t5-team {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 640px) {
  .t5-team {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.t5-team li {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  padding: 1.25rem;
  border-radius: var(--t5-radius);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.t5-team img {
  width: 5.5rem;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center top;
  border-radius: var(--t5-radius);
  box-shadow: inset 0 0 0 1px rgba(88, 45, 130, 0.3);
}

.t5-team strong {
  display: block;
  font-family: var(--t5-display);
  font-weight: 500;
  font-size: 1.25rem;
  letter-spacing: -0.01em;
  color: #fff;
  line-height: 1.1;
}

.t5-team small {
  display: block;
  margin: 0.2rem 0 0.6rem;
  font-size: 0.78rem;
  letter-spacing: 0.03em;
  color: var(--t5-lime);
}

.t5-team p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.74);
}

@media (max-width: 420px) {
  .t5-team li {
    grid-template-columns: 1fr;
  }
  .t5-team img {
    width: 4.5rem;
  }
}

/* Fit check: an icon for each starting point, in place of the leaf rule */
.t5-fit__icon {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: 0.85rem;
  border-radius: 0.7rem;
  background: var(--t5-tint);
  color: var(--t5-leaf-deep);
}

.t5-fit__icon svg {
  display: block;
  width: 1.45rem;
  height: 1.45rem;
  max-width: 1.45rem;
  max-height: 1.45rem;
}

/* Footer lockup */
.t5-footer__lockup {
  display: grid;
  gap: 0.75rem;
  align-content: start;
}

.t5-footer__lockup img {
  width: min(14rem, 60vw);
  height: auto;
}

.t5-footer__lockup p {
  margin: 0;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.5;
}

/* Reduced motion: pair cards and wing are static */
@media (prefers-reduced-motion: reduce) {
  .t5-pair__card--front,
  .t5-pair__card--back {
    animation: none;
  }
}

/* Stories section renders only when yaml testimonials exist */
.t5-section--stories:has(.t5-reviews__group:empty) {
  display: none;
}

/* ——— Refinements after first review ——— */

/* Back card's name tag sits in the exposed right half */
.t5-pair__card--back .t5-pair__tag {
  left: auto;
  right: 0.85rem;
  text-align: right;
}

/* Family: bios stack in the right column so copy has room to breathe */
.t5-family .t5-team {
  grid-template-columns: 1fr;
  gap: 1rem;
}

/* Stats: phrases, not a short year. Cells may wrap; they must not spill the column. */
.t5-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.t5-stats strong {
  white-space: normal;
  font-size: clamp(1.15rem, 1.6vw, 1.65rem);
  line-height: 1.15;
}

/* Band photo: keep the storefront sign clear of the headline */
.t5-band__photo img {
  object-position: 100% 35%;
  opacity: 0.28;
  -webkit-mask-image: linear-gradient(90deg, transparent 15%, #000 60%);
  mask-image: linear-gradient(90deg, transparent 15%, #000 60%);
}

/* Mobile header: one-line wordmark, one-line CTA */
@media (max-width: 560px) {
  .t5-header .t5-wordmark strong {
    font-size: 0.85rem;
    letter-spacing: 0.06em;
    white-space: nowrap;
  }
  .t5-wordmark__mark {
    width: 2.4rem;
  }
  .t5-header .t5-topbar .t5-btn {
    white-space: nowrap;
    padding: 0.7rem 0.9rem;
    font-size: 0.85rem;
  }
}

/* Mobile hero order: copy, pair, consent */
@media (max-width: 899px) {
  .t5-hero--lp .t5-hero__meta,
  .t5-hero--ty .t5-hero__meta {
    order: 3;
  }
  .t5-hero--lp .t5-hero__copy {
    order: 1;
  }
}

/* Pair figure claims its column width (TY hero grid shrink-wrapped it) */
.t5-pair {
  width: 100%;
  max-width: 27rem;
}

.t5-hero--ty .t5-pair {
  max-width: 24rem;
}

/* Band photo lives in the right 60%; the sign stays clear of the copy */
@media (min-width: 900px) {
  .t5-band__photo {
    left: 40%;
  }
  .t5-band__photo img {
    object-position: 60% 35%;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 40%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 40%);
  }
}

/* Back-card tag never runs under the front card */
.t5-pair__card--back .t5-pair__tag {
  max-width: 60%;
}

/* Odd cell count on two-column phones: last cell spans the row */
@media (max-width: 759px) {
  .t5-creds-row li:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    border-right: 0;
    padding-left: 0;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   Theme 5 — LIGHT RE-SKIN (2026-10-02)
   Client direction: bright and welcoming for a 62+ reader, not a dark
   editorial. Every ink section above (header, hero, family, band, footer)
   is overridden here to paper. The hero follows theme-4's structure:
   sentence-case eyebrow, highlighted headline, trust checks, and the
   animated equity-house card. Portraits move to Our family.
   ═══════════════════════════════════════════════════════════════════════ */

:root {
  --t5-paper: #F3EEF7;
  --t5-paper-deep: #E6DCF2;
  --t5-surface: #FAFAF9;
  --t5-tint: #EDE4F6;        /* moss tint: highlight + light bands */
  --t5-tint-deep: #DDD0EE;
}

body.t5-page {
  background: var(--t5-paper);
  color: var(--t5-text);
}

/* ——— Header on paper ——— */
.t5-header {
  background: #F3EEF7;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid var(--t5-line);
  z-index: 50;
}

.t5-header .t5-wordmark,
.t5-header .t5-wordmark strong {
  color: var(--t5-leaf-deep);
}

.t5-header .t5-wordmark span {
  color: var(--t5-muted);
}

.t5-header .t5-nav a {
  color: var(--t5-text);
}

.t5-header .t5-nav a:hover {
  color: var(--t5-leaf-deep);
  border-bottom-color: var(--t5-leaf);
}

.t5-header .t5-nav a:focus-visible,
.t5-footer-links a:focus-visible {
  outline-color: var(--t5-leaf);
}

.t5-header .t5-topbar__phone {
  color: var(--t5-ink);
}

.t5-header .t5-topbar__phone:hover {
  color: var(--t5-leaf-deep);
}

.t5-progress {
  background: var(--t5-leaf);
}

/* ——— Hero on paper ——— */
.t5-hero {
  background:
    radial-gradient(60% 55% at 78% 18%, rgba(88, 45, 130, 0.1), transparent 70%),
    radial-gradient(40% 40% at 8% 95%, rgba(88, 45, 130, 0.1), transparent 70%),
    linear-gradient(180deg, var(--t5-paper) 0%, var(--t5-paper) 70%, var(--t5-paper-deep) 100%);
  color: var(--t5-text);
}

.t5-wing {
  opacity: 0.09;
}

.t5-headline,
.t5-h2--light,
.t5-phone-xl--light,
.t5-pair__plate strong,
.t5-quote p,
.t5-team strong,
.t5-hero__nameplate strong,
.t5-creds strong {
  color: var(--t5-ink);
}

.t5-headline em,
.t5-h2--light em {
  font-style: normal;
  font-weight: 500;
  color: var(--t5-leaf-deep);
  background: var(--t5-tint);
  border-radius: 0.16em;
  padding: 0.02em 0.16em 0.05em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.t5-lead,
.t5-family__body,
.t5-band__body,
.t5-pair__plate span,
.t5-pair__steps,
.t5-team p,
.t5-creds span {
  color: var(--t5-muted);
}

.t5-family__body strong {
  color: var(--t5-ink);
}

.t5-kicker--lime,
.t5-quote footer,
.t5-team small,
.t5-pair__steps li::before {
  color: var(--t5-leaf-deep);
}

.t5-consent--on-ink {
  color: var(--t5-muted);
}

.t5-consent a,
.t5-consent--on-ink a {
  color: var(--t5-leaf-deep);
}

.t5-hero__eyebrow {
  display: flex;
  align-items: baseline;
  gap: 0.65rem;
  margin: 0 0 1rem;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.01em;
  color: var(--t5-leaf-deep);
}

.t5-hero__eyebrow::before {
  content: "";
  flex: none;
  width: 1.5rem;
  height: 2px;
  border-radius: 1px;
  background: currentColor;
  opacity: 0.75;
  transform: translateY(-0.3em);
}

.t5-stamp {
  background: var(--t5-surface);
  border: 1px solid var(--t5-line);
  color: var(--t5-ink);
}

.t5-stamp__check {
  background: var(--t5-leaf);
  color: #fff;
}

.t5-btn--ghost-light {
  background: transparent;
  color: var(--t5-ink);
  border-color: var(--t5-line-strong);
}

.t5-btn--ghost-light:hover {
  border-color: var(--t5-ink);
  box-shadow: var(--t5-shadow);
}

.t5-phone-xl:hover {
  text-decoration-color: var(--t5-leaf);
}

/* Landing hero grid: intro + equity card on one centred axis (theme-4) */
.t5-hero--lp .t5-hero__grid {
  display: grid;
  align-items: center;
  row-gap: 1.5rem;
  grid-template-areas:
    "intro"
    "figure";
  padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(2.5rem, 5vw, 4.5rem);
}

.t5-hero__intro {
  grid-area: intro;
  min-width: 0;
}

.t5-hero__figure--equity {
  grid-area: figure;
  position: relative;
  margin: 0;
  width: 100%;
  max-width: 30rem;
  justify-self: center;
}

@media (min-width: 900px) {
  .t5-hero--lp .t5-hero__grid {
    grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
    grid-template-areas: "intro figure";
    grid-template-rows: auto;
    align-items: center;
    column-gap: clamp(2rem, 4vw, 3.5rem);
    row-gap: 0;
  }
  .t5-hero__figure--equity {
    justify-self: stretch;
    max-width: none;
  }
}

.t5-hero--lp .t5-headline {
  max-width: 39rem;
  margin: 0 0 1.25rem;
  font-size: clamp(2.1rem, 3.4vw, 3rem);
  line-height: 1.12;
}

.t5-hero--lp .t5-lead {
  max-width: 31rem;
  margin: 0 0 1.75rem;
  font-size: clamp(1.08rem, 1.4vw, 1.2rem);
}

.t5-hero--lp .t5-hero__actions {
  margin: 0 0 1.25rem;
}

.t5-hero__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 1.1rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--t5-ink);
}

.t5-hero__trust li {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.t5-hero__trust svg {
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 1.1rem;
  color: var(--t5-leaf);
}

.t5-hero--lp .t5-consent {
  margin: 1.25rem 0 0;
}

@media (max-width: 899px) {
  .t5-hero--lp .t5-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }
  .t5-hero--lp .t5-hero__actions .t5-btn--leaf {
    justify-content: center;
  }
  .t5-hero--lp .t5-hero__how {
    align-self: flex-start;
    border-color: transparent;
    padding-left: 0;
    padding-right: 0;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  .t5-hero--lp .t5-hero__how:hover {
    box-shadow: none;
    transform: none;
  }
}

/* ——— Equity-split house (ported from theme-4, Monarch tokens) ——— */
.t5-equity {
  display: grid;
  gap: 0.85rem;
  padding: 1rem 1.15rem 1.1rem;
  border-radius: var(--t5-radius-lg);
  background: var(--t5-surface);
  border: 1px solid var(--t5-line);
  box-shadow:
    0 2px 4px rgba(35, 31, 32, 0.05),
    0 32px 64px rgba(88, 45, 130, 0.14);
}

.t5-equity__svg {
  display: block;
  width: 100%;
  max-width: 17.5rem;
  height: auto;
  margin: 0 auto;
}

@media (min-width: 900px) {
  .t5-equity {
    padding: 1.05rem 1.2rem 1.15rem;
  }
  .t5-equity__svg {
    max-width: 21rem;
  }
}

.t5-equity__shell {
  fill: var(--t5-tint);
  stroke: var(--t5-leaf);
  stroke-width: 4;
  stroke-linejoin: round;
}

.t5-equity__fill {
  fill: var(--t5-leaf);
}

.t5-equity__riser,
.t5-equity__drop,
.t5-equity__cash,
.t5-equity__coin-group {
  transform-box: fill-box;
  transform-origin: center;
}

.t5-equity__riser {
  animation: t5-equity-breathe 4200ms ease-in-out infinite alternate;
}

@keyframes t5-equity-breathe {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(34px);
  }
}

.t5-equity__split {
  stroke: var(--t5-leaf);
  stroke-width: 4;
  stroke-linecap: round;
}

.t5-equity__coin-group {
  animation: t5-equity-swell 4200ms ease-in-out infinite alternate;
}

@keyframes t5-equity-swell {
  from {
    transform: scale(1.05);
  }
  to {
    transform: scale(1);
  }
}

.t5-equity__drop {
  fill: var(--t5-surface);
  stroke: var(--t5-leaf);
  stroke-width: 2.5;
  animation: t5-equity-drop 2600ms cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

@keyframes t5-equity-drop {
  0% {
    opacity: 0;
    transform: translateY(0);
  }
  12% {
    opacity: 1;
  }
  78% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(96px);
  }
}

.t5-equity__cash {
  animation: t5-equity-cash 700ms var(--t5-ease-enter) 420ms both;
}

@keyframes t5-equity-cash {
  from {
    opacity: 0;
    transform: translateY(-12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.t5-equity__flow-in,
.t5-equity__flow-out,
.t5-equity__tip {
  fill: none;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.t5-equity__flow-in {
  stroke: var(--t5-paper);
}

.t5-equity__flow-out,
.t5-equity__tip {
  stroke: var(--t5-leaf);
}

.t5-equity__coin {
  fill: var(--t5-leaf);
}

.t5-equity__coin-mark {
  fill: var(--t5-surface);
  font-family: var(--t5-body);
  font-weight: 800;
  font-size: 27px;
  text-anchor: middle;
  dominant-baseline: central;
}

.t5-equity__amount-value,
.t5-equity__amount-note {
  font-family: var(--t5-body);
  fill: var(--t5-surface);
  text-anchor: middle;
}

.t5-equity__amount-value {
  font-weight: 700;
  font-size: 22px;
}

.t5-equity__amount-note {
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0.04em;
  fill: rgba(253, 253, 251, 0.82);
}

.t5-equity__legend {
  margin: 0;
  display: grid;
  gap: 0.75rem;
}

.t5-equity__legend > div {
  display: grid;
  gap: 0.12rem;
}

.t5-equity__legend dt {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.3;
  color: var(--t5-ink);
}

.t5-equity__legend dd {
  margin: 0 0 0 1.7rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--t5-text);
}

.t5-equity__sample {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.35;
  color: var(--t5-muted);
}

.t5-equity__key {
  flex: none;
  width: 0.95rem;
  height: 0.95rem;
  border-radius: 0.25rem;
}

.t5-equity__key--owned {
  background: var(--t5-leaf);
}

.t5-equity__key--owed {
  background: var(--t5-tint);
  box-shadow: inset 0 0 0 2px var(--t5-leaf);
}

@media (prefers-reduced-motion: reduce) {
  .t5-equity__riser,
  .t5-equity__coin-group,
  .t5-equity__cash {
    animation: none;
  }
  .t5-equity__drop {
    display: none;
  }
}

/* ——— Portrait pair on paper (TY hero + Our family) ——— */
.t5-pair__card {
  background: var(--t5-tint-deep);
  box-shadow:
    0 1px 2px rgba(35, 31, 32, 0.08),
    0 24px 48px rgba(88, 45, 130, 0.18);
}

.t5-pair__card::after,
.t5-pair__card--back::after {
  box-shadow:
    inset 0 0 0 1px rgba(88, 45, 130, 0.25),
    inset 0 -4rem 4rem -3rem rgba(35, 31, 32, 0.55);
}

.t5-pair__plate {
  border-top-color: var(--t5-line-strong);
}

/* ——— Compare: the "on" card goes leaf, not ink ——— */
.t5-compare__card--on {
  background: linear-gradient(160deg, var(--t5-leaf) 0%, var(--t5-leaf-deep) 100%);
  border-color: var(--t5-leaf-deep);
}

/* ——— Our family: moss tint, portraits right, bios under the copy ——— */
.t5-family {
  background:
    radial-gradient(ellipse 50% 60% at 100% 0%, rgba(88, 45, 130, 0.12), transparent 70%),
    linear-gradient(160deg, var(--t5-tint) 0%, var(--t5-paper-deep) 100%);
  color: var(--t5-text);
}

.t5-quote {
  border-left-color: var(--t5-leaf);
}

.t5-family .t5-team {
  margin-top: 1.75rem;
}

.t5-team li {
  background: var(--t5-surface);
  border: 1px solid var(--t5-line);
  box-shadow: var(--t5-shadow);
}

.t5-team img {
  box-shadow: inset 0 0 0 1px rgba(88, 45, 130, 0.25);
}

.t5-family .t5-pair {
  justify-self: center;
}

@media (min-width: 960px) {
  .t5-family .t5-pair {
    justify-self: end;
  }
}

/* ——— Closing band: light tint with the office at right ——— */
.t5-band {
  background:
    radial-gradient(ellipse 50% 60% at 0% 100%, rgba(88, 45, 130, 0.12), transparent 70%),
    linear-gradient(180deg, var(--t5-paper-deep) 0%, var(--t5-tint) 100%);
  color: var(--t5-text);
  border-top: 1px solid var(--t5-line);
}

.t5-band__photo img {
  opacity: 0.55;
}

@media (min-width: 900px) {
  .t5-band__photo img {
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 45%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 45%);
  }
}

@media (max-width: 899px) {
  .t5-band__photo img {
    opacity: 0.18;
  }
}

/* ——— Footer on paper ——— */
.t5-footer {
  background: var(--t5-paper-deep);
  color: var(--t5-muted);
  border-top: 1px solid var(--t5-line);
}

.t5-footer__top {
  border-bottom-color: var(--t5-line);
}

.t5-footer__lockup {
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 0.9rem;
}

.t5-footer__lockup img {
  width: 3.75rem;
}

.t5-footer__lockup strong {
  display: block;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--t5-leaf-deep);
  margin-bottom: 0.25rem;
}

.t5-footer__lockup p {
  color: var(--t5-muted);
}

.t5-footer-links {
  color: var(--t5-line-strong);
}

/* Beats `.t5-page a:not(.t5-btn) { color: inherit }`, which was
   pulling these links down to the 22% pipe color. */
.t5-page .t5-footer-links a {
  color: var(--t5-text);
}

.t5-page .t5-footer-links a:hover {
  color: var(--t5-leaf-deep);
}

.t5-footer .site-legal,
.t5-footer .site-legal p,
.t5-footer .site-legal div {
  color: var(--t5-muted);
}

.t5-footer .site-legal a {
  color: var(--t5-text);
}

.t5-footer .site-legal__title,
.t5-footer .site-legal__heading {
  color: var(--t5-leaf-deep);
}

/* Family: the pair has no named hero area here; bios have no thumbnail */
.t5-family .t5-pair {
  grid-area: auto;
  margin-top: 0;
  order: 0;
}

/* Bios sit on one row under the intro so the portraits share the copy's top edge */
@media (min-width: 960px) {
  .t5-family__grid {
    align-items: start;
    column-gap: 4rem;
    row-gap: 2.5rem;
  }

  .t5-family .t5-pair {
    align-self: end;
    justify-self: end;
    width: min(100%, 27rem);
  }

  .t5-family .t5-team {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    margin-top: 0;
  }
}

.t5-family .t5-team li {
  grid-template-columns: 1fr;
}

/* Band overlay goes paper so the office reads as a sunny photo, not a night shot */
.t5-band::after {
  background: linear-gradient(90deg, rgba(243, 238, 247, 0.98) 0%, rgba(243, 238, 247, 0.9) 45%, rgba(243, 238, 247, 0.15) 100%);
}

.t5-band__photo img {
  opacity: 1;
  -webkit-mask-image: none;
  mask-image: none;
}

@media (max-width: 899px) {
  .t5-band::after {
    background: rgba(243, 238, 247, 0.92);
  }
  .t5-band__photo img {
    opacity: 1;
  }
}

.t5-band .t5-kicker--lime {
  color: var(--t5-leaf-deep);
}

.t5-compare__card--on .t5-compare__title {
  color: #fff;
}

/* Process: the line runs through the numeral row, and a pulse travels
   01 → 02 → 03. Numbers mask the track so it only shows between them. */
@media (min-width: 760px) {
  .t5-timeline {
    padding-top: 0;
    column-gap: 0;
    gap: 0;
  }

  .t5-timeline li {
    padding-top: 0;
    padding-right: 1.75rem;
  }

  .t5-timeline__line {
    top: calc(1.1rem - 1.5px);
    right: 33.333%;
    height: 3px;
    border-radius: 2px;
    background: var(--t5-tint-deep);
    transform: none;
    overflow: hidden;
  }

  .t5-timeline__line::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 28%;
    background: linear-gradient(90deg, transparent, var(--t5-leaf) 55%, transparent);
    animation: t5-line-flow 3.4s linear infinite;
  }

  .t5-timeline__dot {
    display: none;
  }

  .t5-timeline .t5-process__num {
    position: relative;
    z-index: 1;
    justify-self: start;
    padding-right: 0.7rem;
    background: var(--t5-surface);
  }
}

@keyframes t5-line-flow {
  from {
    transform: translateX(-120%);
  }
  to {
    transform: translateX(460%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .t5-timeline__line::after {
    animation: none;
    opacity: 0;
  }
}

/* ——— Brand wordmark art in the header (client's logotype, not CSS text) ——— */
.t5-wordmark__type {
  display: block;
  width: auto;
  height: 0.95rem;
  align-self: end;
}

@media (max-width: 560px) {
  .t5-wordmark__type {
    height: 0.72rem;
  }
}

/* Footer: full stacked lockup on paper */
.t5-footer__lockup {
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 1.25rem;
}

.t5-footer__lockup img {
  width: clamp(8rem, 14vw, 10.5rem);
}

@media (max-width: 560px) {
  .t5-footer__lockup {
    grid-template-columns: 1fr;
    row-gap: 0.9rem;
    justify-items: start;
  }
}

/* ——— Success stories: client letters ——— */
.t5-letters {
  background:
    radial-gradient(ellipse 45% 70% at 100% 0%, rgba(88, 45, 130, 0.07), transparent 70%),
    var(--t5-paper-deep);
  border-top: 1px solid var(--t5-line);
}

.t5-letters__head {
  max-width: 44rem;
}

.t5-letters__grid {
  display: grid;
  gap: 1.5rem;
  margin-top: 2.25rem;
}

@media (min-width: 860px) {
  .t5-letters__grid {
    grid-template-columns: 1fr 1fr;
  }
}

.t5-letter {
  display: grid;
  align-content: start;
  gap: 0.8rem;
  padding: 1.9rem 1.9rem 1.7rem;
  background: var(--t5-surface);
  border: 1px solid var(--t5-line);
  border-radius: var(--t5-radius);
  box-shadow: var(--t5-shadow);
  text-decoration: none;
  color: var(--t5-text);
  transition-property: transform, box-shadow;
  transition-duration: 260ms;
  transition-timing-function: var(--t5-ease);
}

.t5-letter:hover {
  transform: translateY(-4px);
  box-shadow: var(--t5-shadow-lg);
}

.t5-letter:focus-visible {
  outline: 2px solid var(--t5-leaf);
  outline-offset: 3px;
}

.t5-letter:active {
  transform: translateY(-1px);
}

.t5-letter__eyebrow {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--t5-leaf-deep);
}

.t5-letter h3 {
  margin: 0;
  font-family: var(--t5-display);
  font-weight: 500;
  font-size: clamp(1.35rem, 2.4vw, 1.7rem);
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.t5-letter p {
  margin: 0;
  color: var(--t5-muted);
  line-height: 1.6;
}

.t5-letter__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.35rem;
  font-weight: 600;
  color: var(--t5-leaf-deep);
}

.t5-letter__cta svg {
  width: 1.05rem;
  height: 1.05rem;
  transition-property: transform;
  transition-duration: 260ms;
  transition-timing-function: var(--t5-ease);
}

.t5-letter:hover .t5-letter__cta svg {
  transform: translateX(4px);
}

/* ——— Story article pages ——— */
.t5-story__hero {
  background:
    radial-gradient(ellipse 50% 80% at 100% 0%, rgba(88, 45, 130, 0.08), transparent 70%),
    linear-gradient(180deg, var(--t5-tint) 0%, var(--t5-paper) 100%);
  border-bottom: 1px solid var(--t5-line);
  padding: clamp(6.5rem, 12vw, 9rem) 0 clamp(2.5rem, 5vw, 3.5rem);
}

.t5-story__wrap {
  max-width: 50rem;
}

.t5-story__crumb {
  display: flex;
  gap: 0.6rem;
  font-size: 0.85rem;
  color: var(--t5-muted);
  margin-bottom: 1.6rem;
}

.t5-story__crumb a {
  color: var(--t5-leaf-deep);
  text-decoration: none;
}

.t5-story__crumb a:hover {
  text-decoration: underline;
}

.t5-story__eyebrow {
  margin: 0 0 1rem;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--t5-leaf-deep);
}

.t5-story__hero .t5-headline {
  color: var(--t5-text);
  margin: 0 0 1.4rem;
  font-size: clamp(2.1rem, 4.6vw, 3.4rem);
}

.t5-story__byline {
  margin: 0;
  font-size: 0.95rem;
  color: var(--t5-muted);
}

.t5-story__byline strong {
  color: var(--t5-text);
}

.t5-story__body {
  padding: clamp(2.5rem, 5vw, 3.5rem) 0 0;
  font-size: 1.1rem;
  line-height: 1.75;
}

.t5-story__body p {
  margin: 0 0 1.4rem;
}

.t5-story__body p:first-child::first-letter {
  font-family: var(--t5-display);
  font-size: 3.2em;
  font-weight: 500;
  float: left;
  line-height: 0.82;
  padding: 0.08em 0.12em 0 0;
  color: var(--t5-leaf-deep);
}

.t5-story__pull {
  margin: 2.4rem 0;
  padding: 1.6rem 1.9rem;
  background: var(--t5-tint);
  border-left: 3px solid var(--t5-leaf);
  border-radius: 0 var(--t5-radius) var(--t5-radius) 0;
}

.t5-story__pull p {
  margin: 0;
  font-family: var(--t5-display);
  font-style: italic;
  font-size: 1.35rem;
  line-height: 1.4;
  color: var(--t5-moss, #3F1F5C);
}

.t5-story__note {
  margin: 2.5rem 0 0;
  padding: 1.3rem 1.5rem;
  background: var(--t5-surface);
  border: 1px solid var(--t5-line);
  border-radius: var(--t5-radius);
}

.t5-story__note p {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.6;
  color: var(--t5-muted);
}

.t5-story__next {
  margin: 2.5rem 0 clamp(3.5rem, 7vw, 5rem);
}

.t5-band--story .t5-band__inner {
  max-width: 48rem;
}


/* Reverse Solutions campaign lockup + legal band */
.t5-wordmark__mark {
  width: auto;
  height: 2.35rem;
  max-width: 9.5rem;
  object-fit: contain;
  object-position: left center;
}

.t5-footer__lockup img {
  width: auto;
  height: 3.25rem;
  max-width: 12rem;
  background: #fff;
  border-radius: 0.4rem;
  padding: 0.35rem 0.5rem;
}

.rs-footer-contact {
  display: grid;
  gap: 0.35rem;
  align-content: start;
}

.rs-footer-contact__label {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t5-leaf-deep);
}

.rs-footer-phone {
  font-family: var(--t5-display);
  font-size: 1.85rem;
  line-height: 1.1;
  color: var(--t5-ink);
  text-decoration: none;
  letter-spacing: -0.02em;
}

.rs-footer-phone:hover {
  color: var(--t5-leaf);
}

.rs-footer-phone:focus-visible,
.rs-footer-contact a:focus-visible {
  outline: 2px solid var(--t5-leaf);
  outline-offset: 3px;
}

.rs-legal {
  background: #231F20;
  color: rgba(255, 255, 255, 0.88);
  padding: 2.25rem 0 2.75rem;
}

.rs-legal .site-legal,
.rs-legal .site-legal p,
.rs-legal .site-legal div,
.rs-legal .site-legal span,
.rs-legal .site-legal li {
  color: rgba(255, 255, 255, 0.88);
}

.rs-legal .site-legal a {
  color: #fff;
}

.rs-legal .site-legal a:hover {
  color: #fff;
}

@media (max-width: 899px) {
  .t5-header .t5-topbar {
    gap: 0.65rem;
  }

  .t5-header .t5-topbar__phone {
    display: none;
  }

  .t5-wordmark__mark {
    height: 1.7rem;
    max-width: 4.4rem;
  }

  .t5-header .t5-wordmark {
    flex: 1 1 auto;
    min-width: 0;
    column-gap: 0.45rem;
  }

  .t5-header .t5-wordmark strong {
    min-width: 0;
    font-size: 0.68rem;
    letter-spacing: 0.04em;
  }
}

.t5-reviews.is-paused .t5-reviews__rail {
  animation-play-state: paused;
}

.t5-reviews__pause {
  display: inline-flex;
  align-items: center;
  margin: 0.35rem auto 0;
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  border: 1px solid var(--t5-line-strong);
  background: var(--t5-surface);
  color: var(--t5-ink);
  font: 600 0.85rem/1 var(--t5-body);
  cursor: pointer;
}

.t5-reviews__pause:hover {
  border-color: var(--t5-leaf);
  color: var(--t5-leaf);
}

.t5-reviews__pause:focus-visible {
  outline: 2px solid var(--t5-leaf);
  outline-offset: 3px;
}

.t5-reviews__pause:active {
  transform: translateY(1px);
}

/* ——— Campaign phone pass ———
   Desktop at 900px and up is unchanged. On a phone the page keeps the
   promise, the equity picture, one bank line, the people, and one action.
   Repeated proof, the second explanation under each point, and the extra
   link beside the button stay on larger screens. */
.t5-m-only {
  display: none;
}

@media (max-width: 899px) {
  .t5-campaign .t5-m-hide {
    display: none !important;
  }

  .t5-campaign .t5-m-only {
    display: inline;
  }

  .t5-campaign .t5-header .t5-topbar {
    gap: 0.55rem;
    padding: 0.7rem 0;
  }

  .t5-campaign .t5-header .t5-wordmark span {
    display: none;
  }

  .t5-campaign .t5-wordmark__mark {
    height: 1.85rem;
    max-width: 5.25rem;
  }

  .t5-campaign .t5-header .t5-wordmark strong {
    align-self: center;
    font-size: 0.68rem;
    letter-spacing: 0.045em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .t5-campaign .t5-header .t5-topbar .t5-btn {
    flex: none;
    white-space: nowrap;
    padding: 0.7rem 0.8rem;
    font-size: 0.84rem;
  }

  .t5-campaign .t5-hero--lp .t5-hero__grid {
    row-gap: 1.1rem;
    padding: 1.6rem 0 1.35rem;
  }

  .t5-campaign .t5-hero--lp .t5-headline {
    margin-bottom: 0.8rem;
  }

  .t5-campaign .t5-hero--lp .t5-lead {
    margin-bottom: 1.15rem;
  }

  .t5-campaign .t5-hero--lp .t5-hero__actions {
    margin-bottom: 0.85rem;
  }

  .t5-campaign .t5-hero--lp .t5-consent {
    margin-top: 0.85rem;
  }

  .t5-campaign .t5-equity {
    gap: 0.65rem;
    padding: 0.75rem 0.9rem 0.85rem;
  }

  .t5-campaign .t5-equity__svg {
    max-width: 13.5rem;
  }

  .t5-campaign .t5-equity__legend {
    gap: 0.55rem;
  }

  .t5-campaign .t5-equity__legend dd {
    font-size: 0.92rem;
  }

  .t5-campaign .t5-equity__sample {
    font-size: 0.88rem;
  }

  .t5-campaign .t5-creds-row span {
    display: none;
  }

  .t5-campaign .t5-creds-row li {
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
  }

  .t5-campaign .t5-creds-row strong {
    font-size: 1.02rem;
  }

  .t5-campaign .t5-section,
  .t5-campaign .t5-why,
  .t5-campaign .t5-family {
    padding: 2.15rem 0;
  }

  .t5-campaign .t5-split {
    gap: 1.35rem;
  }

  .t5-campaign .t5-compare {
    grid-template-columns: 1fr;
    margin-top: 1.15rem;
    gap: 0.7rem;
  }

  .t5-campaign .t5-pillars {
    padding: 1.15rem 1.15rem 0.35rem;
  }

  .t5-campaign .t5-pillars__kicker {
    margin-bottom: 0.85rem;
  }

  .t5-campaign .t5-pillars ol {
    gap: 0;
  }

  .t5-campaign .t5-pillars li {
    grid-template-columns: 2rem 1fr;
    gap: 0 0.65rem;
    padding-bottom: 0.8rem;
    align-items: center;
  }

  .t5-campaign .t5-pillars li > span {
    display: none;
  }

  .t5-campaign .t5-pillars li::before {
    grid-row: auto;
    font-size: 1.15rem;
  }

  .t5-campaign .t5-pillars strong {
    font-size: 1.08rem;
  }

  .t5-campaign .t5-why__grid {
    gap: 0;
  }

  .t5-campaign .t5-why .t5-cta-row {
    margin-top: 1.15rem;
  }

  .t5-campaign .t5-family__grid {
    gap: 1.25rem;
  }

  .t5-campaign .t5-quote {
    margin-bottom: 0;
  }

  .t5-campaign .t5-family .t5-team {
    margin-top: 0.35rem;
    gap: 0.6rem;
  }

  .t5-campaign .t5-team li {
    grid-template-columns: 3.35rem minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.7rem 0.8rem;
    align-items: center;
  }

  .t5-campaign .t5-team img {
    width: 3.35rem;
    aspect-ratio: 1;
    border-radius: 50%;
    object-position: center 15%;
  }

  .t5-campaign .t5-team small {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    line-height: 1.35;
  }

  .t5-campaign .t5-team p {
    display: none;
  }

  .t5-campaign .t5-fit__head {
    margin-bottom: 1.15rem;
  }

  .t5-campaign .t5-fit {
    gap: 0.7rem;
  }

  .t5-campaign .t5-fit li {
    padding: 1.05rem 1.05rem 1rem;
    gap: 0.35rem;
  }

  .t5-campaign .t5-fit__icon {
    width: 2.35rem;
    height: 2.35rem;
    margin-bottom: 0.35rem;
  }

  .t5-campaign .t5-slide {
    padding: 1.35rem 1.25rem 1.2rem;
  }

  .t5-campaign .t5-process {
    margin-top: 1.25rem;
    gap: 1rem;
  }

  .t5-campaign .t5-band__inner {
    padding: 2.5rem 0;
  }

  .t5-campaign .t5-band .t5-cta-row {
    margin-top: 1.15rem;
  }
}
