:root {
  --test-green: var(--green);
  --test-deep: var(--deep);
  --test-cream: var(--cream);
  --test-gold: var(--gold);
}

body:not(.home) main.tester-main { width: 100%; max-width: none; margin: 0; padding: 0; }
.tester-join { padding-block: clamp(3.2rem, 6vw, 5rem); }
.tester-eyebrow { margin: 0; color: #765936; font-size: 11px; font-weight: 700; letter-spacing: .17em; }
.tester-section-heading { display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; }
.tester-section-heading h2, .onboarding-intro h2, .tester-feedback h2 {
  margin: 0;
  color: #10372e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.25rem, 4vw, 3.1rem);
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: .98;
}
.join-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 2vw, 1.6rem); margin-top: 2rem; }
.join-option { display: flex; min-height: 330px; flex-direction: column; align-items: flex-start; padding: clamp(1.3rem, 2.4vw, 2rem); border-top: 2px solid var(--test-green); background: #eeece1; }
.apple-option { border-color: var(--test-green); }
.option-topline { display: flex; width: 100%; align-items: center; justify-content: space-between; color: #8a7654; font-size: .69rem; font-weight: 750; letter-spacing: .14em; }
.option-index { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: #e5e0cb; color: var(--test-green); font-size: .78rem; letter-spacing: 0; }
.join-option h3 { margin: 1.35rem 0 .5rem; color: var(--test-deep); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.1; }
.join-option > p { max-width: 31rem; margin: 0 0 1rem; color: #515f55; font-size: .93rem; line-height: 1.55; }
.option-button { display: inline-flex; min-height: 49px; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.2rem; padding: 0 1.15rem; background: var(--test-green); color: var(--test-cream); font-size: .9rem; font-weight: 720; text-decoration: none; transition: gap .2s ease, background .2s ease; }
.option-button:hover { gap: 1.4rem; background: var(--test-deep); }
.apple-option .option-button { background: var(--test-green); color: var(--test-cream); }
.option-button span { font-size: 1.1rem; }
.option-footnote { margin-top: .8rem !important; color: #69736a !important; font-size: .78rem !important; line-height: 1.45 !important; }
.option-returning { margin-top: .8rem !important; font-size: .85rem !important; }
.option-returning > span { display: block; }
.option-returning a { display: inline-flex; min-height: 44px; align-items: center; gap: .3rem; color: var(--test-green); font-weight: 750; text-underline-offset: .2em; }

.tester-onboarding { display: grid; grid-template-columns: minmax(230px, .72fr) minmax(0, 1.28fr); gap: clamp(2.5rem, 8vw, 7rem); padding-block: clamp(3rem, 6vw, 5rem); border-top: 1px solid #d7d5c8; }
.onboarding-intro h2 { margin: .65rem 0 1rem; }
.onboarding-intro > p:last-child { max-width: 20rem; margin: 0; color: #59655c; }
.onboarding-steps { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.onboarding-steps li { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 1.1rem; padding: 1rem 0 1.15rem; border-bottom: 1px solid #deddd3; }
.onboarding-steps li:first-child { padding-top: 0; }
.onboarding-steps li > span { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid #c8b47e; border-radius: 50%; color: var(--test-green); font-family: Georgia, serif; font-size: 1rem; }
.onboarding-steps h3 { margin: .1rem 0 .25rem; color: var(--test-deep); font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; }
.onboarding-steps p { max-width: 36rem; margin: 0; color: #59655c; font-size: .91rem; line-height: 1.55; }

.tester-feedback { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: 3rem; align-items: center; padding: clamp(2rem, 5vw, 3.4rem); background: #e9e2cc; }
.tester-feedback h2 { margin-top: .7rem; font-size: clamp(2rem, 3.8vw, 3.1rem); }
.feedback-copy p { max-width: 34rem; margin: 0 0 1rem; color: #4f5e54; font-size: .95rem; }
.feedback-link { display: inline-flex; min-height: 44px; align-items: center; gap: .6rem; color: var(--test-green); font-size: .9rem; font-weight: 750; text-underline-offset: .25em; }
.feedback-link span { transition: transform .2s ease; }
.feedback-link:hover span { transform: translateX(3px); }
.tester-privacy { display: flex; align-items: flex-start; gap: .9rem; padding-block: 2.5rem 3.5rem; color: #59655c; font-size: .85rem; line-height: 1.55; }
.tester-privacy > span { color: #927444; font-size: 1.45rem; line-height: 1; }
.tester-privacy p { max-width: 52rem; margin: 0; }
.tester-privacy strong { color: var(--test-deep); }
.tester-privacy a { color: var(--test-green); font-weight: 650; text-underline-offset: .2em; }
.tester-footer .wrap { display: flex; align-items: center; justify-content: space-between; }
.tester-footer p { margin: 0; }

@media (max-width: 760px) {
  .tester-onboarding { grid-template-columns: 1fr; gap: 1.8rem; }
  .onboarding-intro > p:last-child { max-width: 32rem; }
  .tester-feedback { grid-template-columns: 1fr; gap: 1rem; }
}
@media (max-width: 540px) {
  .join-options { grid-template-columns: 1fr; gap: 1rem; margin-top: 1.6rem; }
  .join-option { min-height: 300px; }
  .tester-feedback { padding: 1.5rem; }
  .tester-footer .wrap { align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .option-button, .feedback-link span { transition: none; }
}
