.trf-contact-page{overflow-wrap:anywhere}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.75fr);align-items:start;gap:48px;padding-block:24px var(--trf-section-space)}
.contact-grid>*{min-width:0}
.contact-form-panel{padding:32px;border:1px solid var(--trf-line);border-radius:8px;background:var(--trf-light);scroll-margin-top:125px}
.trf-home main .contact-form-title{font-size:var(--trf-featured-title-size);font-weight:600;line-height:1.4;letter-spacing:0;color:var(--trf-ink)}
.contact-form-intro{margin-top:12px;font-size:var(--trf-body-size);line-height:1.8}
.contact-form-panel .contact-required{margin:24px 0;font-size:var(--trf-action-size);line-height:1.6}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.contact-field{min-width:0}
.contact-field-wide{grid-column:1/-1}
.contact-field label{display:block;margin-bottom:8px;font-size:var(--trf-action-size);font-weight:500;line-height:1.5;color:var(--trf-ink)}
.contact-field input,.contact-field textarea{display:block;width:100%;min-width:0;min-height:48px;padding:12px 14px;border:1px solid var(--trf-line);border-radius:6px;background:var(--trf-white);color:var(--trf-ink);font:inherit;font-size:var(--trf-body-size);line-height:1.5}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--trf-grey);opacity:1}
.contact-field textarea{resize:vertical;min-height:160px}
.contact-field input:focus,.contact-field textarea:focus{outline:2px solid var(--trf-green);outline-offset:2px}
.contact-field input[aria-invalid="true"],.contact-field textarea[aria-invalid="true"]{border-color:#913908}
.contact-field-error{display:block;margin-top:8px;color:#913908;font-size:var(--trf-action-size);line-height:1.6}
.contact-field-error:empty{display:none}
.contact-status{margin:24px 0;padding:16px;border-left:3px solid #a8410c;border-radius:6px;background:#fff0e8;color:var(--trf-ink);font-size:var(--trf-body-size);line-height:1.6}
.contact-success{border-color:var(--trf-green);background:var(--trf-tint)}
.contact-status[hidden]{display:none}
.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.contact-form-panel button[type="submit"]{margin-top:24px;min-width:min(190px,100%);max-width:100%;white-space:normal}
.contact-form-panel button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.contact-details{display:grid;align-content:start;gap:24px}
.contact-details>section{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--trf-line)}
.contact-details>section:last-child{padding-bottom:0;border-bottom:0}
.contact-details>section>div{min-width:0}
.trf-home main .contact-detail-title{margin-bottom:8px;font-size:var(--trf-card-title-size);font-weight:600;line-height:1.4;letter-spacing:0;color:var(--trf-ink)}
.trf-home .contact-details a{display:inline-flex;align-items:center;max-width:100%;min-height:44px;color:var(--trf-green);font-size:var(--trf-body-size);font-weight:500;line-height:1.8}
.contact-details a:hover{text-decoration:underline;text-underline-offset:3px}
.contact-details address{font-size:var(--trf-body-size);font-style:normal;line-height:1.8;color:var(--trf-grey)}
.contact-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:8px;background:var(--trf-tint);color:var(--trf-green)}
.contact-symbol .icon{width:24px;height:24px;stroke-width:2}
@media(max-width:1190px){
 .contact-grid{gap:32px}
}
@media(max-width:1023px){
 .contact-form-panel{padding:28px}
}
@media(max-width:960px){
 .contact-grid{grid-template-columns:minmax(0,1fr);gap:40px}
 .contact-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
 .contact-details>section{display:block;padding:0;border:0}
 .contact-symbol{margin-bottom:16px}
}
@media(max-width:760px){
 .contact-grid{padding-top:12px;gap:32px}
 .contact-form-panel{padding:24px}
 .contact-details{grid-template-columns:minmax(0,1fr)}
 .contact-details>section{display:grid;padding-bottom:24px;border-bottom:1px solid var(--trf-line)}
 .contact-symbol{margin-bottom:0}
}
@media(max-width:600px){
 .contact-fields{grid-template-columns:minmax(0,1fr);gap:20px}
}
@media(max-width:390px){
 .contact-form-panel{padding:20px}
 .contact-form-panel button[type="submit"]{width:100%}
}
@media print{
 .contact-grid{grid-template-columns:minmax(0,1fr);padding-block:24px}
 .contact-form-panel{display:none}
 .contact-details>section{break-inside:avoid}
}
