.appointment-wizard{max-width:980px;margin-inline:auto}.appointment-progress{--progress:0%;margin-bottom:1.4rem;position:relative}.appointment-progress:before,.appointment-progress:after{z-index:0;background:var(--line);content:"";border-radius:3px;width:86%;height:3px;position:absolute;top:20px;left:7%}.appointment-progress:after{width:var(--progress);background:linear-gradient(90deg, var(--orange-deep), var(--orange));transition:width .35s var(--ease-out)}.appointment-progress ol{z-index:1;grid-template-columns:repeat(7,1fr);margin:0;padding:0;list-style:none;display:grid;position:relative}.appointment-progress button{width:100%;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;place-items:center;gap:.5rem;padding:0;display:grid}.appointment-progress button:disabled{cursor:default;opacity:1}.appointment-progress button>span{background:var(--paper);border:2px solid var(--line);width:40px;height:40px;transition:background-color var(--transition), border-color var(--transition), color var(--transition), scale var(--transition);border-radius:50%;place-items:center;font-size:.84rem;font-weight:780;display:grid}.appointment-progress button:not(:disabled):hover>span{border-color:var(--line-strong)}.appointment-progress li[data-complete] button>span{color:#231200;background:var(--orange);border-color:var(--orange)}.appointment-progress button[aria-current=step]>span{color:var(--paper);background:var(--petrol);border-color:var(--petrol);scale:1.12;box-shadow:0 0 0 4px #0e3d4224}.appointment-progress button[aria-current=step] small{color:var(--ink);font-weight:760}.appointment-progress small{letter-spacing:.01em;font-size:.73rem}.draft-toolbar{min-height:44px;color:var(--ink-soft);background:var(--canvas-deep);border-radius:var(--radius-ctl);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.1rem;padding:.55rem .95rem;font-size:.8rem;display:flex}.draft-toolbar p{color:inherit;margin:0}.draft-toolbar button,.summary-edit{color:var(--petrol);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:0;font-weight:720;text-decoration:underline;display:inline-flex}.draft-toolbar button:hover,.summary-edit:hover{color:var(--petrol-deep)}#appointment-form{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-m);padding:clamp(1.4rem,4vw,2.8rem)}.wizard-step{border:0;min-width:0;margin:0;padding:0}.wizard-step[hidden]{display:none}.wizard-step>legend{letter-spacing:-.02em;width:100%;margin-bottom:.7rem;padding:0;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:680;font-stretch:106%;line-height:1.12}.wizard-step>legend>span{color:var(--orange-deep);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.55rem;margin-bottom:.65rem;font-size:.74rem;font-weight:760;font-stretch:100%;display:flex}.wizard-step>legend>span:before{content:"";background:var(--orange);width:22px;height:2px}.step-intro{max-width:68ch;margin-bottom:1.8rem;font-size:.98rem}.sub-group{border:0;min-width:0;margin:0 0 1.6rem;padding:0}.sub-label,.field>span:first-child,.field-label{margin-bottom:.55rem;padding:0;font-size:.9rem;font-weight:700;display:block}.sub-hint{color:var(--ink-soft);margin:-.25rem 0 .6rem;font-size:.82rem}.chip{min-width:0;display:block;position:relative}.chip input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.chip__face{background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius-ctl);text-align:center;min-height:48px;transition:background-color var(--transition), border-color var(--transition), color var(--transition), translate var(--transition), box-shadow var(--transition);justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1rem;font-size:.94rem;font-weight:650;line-height:1.2;display:flex}.chip input:hover+.chip__face{border-color:var(--petrol);translate:0 -1px}.chip input:active+.chip__face{translate:0}.chip input:checked+.chip__face{color:var(--paper);background:var(--petrol);border-color:var(--petrol);box-shadow:0 8px 18px -10px #092e328c}.chip input:focus-visible+.chip__face{outline:3px solid var(--orange);outline-offset:2px}.chip-row{flex-wrap:wrap;gap:.55rem;display:flex}.chip-row .chip__face{min-height:46px}.brand-grid{grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:.55rem;display:grid}.brand-grid .chip__face{min-height:52px;padding:.55rem .6rem;font-stretch:103%}.manufacturer-other{max-width:420px;margin-top:.9rem}.choice-grid{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}.choice-card{min-width:0;position:relative}.choice-card input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.choice-card__surface{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-ctl);height:100%;min-height:150px;transition:border-color var(--transition), background-color var(--transition), translate var(--transition), box-shadow var(--transition);align-content:start;gap:.45rem;padding:1.05rem;display:grid;position:relative}.choice-card__surface:after{content:"✓";color:#231200;background:var(--orange);width:24px;height:24px;transition:scale .2s var(--ease-out);border-radius:50%;place-items:center;font-size:.8rem;font-weight:800;display:grid;position:absolute;top:.7rem;right:.7rem;scale:0}.choice-card__surface svg{color:var(--petrol);margin-bottom:.7rem}.choice-card__surface strong{letter-spacing:-.01em;font-size:1.02rem}.choice-card__surface small{color:var(--ink-soft);line-height:1.35}.choice-card input:hover+.choice-card__surface{border-color:var(--line-strong);box-shadow:var(--shadow-s);translate:0 -2px}.choice-card input:checked+.choice-card__surface{border-color:var(--petrol);box-shadow:inset 0 0 0 1px var(--petrol);background:#eef5f3}.choice-card input:checked+.choice-card__surface:after{scale:1}.choice-card input:focus-visible+.choice-card__surface{outline:3px solid var(--orange);outline-offset:3px}.choice-grid--compact .choice-card__surface{grid-template-columns:30px 1fr;align-items:center;gap:.15rem .7rem;min-height:0}.choice-grid--compact .choice-card__surface svg{grid-row:1/3;margin:0}.choice-grid--compact .choice-card__surface small{grid-column:2}.form-grid{gap:1.2rem;display:grid}.form-grid--two{grid-template-columns:1fr 1fr}.form-grid__wide{grid-column:1/-1}.form-grid>label,.field>label,.file-field{font-size:.9rem;font-weight:700;display:block}.form-grid>label>input,.form-grid>label>textarea,.form-grid>label>select,.field>label>input,.file-field>input{margin-top:.5rem}.file-field small,.file-field [data-file-status]{margin-top:.4rem;display:block}.field-optional{color:var(--ink-soft);font-weight:500}.appointment-wizard input[type=text],.appointment-wizard input[type=tel],.appointment-wizard input[type=email],.appointment-wizard input[type=number],.appointment-wizard input[type=date],.appointment-wizard input:not([type]),.appointment-wizard select,.appointment-wizard textarea{width:100%;min-height:50px;color:var(--ink);background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius-ctl);transition:border-color var(--transition), box-shadow var(--transition);padding:.7rem .85rem;font-weight:480}.appointment-wizard input:hover:not(:disabled),.appointment-wizard textarea:hover{border-color:var(--petrol)}.appointment-wizard input:focus-visible,.appointment-wizard textarea:focus-visible,.appointment-wizard select:focus-visible{border-color:var(--petrol);outline:0;box-shadow:0 0 0 3px #0e3d422e}.appointment-wizard input:disabled{color:var(--ink-soft);background:var(--canvas);cursor:not-allowed}.appointment-wizard textarea{resize:vertical;line-height:1.55}.appointment-wizard input:invalid[data-touched],.appointment-wizard select:invalid[data-touched],.appointment-wizard textarea:invalid[data-touched]{border-color:var(--danger)}.more-details{border:1px solid var(--line);border-radius:var(--radius-ctl);margin-top:1.4rem}.more-details summary{cursor:pointer;align-items:center;gap:.5rem;padding:.85rem 1rem;font-size:.92rem;font-weight:700;list-style:none;display:flex}.more-details summary::-webkit-details-marker{display:none}.more-details summary:before{content:"+";width:22px;height:22px;color:var(--petrol);border:1px solid var(--line-strong);border-radius:4px;place-items:center;font-weight:700;line-height:1;display:grid}.more-details[open] summary:before{content:"–"}.more-details>div{padding:.3rem 1rem 1.2rem}.inline-options{border:0;flex-wrap:wrap;gap:.7rem 1.2rem;margin:0;padding:0;display:flex}.inline-options legend{width:100%;margin-bottom:.4rem;padding:0;font-size:.9rem;font-weight:700}.inline-options label,.stacked-options label,.consent-panel label{align-items:flex-start;gap:.6rem;font-weight:480;display:flex}.inline-options input,.stacked-options input,.consent-panel input{width:20px;min-height:20px;accent-color:var(--petrol);flex:none;margin:.15rem 0 0}.stacked-options{align-content:center;gap:.8rem;display:grid}.file-field input[type=file]{min-height:0;padding:.6rem;font-weight:480}.file-field small,.file-field [data-file-status]{color:var(--ink-soft);font-size:.78rem;font-weight:400}.appointment-summary{gap:.75rem;display:grid}.appointment-summary section{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-ctl);padding:1.05rem 1.2rem}.appointment-summary section>div{justify-content:space-between;align-items:center;gap:1rem;display:flex}.appointment-summary h3{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.35rem;font-size:.82rem;font-weight:760}.appointment-summary p{color:var(--ink);white-space:pre-line;margin:0}.consent-panel{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-ctl);gap:1rem;padding:1.3rem;display:grid}.consent-panel strong{color:var(--danger)}.honeypot{position:absolute;left:-10000px}.submission-note{color:#6e400f;background:var(--warning-bg);border-left:3px solid var(--orange-deep);border-radius:0 var(--radius-ctl) var(--radius-ctl) 0;margin-top:1.3rem;padding:1rem}.submission-note p{color:inherit;margin:.25rem 0 0;font-size:.88rem}.step-error{color:var(--danger);border-left:3px solid var(--danger);border-radius:0 var(--radius-ctl) var(--radius-ctl) 0;background:#fdf0ee;margin-top:1.2rem;padding:.8rem 1rem;font-weight:680}.wizard-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:.75rem;margin-top:2rem;padding-top:1.4rem;display:flex}.wizard-actions [data-previous]{margin-right:auto}.submission-result{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-m);padding:clamp(2rem,6vw,4rem)}.submission-result>span{width:64px;height:64px;color:var(--paper);background:var(--success);border-radius:50%;place-items:center;margin-bottom:1.5rem;display:grid}.submission-result .eyebrow{color:var(--orange-deep);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:.55rem;margin-bottom:.9rem;font-size:.76rem;font-weight:760;display:flex}.submission-result .eyebrow:before{content:"";background:var(--orange);width:24px;height:2px}.submission-result h2{max-width:720px}.submission-result p{max-width:68ch}.success-summary{grid-template-columns:1fr 1fr;gap:.75rem;margin:2rem 0;display:grid}.success-summary>div{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-ctl);padding:.95rem 1.1rem}.success-summary>div:nth-child(3){grid-column:1/-1}.success-summary dt{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:760}.success-summary dd{white-space:pre-line;margin:.3rem 0 0}.urgent-contact{background:var(--warning-bg);border-left:3px solid var(--orange-deep);border-radius:0 var(--radius-ctl) var(--radius-ctl) 0;gap:.7rem;max-width:760px;margin-bottom:1.5rem;padding:1rem;display:flex}.urgent-contact svg{color:var(--orange-deep);flex:none}.submission-result--error{border-top:4px solid var(--danger)}@media (width<=820px){.appointment-progress small{display:none}.appointment-progress:before,.appointment-progress:after{top:17px}.appointment-progress button>span{width:36px;height:36px}.choice-grid{grid-template-columns:1fr 1fr}.brand-grid{grid-template-columns:repeat(auto-fill,minmax(108px,1fr))}}@media (width<=600px){.draft-toolbar{flex-direction:column;align-items:flex-start}.form-grid--two{grid-template-columns:1fr}.form-grid__wide{grid-column:auto}.wizard-actions{grid-template-columns:1fr 1fr;display:grid}.wizard-actions .button{width:100%}.wizard-actions [data-next],.wizard-actions [data-submit]{grid-column:2}.success-summary{grid-template-columns:1fr}.success-summary>div:nth-child(3){grid-column:auto}}@media (width<=420px){.choice-grid{grid-template-columns:1fr}.choice-card__surface{grid-template-columns:34px 1fr;align-items:center;gap:.2rem .75rem;min-height:0}.choice-card__surface svg{grid-row:1/3;margin:0}.choice-card__surface small{grid-column:2}.brand-grid{grid-template-columns:1fr 1fr}}@media print{.utility-bar,.site-header,.site-footer,.chip-nav,.appointment-progress,.draft-toolbar,#appointment-form,.submission-result .button-row{display:none!important}.submission-result{box-shadow:none;border:0}}
