.quiz-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  background: #f6d085;
  color: #4d403a;
  border: 2px solid #f6d085;
  border-radius: 999px;
  padding: 1rem 1.45rem;
  box-shadow: 0 10px 26px rgba(77, 64, 58, 0.16);
  font-size: 0.79rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

/* Final warm, earth-led palette and editorial composition */
.hero-title { max-width: 10.5ch; }

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.62rem;
  position: relative;
  padding-bottom: 0.22rem;
}

.eyebrow::after {
  content: "";
  width: 2.25rem;
  height: 2px;
  border-radius: 4px;
  background: linear-gradient(
    90deg,
    rgba(246, 208, 133, 0.7),
    rgba(239, 184, 106, 0.92) 68%,
    rgba(77, 64, 58, 0.22)
  );
  box-shadow: 0 2px 9px rgba(246, 208, 133, 0.35);
}

.hero-title-premise {
  display: block;
  margin-bottom: 1.15rem;
  color: var(--muted);
  font: 700 clamp(.72rem,1vw,.9rem)/1.25 var(--sans);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.hero-title-impact {
  display: block;
  color: var(--forest);
  font: 400 clamp(3.8rem,5.6vw,5.7rem)/.88 var(--serif);
  letter-spacing: -.055em;
}

.hero-title-impact {
  position: relative;
}

.hero-title-impact::after {
  content: "";
  display: block;
  width: clamp(4.4rem, 12vw, 6.2rem);
  height: 5px;
  margin-top: 0.8rem;
  border-radius: 99px;
  background: linear-gradient(
    90deg,
    rgba(246, 208, 133, 0.9),
    rgba(146, 105, 58, 0.28)
  );
  box-shadow: 0 2px 12px rgba(246, 208, 133, 0.22);
}

.lede {
  max-width: 34rem;
  padding-left: 1.15rem;
  border-left: 3px solid rgba(246, 208, 133, 0.86);
}

.hero-program {
  display: inline;
  background-image: linear-gradient(
    to bottom,
    transparent 62%,
    rgba(246, 208, 133, 0.42) 62%
  );
  background-repeat: no-repeat;
  background-size: 100% 0.82em;
  background-position: 0 100%;
  color: var(--forest);
  font-weight: 700;
}

.pillar {
  position: relative;
  background:
    linear-gradient(180deg, rgba(246,243,235,.56), rgba(246,243,235,.18)),
    transparent;
}

.pillar::before {
  content: "";
  position: absolute;
  left: 1.35rem;
  right: 1.35rem;
  top: 0;
  height: 3px;
  border-radius: 999px;
  background: rgba(246, 208, 133, 0.56);
  transform: scaleX(0.54);
  transform-origin: left;
}

.pillar h3 {
  color: var(--forest);
}

.photo-note {
  padding: 0.75rem 0 0 1rem;
  border-left: 2px solid rgba(246, 208, 133, 0.7);
}

.quote {
  padding-left: clamp(1rem, 2vw, 1.45rem);
  border-left: 4px solid rgba(246, 208, 133, 0.85);
}

.article-card {
  position: relative;
  overflow: hidden;
}

.article-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(
    180deg,
    rgba(246, 208, 133, 0.96),
    rgba(246, 208, 133, 0.18)
  );
}

.section-head h2,
.article-card h3,
.contact h2 {
  position: relative;
}

.section-head h2::after,
.article-card h3::after {
  content: "";
  display: block;
  width: clamp(2.5rem, 11vw, 4.4rem);
  height: 3px;
  margin-top: 0.55rem;
  margin-bottom: 0.15rem;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    rgba(139, 149, 120, 0.75),
    rgba(246, 208, 133, 0.62)
  );
  opacity: 0.95;
}

.contact h2::after {
  width: clamp(2.75rem, 11vw, 4.9rem);
  margin-top: 0.65rem;
  background: linear-gradient(
    90deg,
    rgba(246, 208, 133, 0.86),
    rgba(77, 64, 58, 0.3)
  );
}

.section-intro,
.lede,
.story-copy p,
.article-card p,
.contact .section-intro {
  position: relative;
}

.story-copy p + p,
.quote + .pillar,
.testimonial blockquote,
.article-card p {
  text-wrap: pretty;
}

.story-copy p strong,
.section-intro strong,
.contact .section-intro strong {
  color: var(--forest-deep);
}

.section-alt-bullet {
  display: inline-block;
  position: relative;
  text-decoration: none;
  color: inherit;
  background-image: linear-gradient(
    to bottom,
    transparent 70%,
    rgba(246, 208, 133, 0.28) 70%
  );
  background-size: 100% 0.35em;
  background-position: 0 100%;
  background-repeat: no-repeat;
}
.hero-title-impact em {
  color: var(--clay);
  font-weight: 400;
}
.button {
  background: var(--clay);
  color: var(--paper);
  border: 1px solid var(--clay);
  box-shadow: 0 9px 22px rgba(145, 76, 47, 0.18), inset 0 1px 0 rgba(255,255,255,.22);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover,
.button:focus-visible {
  background: #ffe0a3;
  border-color: #ffe0a3;
  color: #4d403a;
  transform: translateY(-2px);
  box-shadow: 0 0 0 4px rgba(246,208,133,.24), 0 13px 28px rgba(77,64,58,.18), inset 0 1px 0 rgba(255,255,255,.32);
}
.button.secondary { background: transparent; color: var(--forest); border-color: rgba(77,64,58,.45); box-shadow: none; }
.button.secondary:hover,
.button.secondary:focus-visible { background: var(--paper); border-color: var(--forest); }
.section.alt { background: rgba(139,149,120,.16); }
.social-link:hover,
.social-link:focus-visible { background: var(--sage); color: var(--paper); }
.article-card { background: var(--sage); color: var(--paper); }
.article-card .eyebrow { color: var(--paper); }
.article-card .button { background: var(--clay); color: var(--paper); }
.contact { background: var(--sage); color: var(--paper); }
.contact .section-intro,
.contact .quiz-cta-note { color: var(--paper); }
.credentials {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: .75rem;
  margin-top: 2.25rem;
  padding: 1rem;
  background: rgba(139,149,120,.13);
  border: 1px solid rgba(139,149,120,.3);
}
.credential {
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: .8rem 1rem .8rem 2.35rem;
  border: 0;
  background: var(--paper);
  color: var(--forest);
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .01em;
  position: relative;
}
.credential::before {
  content: "";
  position: absolute;
  left: 1rem;
  width: .58rem;
  height: .58rem;
  border-radius: 50%;
  background: var(--sage);
  box-shadow: 0 0 0 5px rgba(139,149,120,.14);
}
.testimonial-section { background: var(--gold); }
.testimonial-section .section-head {
  padding: clamp(1.75rem,4vw,3.2rem);
  background: var(--paper);
  border-left: 4px solid var(--clay);
  margin-bottom: 1.25rem;
}
.testimonial-section .section-head h2 { color: var(--forest); }
.testimonial-section .section-intro { margin-top: .85rem; }
.testimonials { gap: 1px; background: rgba(77,64,58,.12); }
.testimonial { border-top: 4px solid var(--clay); padding: clamp(1.6rem,3vw,2.4rem); }
.testimonial blockquote { color: var(--forest); font-size: clamp(1.3rem,2vw,1.65rem); }
.testimonial cite { color: var(--muted); }

@media (max-width: 780px) {
  .hero,.story { padding: 3.25rem 0; }
  .hero-photo { order:0; }
  .section { padding: 3.25rem 0; }
  .section-head { margin-bottom: 2rem; }
  .page-hero { padding: 3rem 0 2.5rem; }
  .article { padding: 2.75rem 0 3.5rem; }
  .credentials { margin-top: 1.5rem; }
  .testimonial-section .section-head { margin-bottom: 1px; }
}

@media (max-width: 560px) {
  .wrap { width: min(100% - 28px,1180px); }
  .hero { gap: 1.75rem; padding: 2.5rem 0 3rem; }
  .hero h1,.display { font-size: clamp(2.85rem,14vw,4rem); line-height: .93; }
  .hero-title { max-width: 9.5ch; }
  .hero-title-premise { margin-bottom: .85rem; font-size: .68rem; line-height: 1.35; }
  .hero-title-impact { font-size: clamp(3.15rem,14vw,4rem); line-height: .88; }
  .lede { margin: 1.25rem 0 1.5rem; }
  .section { padding: 2.75rem 0; }
  .section-head { gap: .7rem; margin-bottom: 1.5rem; }
  .section h2 { font-size: clamp(2.35rem,12vw,3.35rem); }
  .story { gap: 1.75rem; padding: 2.75rem 0; }
  .story-copy p { margin: .85rem 0; }
  .credentials { grid-template-columns: 1fr; gap: .55rem; padding: .7rem; }
  .credential { min-height: 52px; }
  .section.testimonial-section { padding: 2.5rem 0; }
  .testimonial-section .section-head { padding: 1.5rem; border-left-width: 3px; }
  .testimonials { grid-template-columns: 1fr; }
  .testimonial { padding: 1.5rem; }
  .testimonial blockquote { font-size: 1.28rem; line-height: 1.38; }
  .contact { padding: 3.5rem 0; }
  .article-card { padding: 1.45rem; }
  .page-hero { padding: 2.75rem 0 2.25rem; }
  .article { width: min(100% - 28px,760px); padding: 2.5rem 0 3.25rem; }
}
.quiz-cta::after {
  content: "→";
  font-size: 1rem;
}
.quiz-cta:hover,
.quiz-cta:focus-visible {
  background: #ffe0a3;
  border-color: #ffe0a3;
  color: #4d403a;
  transform: translateY(-2px) scale(1.01);
  box-shadow: 0 0 0 4px rgba(246,208,133,.3), 0 14px 32px rgba(77,64,58,.22), inset 0 1px 0 rgba(255,255,255,.35);
}
.quiz-cta-note {
  display: block;
  margin-top: 0.65rem;
  color: var(--muted);
  font-size: 0.75rem;
}
.contact .quiz-cta-note {
  color: #d5dfd7;
}
.social-links {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
}
.social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border: 1px solid var(--line);
  border-radius: 50%;
  text-decoration: none;
  color: var(--forest);
  transition:
    background 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}
.social-link:hover,
.social-link:focus-visible {
  background: var(--forest);
  color: #fff;
  transform: translateY(-2px);
}
.social-link svg {
  width: 1.05rem;
  height: 1.05rem;
  fill: currentColor;
}
.footer-main,
.footer-legal {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  flex-wrap: wrap;
}
.legal-credit {
  flex-basis: 100%;
  font-size: 0.67rem;
}
main h1,
main h2,
main h3,
main p,
main blockquote {
  overflow-wrap: break-word;
}
.section-head > *,
.gallery > *,
.gallery .stack > * {
  min-width: 0;
}
@media (min-width: 781px) and (max-width: 1024px) {
  .hero,
  .section-head,
  .article-card {
    gap: 2.25rem;
  }
  .hero h1 {
    font-size: clamp(3.4rem, 7vw, 5.3rem);
  }
  .gallery img {
    min-height: 0;
  }
}
@media (max-width: 780px) {
  .gallery img {
    height: auto;
    min-height: 0;
  }
  .gallery > img {
    aspect-ratio: 4/3;
    object-position: center 38%;
  }
  .gallery .stack {
    grid-template-columns: 1fr 1fr;
  }
  .gallery .stack img {
    aspect-ratio: 4/3;
  }
  .section.testimonial-section .section-head {
    padding: 1.45rem;
    background: var(--paper);
    position: relative;
    z-index: 1;
  }
  .section.testimonial-section .section-head h2,
  .section.testimonial-section .section-head p {
    color: var(--forest);
  }
  .section.testimonial-section .eyebrow {
    color: var(--clay);
  }
  .footer {
    align-items: flex-start;
  }
  .footer-main,
  .footer-legal {
    width: 100%;
  }
}
@media (max-width: 560px) {
  .hero-photo img {
    height: auto;
    aspect-ratio: 4/5;
    object-position: 51% 42%;
  }
  .gallery > img {
    aspect-ratio: 3/2;
    object-fit: cover;
    object-position: center 45%;
  }
  .gallery .stack {
    grid-template-columns: 1fr;
  }
  .gallery .stack img {
    aspect-ratio: 3/2;
    object-fit: cover;
  }
  .gallery .stack img:last-child {
    object-position: center 58%;
  }
  .section.testimonial-section {
    padding-top: 3rem;
  }
  .section.testimonial-section .section-head {
    margin-bottom: 1.5rem;
  }
  .quiz-cta {
    width: 100%;
    min-height: 56px;
  }
  .actions .quiz-cta {
    order: -1;
  }
  .footer {
    font-size: 0.7rem;
  }
  .social-links {
    margin: 0.25rem 0;
  }
}

/* Keep the final composition authoritative after legacy responsive rules. */
.social-link:hover,
.social-link:focus-visible { background: var(--sage); color: var(--paper); }

@media (max-width: 780px) {
  .hero,.story { padding: 3.25rem 0; }
  .section { padding: 3.25rem 0; }
  .section-head { margin-bottom: 2rem; }
  .testimonial-section .section-head { margin-bottom: 1px; }
}

@media (max-width: 560px) {
  .wrap { width: min(100% - 28px,1180px); }
  .hero { gap: 1.75rem; padding: 2.5rem 0 3rem; }
  .section { padding: 2.75rem 0; }
  .story { gap: 1.75rem; padding: 2.75rem 0; }
  .section.testimonial-section { padding: 2.5rem 0; }
  .section.testimonial-section .section-head { margin-bottom: 1px; }
  .credentials { grid-template-columns: 1fr; gap: .55rem; padding: .7rem; }
  .contact { padding: 3.5rem 0; }
}

/* Typography audit: clear hierarchy, readable measures, orange reserved for quiz CTAs. */
body { font-size: 17px; line-height: 1.68; }
p,li { text-wrap: pretty; }
h1,h2,h3,.quote,.testimonial blockquote { text-wrap: balance; }
.brand {
  display: inline-flex;
  flex-direction: column;
  gap: .28rem;
  color: var(--forest);
  font-size: 1.22rem;
  line-height: .9;
  letter-spacing: .09em;
}
.brand small {
  margin: 0;
  padding-left: 0;
  border-left: 0;
  color: #5f6954;
  font-size: .55rem;
  line-height: 1.35;
  letter-spacing: .18em;
}
.eyebrow { color: var(--muted); }
.hero-title { max-width: none; width: min(100%,10.5ch); }
.hero-title-premise {
  margin-bottom: 1.35rem;
  color: var(--muted);
  font-size: clamp(.78rem,1vw,.92rem);
}
.hero-title-impact {
  font-size: clamp(3.7rem,5.2vw,5.35rem);
  line-height: .9;
  text-wrap: balance;
}
.hero-title-impact em,
.hero h1 em,
.display em,
.section h2 em,
.quote em {
  color: inherit;
  background-image: linear-gradient(180deg,transparent 72%,rgba(139,149,120,.28) 72%);
}
.hero .lede { max-width: 34rem; margin-bottom: 1.35rem; }
.hero-program {
  width: fit-content;
  max-width: 100%;
  margin: 0 0 1.15rem;
  padding: .52rem .72rem .52rem .85rem;
  border-left: 3px solid var(--sage);
  background: rgba(139,149,120,.12);
  color: var(--forest);
  font-size: .7rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.section h2 { max-width: 17ch; }
.section-intro,.story-copy p,.article-card p { max-width: 62ch; }
.story-copy p + p,.article p + p { margin-top: 1.05rem; }
.button {
  background: var(--sage);
  border-color: var(--sage);
  color: var(--paper);
  box-shadow: none;
}
.button:hover,.button:focus-visible {
  background: var(--forest);
  border-color: var(--forest);
  box-shadow: 0 8px 20px rgba(77,64,58,.16);
}
.article-card,.contact { background:#66705a; }
.article-card .eyebrow,.contact .eyebrow { color: var(--paper); }
.article-card .button {
  background: var(--paper);
  border-color: var(--paper);
  color: var(--forest);
  box-shadow: 0 8px 22px rgba(77,64,58,.12);
}
.article-card .button:hover,.article-card .button:focus-visible {
  background: var(--honey);
  border-color: var(--honey);
  color: var(--forest);
}
.testimonial-section .section-head { border-left-color: var(--sage); }
.testimonial { border-top-color: var(--sage); }
.quiz-cta { background:#f6d085; color:#4d403a; border-color:#f6d085; box-shadow:0 10px 26px rgba(77,64,58,.16); }
.quiz-cta:hover,.quiz-cta:focus-visible { background:#ffe0a3; color:#4d403a; border-color:#ffe0a3; box-shadow:0 0 0 6px rgba(246,208,133,.42),0 14px 32px rgba(77,64,58,.2); }
.quiz-cta:active { background:#e7b96a; transform:translateY(0); box-shadow:0 7px 18px rgba(77,64,58,.18),inset 0 2px 8px rgba(77,64,58,.18); }

/* Warm lit CTA system requested for Jani / The Return. */
.button {
  background:#f6d085;
  color:#4d403a;
  border-color:#f6d085;
  box-shadow:0 9px 22px rgba(77,64,58,.14),0 0 0 0 rgba(246,208,133,.46),inset 0 1px 0 rgba(255,255,255,.32);
}
.button:hover,.button:focus-visible {
  background:#ffe0a3;
  color:#4d403a;
  border-color:#ffe0a3;
  box-shadow:0 0 0 6px rgba(246,208,133,.42),0 13px 28px rgba(77,64,58,.2),0 0 28px rgba(246,208,133,.34),inset 0 1px 0 rgba(255,255,255,.4);
}
.button:active {
  background:#e7b96a;
  transform:translateY(0);
  box-shadow:0 7px 18px rgba(77,64,58,.18),inset 0 2px 8px rgba(77,64,58,.18);
}
.button.secondary {
  background:transparent;
  color:var(--forest);
  border-color:rgba(77,64,58,.45);
  box-shadow:none;
}

@media (min-width: 781px) {
  .hero { grid-template-columns: minmax(0,1.12fr) minmax(360px,.88fr); gap: clamp(3rem,5vw,5.5rem); }
  .hero-title { width: min(100%,12.5ch); }
}

@media (max-width: 560px) {
  body { font-size: 16px; }
  .brand { font-size: 1.08rem; }
  .brand small { max-width: 30ch; font-size: .5rem; letter-spacing: .14em; }
  .hero-photo { order:0; }
  .hero-title { width: 100%; max-width: 10ch; }
  .hero-title-premise { margin-bottom: 1rem; font-size: .7rem; }
  .hero-title-impact { font-size: clamp(3rem,13vw,3.7rem); line-height: .92; }
  .hero-program { margin-bottom: 1rem; font-size: .64rem; }
  .section h2 { max-width: 15ch; }
}

/* 2026-08-25 root-site color alignment: softer, warmer, closer to The Return kit. */
:root {
  --forest:#4d403a;
  --forest-deep:#66705a;
  --ink:#4d403a;
  --cream:#eeeae0;
  --paper:#f6f3eb;
  --gold:#c4b49e;
  --honey:#ded8cc;
  --clay:#c4b49e;
  --sage:#8b9578;
  --mist:#ded8cc;
  --muted:#6b625a;
  --cta:#f6d085;
  --cta-hover:#ffe0a3;
  --cta-active:#e7b96a;
  --cta-glow:rgba(246,208,133,.42);
}
body { background:var(--cream); color:var(--ink); }
.nav { border-bottom-color:rgba(77,64,58,.14); }
.brand { color:var(--ink); }
.brand small { color:var(--forest-deep); }
.hero-title-premise,.eyebrow { color:var(--muted); }
.hero-title-impact,.section h2,.quote,.testimonial blockquote { color:var(--ink); }
.hero-title-impact em,
.hero h1 em,
.display em,
.section h2 em,
.quote em {
  color:inherit;
  background-image:linear-gradient(180deg,transparent 72%,rgba(139,149,120,.28) 72%);
}
.section.alt { background:rgba(139,149,120,.13); }
.article-card,.contact { background:var(--forest-deep); color:var(--paper); }
.article-card .eyebrow,.contact .eyebrow { color:var(--paper); }
.article-card h3,.contact h2 { color:var(--paper); }
.article-card p,.contact .section-intro,.contact .quiz-cta-note { color:rgba(246,243,235,.86); }
.testimonial-section { background:var(--gold); }
.testimonial-section .section-head { border-left-color:var(--sage); }
.testimonial { border-top-color:var(--sage); }
.credential::before { background:var(--sage); box-shadow:0 0 0 5px rgba(139,149,120,.14); }
.quiz-cta,
.button {
  background:var(--cta);
  color:var(--ink);
  border-color:var(--cta);
  box-shadow:0 10px 26px rgba(77,64,58,.16),0 0 0 0 var(--cta-glow);
}
.quiz-cta:hover,
.quiz-cta:focus-visible,
.button:hover,
.button:focus-visible {
  background:var(--cta-hover);
  color:var(--ink);
  border-color:var(--cta-hover);
  transform:translateY(-2px);
  box-shadow:0 0 0 6px var(--cta-glow),0 14px 32px rgba(77,64,58,.2),0 0 28px rgba(246,208,133,.34);
}
.quiz-cta:active,
.button:active {
  background:var(--cta-active);
  transform:translateY(0);
  box-shadow:0 7px 18px rgba(77,64,58,.18),inset 0 2px 8px rgba(77,64,58,.18);
}
.button.secondary {
  background:transparent;
  color:var(--ink);
  border-color:rgba(77,64,58,.42);
  box-shadow:none;
}
.article-card .button {
  background:var(--paper);
  color:var(--ink);
  border-color:var(--paper);
  box-shadow:0 8px 22px rgba(77,64,58,.12);
}
.article-card .button:hover,
.article-card .button:focus-visible {
  background:var(--honey);
  color:var(--ink);
  border-color:var(--honey);
  box-shadow:0 10px 24px rgba(77,64,58,.14);
}
