/* Full-page quiz takeover + hero quiz card. Themed via --q-* variables set by each page. */
:root{--q-brand:#006039;--q-brand-2:#004A2C;--q-gold:#A37E2C;--q-cta:#006039;--q-cta-text:#fff;--q-bg:#fff;--q-soft:#F5F7F4;--q-line:#E3E8E4;--q-text:#0E1A14;--q-muted:#5E6B64;--q-font:inherit;--q-head:inherit}
html.fq-lock,html.fq-lock body{overflow:hidden}
.fq{position:fixed;inset:0;z-index:1000;background:var(--q-bg);color:var(--q-text);font-family:var(--q-font);display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .35s,transform .45s cubic-bezier(.2,.7,.2,1),visibility .35s}
.fq.on{opacity:1;visibility:visible;transform:none}
.fq svg{width:22px;height:22px;flex-shrink:0}
.fq-top{display:grid;grid-template-columns:200px 1fr 200px;align-items:center;gap:24px;padding:18px 28px;border-bottom:1px solid var(--q-line)}
.fq-logo{height:30px;width:auto}
.fq-prog{height:6px;background:var(--q-soft);border-radius:6px;overflow:hidden;max-width:520px;width:100%;justify-self:center}
.fq-prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--q-brand),var(--q-gold));border-radius:6px;transition:width .5s cubic-bezier(.2,.7,.2,1)}
.fq-exit{justify-self:end;display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--q-line);border-radius:999px;padding:8px 14px 8px 10px;font:600 14px var(--q-font);color:var(--q-muted);cursor:pointer}
.fq-exit svg{width:16px;height:16px}.fq-exit:hover{color:var(--q-text);border-color:var(--q-text)}
.fq-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
.fq-inner{max-width:720px;margin:0 auto;padding:clamp(32px,7vh,80px) 24px 60px}
.fq-inner.in{animation:fqIn .45s cubic-bezier(.2,.7,.2,1)}
@keyframes fqIn{from{opacity:0;transform:translateY(14px)}}
.fq-eyebrow{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--q-gold);margin:0 0 12px}
.fq h2{font-family:var(--q-head);font-size:clamp(30px,4.4vw,48px);line-height:1.06;letter-spacing:-.03em;margin:0 0 28px;font-weight:700;color:var(--q-text)}
.fq-hint{color:var(--q-muted);margin:-14px 0 24px;font-size:16px}
.fq-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fq-opts.fq-one{grid-template-columns:1fr}
.fq-opt{display:flex;align-items:center;gap:14px;text-align:left;min-height:72px;padding:16px 18px;background:#fff;border:1.5px solid var(--q-line);border-radius:16px;cursor:pointer;font:inherit;color:var(--q-text);transition:border-color .15s,background .15s,transform .15s,box-shadow .15s}
.fq-opt:hover{border-color:var(--q-brand);transform:translateY(-1px);box-shadow:0 10px 24px -16px rgba(0,96,57,.5)}
.fq-opt.on{border-color:var(--q-brand);background:#EEF5F1;box-shadow:inset 0 0 0 1px var(--q-brand)}
.fq-opt svg{color:var(--q-brand);width:28px;height:28px}
.fq-opt b{display:block;font-size:17px;font-weight:600;line-height:1.25}
.fq-opt small{display:block;font-size:13.5px;color:var(--q-muted);margin-top:2px}
.fq-goals .fq-opt{min-height:96px}
.fq-dot{width:20px;height:20px;border-radius:50%;border:2px solid #C9D2CC;flex-shrink:0;transition:all .15s}
.fq-multi .fq-dot{border-radius:6px}
.fq-opt.on .fq-dot{border-color:var(--q-brand);background:var(--q-brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4'%3E%3Cpath d='M5 12l5 5L19 7'/%3E%3C/svg%3E") center/12px no-repeat}
.fq-nav{display:flex;justify-content:space-between;align-items:center;margin-top:28px;gap:12px}
.fq-back{background:none;border:0;color:var(--q-muted);font:600 15px var(--q-font);cursor:pointer;padding:10px 0}.fq-back:hover{color:var(--q-text)}
.fq-cta{display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 26px;border:0;border-radius:999px;background:var(--q-cta);color:var(--q-cta-text);font:700 16px var(--q-font);cursor:pointer;transition:filter .2s,transform .2s}
.fq-cta:hover{filter:brightness(1.08);transform:translateY(-1px)}.fq-cta:disabled{opacity:.6}
.fq-cta svg{width:18px;height:18px}
.fq-err{color:#B2412F;font-size:14px;font-weight:600;min-height:20px;margin:10px 0 0}
.fq-form{display:grid;gap:14px}
.fq-form label{display:grid;gap:6px;font-size:14px;font-weight:600}
.fq-form input:not([type=checkbox]){height:56px;border:1.5px solid var(--q-line);border-radius:14px;padding:0 16px;font:400 17px var(--q-font);color:var(--q-text);background:#fff;transition:border-color .15s,box-shadow .15s}
.fq-form input:focus{outline:0;border-color:var(--q-brand);box-shadow:0 0 0 4px rgba(0,96,57,.12)}
.fq-form input.bad{border-color:#B2412F}
.fq-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fq-consent{display:flex!important;grid-template-columns:none;gap:12px!important;align-items:flex-start;font-weight:400!important;font-size:13px!important;color:var(--q-muted);line-height:1.5}
.fq-consent input{width:20px;height:20px;margin-top:1px;accent-color:var(--q-brand);flex-shrink:0}
.fq-consent a{color:var(--q-text)}
.fq-hp{position:absolute;left:-9999px;width:1px;height:1px}
.fq-done{text-align:center}
.fq-tick{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--q-brand);color:#fff;margin-bottom:18px}
.fq-tick svg{width:30px;height:30px}
.fq-cal{border:1px solid var(--q-line);border-radius:20px;overflow:hidden;margin-top:6px}
.fq-cal iframe{width:100%;min-height:760px;border:0;display:block}
.fq-alt{text-align:center;color:var(--q-muted);font-size:14px;margin-top:18px}.fq-alt a{color:var(--q-text);font-weight:600}
.fq-foot{display:flex;gap:8px;align-items:center;justify-content:center;padding:14px;border-top:1px solid var(--q-line);font-size:13px;color:var(--q-muted)}
.fq-foot svg{width:15px;height:15px;color:var(--q-brand)}
@media(max-width:640px){.fq-top{grid-template-columns:auto 1fr auto;padding:14px 16px;gap:14px}.fq-logo{height:22px}.fq-exit span{display:none}.fq-exit{padding:8px}.fq-opts,.fq-row{grid-template-columns:1fr}.fq-opt{min-height:62px}.fq-goals .fq-opt{min-height:70px}}

/* hero quiz card tiles (render target: [data-quiz-card]) */
.qc-opt{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 16px;background:#fff;border:1.5px solid var(--q-line);border-radius:14px;cursor:pointer;font:inherit;color:var(--q-text);transition:border-color .15s,transform .15s,box-shadow .15s}
.qc-opt:hover{border-color:var(--q-brand);transform:translateX(3px);box-shadow:0 10px 24px -18px rgba(0,96,57,.6)}
.qc-opt svg{width:24px;height:24px;color:var(--q-brand);flex-shrink:0}
.qc-opt svg:last-child{width:18px;height:18px;margin-left:auto;color:#A6B2AB;transition:transform .2s,color .2s}
.qc-opt:hover svg:last-child{color:var(--q-brand);transform:translateX(3px)}
.qc-opt b{display:block;font-size:16px;font-weight:600;line-height:1.2}
.qc-opt small{display:block;font-size:13px;color:var(--q-muted)}
[data-quiz-card]{display:grid;gap:8px}
