.appointment-section{background:#f4f9fc;padding-top:46px}.appointment-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,300px);gap:30px;align-items:start}.appointment-form{min-width:0}.appointment-card{background:#fff;border:1px solid #dce8ef;border-radius:13px;padding:30px;margin-bottom:20px;box-shadow:0 8px 30px rgba(17,54,83,.035)}.appointment-card h2{font-family:Georgia,serif;font-weight:500;font-size:clamp(1.55rem,2.3vw,2rem);color:#163e5f;margin:10px 0 18px}.appointment-card>p{color:#4c6578;line-height:1.6}.appointment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.appointment-field{display:flex;flex-direction:column;gap:8px;min-width:0;margin-bottom:20px;color:#183b55}.appointment-field>span{font-weight:700;font-size:.95rem}.appointment-field input,.appointment-field select,.appointment-field textarea{width:100%;min-width:0;padding:12px 13px;border:1px solid #a9c0cf;border-radius:7px;background:#fff;color:#102b45;font:inherit;line-height:1.4}.appointment-field input:focus-visible,.appointment-field select:focus-visible,.appointment-field textarea:focus-visible,.appointment-actions button:focus-visible{outline:3px solid #399aca;outline-offset:2px}.appointment-field input:disabled,.appointment-field select:disabled{background:#edf3f7;color:#556c7d}.appointment-field small{color:#526b7c;font-size:.84rem;line-height:1.45}.appointment-zone{padding:12px 16px;background:#eaf4f9;border-left:4px solid #0879b2;border-radius:4px;color:#29495f;line-height:1.5;margin:0}.appointment-time-row{border-top:1px solid #dce8ef;padding-top:18px;margin-top:18px}.appointment-time-row h3{font-family:Georgia,serif;color:#163e5f;font-weight:500;font-size:1.25rem;margin:0 0 14px}.appointment-time-row h3 small{font-family:Inter,Arial,sans-serif;font-size:.75rem;color:#526b7c;font-weight:500}.appointment-time-row .appointment-field{margin-bottom:6px}.appointment-date-help{min-height:1.3em;font-size:.87rem;color:#9b4b32;margin:6px 0 0}.appointment-hours{background:#f4f8fb;padding:16px 18px;border-radius:8px;font-size:.9rem}.appointment-aside{position:sticky;top:100px;background:#eaf4f9;border-radius:12px;padding:26px;color:#163e5f}.appointment-aside h2{font-family:Georgia,serif;font-weight:500;font-size:1.55rem;margin:0 0 14px}.appointment-aside li{line-height:1.58;margin-bottom:12px}.appointment-aside ul{padding-left:22px}.appointment-aside p{line-height:1.6}.appointment-aside a{font-weight:700;color:#086a9b}.appointment-actions{padding:8px 4px 0}.appointment-actions button{cursor:pointer}.appointment-actions button[hidden],.appointment-summary[hidden]{display:none!important}.appointment-actions #appointment-send{margin-top:4px}.appointment-actions #appointment-send:disabled{opacity:.7;cursor:wait}.appointment-actions #appointment-status{color:#9b4b32;font-weight:650}.appointment-summary{background:#fff;border:1px solid #caddea;border-left:5px solid #0b4b72;border-radius:7px;padding:24px;margin:22px 0}.appointment-summary h3{font-family:Georgia,serif;color:#163e5f;font-size:1.45rem;font-weight:500;margin:0 0 16px}.appointment-summary p{color:#29495f;line-height:1.5;margin:8px 0}.appointment-summary .appointment-preview-note{background:#fff6dc;padding:14px;color:#6c4e12;border-radius:5px;font-weight:700;margin-top:20px}.appointment-location-details[hidden],.appointment-location-details [hidden],#appointment-purpose-other[hidden]{display:none!important}.appointment-location-details{margin:0 0 18px}.appointment-location-details article{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);background:#f7fbfd;border:1px solid #dce8ef;border-radius:10px;overflow:hidden}.appointment-location-details img{display:block;width:100%;height:100%;min-height:220px;object-fit:cover}.appointment-location-details article>div{padding:22px 24px}.appointment-location-details h3{font-family:Georgia,serif;color:#163e5f;font-size:1.55rem;font-weight:500;margin:8px 0 14px}.appointment-location-details address{font-style:normal;line-height:1.6;color:#29495f;margin-bottom:8px}.appointment-location-details article a{color:#086a9b;font-weight:700}.appointment-location-details p{color:#4c6578;font-size:.9rem;margin:12px 0}.appointment-schedule{margin-top:25px;border:1px solid #cbdfea;border-radius:10px;overflow:hidden;background:#f4f8fb}.appointment-schedule h3{background:#0b4b72;color:white;font-family:Georgia,serif;font-size:1.35rem;font-weight:500;padding:16px 20px;margin:0}.appointment-schedule-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,2fr);gap:16px;padding:15px 20px;border-bottom:1px solid #d7e6ee;color:#29495f}.appointment-schedule-row strong{color:#163e5f}.appointment-schedule p{padding:15px 20px;margin:0;color:#4c6578;font-size:.9rem;line-height:1.5}.appointment-location-details article[hidden]{display:none!important}@media(max-width:610px){.appointment-location-details article{grid-template-columns:1fr}.appointment-location-details img{height:175px;min-height:0}.appointment-schedule-row{grid-template-columns:1fr;gap:4px}}.appointment-field .appointment-validation{color:#9b4b32;font-weight:650}.appointment-field input[aria-invalid="true"]{border-color:#a13d2c;box-shadow:0 0 0 1px #a13d2c}.appointment-field .appointment-validation[hidden]{display:none!important}.appointment-field input[name="email"]:not(:placeholder-shown):invalid + .appointment-validation[hidden]{display:block!important}.appointment-field input[name="email"]:not(:placeholder-shown):invalid{border-color:#a13d2c;box-shadow:0 0 0 1px #a13d2c}@media(max-width:850px){.appointment-layout{grid-template-columns:1fr}.appointment-aside{position:static}}@media(max-width:610px){.appointment-card{padding:23px 18px}.appointment-grid{grid-template-columns:1fr}.appointment-time-row .appointment-field{margin-bottom:14px}}