.contact.contact-with-form{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(32px,5vw,72px)}.contact-intro{display:grid;gap:24px}.contact-intro :is(h1,h2){font-size:clamp(2rem,3.7vw,3.5rem);line-height:1.12;max-width:13ch}.contact-intro :is(h1,h2) em{display:block}.contact-intro .contact-mail{margin-top:8px;text-underline-offset:5px}.contact-form-wrap,.appointment-form{width:100%;min-width:0}.contact-fields,.contact-topics{margin:0;padding:0;border:0;min-width:0}.contact-fields{display:grid;gap:24px;margin-top:20px}.contact-coordinates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.contact-field{display:grid;gap:8px;min-width:0}.contact-field label,.contact-topics legend{font-size:1.0625rem;font-weight:700;color:var(--lav)}.contact-field input,.contact-field textarea{width:100%;min-width:0;min-height:48px;padding:12px 14px;border:1px solid rgba(253,249,255,.45);border-radius:6px;background:var(--bg-paper);color:var(--mauve);caret-color:var(--mauve);font:inherit;font-size:1.0625rem;line-height:1.5}.contact-field textarea{resize:vertical;min-height:140px}.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.contact .contact-hint{max-width:none;font-size:.9375rem;line-height:1.5;color:#fdf9ffd9}.contact-topics .contact-hint{margin:6px 0 12px}.contact-choices{display:flex;flex-wrap:wrap;gap:10px}.contact-choices label{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:1px solid rgba(253,249,255,.5);border-radius:6px;color:var(--lav);cursor:pointer;font-size:1rem}.contact-choices label:hover{background:#fdf9ff1a}.contact-choices label:has(input:checked){background:var(--lav);color:var(--mauve);border-color:var(--lav)}.contact-choices label:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:3px}.contact-choices input{width:18px;height:18px;margin:0;accent-color:var(--mauve)}.contact-fields .btn{justify-self:start;border:0;cursor:pointer;min-height:50px}.contact-fields:disabled .btn{cursor:wait;opacity:.7}.contact-fields:disabled input,.contact-fields:disabled textarea{opacity:.8}.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.contact-feedback{margin-top:20px;color:var(--lav);font-size:1.0625rem;line-height:1.55}.contact-feedback[data-state=error]{color:var(--peche)}.contact-feedback[data-state=success]{margin-top:0;padding:28px 0;border-block:1px solid rgba(253,249,255,.35);font-size:1.25rem}.contact-again{margin-top:24px;padding:10px 0;background:none;border:0;color:var(--lav);font:inherit;text-decoration:underline;text-underline-offset:5px;cursor:pointer}.contact-with-form [hidden]{display:none}.contact-with-form ::selection{background:var(--peche);color:var(--mauve)}@media(max-width:900px){.contact.contact-with-form{grid-template-columns:minmax(0,1fr)}.contact-intro :is(h1,h2){max-width:none}.contact-intro :is(h1,h2) em{display:inline}}@media(max-width:540px){.contact-coordinates{grid-template-columns:minmax(0,1fr)}.contact-fields .btn{width:100%;justify-content:center}}.appointment-page{min-height:100svh;background:var(--mauve);color:var(--lav);isolation:isolate}.appointment-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none}.appointment-backdrop picture,.appointment-backdrop img{display:block;width:100%;height:100%}.appointment-backdrop img{object-fit:cover;object-position:center}.appointment-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#140821db,#1408218f 48%,#1408212e)}.appointment-page .site-header{position:relative;inset:auto;margin:16px auto 0;width:calc(100% - 48px);max-width:1360px;background:#1e0c3fd1;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.appointment-page .site-header .btn{margin-left:auto}.appointment-page #contact{background:none;border:0;padding:44px max(5vw,calc((100vw - 1160px)/2)) 48px}.appointment-page .contact-intro{padding-top:36px}.appointment-page .contact-intro :is(h1,h2) em{color:var(--orange-hi)}.appointment-page .contact-intro p{color:var(--lav)}.appointment-page .contact-form-wrap{background:var(--bg);color:var(--mauve);padding:30px;border-radius:12px}.appointment-page .contact-hint{color:var(--mauve-soft)}.appointment-page .contact-field label,.appointment-page .contact-topics legend{color:var(--mauve)}.appointment-page .contact-field input,.appointment-page .contact-field textarea{background:var(--white);border-color:#1e0c3f7a}.appointment-page .contact-choices label{color:var(--mauve);border-color:#1e0c3f7a}.appointment-page .contact-choices label:hover{background:var(--lav-2)}.appointment-page .contact-choices label:has(input:checked){background:var(--mauve);color:var(--lav);border-color:var(--mauve)}.appointment-page .contact-choices input{accent-color:var(--orange)}.appointment-page .contact-field input:focus-visible,.appointment-page .contact-field textarea:focus-visible,.appointment-page .contact-choices label:has(input:focus-visible),.appointment-page .contact-fields .btn:focus-visible{outline-color:var(--orange-ink)}.appointment-page .contact-feedback{color:var(--mauve)}.appointment-page .contact-feedback[data-state=error]{color:var(--orange-ink)}.appointment-page .contact-feedback[data-state=success]{border-color:var(--line)}.appointment-page .contact-again{color:var(--mauve)}.appointment-footer{display:flex;justify-content:space-between;gap:20px;padding:20px max(5vw,calc((100vw - 1160px)/2));color:var(--lav);background:#1e0c3fd9;font-size:.9375rem}.appointment-footer a{font-family:var(--f-display);font-weight:700;text-underline-offset:4px}@media(max-width:900px){.appointment-page #contact{padding:36px 24px;gap:28px}.appointment-page .contact-intro{padding-top:0}.appointment-page .contact-intro p{max-width:65ch}.appointment-backdrop:after{background:#140821ad}}@media(max-width:540px){.appointment-page .site-header{width:calc(100% - 24px);padding-left:16px;gap:12px}.appointment-page .site-header .btn{font-size:.875rem;padding-inline:14px}.appointment-page #contact{padding:30px 16px}.appointment-page .contact-form-wrap{padding:24px 20px}.appointment-footer{padding:20px 24px;flex-direction:column;gap:8px}}
