.tm-contact-page { color:var(--td-ink); font:400 1rem/1.65 var(--td-font); }
.tm-contact-page :is(.tm-page-inner,.tm-page-inner-wide) { width:min(1200px,calc(100% - 64px)); margin-inline:auto; }
.tm-contact-page :is(h1,h2,h3) { color:var(--td-ink); line-height:1.2; letter-spacing:-.04em; }
.tm-contact-page p { color:var(--td-body); }
.tm-contact-page .tm-eyebrow { color:var(--td-blue-dark); font-size:.78rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.tm-contact-hero { padding:clamp(48px,6vw,80px) 0; background:linear-gradient(125deg,var(--td-soft),#fff 78%); }
.tm-contact-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,70px); align-items:start; }
.tm-contact-hero h1 { margin:12px 0; font-size:clamp(2.5rem,4.5vw,3.8rem); }
.tm-contact-hero h1 span { display:block; }
.tm-contact-hero-accent { color:var(--td-blue-dark); }
.tm-contact-page .tm-btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:11px 18px; border:0; border-radius:8px; background:var(--td-blue); color:white; font:700 1rem var(--td-font); text-decoration:none; cursor:pointer; }
.tm-contact-page .tm-btn:hover { background:var(--td-blue-dark); }
.tm-contact-hero-actions { margin-top:24px; }
.tm-contact-hero-side { display:grid; gap:14px; }
.tm-person-trust-card,.tm-contact-direct,.tm-contact-form-wrap { overflow:hidden; border:1px solid var(--td-line); border-radius:12px; background:#fff; }
.tm-person-trust-card { display:grid; grid-template-columns:150px 1fr; }
.tm-person-trust-media img { width:100%; height:100%; object-fit:cover; }
.tm-person-trust-content,.tm-contact-direct { padding:20px; }
.tm-person-trust-content h2,.tm-contact-direct h2 { margin:4px 0 8px; font-size:1.25rem; }
.tm-person-trust-content ul { margin:10px 0 0; padding-left:20px; color:var(--td-body); font-size:.9rem; }
.tm-contact-person-kicker,.tm-contact-person-experience { color:var(--td-blue-dark); font-size:.8rem; font-weight:700; }
.tm-contact-person-description { color:var(--td-body); font-size:.9rem; }
.tm-contact-direct-grid { display:grid; gap:8px; }
.tm-contact-direct-grid a { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid var(--td-line); color:var(--td-ink); text-decoration:none; overflow-wrap:anywhere; }
.tm-contact-direct-grid a span { color:var(--td-muted); }
.tm-contact-form-section { padding:clamp(50px,6vw,80px) 0; }
.tm-contact-form-copy { max-width:750px; margin-bottom:24px; }
.tm-contact-form-copy h2 { margin:0; font-size:clamp(2rem,3vw,2.7rem); }
.tm-contact-form-wrap { max-width:900px; padding:clamp(20px,4vw,36px); }
.tm-contact-form { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.tm-contact-intent-group { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0; padding:0; border:0; }
.tm-contact-intent-group legend { margin-bottom:10px; font-weight:700; }
.tm-contact-intent-card { display:flex; align-items:flex-start; gap:10px; padding:14px; border:1px solid var(--td-line); border-radius:8px; cursor:pointer; }
.tm-contact-intent-card:has(input:checked) { border-color:var(--td-blue); background:var(--td-soft-blue); }
.tm-contact-intent-card input { margin-top:5px; accent-color:var(--td-blue); }
.tm-contact-intent-icon svg,.tm-contact-form-trust svg,.tm-contact-success-icon svg { width:22px; height:22px; color:var(--td-blue-dark); }
.tm-contact-intent-card-body strong,.tm-contact-intent-card-body em { display:block; }
.tm-contact-intent-card-body em { margin-top:5px; color:var(--td-body); font-size:.8rem; font-style:normal; }
.tm-contact-field { display:grid; gap:6px; font-weight:700; }
.tm-contact-field em { color:var(--td-muted); font-size:.85rem; font-weight:400; font-style:normal; }
.tm-contact-field :is(input,textarea) { width:100%; min-width:0; padding:12px; border:1px solid #cbd5e1; border-radius:7px; background:white; color:var(--td-ink); font:400 1rem var(--td-font); }
.tm-contact-field textarea { min-height:150px; resize:vertical; }
.tm-contact-field-message,.tm-contact-form-trust,.tm-contact-submit,.tm-contact-privacy-note { grid-column:1/-1; }
.tm-contact-form-trust,.tm-contact-success-next { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.tm-contact-form-trust > div,.tm-contact-success-next article { padding:14px; border-radius:8px; background:var(--td-soft); }
.tm-contact-form-trust p,.tm-contact-privacy-note { margin:4px 0 0; font-size:.85rem; }
.tm-contact-privacy-note a { color:var(--td-blue-dark); }
.tm-contact-hp { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.tm-contact-message { padding:20px; border-radius:9px; margin-bottom:18px; background:var(--td-soft-blue); }
.tm-contact-message-error { background:#fff1f1; color:#9b1c1c; }
.tm-contact-message-error p { color:inherit; }
.tm-contact-success-card h3 { font-size:1.5rem; }
@media(max-width:720px) { .tm-contact-page :is(.tm-page-inner,.tm-page-inner-wide) { width:calc(100% - 40px); } .tm-contact-hero-grid,.tm-contact-form,.tm-contact-intent-group,.tm-contact-form-trust,.tm-contact-success-next { grid-template-columns:1fr; } .tm-person-trust-card { grid-template-columns:100px 1fr; } .tm-contact-field-message,.tm-contact-form-trust,.tm-contact-submit,.tm-contact-privacy-note { grid-column:auto; } }
