/* Scoped to Contact. The site's header, footer and other pages keep their styling. */
main#main.tj-contact-page{--contact-gold:#a3854d;--contact-line:#e3dfd6;--contact-muted:#616773;background:#fff;color:#151c2a;padding-top:clamp(30px,3.8vw,48px);padding-bottom:30px;overflow-wrap:break-word;font-family:Arial,Helvetica,sans-serif}
.tj-contact-page .eyebrow{color:#74716a;font-size:11px;letter-spacing:.14em;margin-bottom:12px}
.tj-contact-intro{margin-bottom:28px;max-width:940px}
.tj-contact-intro h1{font-size:clamp(32px,3.3vw,46px);line-height:1.12;letter-spacing:-.035em;margin:0 0 14px;max-width:none}
.tj-contact-intro>p{max-width:740px;font-size:16px;line-height:1.65;color:var(--contact-muted);margin:0 0 16px}
.tj-contact-composition{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);border:1px solid var(--contact-line);border-radius:5px;background:#faf9f6;overflow:hidden}
.tj-contact-form-section{min-width:0;padding:32px 36px}
.tj-contact-direct{min-width:0;padding:32px 28px;border-left:1px solid var(--contact-line);background:#f5f3ee}
.tj-contact-form-heading{margin-bottom:19px}
.tj-contact-form-heading h2,.tj-contact-direct>h2{font-size:29px;line-height:1.16;letter-spacing:-.025em;margin:0 0 12px}
.tj-contact-form-heading p,.tj-contact-hours{font-size:14px;line-height:1.65;color:var(--contact-muted);margin:0;max-width:52ch}
.tj-contact-hours{max-width:29ch}
.tj-contact-people{margin-top:25px}
.tj-contact-person{display:flex;gap:14px;align-items:flex-start;padding:22px 0;min-width:0;border-top:1px solid var(--contact-line)}
.tj-contact-avatar{display:block;width:50px;height:50px;aspect-ratio:1;object-fit:cover;border-radius:50%;flex:none}
.tj-contact-avatar-placeholder{color:#8a8478;background:#eae6dd}
.tj-contact-avatar svg{display:block;width:100%;height:100%}
.tj-contact-person-body{min-width:0;flex:1}
.tj-contact-person h3{font:500 16px/1.4 Arial,Helvetica,sans-serif;letter-spacing:0;margin:0 0 4px}
.tj-contact-role{font-size:13px;color:var(--contact-muted);margin:0 0 6px;line-height:1.5}
.tj-contact-phone{display:flex;flex-direction:column;align-items:flex-start;font-size:18px;line-height:1.65;min-height:44px;font-variant-numeric:tabular-nums;gap:1px}
.tj-contact-call{font-size:13px;color:#686157;text-underline-offset:3px}
.tj-contact-phone:hover .tj-contact-call{text-decoration:underline}
.tj-contact-form{position:relative}
.tj-contact-form fieldset{border:0;padding:0;margin:0;min-width:0}
.tj-contact-form .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tj-contact-required{font-size:12px;color:var(--contact-muted);margin:0 0 15px}
.tj-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}
.tj-contact-field{min-width:0}
.tj-contact-field-subject,.tj-contact-field-message{grid-column:1/-1}
.tj-contact-field>label{display:block;font-size:14px;line-height:1.5;margin-bottom:6px;color:#303845}
.tj-contact-field input,.tj-contact-field textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:48px;border:1px solid #d4d0c7;border-radius:3px;padding:10px 12px;font:16px/1.5 Arial,Helvetica,sans-serif;background:#fff;color:#151c2a;box-shadow:none}
.tj-contact-field textarea{min-height:136px;resize:vertical}
.tj-contact-field input:focus,.tj-contact-field textarea:focus{outline:2px solid #b69b67;outline-offset:2px;border-color:#b69b67}
.tj-contact-field [aria-invalid=true]{border-color:#a83e30}
.tj-contact-field-error{display:block;color:#99362d;font-size:13px;line-height:1.5;margin-top:6px}
.tj-contact-field-error:empty{display:none}
.tj-contact-consent-wrap{margin-top:18px}
.tj-contact-consent{display:flex;gap:11px;align-items:flex-start;font-size:13px;line-height:1.65;cursor:pointer;min-height:44px;color:#474e5a}
.tj-contact-consent input{width:20px;height:20px;flex:0 0 20px;margin:2px 0 0;accent-color:#151c2a;cursor:pointer}
.tj-contact-consent a,.tj-contact-terms-note a{text-decoration:underline;text-underline-offset:3px}
.tj-contact-privacy-note{max-width:none;font-size:12px;line-height:1.6;color:var(--contact-muted);margin:9px 0}
.tj-contact-terms-note{font-size:12px;margin:0 0 18px;color:var(--contact-muted)}
.tj-contact-page .tj-contact-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:50px;max-width:100%;padding:13px 22px;background:#151c2a;border:1px solid #151c2a;border-radius:3px;color:#fff;font-size:13px;line-height:1.5;cursor:pointer}
.tj-contact-page .tj-contact-submit>span:last-child{color:#d4b576}
.tj-contact-page .tj-contact-submit:hover{background:#293449;border-color:#293449}
.tj-contact-page .tj-contact-submit:disabled,.tj-contact-form fieldset:disabled .tj-contact-submit{opacity:.6;cursor:default}
.tj-contact-status{margin-top:18px;padding:14px 16px;border:1px solid #b8a273;border-radius:3px;font-size:14px;line-height:1.65;background:#fff;color:#151c2a;scroll-margin-top:24px}
.tj-contact-status[hidden]{display:none}.tj-contact-status.is-error{border-color:#b96459}
.tj-contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
.tj-contact-company{border-top:1px solid var(--contact-line);padding-top:19px;margin-top:27px}
.tj-contact-company h2{font-size:21px;line-height:1.2;letter-spacing:-.02em;margin:0 0 9px}
.tj-contact-company ul{display:flex;flex-wrap:wrap;gap:5px 0;margin:0;padding:0;list-style:none;color:var(--contact-muted);font-size:13px;line-height:1.7}
.tj-contact-company li{max-width:100%;overflow-wrap:anywhere}
.tj-contact-company li+li:before{content:'·';display:inline-block;padding:0 13px;color:#928a7a}
.tj-contact-extra{margin-top:26px}
.tj-contact-page a:focus-visible,.tj-contact-page button:focus-visible,.tj-contact-page input[type=checkbox]:focus-visible{outline:2px solid #a3854d;outline-offset:4px}
@media(max-width:1024px){.tj-contact-composition{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}.tj-contact-form-section{padding:28px}.tj-contact-direct{padding:28px 22px}.tj-contact-person{gap:10px}.tj-contact-avatar{width:42px;height:42px}.tj-contact-phone{font-size:17px}.tj-contact-direct>h2{font-size:26px}}
@media(max-width:768px){main#main.tj-contact-page{padding:28px 16px}.tj-contact-intro{margin-bottom:22px}.tj-contact-intro h1{font-size:clamp(30px,6.8vw,39px);max-width:19em}.tj-contact-composition{grid-template-columns:minmax(0,1fr)}.tj-contact-form-section{padding:24px 20px}.tj-contact-direct{padding:24px 20px;border-left:0;border-top:1px solid var(--contact-line)}.tj-contact-fields{grid-template-columns:minmax(0,1fr)}.tj-contact-form-heading h2,.tj-contact-direct>h2{font-size:28px}.tj-contact-consent{font-size:14px}.tj-contact-privacy-note,.tj-contact-terms-note{font-size:13px}.tj-contact-page .tj-contact-submit{width:100%}.tj-contact-people{margin-top:18px}.tj-contact-person{gap:15px;padding:18px 0}.tj-contact-person:last-child{padding-bottom:0}.tj-contact-avatar{width:50px;height:50px}.tj-contact-phone{font-size:21px}.tj-contact-company{margin-top:23px}.tj-contact-company ul{display:block;font-size:13px}.tj-contact-company li+li:before{display:none}.tj-contact-company li+li{margin-top:3px}}
@media(max-width:360px){.tj-contact-form-section,.tj-contact-direct{padding:22px 16px}.tj-contact-person{gap:10px}.tj-contact-avatar{width:42px;height:42px}.tj-contact-phone{font-size:19px}}

/* Phone numbers are requested only after an explicit activation. */
.tj-contact-phone-reveal{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;margin-top:5px;border:1px solid #cfc6b4;border-radius:50%;color:var(--contact-gold);background:transparent;cursor:pointer;transition:background .15s,border-color .15s}
.tj-contact-phone-reveal svg{display:block;width:22px;height:22px;flex:none}
.tj-contact-phone-reveal:hover{background:#eee8dc;border-color:var(--contact-gold)}
.tj-contact-phone-reveal:disabled{cursor:wait;opacity:.65}
.tj-contact-phone-reveal[hidden],.tj-contact-phone-result[hidden]{display:none}
.tj-contact-phone-status{font-size:13px;line-height:1.5;margin:8px 0 0;color:var(--contact-muted)}
.tj-contact-phone-status:empty{display:none}
.tj-contact-phone-result{margin-top:5px;min-width:0}
.tj-contact-phone-result .tj-contact-phone>span:first-child{overflow-wrap:anywhere}
