.contact-page{--bg: #f8f4ec;--surface: #ffffff;--input-bg: #f5f1e9;--fg: #122719;--muted: #617066;--border: #ded9cf;--accent: #bf6a3c;--accent-hover: #a05a30;--brand: #0f2f1e;--font-display: "Fraunces", "Lora", Georgia, serif;--font-body: "Instrument Sans", "Montserrat", system-ui, sans-serif;background:var(--bg);color:var(--fg);font-family:var(--font-body);min-height:100%;padding:clamp(28px,5vw,64px) 20px clamp(48px,8vw,96px)}.contact-page *,.contact-page *:before,.contact-page *:after{box-sizing:border-box}.contact-shell{margin-inline:auto;max-width:720px;width:100%}.contact-header{margin-bottom:22px}.contact-title{color:var(--brand);font-family:var(--font-display);font-size:clamp(38px,6vw,58px);font-weight:700;letter-spacing:0;line-height:1.05;margin:0 0 12px}.contact-intro{color:var(--muted);font-size:clamp(16px,2vw,19px);font-weight:500;line-height:1.45;margin:0}.contact-card,.contact-success{background:var(--surface);border:1px solid var(--border);border-radius:18px;display:grid;gap:18px;max-width:none;padding:clamp(20px,4vw,40px);width:100%}.contact-field{display:grid;gap:8px}.contact-field-full{grid-column:1 / -1}@media(min-width:640px){.contact-card{grid-template-columns:1fr 1fr}.contact-field:not(.contact-field-full){grid-column:span 1}}.contact-field label{color:var(--fg);font-size:clamp(15px,1.2vw,16px);font-weight:700;line-height:1.25}.contact-optional{color:var(--muted);font-weight:600}.contact-field input,.contact-field textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--input-bg);border:1px solid var(--border);border-radius:12px;color:var(--fg);font-family:var(--font-body);font-size:16px;font-weight:500;padding:clamp(13px,1.6vw,16px) clamp(14px,1.6vw,18px);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;width:100%}.contact-field textarea{line-height:1.5;min-height:220px;resize:vertical}.contact-field input::placeholder,.contact-field textarea::placeholder{color:color-mix(in srgb,var(--muted) 78%,transparent)}.contact-field input:focus,.contact-field textarea:focus{background:var(--surface);border-color:color-mix(in srgb,var(--brand) 35%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 10%,transparent);outline:none}.contact-field input[aria-invalid=true],.contact-field textarea[aria-invalid=true]{background:#fdf4ee;border-color:#d97746}.contact-field-error{color:#b85a2e;font-size:13px;font-weight:700}.contact-submit-btn,.contact-privacy,.contact-alert{grid-column:1 / -1}.contact-submit-btn{background:var(--accent);border:0;border-radius:12px;color:#fff;cursor:pointer;font-family:var(--font-body);font-size:16px;font-weight:800;min-height:50px;padding:13px 16px;transition:background .15s ease,transform .12s ease;width:100%}.contact-submit-btn:hover:not(:disabled){background:var(--accent-hover)}.contact-submit-btn:active:not(:disabled){transform:translateY(1px)}.contact-submit-btn:disabled{cursor:progress;opacity:.7}.contact-privacy{color:var(--muted);font-size:14px;font-weight:500;line-height:1.45;margin:0;text-align:center}.contact-privacy a{color:var(--brand);font-weight:700}.contact-alert{background:#fdf4ee;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:12px;color:#9a4d24;font-size:14px;font-weight:700;padding:10px 12px}.contact-success{justify-items:center;text-align:center}.contact-success-check{align-items:center;background:var(--brand);border-radius:50%;color:#fff;display:inline-grid;font-size:24px;height:52px;place-items:center;width:52px}.contact-success h2{color:var(--brand);font-family:var(--font-display);font-size:28px;font-weight:700;margin:0}.contact-success p{color:var(--muted);margin:0;max-width:42ch}.contact-secondary-btn{background:transparent;border:1px solid var(--border);border-radius:999px;color:var(--fg);cursor:pointer;font-family:var(--font-body);font-size:14px;font-weight:700;padding:10px 18px}.contact-secondary-btn:hover{border-color:var(--brand);color:var(--brand)}@media(max-width:520px){.contact-page{padding-inline:14px}.contact-card,.contact-success{border-radius:14px;padding:18px}.contact-card{gap:14px;grid-template-columns:1fr}}
