:root{color-scheme:light;--ink:#342e3a;--paper:#fff8f1;--muted:#625967;--line:#ded2c7;--rust:#985545}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 "Avenir Next",system-ui,sans-serif}header,footer{max-width:1160px;margin:auto;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}header a{font-size:14px;font-weight:600}header img{display:block;object-fit:contain}a{color:inherit;text-underline-offset:4px}main{max-width:1120px;margin:auto;padding:55px 32px 90px}h1,h2,legend{font-family:Georgia,serif;font-weight:400;line-height:1.12;letter-spacing:-.04em}h1{font-size:clamp(42px,5.7vw,72px);margin:20px 0 30px}h2{font-size:34px}em{color:var(--rust);font-weight:400}p{margin:0 0 22px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;color:var(--rust)}.lede{font-size:22px;line-height:1.5}.small,.privacy{font-size:14px;color:var(--muted)}#landing{display:block}.privacy{grid-column:1/-1;max-width:780px}.button,button{display:inline-block;background:var(--ink);border:1px solid var(--ink);border-radius:32px;color:var(--paper);font:600 15px/1.5 system-ui;padding:15px 24px;text-decoration:none;cursor:pointer}.button{margin:8px 0 18px}button:hover,.button:hover{background:#504555}button:disabled{opacity:.5;cursor:wait}.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.secondary:hover{background:#eee3da}.narrow{max-width:700px;margin:auto}progress{width:100%;height:5px;accent-color:var(--rust);display:block;margin:0 0 40px}fieldset{padding:0;border:0;margin:0}legend{font-size:clamp(30px,4vw,44px);margin-bottom:20px}#options{display:grid;gap:12px;margin:28px 0}#options label{display:flex;align-items:center;gap:14px;padding:17px 20px;border:1px solid var(--line);border-radius:14px;cursor:pointer;background:#fffcf8}#options label:has(input:checked){background:#e5ede5;border-color:#4f7162}input[type=checkbox],input[type=radio]{width:21px;height:21px;accent-color:#4f7162;flex-shrink:0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.actions #next{margin-left:auto}#question-error{color:#992c29}#plan-card{background:#fffcf8;border:1px solid var(--line);border-top:5px solid #a5b9ad;border-radius:5px 5px 24px 24px;padding:40px;margin:34px 0;box-shadow:0 16px 45px #342e3a0a}#card-copy{font:21px/1.7 Georgia,serif}.attribution{font-size:12px;color:var(--muted);margin:32px 0 0}.share,.closing{margin:38px 0;padding:30px;background:#f1e9de;border-radius:20px}.share h2,.closing h2{margin-top:0}.share label{display:block;font-size:14px}#share-link{width:100%;padding:14px;border:1px solid var(--line);border-radius:9px;font:14px system-ui;margin:8px 0 16px}.share .small{margin:20px 0 0}summary{cursor:pointer;font-weight:600;padding:15px 0}#answer-review p{margin-top:20px}footer{border-top:1px solid var(--line);font-size:13px;color:var(--muted)}:focus-visible{outline:3px solid #985545;outline-offset:4px}.skip{position:absolute;top:-80px;padding:12px;background:white}.skip:focus{top:5px}[hidden]{display:none!important}@media(max-width:700px){header,footer{padding:22px;flex-wrap:wrap}header a{font-size:12px}header img{width:120px}main{padding:30px 22px 55px}.privacy{grid-column:auto}#plan-card,.share,.closing{padding:25px}footer span{display:none}}@media print{header,footer,#results>p,#results>h1,#results>.actions,.share,details,#results>.closing,#status{display:none!important}main{padding:0}#plan-card{box-shadow:none;border:0;margin:0;padding:20px}#results{max-width:none}body{background:white}}
#landing .intro { max-width: 850px; margin: 0 auto; text-align: center; }
#landing h1 { font-size: clamp(38px, 5.3vw, 64px); line-height: 1.12; margin: 0 0 26px; text-wrap: balance; }
#landing h1 em { display: block; text-wrap: balance; }
#landing .intro > p { max-width: 670px; margin-left: auto; margin-right: auto; }
#landing .intro .lede { font-size: 21px; line-height: 1.5; }
#landing .button { min-width: 190px; max-width: 100%; }
.quiz-topics { margin-top: 80px; padding-top: 52px; border-top: 1px solid var(--line); }
.quiz-topics > h2 { text-align: center; margin: 0 0 32px; text-wrap: balance; }
.topic-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.topic-grid article { background: #fffcf8; border: 1px solid var(--line); border-radius: 20px; padding: 28px; }
.topic-grid h3 { font-size: 19px; line-height: 1.35; margin: 0 0 14px; color: var(--rust); }
.topic-grid p { margin: 0; }
.quiz-takeaway { margin: 60px 0 28px; padding: 44px 32px; border-radius: 24px; background: #e5ede5; text-align: center; }
.quiz-takeaway h2 { margin: 0 auto 24px; text-wrap: balance; }
.quiz-takeaway > p { max-width: 650px; margin-left: auto; margin-right: auto; }
.quiz-takeaway .small { margin-bottom: 0; }
#landing .privacy { max-width: 720px; margin: 0 auto; text-align: center; }
@media (max-width: 700px) {
  body:has(#landing:not([hidden])) header { padding-top: 18px; padding-bottom: 12px; }
  body:has(#landing:not([hidden])) main { padding-top: 20px; }
  #landing h1 { margin-bottom: 22px; }
  #landing .intro .lede { font-size: 18px; }
  #landing .intro > p:not(.small) { font-size: 16px; line-height: 1.55; }
  #landing .intro .small { max-width: 280px; }
  .quiz-topics { margin-top: 44px; padding-top: 34px; }
  .quiz-topics > h2, .quiz-takeaway h2 { font-size: 30px; }
  .topic-grid { grid-template-columns: 1fr; gap: 14px; }
  .topic-grid article { padding: 24px; }
  .quiz-takeaway { margin-top: 36px; padding: 30px 22px; }
}

#delivery { padding: 20px 0 60px; }
#delivery h1 { text-wrap: balance; }
#poster-email-form { margin: 34px 0 18px; }
#poster-email-form label { display: block; margin-bottom: 10px; font-size: 15px; font-weight: 600; }
.email-row { display: flex; gap: 12px; }
#poster-email { min-width: 0; flex: 1; border: 1px solid var(--line); border-radius: 12px; background: #fffcf8; color: var(--ink); padding: 15px 18px; font: inherit; }
.email-row button { flex-shrink: 0; }
.poster-reveal { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.result-copy h1 { font-size: clamp(36px, 4.6vw, 57px); line-height: 1.15; text-wrap: balance; }
.result-copy .lede { font-size: 21px; }
.result-copy .button { margin-top: 8px; }
.result-art { margin: 0; }
.result-art img { display: block; width: 100%; height: auto; border-radius: 8px; box-shadow: 0 14px 45px #342e3a14; }
.result-art img[hidden] { display: none; }
.result-art img + img { margin-top: 18px; }
.result-art figcaption { text-align: center; margin: 14px 0 0; }
#results .closing { margin: 60px 0 0; padding: 38px 44px; background: #e5ede5; }
#results .closing p { max-width: 670px; }
#results .closing .eyebrow { margin-bottom: 12px; }
#results .closing h2 { margin-bottom: 20px; text-wrap: balance; }
#results .closing .button { margin-bottom: 0; }
@media (max-width: 700px) {
  #delivery { padding-top: 0; }
  .email-row { flex-direction: column; }
  .email-row button { align-self: flex-start; }
  .poster-reveal { grid-template-columns: 1fr; gap: 26px; }
  .result-copy h1 { font-size: 39px; }
  .result-art { max-width: 440px; width: 100%; margin: 0 auto; }
  #results .closing { margin-top: 36px; padding: 28px 24px; }
  #results .closing .button { max-width: 100%; }
}
.result-art{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start}
.result-art figure{flex:1 1 200px;margin:0;max-width:420px}
.result-art figure[hidden]{display:none}
.result-art #poster-caption{flex-basis:100%;margin:0}
.download-row{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 18px}
.download-row .button{margin:0}
#options .option-text{display:flex;flex-direction:column;gap:4px}
#options .option-text strong{font-weight:600}
#options .option-text small{font-size:14.5px;line-height:1.45;color:var(--muted)}
