.contact-page{background:var(--cream);padding-block:var(--space-16)}.contact-layout{gap:var(--space-16);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.contact-intro h1{margin:0 0 var(--space-6);font-size:clamp(46px,5.5vw,78px);line-height:1.05}.contact-intro .intro{max-width:35ch;line-height:1.6}.contact-quote{border-top:1px solid var(--line);padding-top:var(--space-6);margin-top:var(--space-8);max-width:35ch}.contact-quote h2{margin-bottom:var(--space-3);font-size:26px}.contact-quote p{font-size:var(--text-base);line-height:1.6}.contact-quote a{color:var(--blue);font-weight:700}.contact-dog{width:150px;height:auto;margin-top:var(--space-8);display:block}.contact-form{padding:var(--space-8);border:1px solid var(--line);box-shadow:0 6px 0 var(--sky);background:#fff;border-radius:24px;min-width:0}.contact-form h2{margin-bottom:var(--space-6);font-size:32px}.contact-form fieldset{border:0;min-width:0;margin:0;padding:0}.contact-form label{font-size:var(--text-base);margin-bottom:var(--space-6);font-weight:600;display:block}.contact-form input,.contact-form textarea{box-sizing:border-box;width:100%;max-width:100%;margin:var(--space-2) 0 0;font:inherit;background:var(--cream);color:var(--ink);border:1px solid #a7b6de;border-radius:12px;padding:12px 14px;font-weight:400;display:block}.contact-form input{min-height:48px}.contact-form textarea{resize:vertical;line-height:1.5}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.contact-form .contact-privacy{margin:0 0 var(--space-6);font-size:14px;line-height:1.6}.contact-captcha{margin-bottom:var(--space-6);max-width:100%}.contact-form .button{width:100%;margin:0}.contact-form .button:disabled{opacity:.6;cursor:not-allowed}.contact-error{color:#8a2d22;font-size:16px;line-height:1.5}.contact-success{padding:var(--space-6);background:var(--sky);border-radius:16px}.contact-success h3{margin-bottom:var(--space-3);font-size:26px}.contact-success p{font-size:16px;line-height:1.6}@media (max-width:750px){.contact-page{padding-block:var(--space-8)}.contact-layout{gap:var(--space-8);grid-template-columns:1fr}.contact-intro h1{font-size:48px}.contact-intro .intro{font-size:18px}.contact-dog{display:none}.contact-quote{margin-top:var(--space-6)}.contact-form{padding:var(--space-6)}.contact-form h2{font-size:28px}}@media (max-width:370px){.contact-form{padding:var(--space-4)}}
