#hc-quiz { --navy:#1b3651; --gold:#b88c3c; --ink:#23374a; max-width:820px; margin:32px auto; padding:24px; background:#faf8f2; color:var(--ink); font:18px/1.55 Arial,sans-serif; box-sizing:border-box; }
#hc-quiz * { box-sizing:border-box; }
#hc-quiz [hidden] { display:none!important; }
#hc-quiz .hc-brand { font-size:18px; letter-spacing:3px; text-align:center; margin-bottom:24px; color:var(--navy); }
#hc-quiz .hc-brand span { display:block; font-size:12px; letter-spacing:5px; color:#795b27; }
#hc-quiz .hc-card { background:white; border:1px solid #ded8ca; border-top:5px solid var(--gold); border-radius:20px; padding:36px; box-shadow:0 10px 30px #1b36510b; }
#hc-quiz h2, #hc-quiz legend { font-family:Georgia,serif; font-weight:bold; font-size:32px; line-height:1.2; color:var(--navy); margin:0 0 24px; }
#hc-quiz legend { float:none; padding:0; width:100%; }
#hc-quiz fieldset { border:0; padding:0; margin:0; min-width:0; }
#hc-quiz .hc-eyebrow { color:#795b27; font-size:13px; font-weight:bold; letter-spacing:2px; }
#hc-quiz label:not(.hc-choice):not(.hc-consent) { display:block; margin:16px 0 6px; }
#hc-quiz input:not([type=radio]):not([type=checkbox]):not([type=hidden]) { width:100%; padding:14px; border:1px solid #8b98a3; border-radius:8px; font:inherit; background:white; color:var(--ink); }
#hc-quiz .hc-choice { display:flex; align-items:center; gap:14px; border:1px solid #c9d1d7; border-radius:10px; padding:17px; margin:12px 0; cursor:pointer; }
#hc-quiz .hc-choice:has(input:checked) { background:#eef3f7; border-color:var(--navy); }
#hc-quiz input[type=radio], #hc-quiz input[type=checkbox] { width:21px; height:21px; flex-shrink:0; accent-color:var(--navy); }
#hc-quiz .hc-primary { display:inline-block; background:var(--navy); color:white; border:0; border-radius:9px; padding:16px 25px; font:700 18px Arial,sans-serif; text-decoration:none; cursor:pointer; text-align:center; }
#hc-quiz .hc-secondary, #hc-quiz .hc-text-button { background:none; border:0; color:var(--navy); font:inherit; text-decoration:underline; cursor:pointer; padding:12px 0; }
#hc-quiz .hc-nav { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:30px; }
#hc-quiz .hc-primary:disabled { opacity:.65; cursor:wait; }
#hc-quiz :focus-visible { outline:3px solid #a67c30; outline-offset:4px; }
#hc-quiz .hc-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
#hc-quiz .hc-consent { display:flex; align-items:flex-start; gap:12px; font-size:14px; line-height:1.6; margin:20px 0; }
#hc-quiz .hc-consent input { margin-top:3px; }
#hc-quiz .hc-muted, #hc-quiz .hc-links, #hc-quiz .hc-disclosure { font-size:14px; color:#526171; }
#hc-quiz a { color:var(--navy); }
#hc-quiz a.hc-primary { color:white; }
#hc-quiz .hc-footer { font-size:12px; text-align:center; color:#526171; margin-top:24px; }
#hc-quiz progress { width:100%; height:12px; accent-color:var(--gold); }
#hc-quiz #hc-progress-label { font-size:14px; margin:8px 0 20px; }
#hc-quiz #hc-error { color:#a02222; font-size:16px; }
#hc-quiz .hc-honey { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
#hc-quiz .hc-phone-button { font-size:24px; margin:16px 0; }
#hc-quiz .hc-text-button { display:block; }

@media (max-width:600px) {
    #hc-quiz { margin:0; padding:16px; }
    #hc-quiz .hc-card { padding:24px 18px; }
    #hc-quiz h2, #hc-quiz legend { font-size:27px; }
    #hc-quiz .hc-grid { grid-template-columns:1fr; gap:0; }
    #hc-quiz .hc-phone-button { font-size:20px; width:100%; }
}

/* Animate each screen as it appears */
#hc-quiz #hc-intro:not([hidden]), #hc-quiz [data-step]:not([hidden]), #hc-quiz #hc-call:not([hidden]), #hc-quiz #hc-booking:not([hidden]) { animation:hc-enter 280ms ease-out both; }

@keyframes hc-enter {
    from { opacity:0; transform:translateY(10px); }
    to { opacity:1; transform:translateY(0); }
}

/* Answer selection feedback */
#hc-quiz .hc-choice { transition:background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
#hc-quiz .hc-choice:has(input:checked) { box-shadow:0 0 0 2px var(--navy); }

/* Button feedback */
#hc-quiz .hc-primary { transition:background-color 180ms ease, transform 120ms ease; }
#hc-quiz .hc-primary:active { transform:scale(0.98); }

@media (hover:hover) {
    #hc-quiz .hc-choice:hover { background:#f4f7fa; border-color:var(--navy); }
    #hc-quiz .hc-primary:hover { background:#294d70; }
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion:reduce) {
    #hc-quiz *, #hc-quiz *::before, #hc-quiz *::after { animation:none!important; transition:none!important; }
}

#hc-quiz:has(#hc-booking:not([hidden])) #hc-progress-wrap { display:none; }