.contact-form{--quote-error:var(--danger);--fp-y:clamp(24px,3.1vw,46px);--fp-x:var(--fp-y);width:100%;min-width:0;padding:var(--fp-y) var(--fp-x);color:var(--ink,#292722);background:var(--paper,#fffefd);border:1px solid var(--line,#ded8cf);border-radius:14px;font-family:var(--font-body,sans-serif);overflow-wrap:anywhere}.contact-form .quote-intro{margin-bottom:28px}.contact-form .quote-intro h3{margin:0 0 10px;font-family:var(--font-display,Georgia,serif);font-size:clamp(1.6rem,2.2vw,2rem);line-height:1.16;font-weight:400;letter-spacing:-.025em;text-wrap:balance}.contact-form .quote-hint,.contact-form .quote-intro p{margin:0;color:var(--muted,#686158);font-size:.875rem;line-height:1.6}.contact-form .quote-fields{min-width:0;margin:0;padding:0;border:0}.contact-form .quote-no-script{font-size:1rem;line-height:1.7}.contact-form .quote-no-script a{color:var(--accent,#ae482b);text-decoration:underline;text-underline-offset:3px}.contact-form .quote-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 18px}.contact-form .quote-field{display:flex;flex-direction:column;min-width:0;gap:8px}.contact-form .quote-wide{grid-column:1/-1}.contact-form .quote-field>label{font-size:.9375rem;line-height:1.4;font-weight:500}.contact-form .quote-field>label>span{color:var(--muted,#686158);font-size:.8125rem;font-weight:400}.contact-form .quote-field :is(input,select,textarea){display:block;min-width:0;width:100%;min-height:49px;margin:0;padding:11px 13px;border:1px solid var(--control-border,#908477);border-radius:5px;outline:none;background:var(--paper,#fffefd);color:var(--ink,#292722);box-shadow:none;font:inherit;font-size:1rem;line-height:1.5;caret-color:var(--accent,#ae482b);transition:border-color .14s ease}.contact-form .quote-field select{padding-inline-end:8px}.contact-form .quote-field textarea{min-height:132px;resize:vertical}.contact-form .quote-field :is(input,textarea)::placeholder{color:var(--muted,#686158);opacity:1}.contact-form .quote-field :is(input,select,textarea):hover:not(:disabled){border-color:var(--ink,#292722)}.contact-form .quote-consent>input:focus-visible,.contact-form .quote-field :is(input,select,textarea):focus-visible{border-color:var(--accent,#ae482b);outline:2px solid var(--accent,#ae482b);outline-offset:3px}.contact-form .quote-field [aria-invalid=true]{border-color:var(--quote-error)}.contact-form .quote-field-error{color:var(--quote-error);font-size:.875rem;line-height:1.5}.contact-form .quote-hint{font-size:.8125rem}.contact-form .quote-consent{display:flex;align-items:flex-start;gap:11px;margin-top:24px}.contact-form .quote-consent>input{width:20px;height:20px;flex:0 0 20px;margin:3px 0 0;accent-color:var(--accent,#ae482b);cursor:pointer}.contact-form .quote-consent>div{min-width:0}.contact-form .quote-consent label{display:block;min-height:44px;color:var(--muted,#686158);font-size:.875rem;line-height:1.6;cursor:pointer}.contact-form .quote-consent .quote-field-error{display:block;margin-top:6px}.quote-privacy-trigger{display:inline-flex;align-items:center;min-height:44px;padding:4px 0;border:0;background:transparent;color:var(--accent,#ae482b);font:inherit;font-size:.875rem;line-height:1.5;text-align:start;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.quote-privacy-trigger:hover{text-decoration-thickness:2px}.quote-privacy-footer{color:inherit;text-decoration:none}.contact-form :is(.quote-submit,.quote-another,.quote-error a):focus-visible,.quote-privacy-close:focus-visible,.quote-privacy-dialog a:focus-visible,.quote-privacy-trigger:focus-visible{outline:2px solid var(--accent,#ae482b);outline-offset:4px;border-radius:4px}.contact-form .quote-error{padding:15px 17px;margin-top:20px;border:1px solid var(--quote-error);border-radius:5px;color:var(--quote-error);background:var(--danger-bg);font-size:.9375rem;line-height:1.6}.contact-form .quote-error:focus{outline:2px solid var(--quote-error);outline-offset:3px}.contact-form .quote-error p{margin:0}.contact-form .quote-error a{display:inline-flex;align-items:center;gap:5px;min-height:44px;color:inherit;text-decoration:underline;text-underline-offset:3px}.contact-form .quote-submit{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:54px;margin-top:22px;padding:14px 20px;border:1px solid var(--accent-fill);border-radius:5px;background:var(--accent-fill);color:var(--on-accent);font:inherit;font-size:1rem;font-weight:500;line-height:1.4;text-align:start;cursor:pointer;transition:background .15s ease,border-color .15s ease}.contact-form .quote-submit svg{flex-shrink:0}.contact-form .quote-submit:hover:not(:disabled){border-color:var(--accent-fill-hover);background:var(--accent-fill-hover)}.contact-form .quote-submit:disabled{cursor:wait;background:var(--fill-disabled);border-color:var(--fill-disabled)}.contact-form .quote-fields:disabled .quote-field :is(input,textarea,select){background:var(--soft,#f5f1e9)}.contact-form .quote-footnote{display:flex;align-items:flex-start;justify-content:center;gap:7px;margin:15px 0 0;color:var(--muted,#686158);font-size:.8125rem;line-height:1.5}.contact-form .quote-footnote svg{flex-shrink:0;margin-top:2px}.contact-form.quote-success{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:440px}.contact-form.quote-success:focus-visible{outline:2px solid var(--accent,#ae482b);outline-offset:5px}.contact-form .quote-success-mark{display:grid;place-items:center;width:54px;height:54px;margin-bottom:28px;border-radius:50%;color:var(--on-accent);background:var(--accent-fill)}.contact-form.quote-success h3{max-width:15ch;margin:0;font-family:var(--font-display,Georgia,serif);font-size:clamp(2rem,3.2vw,2.8rem);font-weight:400;line-height:1.12;letter-spacing:-.025em;text-wrap:balance}.contact-form.quote-success>p{max-width:48ch;margin:22px 0 0;color:var(--muted,#686158);font-size:1rem;line-height:1.7}.contact-form.quote-success .quote-reference{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 14px;margin-top:24px;font-size:.875rem}.contact-form .quote-reference strong{color:var(--ink,#292722);font-weight:500;font-variant-numeric:tabular-nums}.contact-form .quote-another{display:inline-flex;align-items:center;gap:18px;min-height:44px;margin-top:25px;padding:0;border:0;background:none;color:var(--accent,#ae482b);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.quote-privacy-dialog{position:fixed;inset:0;width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 48px);margin:auto;padding:clamp(26px,5vw,42px);overflow:auto;border:1px solid var(--control-border,#908477);border-radius:14px;background:var(--paper,#fffefd);color:var(--ink,#292722);font-family:var(--font-body,sans-serif);overflow-wrap:anywhere}.quote-privacy-dialog::backdrop{background:var(--backdrop)}.quote-privacy-dialog h2{margin:22px 0 20px;font-family:var(--font-display,Georgia,serif);font-size:clamp(1.7rem,5vw,2.2rem);font-weight:400;line-height:1.18;letter-spacing:-.025em;text-wrap:balance}.quote-privacy-dialog p{margin:0 0 16px;color:var(--muted,#686158);font-size:1rem;line-height:1.7}.quote-privacy-dialog p:last-child{margin-bottom:0}.quote-privacy-dialog a{color:var(--accent,#ae482b);text-decoration:underline;text-underline-offset:3px}.quote-privacy-close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:5px;background:transparent;color:var(--ink,#292722);cursor:pointer}.quote-privacy-close:hover{background:var(--soft,#f5f1e9)}.quote-privacy-icon{color:var(--accent,#ae482b)}.contact-form .quote-honeypot,.quote-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.contact-form .quote-spinner{animation:quote-turn 1s linear infinite}@keyframes quote-turn{to{transform:rotate(1turn)}}@media (max-width:580px){.contact-form{--fp-y:24px;--fp-x:20px;border-radius:12px}.contact-form .quote-grid{grid-template-columns:minmax(0,1fr);gap:21px}.contact-form .quote-submit{padding-inline:16px}.contact-form .quote-footnote{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.contact-form .quote-spinner{animation:none}.contact-form .quote-field :is(input,select,textarea),.contact-form .quote-submit{transition:none}}@media(max-width:700px){.contact-form{--fp-y:24px;--fp-x:18px}.contact-form .quote-grid{grid-template-columns:minmax(0,1fr);gap:20px}.contact-form .quote-intro{margin-bottom:24px}.contact-form .quote-field>label{font-size:1rem}.contact-form .quote-field :is(input,select,textarea){min-height:52px;font-size:16px}.contact-form .quote-field textarea{min-height:150px}.contact-form .quote-consent>input{width:24px;height:24px;flex-basis:24px}.contact-form .quote-consent label{font-size:.9375rem}.contact-form .quote-footnote{justify-content:flex-start;font-size:.875rem}}.contact-form>.win-bar{margin:calc(var(--fp-y) * -1) calc(var(--fp-x) * -1) var(--fp-y);border-radius:13px 13px 0 0}.contact-form.quote-success>.win-bar{align-self:stretch;margin-bottom:auto}.contact-form.quote-success>:last-child{margin-bottom:auto}.contact-form.quote-success>.win-bar .win-meta{color:var(--success)}.contact-form.quote-success .quote-success-mark{margin-top:28px}.contact-form .quote-reference strong{font-family:var(--font-mono);font-size:.82rem}.contact-form .quote-footnote{font-family:var(--font-mono);font-size:.72rem;letter-spacing:-.01em}@media(max-width:580px){.contact-form>.win-bar{border-radius:11px 11px 0 0}}