/* Clarity Chart site styles. Brand ID web theme: dark by default, light for forms. */
:root{
  --ink:#141416;--ink2:#111113;--cream:#F2EFE9;--body-dark:#B9B5AD;--muted:#8A8A8F;
  --gold:#ECD46B;--gold-hover:#F3E08F;--rule:#33333A;
  --paper:#FAF8F4;--ink-light:#1A1A1C;--body-light:#4A4842;--rule-light:#DDD8CD;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--body-dark);font-family:Archivo,system-ui,sans-serif;font-size:17px;line-height:1.6;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--gold)}
.bar{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px 16px 14px;border-bottom:1px solid var(--rule)}
.bar img{height:40px;width:auto}
.bar .site{color:var(--cream);font-weight:600;letter-spacing:.2em;font-size:12px;text-transform:uppercase;text-decoration:none}
.bar .site:hover{text-decoration:underline}
main{flex:1;width:100%;max-width:600px;margin:0 auto;padding:28px 16px 40px}
.eyebrow{color:var(--gold);font-weight:600;letter-spacing:.28em;font-size:12px;text-transform:uppercase;margin:0 0 10px}
/* Sentence-case headlines use Archivo bold. Playfair is reserved for ALL CAPS titles (PDF and results page). */
h1{font-family:Archivo,system-ui,sans-serif;font-weight:700;font-size:clamp(26px,6.5vw,36px);line-height:1.18;margin:0 0 16px;color:var(--cream);letter-spacing:-.01em}
h2{font-family:Archivo,system-ui,sans-serif;font-weight:700;font-size:clamp(22px,5.8vw,30px);line-height:1.2;margin:0 0 10px;color:var(--cream)}
p{margin:0 0 16px}
.lead{font-size:18px;color:var(--body-dark)}
.hint{color:var(--muted);font-size:15px}
.tap{color:var(--muted);font-size:14px;margin:0 0 6px}
.examples{margin:0 0 18px;padding:0;list-style:none;color:var(--body-dark);font-size:15px}
.examples li{padding:8px 10px 8px 14px;border-left:2px solid var(--rule);margin:4px 0;cursor:pointer;border-radius:0 8px 8px 0}
.examples li:hover,.examples li:focus-visible{background:var(--ink2);border-left-color:var(--gold);outline:none}
.examples li .arrow{color:var(--gold);padding:0 6px}
.examples li:not(.pair)::before{content:"\201C"}
.examples li:not(.pair)::after{content:"\201D"}
.examples li.pair{font-size:14px;line-height:1.45;padding:7px 8px 7px 12px}
.examples li.pair .k{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.examples li.pair .k:first-child{margin-top:0}
.btn{display:inline-block;width:100%;text-align:center;background:var(--gold);color:var(--ink);font-weight:700;letter-spacing:.12em;font-size:14px;text-transform:uppercase;padding:16px 28px;border-radius:999px;border:0;cursor:pointer;text-decoration:none;font-family:inherit}
.btn:hover{background:var(--gold-hover)}
.btn:focus-visible{outline:2px solid var(--gold-hover);outline-offset:2px}
.btn[disabled]{background:var(--rule);color:var(--muted);cursor:not-allowed}
.btn.secondary{background:transparent;color:var(--gold);border:1.5px solid var(--gold)}
.btn.secondary:hover{background:var(--gold);color:var(--ink)}
.linkbtn{background:none;border:0;color:var(--gold);font:inherit;cursor:pointer;padding:0;text-decoration:underline}
.actions{display:flex;flex-direction:column;gap:12px;margin-top:20px}
.back{color:var(--muted);text-align:center;font-size:15px}
.choice{display:block;width:100%;text-align:left;background:var(--ink2);border:1.5px solid var(--rule);border-radius:12px;padding:18px 18px 16px;margin:0 0 12px;color:var(--body-dark);cursor:pointer;font:inherit}
.choice strong{display:block;color:var(--cream);font-size:19px;margin-bottom:6px}
.choice[aria-pressed="true"]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}
.choice:focus-visible{outline:2px solid var(--gold-hover);outline-offset:2px}
.card{background:var(--paper);color:var(--body-light);border-radius:12px;padding:16px 16px 10px;margin:10px 0 4px}
.field{margin:0 0 10px}
.field label{display:block;font-weight:600;letter-spacing:.18em;font-size:11px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.field textarea,.field input{width:100%;font:inherit;font-size:17px;color:var(--ink-light);background:#fff;border:1px solid var(--rule-light);border-radius:8px;padding:12px 14px}
.field textarea{min-height:96px;resize:vertical;line-height:1.5}
.field textarea.short{min-height:56px;padding:9px 12px}
.card.compact{padding:12px 14px 6px}
.card.compact .field{margin-bottom:8px}
.field textarea:focus,.field input:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.count{text-align:right;font-size:12px;color:var(--muted);margin-top:4px}
.consent{font-size:13px;color:var(--muted);margin-top:14px;text-align:center}
.consent a{color:var(--body-dark)}
.error{color:#F2B8B5;font-size:15px;margin:10px 0 0}
.field .error{color:#9A2B2B;font-size:14px;margin:6px 0 0}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.progress{color:var(--muted);font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:12px}
.center{text-align:center}
.pulse{width:10px;height:10px;border-radius:50%;background:var(--gold);margin:0 auto 24px;animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
.foot{padding:20px 16px 28px;border-top:1px solid var(--rule);font-size:12px;color:var(--muted);text-align:center}
@media(min-width:640px){
  .actions{flex-direction:row-reverse;justify-content:space-between;align-items:center}
  .btn{width:auto;min-width:220px}
  .back{text-align:left}
}
