.consultation-cta{display:inline-flex;align-items:center;gap:25px;padding:18px 25px;border:1px solid currentColor;border-radius:40px;background:#111;color:#f4f4f1;font-size:14px;margin:25px 0;cursor:pointer;transition:transform .3s}.consultation-cta:hover{transform:translateY(-3px)}.qualification{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#f4f4f1;color:#111;overflow:auto}.qualification::backdrop{background:#111d}.q-top{display:flex;justify-content:space-between;align-items:center;padding:24px 5vw;border-bottom:1px solid #ccc}.q-close,.q-back{border:0;background:none;font:inherit;color:inherit;padding:10px;cursor:pointer}.q-progress{height:3px;background:#ddd}.q-progress i{display:block;background:#111;height:100%;width:0;transition:width .4s}.q-content{max-width:790px;margin:0 auto;padding:70px 30px 50px;min-height:65vh}.q-content h2{font-size:clamp(30px,4vw,49px);line-height:1.2;letter-spacing:-.045em;margin-bottom:25px}.q-content h2:focus{outline:none}.q-description{color:#555;font-size:17px;line-height:1.65}.q-note{font-size:14px;color:#666}.q-next{display:inline-block;background:#111;color:#f4f4f1;border:0;padding:17px 24px;margin-top:20px;font:600 15px 'DM Sans',sans-serif;cursor:pointer;border-radius:4px;text-decoration:none}.q-next:disabled{opacity:.5;cursor:wait}.q-content input:not([type=radio]):not([type=checkbox]),.q-content textarea{display:block;width:100%;border:0;border-bottom:2px solid #777;background:transparent;font:24px 'DM Sans',sans-serif;padding:16px 0;color:#111;margin:30px 0 15px}.q-content textarea{min-height:130px;resize:vertical}.q-content fieldset{border:0;padding:0;margin:30px 0 15px;display:grid;gap:10px}.q-option{display:flex;gap:15px;align-items:center;border:1px solid #aaa;padding:15px;font-size:16px;cursor:pointer;position:relative}.q-option:has(input:checked){background:#111;color:white;border-color:#111}.q-option input{position:absolute;opacity:0;width:1px;height:1px}.q-option:has(input:focus-visible){outline:2px solid #555;outline-offset:3px}.q-key{border:1px solid currentColor;border-radius:3px;min-width:26px;height:26px;display:grid;place-items:center;font-size:12px}.q-footer{max-width:790px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 30px 40px}.q-error{color:#a12525;min-height:24px;font-size:14px;margin:10px 0}.q-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px;margin:30px 0}.q-summary dt{font-size:13px;color:#666;padding:10px 0;border-bottom:1px solid #ddd}.q-summary dd{margin:0;padding:10px 0;font-size:14px;border-bottom:1px solid #ddd;overflow-wrap:anywhere}.q-consent{display:flex;gap:12px;font-size:14px;line-height:1.6}.q-consent input{width:20px;height:20px;flex-shrink:0;accent-color:#111}.q-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:600px){.q-content{padding:40px 23px 30px}.q-top{padding:18px 20px}.q-summary{grid-template-columns:1fr;gap:0}.q-summary dt{border:0;padding-bottom:0}.q-summary dd{padding-top:5px}.q-option{font-size:15px}.q-footer{padding:0 23px 30px}}@media(prefers-reduced-motion:reduce){.q-progress i,.consultation-cta{transition:none}}

.nav-controls .header-cta{padding:0 17px;border-radius:25px;font-size:12px}.hero aside .consultation-cta{line-height:1.4;font-size:13px;padding:16px 19px}.hero aside{max-width:330px}@media(max-width:600px){.nav-controls .header-cta{display:none}.q-top .micro{font-size:9px}}

/* Keep typed text and focus inside a consistently padded field. */
.q-content input:not([type=radio]):not([type=checkbox]),.q-content textarea{box-sizing:border-box;min-width:0;max-width:100%;border:1px solid #999;border-radius:5px;padding:18px 20px;line-height:1.45;font-size:clamp(18px,2.4vw,24px);min-height:68px;outline:none;transition:border-color .2s,box-shadow .2s}
.q-content input:not([type=radio]):not([type=checkbox]):focus,.q-content textarea:focus{border-color:#111;box-shadow:0 0 0 1px #111}
.q-content input::placeholder,.q-content textarea::placeholder{color:#777;opacity:1}
.q-content h2{overflow-wrap:anywhere}.q-option>span:last-child{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.q-content input:not([type=radio]):not([type=checkbox]),.q-content textarea{padding:16px;min-height:60px}}
