
:root {
  --ink: #2b2521;
  --muted: #6e625b;
  --soft: #f5efe6;
  --paper: #fffaf2;
  --line: #dccfc0;
  --accent: #6f4b35;
  --accent-dark: #4d3529;
  --shadow: 0 18px 55px rgba(43, 37, 33, 0.13);
  --radius: 22px;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background:
    radial-gradient(circle at 76% 12%, rgba(255,255,255,.88), transparent 22%),
    linear-gradient(135deg, #efe3d3 0%, #fff8ef 52%, #e8ded1 100%);
  min-height: 100vh;
}
a { color: inherit; }
.site-shell {
  width: min(1080px, calc(100% - 36px));
  margin: 0 auto;
}
.nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 28px 0 10px;
  color: var(--muted);
  font-size: 14px;
  letter-spacing: .02em;
}
.brand {
  font-family: Georgia, "Times New Roman", serif;
  color: var(--ink);
  font-size: 19px;
}
.hero { padding: 48px 0 58px; }
.hero-card, .card {
  background: rgba(255, 250, 242, .84);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(220, 207, 192, .85);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.hero-card {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 38px;
  padding: 50px;
}
.kicker {
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--accent);
  font-weight: 750;
  font-size: 13px;
  margin-bottom: 18px;
}
h1, h2, h3 {
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.05;
  margin: 0;
  font-weight: 500;
}
h1 { font-size: clamp(42px, 6vw, 76px); letter-spacing: -0.047em; }
h2 { font-size: clamp(30px, 4vw, 48px); letter-spacing: -0.035em; }
h3 { font-size: 26px; letter-spacing: -0.02em; }
.deck {
  margin: 22px 0 0;
  font-size: 22px;
  line-height: 1.38;
  color: var(--muted);
}
.body-copy {
  margin-top: 24px;
  font-size: 18px;
  line-height: 1.6;
  color: var(--ink);
}
.body-copy p { margin: 0 0 16px; }
.callout {
  margin: 26px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 22px 0;
}
.callout p { margin: 0 0 10px; }
.callout strong { color: var(--accent-dark); }
.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  text-decoration: none;
  border: 1px solid var(--accent);
  background: var(--accent);
  color: white;
  padding: 14px 22px;
  font-weight: 750;
  cursor: pointer;
  font-size: 16px;
  min-height: 50px;
}
.button.secondary { background: transparent; color: var(--accent-dark); }
.button:hover { filter: brightness(.96); }
.side-panel {
  padding: 30px;
  border-radius: 18px;
  background: rgba(245,239,230,.7);
  align-self: start;
}
.step-stack { display: grid; gap: 11px; margin-top: 18px; }
.step-pill {
  padding: 12px 14px;
  border-radius: 999px;
  border: 1px solid rgba(111, 75, 53, .18);
  background: rgba(255,255,255,.55);
  font-weight: 700;
  color: var(--accent-dark);
}
.notice { font-size: 14px; color: var(--muted); line-height: 1.55; }
.section { padding: 28px 0; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.mini-card {
  padding: 22px;
  background: rgba(255,250,242,.72);
  border: 1px solid rgba(220,207,192,.75);
  border-radius: 18px;
}
.mini-card p { color: var(--muted); line-height: 1.55; }
.quiz-wrap { max-width: 820px; margin: 0 auto; padding: 42px 0 70px; }
.card { padding: 42px; }
.progress { display: flex; gap: 8px; margin: 28px 0; }
.progress span {
  height: 7px;
  flex: 1;
  border-radius: 999px;
  background: #e0d3c5;
}
.progress span.active { background: var(--accent); }
.question { display: none; }
.question.active { display: block; }
.options { display: grid; gap: 12px; margin-top: 24px; }
.option {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.6);
  border-radius: 15px;
  padding: 15px 18px;
  cursor: pointer;
  transition: border-color .15s, transform .15s, background .15s;
  font-weight: 650;
}
.option:hover { border-color: var(--accent); transform: translateY(-1px); }
.option input { margin-top: 3px; }
.help-text {
  margin-top: 16px;
  color: var(--muted);
  font-size: 15px;
}
.selection-count {
  margin-top: 18px;
  color: var(--accent-dark);
  font-weight: 750;
  font-size: 15px;
}
.quiz-actions {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-top: 32px;
}
.result-hero { padding: 46px 0 34px; }
.result-card { padding: 48px; }
.result-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-top: 32px;
}
.result-box {
  padding: 24px;
  border-radius: 18px;
  background: rgba(245,239,230,.72);
  border: 1px solid rgba(220,207,192,.9);
}
.result-box h3 { font-size: 23px; }
.result-box p { line-height: 1.65; color: var(--muted); font-size: 17px; }
.footer {
  padding: 45px 0 60px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}
hr { border: none; border-top: 1px solid var(--line); margin: 34px 0; }
@media (max-width: 850px) {
  .hero-card { grid-template-columns: 1fr; padding: 34px; }
  .grid-3 { grid-template-columns: 1fr; }
  .result-grid { grid-template-columns: 1fr; }
  .card, .result-card { padding: 28px; }
  h1 { font-size: 42px; }
  .deck { font-size: 19px; }
}


/* v3 simplified landing page */
.landing-minimal .hero {
  padding: 56px 0 70px;
}
.landing-minimal .hero-card {
  grid-template-columns: 1fr;
  max-width: 880px;
  margin: 0 auto;
  padding: 58px 58px 52px;
}
.profile-title {
  font-size: clamp(52px, 8vw, 96px);
  line-height: .96;
  letter-spacing: -0.055em;
  max-width: 820px;
}
.profile-benefit {
  margin-top: 28px;
  font-size: clamp(22px, 3.1vw, 34px);
  line-height: 1.22;
  letter-spacing: -0.025em;
  color: var(--ink);
  max-width: 760px;
}
.founder-quote {
  margin: 34px 0 0;
  padding: 28px 0 0;
  border-top: 1px solid var(--line);
  max-width: 760px;
}
.founder-quote p {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 2.5vw, 31px);
  line-height: 1.34;
  color: var(--accent-dark);
}
.founder-quote cite {
  display: block;
  margin-top: 14px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-style: normal;
  font-size: 15px;
  letter-spacing: .02em;
  color: var(--muted);
}
.landing-minimal .actions {
  margin-top: 36px;
}
.landing-minimal .button {
  padding: 15px 28px;
  min-width: 146px;
}
.landing-minimal .footer {
  max-width: 880px;
  margin: 0 auto;
  padding-top: 0;
}
@media (max-width: 850px) {
  .landing-minimal .hero-card {
    padding: 34px 28px;
  }
  .profile-title {
    font-size: 50px;
  }
}


/* v8 refinements */
.privacy-note {
  margin-top: 22px;
  padding: 16px 18px;
  border: 1px solid rgba(78, 109, 93, .22);
  background: rgba(255,255,255,.45);
  border-radius: 16px;
  color: var(--muted);
  line-height: 1.55;
  max-width: 760px;
  font-size: 15px;
}
.privacy-note strong {
  color: var(--green);
}
.landing-minimal .founder-quote {
  margin-top: 30px;
}
.landing-minimal .actions.top-cta {
  margin-top: 26px;
}
.result-box.wide {
  grid-column: 1 / -1;
}
.result-box .micro {
  font-size: 14px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--accent);
  font-weight: 800;
  margin-bottom: 10px;
}
.result-box ul {
  margin: 12px 0 0 18px;
  padding: 0;
  color: var(--muted);
  line-height: 1.65;
  font-size: 17px;
}
.choice-note {
  color: var(--muted);
  font-size: 14px;
  margin-top: 6px;
}
@media (max-width: 850px) {
  .result-box.wide {
    grid-column: auto;
  }
}


/* v9 refinements */
.presence-definition {
  margin-top: 26px;
  padding: 18px 20px;
  border-left: 3px solid var(--accent);
  background: rgba(255,255,255,.42);
  border-radius: 0 16px 16px 0;
  color: var(--muted);
  line-height: 1.55;
  max-width: 760px;
  font-size: 17px;
}
.presence-definition strong {
  color: var(--ink);
}
.privacy-footer-note {
  margin-top: 18px;
  padding: 16px 18px;
  border: 1px solid rgba(78, 109, 93, .22);
  background: rgba(255,255,255,.45);
  border-radius: 16px;
  color: var(--muted);
  line-height: 1.55;
  font-size: 14px;
}
.privacy-footer-note strong {
  color: var(--green);
}


/* v10 unmistakable Begin button */
.button.begin-primary {
  background: #1f7a4d;
  border-color: #1f7a4d;
  color: #ffffff;
  font-size: 20px;
  font-weight: 850;
  padding: 18px 38px;
  min-width: 190px;
  min-height: 62px;
  box-shadow: 0 12px 28px rgba(31, 122, 77, 0.28);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.button.begin-primary:hover {
  background: #17643e;
  border-color: #17643e;
  transform: translateY(-1px);
}


/* v11 3D green primary CTAs + concise Presence Shift explainer */
.button.begin-primary,
.button.foundation-primary {
  background: linear-gradient(180deg, #2a9b61 0%, #1f7a4d 70%, #17643e 100%);
  border: 1px solid #17643e;
  border-bottom: 5px solid #0f4a2e;
  color: #ffffff;
  font-size: 20px;
  font-weight: 900;
  padding: 18px 38px 16px;
  min-width: 190px;
  min-height: 64px;
  box-shadow:
    0 5px 0 #0f4a2e,
    0 16px 30px rgba(31, 122, 77, 0.28);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  transform: translateY(0);
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}
.button.begin-primary:hover,
.button.foundation-primary:hover {
  filter: brightness(1.03);
  transform: translateY(-2px);
  box-shadow:
    0 7px 0 #0f4a2e,
    0 20px 34px rgba(31, 122, 77, 0.32);
}
.button.begin-primary:active,
.button.foundation-primary:active {
  transform: translateY(4px);
  box-shadow:
    0 1px 0 #0f4a2e,
    0 9px 20px rgba(31, 122, 77, 0.22);
  border-bottom-width: 2px;
}
.shift-explainer {
  margin-top: 28px;
  padding: 22px 24px;
  background: rgba(255,255,255,.48);
  border: 1px solid rgba(220,207,192,.9);
  border-radius: 18px;
  max-width: 760px;
}
.shift-explainer h3 {
  font-size: 26px;
  margin-bottom: 10px;
}
.shift-explainer p {
  color: var(--muted);
  line-height: 1.58;
  margin: 0 0 12px;
  font-size: 16.5px;
}
.shift-explainer .steps-line {
  font-weight: 850;
  color: var(--accent-dark);
  letter-spacing: .01em;
}


/* v16 refinements */
.button.begin-primary,
.button.foundation-primary {
  background: linear-gradient(180deg, #2a9b61 0%, #1f7a4d 72%, #17643e 100%);
  border: 1px solid #17643e;
  border-bottom: 5px solid #0f4a2e;
  color: #ffffff;
  font-size: 20px;
  font-weight: 900;
  padding: 18px 38px 16px;
  min-width: 190px;
  min-height: 64px;
  box-shadow:
    0 5px 0 #0f4a2e,
    0 16px 30px rgba(31, 122, 77, 0.28);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  transform: translateY(0);
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}
.button.begin-primary:hover,
.button.foundation-primary:hover {
  filter: brightness(1.03);
  transform: translateY(-2px);
  box-shadow:
    0 7px 0 #0f4a2e,
    0 20px 34px rgba(31, 122, 77, 0.32);
}
.button.begin-primary:active,
.button.foundation-primary:active {
  transform: translateY(4px);
  box-shadow:
    0 1px 0 #0f4a2e,
    0 9px 20px rgba(31, 122, 77, 0.22);
  border-bottom-width: 2px;
}
.button.save-card {
  background: transparent;
  color: var(--green);
  border: 1px solid rgba(31, 122, 77, .55);
  box-shadow: none;
  text-transform: none;
  font-size: 16px;
  min-height: 50px;
  min-width: auto;
  padding: 14px 22px;
}
.shift-explainer-final {
  grid-column: 1 / -1;
  padding: 24px;
  border-radius: 18px;
  background: rgba(255,255,255,.48);
  border: 1px solid rgba(220,207,192,.9);
}
.shift-explainer-final h3 {
  font-size: 26px;
  margin-bottom: 10px;
}
.shift-explainer-final p {
  color: var(--muted);
  line-height: 1.58;
  margin: 0 0 12px;
  font-size: 17px;
}
.shift-explainer-final .steps-line {
  font-weight: 850;
  color: var(--accent-dark);
  letter-spacing: .01em;
}
.result-box.wide {
  grid-column: 1 / -1;
}
.result-box .micro {
  font-size: 14px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--accent);
  font-weight: 800;
  margin-bottom: 10px;
}
.result-box ul {
  margin: 12px 0 0 18px;
  padding: 0;
  color: var(--muted);
  line-height: 1.65;
  font-size: 17px;
}
@media (max-width: 850px) {
  .result-box.wide, .shift-explainer-final {
    grid-column: auto;
  }
}


/* v19 centered safety note */
.safety-note {
  max-width: 760px;
  margin: 24px auto 0;
  padding: 18px 22px;
  text-align: center;
  border: 1px solid rgba(220, 207, 192, 0.95);
  border-radius: 18px;
  background: rgba(255, 250, 242, 0.72);
  box-shadow: 0 10px 26px rgba(43, 37, 33, 0.06);
  color: var(--muted);
  line-height: 1.55;
  font-size: 14px;
}
.safety-note strong {
  color: var(--accent-dark);
}


/* v20 creator credibility micro-line */
.designer-line {
  margin-top: 14px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.45;
  max-width: 760px;
}
.designer-line strong {
  color: var(--accent-dark);
}



/* YOP animated primary button patch v1 */
.button:not(.secondary),
a.button:not(.secondary),
button.button:not(.secondary),
.begin-button,
#beginBtn,
#startBtn,
#nextBtn {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  animation: yopPrimaryButtonPulse 2.65s ease-in-out infinite;
  transform: translateZ(0);
}

.button:not(.secondary)::before,
a.button:not(.secondary)::before,
button.button:not(.secondary)::before,
.begin-button::before,
#beginBtn::before,
#startBtn::before,
#nextBtn::before {
  content: "";
  position: absolute;
  top: -35%;
  left: -65%;
  width: 42%;
  height: 170%;
  background: linear-gradient(100deg, transparent 0%, rgba(255,255,255,.44) 48%, transparent 100%);
  transform: skewX(-22deg);
  animation: yopPrimaryButtonShine 3.25s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}

.button:not(.secondary)::after,
a.button:not(.secondary)::after,
button.button:not(.secondary)::after,
.begin-button::after,
#beginBtn::after,
#startBtn::after,
#nextBtn::after {
  content: "";
  position: absolute;
  inset: -12px;
  border-radius: 999px;
  background: radial-gradient(circle at 20% 30%, rgba(255,255,210,.50), transparent 22%),
              radial-gradient(circle at 72% 88%, rgba(235,255,120,.32), transparent 20%);
  opacity: .52;
  filter: blur(12px);
  animation: yopPrimaryButtonGlow 2.65s ease-in-out infinite;
  pointer-events: none;
  z-index: -1;
}

@keyframes yopPrimaryButtonPulse {
  0%, 100% { transform: translateY(0) scale(1); filter: saturate(1); }
  50% { transform: translateY(-2px) scale(1.018); filter: saturate(1.13) brightness(1.03); }
}

@keyframes yopPrimaryButtonShine {
  0% { left: -65%; opacity: 0; }
  16% { opacity: .95; }
  46% { left: 125%; opacity: 0; }
  100% { left: 125%; opacity: 0; }
}

@keyframes yopPrimaryButtonGlow {
  0%, 100% { opacity: .35; transform: scale(.98); }
  50% { opacity: .72; transform: scale(1.05); }
}

@media (hover:hover) {
  .button:not(.secondary):hover,
  a.button:not(.secondary):hover,
  button.button:not(.secondary):hover,
  .begin-button:hover,
  #beginBtn:hover,
  #startBtn:hover,
  #nextBtn:hover {
    animation-duration: 1.8s;
    transform: translateY(-3px) scale(1.025);
  }
}

.button:not(.secondary):active,
a.button:not(.secondary):active,
button.button:not(.secondary):active,
.begin-button:active,
#beginBtn:active,
#startBtn:active,
#nextBtn:active {
  transform: translateY(2px) scale(.99);
}

@media (prefers-reduced-motion: reduce) {
  .button:not(.secondary),
  a.button:not(.secondary),
  button.button:not(.secondary),
  .begin-button,
  #beginBtn,
  #startBtn,
  #nextBtn,
  .button:not(.secondary)::before,
  a.button:not(.secondary)::before,
  button.button:not(.secondary)::before,
  .begin-button::before,
  #beginBtn::before,
  #startBtn::before,
  #nextBtn::before,
  .button:not(.secondary)::after,
  a.button:not(.secondary)::after,
  button.button:not(.secondary)::after,
  .begin-button::after,
  #beginBtn::after,
  #startBtn::after,
  #nextBtn::after {
    animation: none !important;
  }
}



/* YOP animated ALL buttons patch v2 — every Q/A button feels alive */
.button,
a.button,
button.button,
.begin-button,
#beginBtn,
#startBtn,
#nextBtn,
#backBtn,
#foundationLink,
#ps11Link,
#ps12Link,
#listenLink,
#profileLink,
#foundationAppLink {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, background .18s ease;
}

/* Strong animation for primary buttons */
.button:not(.secondary),
a.button:not(.secondary),
button.button:not(.secondary),
.begin-button,
#beginBtn,
#startBtn,
#nextBtn,
#foundationAppLink,
#listenLink {
  animation: yopPrimaryButtonPulse 2.65s ease-in-out infinite;
}

.button:not(.secondary)::before,
a.button:not(.secondary)::before,
button.button:not(.secondary)::before,
.begin-button::before,
#beginBtn::before,
#startBtn::before,
#nextBtn::before,
#foundationAppLink::before,
#listenLink::before {
  content: "";
  position: absolute;
  top: -35%;
  left: -65%;
  width: 42%;
  height: 170%;
  background: linear-gradient(100deg, transparent 0%, rgba(255,255,255,.46) 48%, transparent 100%);
  transform: skewX(-22deg);
  animation: yopPrimaryButtonShine 3.25s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}

.button:not(.secondary)::after,
a.button:not(.secondary)::after,
button.button:not(.secondary)::after,
.begin-button::after,
#beginBtn::after,
#startBtn::after,
#nextBtn::after,
#foundationAppLink::after,
#listenLink::after {
  content: "";
  position: absolute;
  inset: -12px;
  border-radius: 999px;
  background: radial-gradient(circle at 20% 30%, rgba(255,255,210,.50), transparent 22%),
              radial-gradient(circle at 72% 88%, rgba(235,255,120,.32), transparent 20%);
  opacity: .52;
  filter: blur(12px);
  animation: yopPrimaryButtonGlow 2.65s ease-in-out infinite;
  pointer-events: none;
  z-index: -1;
}

/* Subtle animation for secondary/back/retake/read buttons */
.button.secondary,
a.button.secondary,
button.button.secondary,
#backBtn,
#ps11Link,
#ps12Link,
#profileLink,
#foundationLink {
  animation: yopSecondaryButtonBreathe 3.6s ease-in-out infinite;
}

.button.secondary::before,
a.button.secondary::before,
button.button.secondary::before,
#backBtn::before,
#ps11Link::before,
#ps12Link::before,
#profileLink::before,
#foundationLink::before {
  content: "";
  position: absolute;
  top: -35%;
  left: -80%;
  width: 36%;
  height: 170%;
  background: linear-gradient(100deg, transparent 0%, rgba(255,255,255,.26) 48%, transparent 100%);
  transform: skewX(-22deg);
  animation: yopSecondaryButtonShine 4.8s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}

@keyframes yopPrimaryButtonPulse {
  0%, 100% { transform: translateY(0) scale(1); filter: saturate(1); }
  50% { transform: translateY(-2px) scale(1.018); filter: saturate(1.13) brightness(1.03); }
}

@keyframes yopPrimaryButtonShine {
  0% { left: -65%; opacity: 0; }
  16% { opacity: .95; }
  46% { left: 125%; opacity: 0; }
  100% { left: 125%; opacity: 0; }
}

@keyframes yopPrimaryButtonGlow {
  0%, 100% { opacity: .35; transform: scale(.98); }
  50% { opacity: .72; transform: scale(1.05); }
}

@keyframes yopSecondaryButtonBreathe {
  0%, 100% { transform: translateY(0); filter: brightness(1); }
  50% { transform: translateY(-1px); filter: brightness(1.03); }
}

@keyframes yopSecondaryButtonShine {
  0% { left: -80%; opacity: 0; }
  18% { opacity: .55; }
  42% { left: 130%; opacity: 0; }
  100% { left: 130%; opacity: 0; }
}

@media (hover:hover) {
  .button:hover,
  a.button:hover,
  button.button:hover,
  .begin-button:hover,
  #beginBtn:hover,
  #startBtn:hover,
  #nextBtn:hover,
  #backBtn:hover,
  #foundationLink:hover,
  #ps11Link:hover,
  #ps12Link:hover,
  #listenLink:hover,
  #profileLink:hover,
  #foundationAppLink:hover {
    transform: translateY(-3px) scale(1.018);
    filter: brightness(1.05) saturate(1.08);
  }
}

.button:active,
a.button:active,
button.button:active,
.begin-button:active,
#beginBtn:active,
#startBtn:active,
#nextBtn:active,
#backBtn:active,
#foundationLink:active,
#ps11Link:active,
#ps12Link:active,
#listenLink:active,
#profileLink:active,
#foundationAppLink:active {
  transform: translateY(2px) scale(.99);
}

@media (prefers-reduced-motion: reduce) {
  .button,
  a.button,
  button.button,
  .begin-button,
  #beginBtn,
  #startBtn,
  #nextBtn,
  #backBtn,
  #foundationLink,
  #ps11Link,
  #ps12Link,
  #listenLink,
  #profileLink,
  #foundationAppLink,
  .button::before,
  a.button::before,
  button.button::before,
  .begin-button::before,
  #beginBtn::before,
  #startBtn::before,
  #nextBtn::before,
  #backBtn::before,
  #foundationLink::before,
  #ps11Link::before,
  #ps12Link::before,
  #listenLink::before,
  #profileLink::before,
  #foundationAppLink::before,
  .button::after,
  a.button::after,
  button.button::after,
  .begin-button::after,
  #beginBtn::after,
  #startBtn::after,
  #nextBtn::after,
  #foundationAppLink::after,
  #listenLink::after {
    animation: none !important;
  }
}



/* Presence Shift brand-calibrated animated buttons v3 */
.button,
button,
a.button,
.begin-button,
#beginBtn,
#startBtn,
#nextBtn,
#backBtn,
#retakeBtn {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transform: translateZ(0);
}

.button:not(.secondary),
button.button:not(.secondary),
a.button:not(.secondary),
.begin-button,
#beginBtn,
#startBtn,
#nextBtn {
  animation: psButtonBreath_v3 3.2s ease-in-out infinite !important;
}

.button:not(.secondary)::before,
button.button:not(.secondary)::before,
a.button:not(.secondary)::before,
.begin-button::before,
#beginBtn::before,
#startBtn::before,
#nextBtn::before {
  content: "";
  position: absolute;
  top: -35%;
  left: -58%;
  width: 34%;
  height: 170%;
  background: linear-gradient(100deg, transparent 0%, rgba(255,255,235,.32) 50%, transparent 100%);
  transform: skewX(-22deg);
  animation: psButtonShine_v3 4.2s ease-in-out infinite !important;
  pointer-events: none;
  z-index: 2;
}

.button:not(.secondary)::after,
button.button:not(.secondary)::after,
a.button:not(.secondary)::after,
.begin-button::after,
#beginBtn::after,
#startBtn::after,
#nextBtn::after {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 999px;
  background: radial-gradient(circle at 25% 35%, rgba(235,255,180,.25), transparent 22%);
  filter: blur(10px);
  opacity: .35;
  animation: psButtonGlow_v3 3.2s ease-in-out infinite !important;
  pointer-events: none;
  z-index: -1;
}

.button.secondary,
a.button.secondary,
button.button.secondary,
#backBtn {
  animation: psSecondaryButtonBreath_v3 4.8s ease-in-out infinite !important;
}

@keyframes psButtonBreath_v3 {
  0%,100% { transform: translateY(0) scale(1); filter: brightness(1) saturate(1); }
  50% { transform: translateY(-1px) scale(1.008); filter: brightness(1.025) saturate(1.06); }
}

@keyframes psButtonShine_v3 {
  0% { left: -58%; opacity: 0; }
  20% { opacity: .62; }
  48% { left: 120%; opacity: 0; }
  100% { left: 120%; opacity: 0; }
}

@keyframes psButtonGlow_v3 {
  0%,100% { opacity: .20; transform: scale(.985); }
  50% { opacity: .42; transform: scale(1.025); }
}

@keyframes psSecondaryButtonBreath_v3 {
  0%,100% { transform: translateY(0); filter: brightness(1); }
  50% { transform: translateY(-.5px); filter: brightness(1.02); }
}

@media (hover:hover) {
  .button:hover,
  a.button:hover,
  button.button:hover,
  .begin-button:hover,
  #beginBtn:hover,
  #startBtn:hover,
  #nextBtn:hover,
  #backBtn:hover,
  #retakeBtn:hover {
    transform: translateY(-2px) scale(1.01) !important;
  }
}

.button:active,
a.button:active,
button.button:active,
.begin-button:active,
#beginBtn:active,
#startBtn:active,
#nextBtn:active,
#backBtn:active,
#retakeBtn:active {
  transform: translateY(1px) scale(.995) !important;
}

@media (prefers-reduced-motion: reduce) {
  .button,
  button,
  a.button,
  .begin-button,
  #beginBtn,
  #startBtn,
  #nextBtn,
  #backBtn,
  #retakeBtn,
  .button::before,
  button::before,
  a.button::before,
  .begin-button::before,
  #beginBtn::before,
  #startBtn::before,
  #nextBtn::before,
  .button::after,
  button::after,
  a.button::after,
  .begin-button::after,
  #beginBtn::after,
  #startBtn::after,
  #nextBtn::after {
    animation: none !important;
  }
}



/* Presence Profile v23 trust update */
.profile-trust-note {
  margin-top: 18px;
  padding: 16px 18px;
  border: 1px solid rgba(31, 122, 77, .22);
  background: rgba(255, 255, 255, .52);
  border-radius: 16px;
  color: var(--muted, #6e625b);
  font-size: 16px;
  line-height: 1.55;
}
.profile-trust-note strong { color: var(--green, #1f7a4d); }
.profile-first-panel .button.secondary { font-size: 15px; }



/* Presence Profile v25 spacing fix */
.profile-trust-note {
  display: block;
  clear: both;
  margin: 24px 0 24px;
  padding: 18px 20px;
  border: 1px solid rgba(31, 122, 77, .22);
  background: rgba(255, 255, 255, .58);
  border-radius: 16px;
  color: var(--muted, #6e625b);
  font-size: 16px;
  line-height: 1.58;
}
.profile-trust-note p {
  margin: 0 0 8px;
}
.profile-trust-note p:last-child {
  margin-bottom: 0;
}
.profile-trust-note strong {
  color: var(--green, #1f7a4d);
}
.deck + .profile-trust-note {
  margin-top: 22px;
}
@media (max-width: 720px) {
  .profile-trust-note {
    margin: 22px 0 22px;
    padding: 16px 17px;
    font-size: 15.5px;
  }
}



/* Presence Profile v26 refined result page accents */
html {
  scroll-behavior: smooth;
}

.profile-trust-note {
  margin: 16px 0 24px;
  padding: 16px 18px;
  border-left: 3px solid rgba(31, 122, 77, .36);
  border-radius: 14px;
  background: rgba(31, 122, 77, .045);
  color: var(--muted);
  line-height: 1.45;
  max-width: 760px;
}

.profile-trust-note p {
  margin: 0;
}

.profile-trust-note p + p {
  margin-top: 8px;
}

.profile-trust-note strong {
  color: var(--ink);
}

.profile-scroll-button {
  border-color: rgba(31, 122, 77, .72) !important;
  color: #1f6f43 !important;
  background: rgba(255, 250, 242, .52) !important;
}

.profile-scroll-button:hover {
  border-color: #1f6f43 !important;
  background: rgba(31, 122, 77, .075) !important;
}

.profile-anchor {
  position: relative;
  top: -22px;
  height: 1px;
}

.result-box.accent-strength {
  border-top: 4px solid rgba(31, 122, 77, .35);
  background:
    radial-gradient(circle at 8% 6%, rgba(31, 122, 77, .055), transparent 30%),
    rgba(255, 250, 242, .76);
}

.result-box.accent-pattern {
  border-top: 4px solid rgba(150, 98, 58, .34);
  background:
    radial-gradient(circle at 8% 6%, rgba(150, 98, 58, .050), transparent 30%),
    rgba(255, 250, 242, .76);
}

.result-box.accent-why {
  border-top: 4px solid rgba(190, 157, 82, .34);
  background:
    radial-gradient(circle at 8% 6%, rgba(190, 157, 82, .060), transparent 30%),
    rgba(255, 250, 242, .78);
}

.result-box.accent-practice,
.result-box.accent-try {
  border-top: 4px solid rgba(103, 139, 84, .34);
  background:
    radial-gradient(circle at 8% 6%, rgba(103, 139, 84, .055), transparent 30%),
    rgba(255, 250, 242, .78);
}

.result-box.accent-listen {
  border-top: 4px solid rgba(31, 122, 77, .32);
  background:
    radial-gradient(circle at 8% 10%, rgba(31, 122, 77, .060), transparent 32%),
    rgba(255, 250, 242, .86);
}

.result-box.accent-begin {
  border-top: 4px solid rgba(31, 122, 77, .38);
  background:
    radial-gradient(circle at 10% 12%, rgba(31, 122, 77, .055), transparent 28%),
    rgba(255, 250, 242, .82);
}

.small-note {
  font-size: .94rem;
  color: var(--muted);
  margin-top: -4px;
}

@media (max-width: 760px) {
  .profile-trust-note {
    margin-top: 14px;
    margin-bottom: 22px;
    padding: 14px 15px;
  }

  .profile-scroll-button {
    width: 100%;
  }
}



/* Presence definition module — canonical YOP wording */
.presence-definition-note,
.definition-note,
.presence-definition {
  margin-top: 22px;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(31, 122, 77, .20);
  background: rgba(31, 122, 77, .045);
  color: var(--muted, #6f665f);
  line-height: 1.56;
  max-width: 840px;
  font-size: 15.5px;
}

.presence-definition-note p,
.presence-definition p {
  margin: 0;
}

.presence-definition-note strong,
.definition-note strong,
.presence-definition strong {
  color: var(--ink, #26211d);
}

@media (max-width: 760px) {
  .presence-definition-note,
  .definition-note,
  .presence-definition {
    margin-top: 18px;
    padding: 14px 15px;
    font-size: 15px;
  }
}



/* Soft 60-second timer for Presence Profile */
:root {
  --presence-green: #165B34;
  --living-green: #1F7A4D;
  --warm-gold: #C6A65D;
}

.timer-intro-note {
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 15.5px;
  line-height: 1.55;
}

.soft-timer {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 18px 0 24px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(31, 122, 77, .18);
  background:
    radial-gradient(circle at 20% 20%, rgba(198, 166, 93, .10), transparent 36%),
    rgba(255, 250, 242, .66);
}

.timer-ring {
  --timer-progress: 0deg;
  width: 76px;
  height: 76px;
  flex: 0 0 76px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background:
    conic-gradient(var(--presence-green) var(--timer-progress), rgba(31, 122, 77, .13) var(--timer-progress)),
    radial-gradient(circle, rgba(255,250,242,1) 0 56%, transparent 57%);
  box-shadow: 0 8px 22px rgba(43, 37, 33, .08);
  position: relative;
  transition: background .18s linear;
}

.timer-ring::after {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: inherit;
  background: rgba(255, 250, 242, .92);
  border: 1px solid rgba(198, 166, 93, .20);
}

.timer-ring span {
  position: relative;
  z-index: 2;
  font-weight: 900;
  color: var(--presence-green);
  letter-spacing: .02em;
  font-size: 22px;
}

.timer-copy {
  display: grid;
  gap: 4px;
}

.timer-copy strong {
  color: var(--ink);
  font-size: 16px;
}

.timer-copy span {
  color: var(--muted);
  font-size: 14.5px;
  line-height: 1.45;
}

@media (max-width: 640px) {
  .soft-timer {
    align-items: flex-start;
    gap: 12px;
    padding: 13px 14px;
  }

  .timer-ring {
    width: 62px;
    height: 62px;
    flex-basis: 62px;
  }

  .timer-ring span {
    font-size: 18px;
  }

  .timer-copy strong {
    font-size: 15.5px;
  }

  .timer-copy span {
    font-size: 14px;
  }
}
