/* Shared homepage typography and palette; form-specific layout only. */
button,input,textarea{font:inherit}button{cursor:pointer}
h1{font-size:clamp(40px,4.7vw,66px);font-weight:400;line-height:1.08;letter-spacing:-.035em}p{margin:0}
.contact-page{display:grid;grid-template-columns:1fr 1.05fr;gap:80px;padding-block:70px 90px;align-items:start}
.contact-intro>p{margin-top:26px;max-width:410px;font-size:18px;line-height:1.7;color:var(--muted)}
.eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:.14em;line-height:1.5;color:var(--muted)}
.form-container{background:var(--ask);border-top:2px solid var(--brand);padding:30px 34px 34px}
.form-heading{display:flex;justify-content:flex-end;margin-bottom:20px}.required-note{font-size:11px;color:var(--muted)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:22px;position:relative}
.field label{display:block;font-size:14px;font-weight:500;margin-bottom:9px}.field label>span{color:var(--green)}
.field .optional{font-size:11px;color:var(--muted);font-weight:400;margin-left:6px}
input:not([type=checkbox]),textarea{width:100%;display:block;padding:12px 13px;background:#fff;border:1px solid #89958b;border-radius:0;color:var(--ink);font-size:16px;transition:border-color .2s,box-shadow .2s}
input:focus,textarea:focus{outline:0;border-color:var(--green);box-shadow:inset 3px 0 var(--brand)}
.field.is-complete input,.field.is-complete textarea{border-bottom-color:var(--brand)}
textarea{resize:vertical;min-height:140px;line-height:1.55}.field-hint{margin-top:9px;font-size:12px;line-height:1.55;color:var(--muted)}
.call-option{display:flex;gap:11px;align-items:flex-start;font-size:14px;margin:25px 0}.call-option input{width:18px;height:18px;margin:3px 0 0;accent-color:var(--green)}
.send-action{display:flex;align-items:center;gap:22px;margin-top:6px;min-height:48px}.button{border:0;min-height:48px;justify-content:space-between;gap:34px}.button:disabled{opacity:.65;cursor:wait}
.send-art{width:48px;height:42px;fill:none;stroke:var(--brand);stroke-width:1.2;flex:none}
.message-frame{opacity:.55;transition:opacity .25s}.message-lines path{opacity:.2;transition:opacity .25s,transform .25s}.message-lines path.is-complete{opacity:1;transform:translateX(1px)}.is-ready .message-frame{opacity:1}
.message-check{stroke-dasharray:1;stroke-dashoffset:1;stroke-width:1.8}.is-sent .message-lines{display:none}.is-sent .message-frame{opacity:1}.is-sent .message-check{animation:contact-check .45s ease both}
.honeypot{position:absolute;left:-10000px;opacity:0;width:1px;height:1px;overflow:hidden}
#form-status{font-size:13px;color:var(--muted);margin-top:14px}#form-status:empty{display:none}
.contact .site-footer{border-top:1px solid var(--line);padding-block:30px 45px;text-align:left}.contact .site-footer em{color:var(--brand)}
.design-note{padding:8px 24px;font-size:11px;text-align:center;background:#f0f1ed;color:var(--muted)}
.contact-success{padding-block:18px 26px}.contact-success:focus{outline:none}.contact-success h2{font-size:42px;margin:18px 0 24px}.contact-success>p:not(.eyebrow){font-size:16px;color:var(--muted);line-height:1.7}.contact-success strong{font-weight:500;color:var(--ink);overflow-wrap:anywhere}.contact-success .text-link{font-size:15px;margin-top:28px}.success-preview{margin-top:18px;font-size:12px!important}.preview-reset{display:block;border:0;background:none;padding:0;margin-top:16px;color:var(--green);font-size:12px;text-decoration:underline}
[hidden]{display:none!important}@keyframes contact-check{to{stroke-dashoffset:0}}
@media(max-width:1000px){.contact-page{gap:40px}.form-container{padding:26px}.contact-intro h1{font-size:48px}}
@media(max-width:760px){.contact-page{grid-template-columns:1fr;gap:34px;padding-block:38px 50px}.contact-intro h1{font-size:43px}.contact-intro>p{font-size:17px;margin-top:22px;max-width:36ch}.form-container{padding:24px 20px}.form-row{grid-template-columns:1fr;gap:0}.header-inner{flex-wrap:wrap;gap:18px;padding-block:24px}.header-inner nav{display:flex;width:100%;justify-content:flex-start;gap:26px;font-size:13px}.contact .site-footer{font-size:22px}.contact-success h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.is-sent .message-check{stroke-dashoffset:0}}
