.contact-page{background:var(--c-cream)}.contact-main{padding-block:calc(var(--header-h) + 5rem) 6rem}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,6vw,6rem);align-items:start}.contact-intro{position:sticky;top:calc(var(--header-h) + 3rem);padding-block:1rem}.contact-intro h1{font-size:clamp(2.5rem,3.7vw,3.6rem);line-height:1.45;margin-block:1.5rem}.contact-intro__lead{color:var(--c-text-2);font-size:.9375rem;line-height:2}.contact-intro__note{display:flex;align-items:center;gap:1rem;margin-block:2.5rem;padding-top:2rem;border-top:1px solid var(--c-border);font-size:.875rem;color:var(--c-text-2)}.contact-intro__note .section-head__mark{margin:0;flex-shrink:0}.contact-back{font-size:.8125rem;color:var(--c-green-text);display:inline-flex;align-items:center;min-height:44px}.contact-panel{padding:clamp(1.5rem,3.5vw,3.5rem);border:1px solid var(--c-border);border-radius:24px;background:#fff;box-shadow:0 18px 50px -40px #343c2b55}.contact-panel__lead{font-size:.8125rem;color:var(--c-text-2);margin-block:.75rem 2rem;line-height:2}.contact-required,.contact-optional{display:inline-block;font-size:.6875rem;font-weight:500;padding:1px 6px;border-radius:4px;vertical-align:middle;line-height:1.7}.contact-required{color:var(--c-orange-text);background:var(--c-orange-soft)}.contact-optional{color:var(--c-text-2);background:var(--c-cream)}.contact-field{display:grid;gap:.5rem;margin-bottom:1.4rem}.contact-field label{font-size:.875rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.contact-field :is(input,select,textarea){width:100%;min-width:0;min-height:48px;border:1px solid var(--c-border-2);border-radius:8px;background:#fff;padding:.7rem .85rem;color:var(--c-text);font:inherit;font-size:16px;line-height:1.6}.contact-field textarea{resize:vertical;min-height:150px}.contact-field [aria-invalid=true]{border-color:#b84327}.contact-field :is(input,select,textarea):focus-visible{outline:2px solid var(--c-green);outline-offset:2px}.contact-field__hint,.contact-form__note{font-size:.75rem;color:var(--c-text-2);line-height:1.8}.contact-field__error{font-size:.8125rem;color:#a83820;line-height:1.7}.contact-consent{display:flex;align-items:start;gap:.65rem;margin-block:1.75rem .5rem;font-size:.8125rem}.contact-consent input{flex:0 0 20px;width:20px;height:20px;margin:.25rem 0 0;accent-color:var(--c-green)}.contact-consent label{min-height:44px;line-height:1.9}.contact-consent a{color:var(--c-green-text);text-decoration:underline;text-underline-offset:3px}.contact-submit{width:100%;justify-content:center;gap:1rem;margin-top:1.5rem}.contact-submit:disabled{opacity:.65;cursor:wait}.contact-status{min-height:1.5em;text-align:center;color:var(--c-text-2);font-size:.8125rem;margin-top:.75rem}.contact-errors{border:1px solid #e2b8a9;border-radius:8px;padding:1rem;margin-bottom:1.5rem;background:#fff7f3;color:#a83820;font-size:.8125rem}.contact-errors>p{font-weight:700}.contact-errors ul{list-style:disc;padding-left:1.25rem;margin-top:.4rem}.contact-errors a{text-decoration:underline}.contact-complete{max-width:780px;min-height:55svh;display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center}.contact-complete__check{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--c-green-soft);color:var(--c-green)}.contact-complete__check svg{width:38px;height:38px}.contact-complete>p:not(.kicker){color:var(--c-text-2);font-size:.9375rem}.contact-reference{padding:.6rem 1.5rem;border:1px solid var(--c-border);border-radius:8px}.contact-reference strong{font-family:var(--font-latin);margin-left:.75rem;color:var(--c-text)}@media (max-width: 1023px){.contact-main{padding-top:calc(var(--header-h-mobile) + 2.5rem)}.contact-layout{grid-template-columns:1fr;gap:2rem;max-width:760px}.contact-intro{position:static;padding:0}.contact-intro h1{font-size:clamp(2rem,6vw,3rem);margin-block:.8rem}.contact-intro__note{margin-block:1rem 0;padding-top:1rem}.contact-back{margin-top:.5rem}}@media (max-width: 479px){.contact-panel{padding:1.35rem;border-radius:16px}.contact-intro__lead{font-size:.875rem}.contact-main{padding-bottom:3rem}.contact-submit{font-size:.875rem;padding-inline:.75rem}}
