/* Contact-only styles. The existing site's font is inherited; no font files included. */
.txc{--txc-bg:#000;--txc-fg:#e1e1e1;--txc-muted:#aaa;--txc-line:#2d2d2d;--txc-blue:#4e23ff;--txc-focus:#a897ff;--txc-error:#ffb8b8;background:var(--txc-bg);color:var(--txc-fg);font-family:inherit;font-weight:400;line-height:1.5;margin:0 auto;padding:clamp(48px,7vw,104px) var(--gutter) 48px;box-sizing:border-box;color-scheme:dark}
.txc *,.txc *::before,.txc *::after{box-sizing:border-box}
.txc [hidden]{display:none!important}
.txc p,.txc h1,.txc h2{margin:0}
.txc a{color:inherit;text-decoration:none}
.txc button,.txc input,.txc textarea,.txc select{font:inherit}
.txc button,.txc a,.txc summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.txc :focus-visible{outline:2px solid var(--txc-focus);outline-offset:5px}
.txc-hero{display:grid;grid-template-columns:1.12fr 1fr;gap:clamp(32px,7vw,112px);align-items:end;padding-bottom:clamp(52px,7vw,104px)}
.txc-eyebrow{display:block;font-size:12px;line-height:1.5;letter-spacing:.055em;color:var(--txc-muted);margin-bottom:24px!important}
.txc h1{font-size:clamp(58px,7.7vw,112px);font-weight:400;letter-spacing:-.065em;line-height:1.02;overflow-wrap:normal}
.txc[lang^="zh"] h1{letter-spacing:-.04em;line-height:1.18;font-size:clamp(54px,6.8vw,96px)}
.txc-connect{min-width:0;padding-bottom:3px}
.txc-lead{font-size:clamp(17px,1.5vw,21px);line-height:1.55;max-width:540px;margin-bottom:28px!important;text-wrap:pretty}
.txc-direct{display:flex;gap:12px;margin-bottom:18px}
.txc-button{min-height:52px;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;border:1px solid var(--txc-line);background:transparent;cursor:pointer;border-radius:2px;font-size:16px!important;line-height:1.35;font-weight:400;transition:background .18s ease,border-color .18s ease,color .18s ease}
.txc-button-primary{background:var(--txc-blue)!important;border-color:var(--txc-blue)!important;color:#fff!important}
.txc-button-secondary{color:var(--txc-fg)!important}
.txc-direct .txc-button{flex:1}
.txc-address-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.txc-address{font-size:15px;min-width:0;overflow-wrap:anywhere}
.txc-text-button{background:none;border:0;color:var(--txc-muted)!important;padding:10px 0;min-height:44px;font-size:13px!important;cursor:pointer;line-height:1.5;text-decoration:underline!important;text-underline-offset:4px;text-decoration-color:#666!important}
.txc-small{font-size:13px;line-height:1.65}
.txc-muted{color:var(--txc-muted)}
.txc-status{min-height:1.65em;margin-top:6px!important;font-size:14px;color:var(--txc-fg);line-height:1.65}
.txc-status:empty{display:none}
.txc-builder{border-top:1px solid var(--txc-line);border-bottom:1px solid var(--txc-line)}
.txc-builder>summary{display:flex;list-style:none;gap:20px;align-items:center;justify-content:space-between;padding:28px 0;cursor:pointer}
.txc-builder>summary::-webkit-details-marker{display:none}
.txc-builder>summary .txc-eyebrow{margin-bottom:8px!important}
.txc-builder-title{display:block;font-size:clamp(26px,3vw,40px);font-weight:400;line-height:1.15;letter-spacing:-.04em}
.txc-builder-caption{display:block;font-size:14px;color:var(--txc-muted);margin-top:12px;line-height:1.5}
.txc-plus{height:44px;width:44px;position:relative;flex-shrink:0;border:1px solid var(--txc-line);border-radius:50%}
.txc-plus::before,.txc-plus::after{content:"";position:absolute;background:var(--txc-fg);left:13px;right:13px;top:20px;height:1px}
.txc-plus::after{transform:rotate(90deg);transition:transform .18s ease}
.txc-builder[open] .txc-plus::after{transform:rotate(0deg)}
.txc-builder-body{max-width:940px;margin-left:auto;padding:10px 0 40px}
.txc-builder-body>p{margin-bottom:24px}
.txc fieldset{padding:0;margin:0;border:0;min-width:0}
.txc fieldset:disabled{opacity:.5}
.txc-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px 28px}
.txc-field{min-width:0}
.txc-full{grid-column:1/-1}
.txc-field label{font-size:14px;display:block;margin-bottom:10px;color:var(--txc-fg)}
.txc input,.txc textarea,.txc select{display:block;width:100%;max-width:100%;min-width:0;border:1px solid #414141;border-radius:2px;background:#090909;color:var(--txc-fg);padding:13px 14px;font-size:16px;line-height:1.5;min-height:52px}
.txc select{padding-right:36px}
.txc textarea{resize:vertical;min-height:144px}
.txc input::placeholder,.txc textarea::placeholder{color:#939393;opacity:1}
.txc [aria-invalid="true"]{border-color:var(--txc-error)}
.txc-error{color:var(--txc-error);font-size:13px;line-height:1.6;margin-top:7px!important}
.txc-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;margin-top:28px}
.txc-clear{margin-left:auto}
.txc-helper{max-width:760px;margin-top:18px!important;margin-bottom:8px!important}
.txc-fallback{margin-top:22px;padding:24px;border:1px solid var(--txc-line);background:#070707}
.txc-fallback h2{font-size:19px;line-height:1.4;font-weight:400;margin-bottom:6px}
.txc-fallback-heading{margin-bottom:16px}
.txc-fallback textarea{background:#000;min-height:220px;font-size:16px}
.txc-fallback-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:16px}
.txc-fallback-input{margin-top:8px!important}
.txc-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(hover:hover){.txc-button-primary:hover{background:#3d17e0!important;border-color:#3d17e0!important}.txc-button-secondary:hover{background:#151515;border-color:#777}.txc-text-button:hover{color:var(--txc-fg)!important}.txc-address:hover{text-decoration:underline;text-underline-offset:4px}.txc-builder>summary:hover .txc-plus{border-color:var(--txc-focus)}}
@media(max-width:800px){.txc-hero{grid-template-columns:1fr;gap:30px}.txc h1{font-size:clamp(55px,10.5vw,82px)}.txc[lang^="zh"] h1{font-size:clamp(48px,9.5vw,72px)}.txc-connect{max-width:620px}.txc-lead{max-width:600px}.txc-builder-body{max-width:none}}
@media(max-width:600px){.txc{padding-top:36px;padding-bottom:32px}.txc-hero{padding-bottom:42px;gap:24px}.txc-eyebrow{margin-bottom:18px!important}.txc-lead{font-size:17px;margin-bottom:22px!important}.txc-direct{flex-direction:column;gap:10px;margin-bottom:14px}.txc-button{width:100%;min-height:54px}.txc-address-row{gap:0 12px;align-items:center}.txc-address{font-size:14px}.txc-builder>summary{padding:24px 0}.txc-builder-caption{max-width:245px;font-size:13px}.txc-builder-title{font-size:27px}.txc-fields{grid-template-columns:1fr;gap:22px}.txc-form-actions{align-items:stretch;gap:10px}.txc-clear{margin-left:0}.txc-fallback{padding:16px}.txc-fallback-actions{flex-direction:column;align-items:stretch}.txc-fallback-actions>.txc-text-button{width:fit-content}.txc-builder-body{padding-bottom:28px}}
@media(prefers-reduced-motion:reduce){.txc *{transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.txc-button,.txc-plus,.txc-builder,.txc-fallback{border:1px solid ButtonText}.txc-plus::before,.txc-plus::after{background:ButtonText}}

/* Match the site's established type rhythm and link treatment. */
.txc-eyebrow{text-transform:uppercase;letter-spacing:.07em}
.txc-button{justify-content:center}
.txc input:hover,.txc textarea:hover,.txc select:hover{border-color:#777}
.txc-fallback-heading h2{letter-spacing:-.02em}
@media(max-width:360px){.txc h1{font-size:clamp(2.75rem,13.5vw,3.25rem)}}

/* Give the contact copy and optional form the same calm reading rhythm. */
.txc-lead{max-width:44ch;line-height:1.65}
.txc-builder-caption{line-height:1.6}
.txc-builder-body>.txc-small{max-width:62ch}
.txc-address-row{row-gap:4px}
.txc-field label{line-height:1.45}
.txc-form-actions{row-gap:12px}
@media(max-width:600px){
 .txc-hero{gap:28px}
 .txc-builder-title{line-height:1.2}
 .txc-address-row{padding-bottom:2px}
}
