.reflection-page [hidden]{display:none!important}
.reflection-page .nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px;text-decoration-color:#8b9478}
.reflection-page h1:focus{outline:none}
.reflection-main{padding-block:3.8rem 3rem;min-height:65vh}
.reflection-intro{display:grid;grid-template-columns:1.3fr .8fr;gap:2.7rem 9%;align-items:start}
.reflection-intro-copy .eyebrow{margin-bottom:1.35rem}
.reflection-intro h1,.results-heading h1,.finished-view h1{font-size:clamp(3rem,5.5vw,5rem);line-height:1.06}
.reflection-page h1 em,.reflection-page h2 em{color:#687251}
.reflection-intro-copy>p:not(.eyebrow){margin-top:1.1rem;color:var(--muted);max-width:38rem}
.reflection-intro-copy .reflection-lead{font-size:1.125rem;color:var(--ink)!important;line-height:1.75;margin-top:1.5rem!important}
.reflection-facts{display:flex;flex-wrap:wrap;gap:.45rem 1.3rem;list-style:none;margin:1.5rem 0 0;padding:0;font-size:.875rem}
.reflection-facts li{display:flex;align-items:center;gap:.5rem}
.reflection-facts li:before{content:'';width:5px;height:5px;background:#899479;border-radius:50%;flex-shrink:0}
.reflection-page button{cursor:pointer}
.reflection-page .button-dark{margin-top:0}
.reflection-intro #start-reflection{margin-top:1.8rem;min-width:255px;font-size:1rem}
.reflection-intro .reflection-reassurance{font-size:.875rem;margin-top:.85rem;max-width:32rem}
.reflection-intro-aside{padding-top:.4rem}
.reflection-intro-aside>img{width:100%;height:265px;object-fit:cover;object-position:50% 45%;border-radius:48% 48% 2px 2px}
.intro-themes{list-style:none;padding:0;margin:1.5rem 0 0;font-size:.9375rem}
.intro-themes li{display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--line);padding:.7rem 0}
.intro-themes span{font-size:.75rem;color:var(--muted)}
.reflection-intro-note{grid-column:1/-1;border-top:1px solid var(--line);padding-top:1.5rem;display:grid;grid-template-columns:1.3fr .8fr;gap:9%;font-size:.875rem;color:var(--muted)}
.reflection-intro-note p{max-width:38rem}
.reflection-about{border-top:1px solid var(--line);margin-top:3rem;font-size:.875rem}
.reflection-about summary{padding:1rem 0;cursor:pointer;max-width:100%}
.reflection-about summary:focus-visible{outline:3px solid #9a6738;outline-offset:5px}
.reflection-about>div{max-width:48rem;padding:0 0 1rem}
.reflection-about h2{font-family:var(--sans);font-size:1rem;letter-spacing:0;line-height:1.5;margin:1rem 0 .5rem}
.reflection-about p+p{margin-top:.75rem}
.reflection-about a{text-decoration:underline;text-underline-offset:4px}
.question-view{max-width:790px;margin-inline:auto;padding-bottom:1rem}
.question-progress-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.3rem 1rem;font-size:.875rem;margin-bottom:.75rem}
#question-theme{color:var(--muted)}
#question-progress{display:block;width:100%;height:4px;border:0;background:var(--line);color:var(--green);appearance:none;-webkit-appearance:none}
#question-progress::-webkit-progress-bar{background:var(--line)}
#question-progress::-webkit-progress-value{background:var(--green)}
#question-progress::-moz-progress-bar{background:var(--green)}
.question-timeframe{margin:2rem 0 1.2rem}
#question-title{font-size:clamp(2rem,3.4vw,3rem);line-height:1.18;letter-spacing:-.03em;max-width:26ch;margin-bottom:1.8rem}
#reflection-form fieldset{border:0;padding:0;margin:0;min-width:0}
#reflection-form legend{font-size:1rem;padding:0;margin-bottom:1rem}
.answer-options{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.answer-option{display:flex;align-items:center;gap:.8rem;border:1px solid #aeb7a1;border-radius:2px;padding:1rem 1.1rem;min-height:65px;cursor:pointer;line-height:1.45;background:#faf8f2}
.answer-option:hover{background:#eeeee2;border-color:#67775a}
.answer-option:has(:checked){background:var(--green);color:var(--paper);border-color:var(--green)}
.answer-option:focus-within{outline:3px solid #9a6738;outline-offset:3px}
.answer-option input{width:19px;height:19px;flex:0 0 19px;margin:0;accent-color:var(--green)}
.answer-option input:checked{accent-color:#d3dfbd}
.answer-option input:focus{outline:none}
.answer-help{font-size:.8125rem;color:var(--muted);margin-top:.9rem}
.answer-error{margin-top:.7rem;color:#8b3027;font-size:.9375rem}
.question-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.8rem}
.question-actions .button{min-width:165px;font-size:.9375rem}
.plain-button{background:transparent;border:0;padding:.65rem .2rem;text-decoration:underline;text-underline-offset:5px;font-size:.875rem;line-height:1.6;min-height:44px}
.plain-button:hover{color:#687251}
.plain-button:disabled{opacity:.5;cursor:default}
.question-secondary{display:flex;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;margin-top:.5rem}
.quiet-button{font-size:.8125rem;color:var(--muted)}
.results-heading{max-width:52rem;margin-bottom:2.8rem}
.results-heading .eyebrow{margin-bottom:1.2rem}
.results-heading>p:not(.eyebrow){margin-top:1.2rem;color:var(--muted)}
.results-heading .results-status{font-size:.875rem;color:var(--ink)}
.result-themes{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem 3.5rem}
.result-theme{border-top:1px solid #aeb7a1;padding-top:1.25rem;min-width:0}
.result-theme-top{display:flex;align-items:start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}
.result-theme h2{font-size:1.9rem;line-height:1.2;letter-spacing:-.025em}
.edit-theme{font-size:.75rem;padding:.3rem 0;min-height:36px;flex-shrink:0}
.result-theme dl{margin:0}
.result-answer{padding:.8rem 0;border-bottom:1px solid var(--line)}
.result-answer dt{font-size:.9375rem;line-height:1.65}
.result-answer dd{margin:.4rem 0 0;font-size:.8125rem;color:var(--ink);font-weight:600}
.result-answer dd.empty-answer{font-weight:400;color:var(--muted)}
.empty-theme{font-size:.875rem;color:var(--muted)}
.choose-step{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;margin-top:4rem;padding-top:3rem;border-top:1px solid var(--line)}
.choose-step h2{font-size:2.75rem;line-height:1.12;margin:1rem 0 1.2rem}
.choose-step p{color:var(--muted);font-size:.9375rem}
.theme-buttons{display:flex;flex-direction:column}
.theme-button{display:flex;align-items:center;justify-content:space-between;gap:.8rem;border:0;border-bottom:1px solid #b4bca5;background:transparent;padding:1rem 0;text-align:left;font-size:.9375rem;min-height:55px}
.theme-button:first-child{border-top:1px solid #b4bca5}
.theme-button:hover,.theme-button[aria-pressed=true]{background:#e6e9da}
.theme-button[aria-pressed=true]{padding-inline:.8rem;color:#243b2c}
.theme-button[aria-pressed=true] span{transform:rotate(90deg)}
.exercise{padding-top:1.5rem}
.exercise h3{font-size:1.5rem;margin-bottom:.7rem}
.exercise p{font-size:1rem;line-height:1.8;color:var(--ink)}
.already-helps{max-width:44rem;margin-top:3rem}
.already-helps h2{font-size:1.8rem;margin-bottom:.8rem}
.already-helps p{color:var(--muted)}
.result-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 2rem;margin-top:2rem}
.result-actions>p{width:100%;font-size:.8125rem;color:var(--muted);max-width:50rem}
.reflection-contact{margin-top:4rem;background:var(--pale);padding:3rem;text-align:center}
.reflection-contact .eyebrow{max-width:none}
.reflection-contact h2{font-size:clamp(2rem,3.8vw,3.5rem);margin-top:1.2rem;line-height:1.15}
.reflection-contact>p:not(.eyebrow){margin:1.2rem auto 0;max-width:38rem;color:var(--muted)}
.reflection-contact-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 2rem;margin-top:1.7rem}
.reflection-contact .contact-privacy{font-size:.8125rem}
.finished-view{padding-block:2rem 3rem;max-width:48rem}
.finished-view h1{margin:1.3rem 0 1.5rem}
.finished-view>p:not(.eyebrow){max-width:37rem;color:var(--muted)}
.finished-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 2rem;margin-top:2rem}
.reflection-footer a{text-decoration:underline;text-underline-offset:4px}
#clear-dialog{width:min(90vw,510px);border:1px solid var(--line);padding:2rem;background:var(--paper);color:var(--ink)}
#clear-dialog::backdrop{background:rgba(20,34,25,.5)}
#clear-dialog h2{font-size:2rem;margin-bottom:1rem}
#clear-dialog p{line-height:1.75}
.dialog-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.button-outline{border-color:#8c987d;background:transparent}
.print-only{display:none}
.no-script-message{padding:1rem 0}
.no-script-message a{text-decoration:underline}
@media(min-width:1201px){.reflection-main{max-width:1270px}}
@media(max-width:850px){.reflection-intro{grid-template-columns:1.3fr .8fr;gap:2rem 5%}.reflection-intro-aside>img{height:225px}.intro-themes{font-size:.8125rem}.reflection-intro h1{font-size:3.3rem}.reflection-intro-note{gap:5%}.result-themes{gap:2rem}.choose-step{gap:2rem}.reflection-contact{padding:2.5rem 1.5rem}}
@media(max-width:620px){.reflection-main{padding-top:2.4rem}.reflection-intro{grid-template-columns:1fr;gap:2rem}.reflection-intro h1,.results-heading h1,.finished-view h1{font-size:clamp(2.6rem,10vw,3.7rem)}.reflection-intro-aside{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:1.2rem}.reflection-intro-aside>img{height:180px;width:100px;border-radius:48% 48% 2px 2px}.intro-themes{margin:0;font-size:.8125rem}.intro-themes li{gap:.6rem;padding:.65rem 0}.reflection-intro-note{grid-template-columns:1fr;gap:.7rem}.reflection-facts{gap:.5rem 1rem}.reflection-intro #start-reflection{min-width:0;width:100%}.question-progress-row{font-size:.8125rem}#question-theme{max-width:60%;text-align:right}.question-timeframe{font-size:.65rem;letter-spacing:.08em;margin:1.5rem 0 1rem}#question-title{font-size:2rem;margin-bottom:1.5rem}.answer-options{grid-template-columns:1fr;gap:.6rem}.answer-option{min-height:54px;padding:.8rem .9rem}.question-actions{margin-top:1.3rem}.question-actions .button{min-width:145px;font-size:.875rem}.question-secondary{flex-direction:column;align-items:flex-start;gap:0;margin-top:.6rem}.result-themes{grid-template-columns:1fr;gap:2rem}.result-theme h2{font-size:1.7rem}.result-theme-top{align-items:center}.edit-theme{min-height:44px}.choose-step{grid-template-columns:1fr;gap:1.7rem;margin-top:3rem;padding-top:2rem}.choose-step h2{font-size:2.4rem}.already-helps{margin-top:2.3rem}.result-actions{gap:.75rem}.result-actions .button{width:100%;justify-content:space-between}.reflection-contact{margin-top:2.5rem;padding:2.3rem 1.25rem}.reflection-contact-actions{flex-direction:column;gap:.8rem}.reflection-about{margin-top:2rem}#clear-dialog{padding:1.5rem}#clear-dialog h2{font-size:1.8rem}.dialog-actions{flex-direction:column}.dialog-actions .button{justify-content:center;width:100%}.finished-view{padding-top:.5rem}.finished-actions{align-items:flex-start;flex-direction:column}.reflection-footer .footer-bottom{gap:.7rem}}
@media(max-width:360px){.reflection-intro-aside{grid-template-columns:1fr}.reflection-intro-aside>img{display:none}.intro-themes{font-size:.9375rem}#question-title{font-size:1.85rem}.question-progress-row{gap:.3rem}.result-theme-top{align-items:flex-start}.result-theme h2{font-size:1.5rem}}
@media print{
  @page{margin:17mm}
  html{scroll-behavior:auto}
  body.reflection-page{background:white;color:#18251c;font-size:10pt;line-height:1.5}
  .site-header,.skip-link,.reflection-footer,.reflection-about,dialog,.result-actions,.theme-buttons,.edit-theme,.reflection-contact-actions,.contact-privacy{display:none!important}
  .reflection-main{padding:0;max-width:none;min-height:0}
  .print-only{display:block;font-size:9pt}
  .results-heading{margin-bottom:1.3rem}
  .results-heading h1{font-size:30pt}
  .results-heading h1 br{display:none}
  .results-heading .eyebrow{font-size:9pt;margin-bottom:.5rem}
  .results-heading>p:not(.eyebrow){font-size:10pt;margin-top:.65rem}
  .result-themes{display:block}
  .result-theme{break-inside:avoid;margin-bottom:1.2rem;padding-top:.6rem}
  .result-theme h2{font-size:17pt}
  .result-theme-top{margin-bottom:.2rem}
  .result-answer{padding:.4rem 0}
  .result-answer dt{font-size:10pt}
  .result-answer dd{font-size:9pt;margin-top:.15rem}
  .choose-step{display:block;break-inside:avoid;margin-top:1.4rem;padding-top:1rem}
  .choose-step h2{font-size:22pt;margin:.5rem 0}
  .choose-step h2 br{display:none}
  .choose-step>div>p:not(.eyebrow){display:none}
  .exercise{padding-top:.5rem}
  .exercise h3{font-size:16pt}
  .exercise p,.already-helps p{font-size:10pt}
  .already-helps{break-inside:avoid;margin-top:1.4rem}
  .already-helps h2{font-size:18pt}
  .reflection-contact{break-inside:avoid;margin-top:1.6rem;padding:1rem 0;background:none;text-align:left;border-top:1px solid #b2b9ab}
  .reflection-contact h2{font-size:22pt;margin-top:.5rem}
  .reflection-contact h2 br{display:none}
  .reflection-contact>p:not(.eyebrow){margin:.6rem 0 0;font-size:10pt;max-width:none}
  .reflection-contact .eyebrow{font-size:9pt}
}
