.contact-page{background:var(--semantic-bg-default);padding-top:var(--nav-offset)}.contact-breadcrumb{max-width:1200px;margin:0 auto;padding:var(--space-32) var(--space-16) 0;font-size:var(--type-cn-body-small-size);color:var(--semantic-text-secondary)}.contact-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8);margin:0;padding:0;list-style:none}.contact-breadcrumb li:not(:last-child):after{content:"›";margin-left:var(--space-8);color:var(--semantic-text-disabled);font-size:var(--type-cn-title-small-size)}.contact-breadcrumb a{color:var(--semantic-text-secondary);text-decoration:none;transition:color var(--motion-fast) var(--motion-ease)}.contact-breadcrumb a:hover{color:var(--semantic-brand-primary)}.contact-breadcrumb [aria-current=page]{color:var(--semantic-text-primary);font-weight:500}.contact-hero{padding:var(--space-40) var(--space-16) var(--space-48);text-align:center}.contact-hero__inner{max-width:760px;margin:0 auto}.contact-hero__eyebrow{display:inline-block;font-family:var(--font-en,"Roboto",sans-serif);font-size:var(--type-cn-body-small-size);letter-spacing:2px;text-transform:uppercase;color:var(--semantic-text-accent);margin-bottom:var(--space-12)}.contact-hero__title{margin:0 0 var(--space-16);font-size:var(--type-cn-display-small-size);font-weight:var(--type-cn-headline-large-font-weight);line-height:1.3;letter-spacing:-.01em;color:var(--semantic-text-primary)}.contact-hero__lead{margin:0;font-size:var(--type-cn-title-medium-size);line-height:1.85;color:var(--semantic-text-secondary)}@media (max-width:768px){.contact-hero{padding:var(--space-24) var(--space-16) var(--space-32)}.contact-hero__title{font-size:var(--type-cn-headline-medium-size)}.contact-hero__lead{font-size:var(--type-cn-body-large-size)}}.contact-main{max-width:1120px;margin:0 auto;padding:0 var(--space-16) var(--space-64);display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:var(--space-40);align-items:start}@media (max-width:900px){.contact-main{grid-template-columns:1fr;gap:var(--space-24)}}.contact-info{position:sticky;top:96px;padding:var(--space-32);background:var(--semantic-brand-primary-soft);border:1px solid var(--semantic-border-accent);border-radius:var(--radius-lg)}@media (max-width:900px){.contact-info{position:static}}.contact-info__title{margin:0 0 var(--space-20);font-size:var(--type-cn-title-large-size);font-weight:var(--type-cn-headline-large-font-weight);color:var(--semantic-text-primary)}.contact-info__block{padding:var(--space-20) 0;border-top:1px dashed var(--semantic-border-accent)}.contact-info__block:first-of-type{border-top:0;padding-top:0}.contact-info__label{display:inline-block;margin:0 0 var(--space-8);font-size:var(--type-cn-label-small-size);letter-spacing:.12em;text-transform:uppercase;color:var(--semantic-brand-primary)}.contact-info__label,.contact-info__phone{font-family:var(--font-en,"Roboto",sans-serif);font-weight:700}.contact-info__phone{margin:0;display:flex;align-items:center;gap:var(--space-12);font-size:26px;letter-spacing:.02em;color:var(--semantic-text-primary)}.contact-info__phone a{color:inherit;text-decoration:none}.contact-info__phone a:hover,.contact-info__phone svg{color:var(--semantic-brand-primary)}.contact-info__phone svg{flex-shrink:0}.contact-info__sub{margin:var(--space-8) 0 0;font-size:var(--type-cn-body-small-size);color:var(--semantic-text-secondary)}.contact-info__socials{display:flex;gap:var(--space-12);flex-wrap:wrap}.contact-info__social{width:40px;height:40px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;background:var(--semantic-bg-default);border:1px solid var(--semantic-border-subtle);color:var(--semantic-text-secondary);transition:background var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)}.contact-info__social:hover{background:var(--semantic-brand-primary);border-color:var(--semantic-brand-primary);color:var(--semantic-text-inverse);transform:translateY(-1px)}.contact-info__social svg{width:18px;height:18px}.contact-info__note{margin:0;font-size:var(--type-cn-body-small-size);line-height:1.7;color:var(--semantic-text-secondary)}.contact-form-wrap{padding:var(--space-32);background:var(--semantic-bg-default);border:1px solid var(--semantic-border-subtle);border-radius:var(--radius-lg)}@media (max-width:600px){.contact-form-wrap{padding:var(--space-24)}}.contact-form__head{margin:0 0 var(--space-24)}.contact-form__title{margin:0 0 var(--space-8);font-size:var(--type-cn-title-large-size);font-weight:var(--type-cn-headline-large-font-weight);color:var(--semantic-text-primary)}.contact-form__sub{margin:0;font-size:var(--type-cn-body-medium-size);color:var(--semantic-text-secondary)}.contact-form{display:flex;flex-direction:column;gap:var(--space-20)}.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16)}@media (max-width:600px){.contact-form__row{grid-template-columns:1fr}}.contact-form__required{color:var(--semantic-status-error);margin-left:2px;font-weight:700}.contact-form__textarea{min-height:160px;resize:vertical;font-family:var(--font-cn,"Noto Sans TC",sans-serif);line-height:1.7}.contact-form__consent{display:flex;align-items:flex-start;gap:var(--space-12);font-size:var(--type-cn-body-medium-size);line-height:1.7;color:var(--semantic-text-secondary)}.contact-form__consent input{margin-top:var(--space-4);width:16px;height:16px;accent-color:var(--semantic-brand-primary);flex-shrink:0}.contact-form__consent a{color:var(--semantic-brand-primary);text-decoration:underline;text-underline-offset:3px}.contact-form__submit-row{display:flex;justify-content:flex-end}.contact-form__submit{min-width:160px}.contact-form__submit:disabled,.contact-form__submit[disabled]{opacity:.55;cursor:not-allowed;pointer-events:none}@media (max-width:600px){.contact-form__submit-row{justify-content:stretch}.contact-form__submit{width:100%}}.contact-form__alert{display:flex;align-items:flex-start;gap:var(--space-12);padding:var(--space-12) var(--space-16);border-radius:var(--radius-md);font-size:var(--type-cn-body-medium-size);line-height:1.6}.contact-form__alert--success{background:var(--semantic-bg-subtle);color:var(--semantic-status-success);border:1px solid var(--semantic-status-success)}.contact-form__alert--error{background:var(--semantic-bg-subtle);color:var(--semantic-status-error);border:1px solid var(--semantic-status-error)}.contact-form__alert svg{flex-shrink:0;margin-top:2px}