/* A little stationery, with room for a proper conversation. */
.contact-section{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(38px,7vw,100px)}
.contact-copy{padding-top:35px}.contact-form-panel{padding:36px 36px 32px;background:linear-gradient(145deg,#eff1e7,#e9eddf);box-shadow:0 14px 34px #31433706;border-color:#dce2d2;min-width:0}
.contact-form-panel .contact-star{top:29px;right:27px;width:26px;height:26px}.contact-form-panel h3{font-size:29px;letter-spacing:-1px;margin:14px 0 9px;max-width:370px}
.contact-form-panel>.contact-intro{font-size:13px;line-height:1.8;max-width:350px;margin:0 0 25px}.contact-letter{display:flex;align-items:center;gap:15px;margin:0 0 29px;color:var(--rust)}
.contact-letter svg{width:51px;height:44px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-8deg)}.contact-letter .letter-page{stroke:#809276}.contact-letter>span{font-family:var(--display);font-size:14px;font-style:italic;transform:rotate(-3deg);color:#73816b}
.contact-preview-note{display:flex;align-items:flex-start;gap:9px;background:#faf8ef;border:1px dashed #c9d1bd;padding:11px 13px;font-size:11px;line-height:1.6;border-radius:6px;margin-bottom:24px;color:#64725e}.preview-dot{width:6px;height:6px;background:#9aab87;border-radius:50%;flex:none;margin-top:6px}
.contact-form{margin:0}.contact-fields-row{display:grid;grid-template-columns:1fr 1.2fr;gap:17px}.contact-field{display:flex;flex-direction:column;gap:7px;margin-bottom:20px;min-width:0}.contact-field label{font-size:12px;font-weight:500;line-height:1.5}
.contact-field input,.contact-field textarea{width:100%;border:1px solid #d2d9c8;border-radius:5px;background:#fcfbf5;color:var(--ink);padding:12px 13px;font-family:var(--body);font-size:13px;line-height:1.6;transition:border-color .2s,box-shadow .2s;min-width:0;box-shadow:inset 0 1px 2px #31433703}
.contact-field input{height:47px}.contact-field textarea{resize:vertical;min-height:150px;max-height:480px}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#939b8a;font-weight:400;opacity:1}
.contact-field input:focus,.contact-field textarea:focus{outline:none;border-color:#819a70;box-shadow:0 0 0 3px #8fa57b26}.contact-field [aria-invalid="true"]{border-color:var(--rust);box-shadow:0 0 0 2px #ab4d3510}
.contact-message-meta{display:flex;gap:15px;justify-content:space-between;align-items:flex-start;color:#7c8773;font-size:9px;line-height:1.6}.contact-message-meta>span:first-child{max-width:250px}#contact-counter{flex:none;white-space:nowrap;font-variant-numeric:tabular-nums}.contact-counter-limit{color:var(--rust)!important}
.contact-field-error{font-size:11px;line-height:1.6;color:#993e2b}.contact-status{border:1px solid #c0cdb2;background:#f6f9ef;color:#3f6034;border-radius:5px;padding:13px 15px;font-size:12px;line-height:1.7;margin-bottom:22px;outline-offset:4px}.contact-status.is-error{border-color:#d4ac98;background:#fff5ef;color:#93432e}.contact-status:focus-visible{outline:2px solid var(--rust)}
.contact-form-bottom{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:24px}.contact-submit{font-size:12px;gap:20px;min-height:49px;padding:14px 21px}.contact-submit .icon{width:18px;height:18px}.contact-submit:disabled{opacity:.55;transform:none}.contact-submit[aria-busy="true"] .icon{animation:contact-send 1.1s ease-in-out infinite}.contact-form-footnote{font-size:9px;color:#7c8773;line-height:1.6;max-width:140px}
.contact-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.contact-captcha{margin-top:4px;max-width:100%;overflow:visible}.contact-captcha-load{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;background:#f9faf3;border:1px solid #d2d9c8;border-radius:5px;padding:11px 14px;color:#596b50;font:inherit;font-size:11px;cursor:pointer}.contact-captcha-load:disabled{opacity:.6}.contact-captcha-note{font-size:8px;color:#7a8572;line-height:1.7;max-width:340px;margin:10px 0 0}.contact-captcha-note a{text-decoration:underline;text-underline-offset:2px}.contact-captcha .contact-field-error{display:block;margin-top:8px}
@keyframes contact-send{50%{transform:translateX(5px)}}
@media(min-width:720px) and (max-width:1050px){.contact-section{gap:36px;grid-template-columns:.8fr 1.2fr}.contact-form-panel{padding:29px 25px}.contact-fields-row{grid-template-columns:1fr;gap:0}.contact-form-panel h3{font-size:26px}}
@media(max-width:719px){.contact-section{grid-template-columns:1fr;gap:30px}.contact-copy{padding-top:0}.contact-form-panel{padding:28px 24px}.contact-form-panel h3{font-size:27px}.contact-fields-row{grid-template-columns:1fr;gap:0}.contact-letter{margin-bottom:24px}.contact-letter>span{font-size:13px}.contact-field{margin-bottom:18px}.contact-field input,.contact-field textarea{font-size:16px;padding:12px;line-height:1.6}.contact-field label{font-size:12px}.contact-field input{height:49px}.contact-field textarea{min-height:165px}.contact-message-meta{font-size:9px;gap:12px}.contact-message-meta>span:first-child{max-width:190px}.contact-form-bottom{align-items:flex-start;gap:12px;flex-direction:column}.contact-form-footnote{max-width:none}.contact-submit{min-height:50px;font-size:12px;padding-inline:22px}.contact-form-panel>.contact-intro{font-size:13px}.contact-captcha{margin-inline:-2px}.contact-captcha-note{font-size:9px}}
@media(max-width:370px){.contact-form-panel{padding-inline:19px}.contact-letter{gap:11px}.contact-letter>span{font-size:12px}.contact-form-panel h3{font-size:25px}.contact-message-meta>span:first-child{max-width:155px}}
@media(prefers-reduced-motion:reduce){.contact-submit[aria-busy="true"] .icon{animation:none}}
