html{scroll-behavior:smooth}body{margin:0;background:#E9DAC2;color:#2A2620;font-family:'Noto Serif TC', serif;line-height:1.85}.tt-page{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}.tt-page *,.tt-page *::before,.tt-page *::after{-webkit-box-sizing:border-box;box-sizing:border-box}::-moz-selection{background:#3E2A19;color:#F3E7D3}::selection{background:#3E2A19;color:#F3E7D3}@-webkit-keyframes ttFadeUp{from{opacity:0;-webkit-transform:translateY(22px);transform:translateY(22px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes ttFadeUp{from{opacity:0;-webkit-transform:translateY(22px);transform:translateY(22px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes ttFade{from{opacity:0}to{opacity:1}}@keyframes ttFade{from{opacity:0}to{opacity:1}}.tt-kicker{font-family:ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;font-size:13px;letter-spacing:.22em}.tt-kicker--accent{color:#B85C34}.tt-kicker--hero{font-size:14px;letter-spacing:.2em;color:#E8B98C}.tt-kicker--contact{letter-spacing:.24em;color:#FBE4CE}.tt-section-title{font-family:inherit;font-weight:500;font-size:32px;color:#3E2A19;margin:0}[data-tt-reveal]{opacity:0;-webkit-transform:translateY(22px);transform:translateY(22px);-webkit-transition:opacity .9s ease, -webkit-transform .9s ease;transition:opacity .9s ease, -webkit-transform .9s ease;transition:opacity .9s ease, transform .9s ease;transition:opacity .9s ease, transform .9s ease, -webkit-transform .9s ease}.is-visible[data-tt-reveal]{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}@media (prefers-reduced-motion: reduce){[data-tt-reveal]{opacity:1;-webkit-transform:none;transform:none;-webkit-transition:none;transition:none}.tt-hero-visual,.tt-hero-panel{-webkit-animation:none !important;animation:none !important}}.tt-nav{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:20px 64px;background:#3E2A19;color:#EADBC4;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:16px}.tt-nav-brand{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:14px;text-decoration:none;color:inherit}.tt-nav-logo{width:38px;height:38px;-o-object-fit:contain;object-fit:contain;-webkit-filter:brightness(0) invert(1) opacity(0.92);filter:brightness(0) invert(1) opacity(0.92)}.tt-nav-brand-zh{font-size:19px;letter-spacing:.08em}.tt-nav-links{display:-webkit-box;display:-ms-flexbox;display:flex;gap:30px;-ms-flex-wrap:wrap;flex-wrap:wrap;font-family:ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;font-size:14px;letter-spacing:.05em}.tt-nav-links a{color:#C9B79C;text-decoration:none}.tt-nav-links a:hover{color:#F5E9D8}.tt-nav-links a.tt-nav-links-accent{color:#E89A63}.tt-hero{scroll-margin-top:82px}.tt-hero-visual{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#D9C6A6;-webkit-animation:ttFade 1.4s ease both;animation:ttFade 1.4s ease both}.tt-hero-visual img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.tt-hero-visual::after{content:"";position:absolute;left:0;right:0;top:0;bottom:0;background:-webkit-gradient(linear, left bottom, left top, from(rgba(40,26,14,0.55)), color-stop(32%, rgba(40,26,14,0)));background:linear-gradient(0deg, rgba(40,26,14,0.55) 0%, rgba(40,26,14,0) 32%)}.tt-hero-panel{padding:56px 64px 64px;background:#3E2A19;color:#F3E7D3}.tt-hero-panel .tt-kicker--hero{display:block;margin-bottom:24px}.tt-hero-title{font-weight:500;font-size:clamp(34px, 6vw, 68px);line-height:1.3;margin:0;letter-spacing:.02em;-webkit-animation:ttFadeUp 1s ease both;animation:ttFadeUp 1s ease both}.tt-hero-intro{font-size:20px;font-weight:300;margin:26px 0 0;max-width:32em;color:#E4D5BF;white-space:pre-line;-webkit-animation:ttFadeUp 1s .15s ease both;animation:ttFadeUp 1s .15s ease both}.tt-about{padding:96px 64px;text-align:center;scroll-margin-top:82px}.tt-about .tt-kicker--accent{display:block;margin-bottom:30px}.tt-about-quote{font-size:clamp(22px, 3vw, 32px);font-weight:400;line-height:1.7;margin:0 auto;max-width:24em;color:#3E2A19}.tt-about-detail{padding:0 64px 96px;display:grid;grid-template-columns:1fr 1fr;gap:56px}.tt-about-detail p{font-size:18px;line-height:1.95;margin:0;color:#4A3826}.tt-team{padding:88px 64px;background:#3E2A19;color:#EADBC4}.tt-team .tt-kicker--hero{display:block;margin-bottom:10px}.tt-team-title{font-size:32px;font-weight:500;margin:0 0 52px}.tt-team-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.tt-member{display:-webkit-box;display:-ms-flexbox;display:flex;gap:24px;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap}.tt-member-photo{width:140px;height:140px;-o-object-fit:cover;object-fit:cover;-ms-flex-negative:0;flex-shrink:0}.tt-member-text{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:200px}.tt-member-name{font-size:22px;font-weight:600}.tt-member-role{font-size:15px;color:#C9B79C;font-weight:400}.tt-member-degree{font-family:ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;font-size:12px;color:#C9B79C;margin:6px 0 12px}.tt-member-text p{font-size:15px;color:#D8C7AC;margin:0;line-height:1.8}.tt-works{padding:88px 64px;scroll-margin-top:82px}.tt-works-head{margin-bottom:42px}.tt-works-head .tt-kicker--accent{display:block;margin-bottom:10px}.tt-works-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:18px}.tt-works-tile{position:relative;overflow:hidden;aspect-ratio:.82;color:#F5E9D8;padding:22px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-webkit-transition:-webkit-transform .4s ease, -webkit-box-shadow .4s ease;transition:-webkit-transform .4s ease, -webkit-box-shadow .4s ease;transition:transform .4s ease, box-shadow .4s ease;transition:transform .4s ease, box-shadow .4s ease, -webkit-transform .4s ease, -webkit-box-shadow .4s ease}.tt-works-tile:hover{-webkit-transform:translateY(-4px);transform:translateY(-4px);-webkit-box-shadow:0 14px 28px rgba(62,42,25,0.22);box-shadow:0 14px 28px rgba(62,42,25,0.22)}.tt-works-tile-cover{position:absolute;left:0;top:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.tt-works-tile--photo::after{content:"";position:absolute;left:0;right:0;top:0;bottom:0;background:-webkit-gradient(linear, left bottom, left top, from(rgba(40,26,14,0.62)), color-stop(55%, rgba(40,26,14,0.05)));background:linear-gradient(0deg, rgba(40,26,14,0.62) 0%, rgba(40,26,14,0.05) 55%)}.tt-works-name,.tt-works-note{position:relative;z-index:1}.tt-works-tile:nth-child(6n+1),.tt-works-tile:nth-child(6n+5){background:#B85C34}.tt-works-tile:nth-child(6n+2),.tt-works-tile:nth-child(6n){background:#8C6A3F}.tt-works-tile:nth-child(6n+3),.tt-works-tile:nth-child(6n+4){background:#5C4226}.tt-works-name{font-size:19px;font-weight:500}.tt-works-note{font-family:ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;font-size:11px;opacity:.8;margin-top:4px}.tt-projects{padding:0 64px 96px;scroll-margin-top:82px}.tt-projects .tt-kicker--accent{display:block;margin-bottom:28px}.tt-projects-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:18px}.tt-project{background:#F3E8D6;padding:28px 30px;border-left:3px solid #B85C34;-webkit-transition:background .2s ease;transition:background .2s ease}.tt-project-year{font-family:ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;font-size:13px;color:#B85C34}.tt-project-title{font-size:19px;margin-top:8px;color:#3E2A19}.tt-project-place{font-size:14px;color:#8A7350;margin-top:4px}.tt-works-tile[data-tt-article],.tt-project[data-tt-article]{cursor:pointer}.tt-project[data-tt-article]:hover{background:#EFE0C8}.tt-modal-overlay{position:fixed;left:0;right:0;top:0;bottom:0;z-index:50;display:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:24px;background:rgba(30,22,14,0.6)}.tt-modal-overlay.is-open{display:-webkit-box;display:-ms-flexbox;display:flex}html.tt-modal-open,html.tt-modal-open body{overflow:hidden}.tt-modal-card{position:relative;width:100%;max-width:600px;max-height:88vh;overflow-y:auto;background:#F3E8D6;-webkit-box-shadow:0 20px 60px rgba(0,0,0,0.35);box-shadow:0 20px 60px rgba(0,0,0,0.35)}.tt-modal-close{position:absolute;top:16px;right:16px;z-index:2;width:36px;height:36px;border-radius:50%;border:none;background:#3E2A19;color:#EADBC4;font-size:18px;line-height:1;cursor:pointer}.tt-article-cover{width:100%;height:300px}.tt-article-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.tt-article-body{padding:40px 44px 48px}.tt-article-eyebrow{font-family:ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;font-size:13px;letter-spacing:.14em;color:#B85C34;margin-bottom:14px}.tt-article-title{font-size:28px;font-weight:600;color:#3E2A19;margin-bottom:10px}.tt-article-tag{font-family:ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;font-size:13px;color:#8A7350;margin-bottom:8px}.tt-article-text{font-size:17px;line-height:1.9;color:#4A3826;margin:20px 0 0;white-space:pre-line}.tt-article-image{width:100%;height:220px;margin:24px 0}.tt-article-image--placeholder{opacity:.9}.tt-article-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.tt-contact{position:relative;overflow:hidden;padding:104px 64px 40px;background:#352419;color:#F3E4CF}.tt-contact::before{content:'';position:absolute;top:72px;left:-170px;width:360px;height:360px;border:1px solid rgba(198,109,69,0.2);border-radius:50%;pointer-events:none}.tt-contact-layout{position:relative;z-index:1;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(260px, 0.76fr) minmax(460px, 1.24fr);gap:clamp(56px, 8vw, 112px)}.tt-contact-intro{padding-top:2px}.tt-contact-stamp{display:grid;place-items:center;width:82px;height:82px;margin-bottom:46px;border:1px solid #C66D45;color:#D98761;font-size:40px;line-height:1;-webkit-transform:rotate(-3deg);transform:rotate(-3deg)}.tt-contact .tt-kicker--contact{display:block;margin-bottom:22px;color:#DFA080}.tt-contact-slogan{font-size:clamp(40px, 5vw, 66px);font-weight:400;line-height:1.34;letter-spacing:.03em;margin-bottom:26px;color:#F3E4CF}.tt-contact-lead{max-width:25em;margin:0 0 28px;color:#CFBCA5;font-size:16px;line-height:1.95}.tt-contact-mail{font-family:ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;font-size:15px;color:#F3E4CF;text-decoration:none;border-bottom:1px solid rgba(243,228,207,0.42);padding-bottom:4px;overflow-wrap:break-word;word-break:break-all}.tt-contact-social{display:-webkit-box;display:-ms-flexbox;display:flex;gap:22px;margin-top:36px;-ms-flex-wrap:wrap;flex-wrap:wrap;font-family:ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;font-size:12px;letter-spacing:.1em}.tt-contact-social a{color:#CFAE93;text-decoration:none;-webkit-transition:color .2s ease;transition:color .2s ease}.tt-contact-social a:hover{color:#F3E4CF}.tt-contact-form-panel{-ms-flex-item-align:start;align-self:start;padding:0 42px 42px;border-top:7px solid #C66D45;background:#E9DAC2;color:#3E2A19}.tt-contact-form-heading{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:25px 0 21px;border-bottom:1px solid rgba(62,42,25,0.22)}.tt-contact-form-heading>div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:5px}.tt-contact-form-eyebrow{font-family:ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;font-size:11px;letter-spacing:.2em;color:#9D573A}.tt-contact-form-title{font-size:18px;letter-spacing:.08em;color:#3E2A19}.tt-contact-form-mark{font-size:24px;color:#9D573A}.tt-contact-form{padding-top:10px}.tt-contact-form.is-hidden{display:none}.tt-contact-alert{display:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:13px;margin:18px 0 2px;padding:13px 15px;background:#3E2A19;color:#F4E4CD;font-size:14px;line-height:1.65}.tt-contact-alert.is-visible{display:-webkit-box;display:-ms-flexbox;display:flex}.tt-contact-alert:focus{outline:2px solid #C66D45;outline-offset:3px}.tt-contact-alert-mark{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;display:grid;place-items:center;width:24px;height:24px;border:1px solid #D98761;border-radius:50%;color:#E6A07C;font:700 13px/1 ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace}.tt-contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}.tt-contact-field{position:relative;padding-top:26px}.tt-contact-field label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;gap:12px;margin-bottom:7px;font-family:ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;font-size:12px;letter-spacing:.1em;color:#4A3625}.tt-contact-field-number{color:#A65C3E;font-size:10px;letter-spacing:.08em}.tt-contact-field label em{color:#B85C34;font-size:10px;font-style:normal}.tt-contact-field label small{color:#8B775E;font-size:10px;letter-spacing:.08em}.tt-contact-field input,.tt-contact-field textarea{display:block;width:100%;margin:0;padding:9px 0 12px;border:0;border-bottom:1px solid rgba(62,42,25,0.38);border-radius:0;outline:none;background:transparent;-webkit-box-shadow:none;box-shadow:none;color:#332218;font:400 16px/1.7 'Noto Serif TC', serif;-webkit-transition:border-color .2s ease, background-color .2s ease, -webkit-box-shadow .2s ease;transition:border-color .2s ease, background-color .2s ease, -webkit-box-shadow .2s ease;transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease, -webkit-box-shadow .2s ease}.tt-contact-field textarea{min-height:126px;resize:vertical;padding-top:10px}.tt-contact-field input::-webkit-input-placeholder,.tt-contact-field textarea::-webkit-input-placeholder{color:#95836E;opacity:1}.tt-contact-field input:-ms-input-placeholder,.tt-contact-field textarea:-ms-input-placeholder{color:#95836E;opacity:1}.tt-contact-field input::placeholder,.tt-contact-field textarea::placeholder{color:#95836E;opacity:1}.tt-contact-field input:focus,.tt-contact-field textarea:focus{border-color:#A45335;-webkit-box-shadow:inset 0 -2px 0 #A45335;box-shadow:inset 0 -2px 0 #A45335;background:rgba(184,92,52,0.035)}.tt-contact-honeypot{position:absolute !important;width:1px !important;height:1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important}.tt-contact-form-actions{display:grid;grid-template-columns:1fr auto;gap:24px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:30px}.tt-contact-required-note{margin:0;color:#8B775E;font-size:12px;letter-spacing:.06em}.tt-contact-submit{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:34px;min-width:176px;padding:14px 17px;border:1px solid #3E2A19;border-radius:0;background:#3E2A19;color:#F3E4CF;cursor:pointer;font:600 14px/1.5 'Noto Serif TC', serif;letter-spacing:.06em;-webkit-transition:background-color .25s ease, color .25s ease, -webkit-transform .25s ease;transition:background-color .25s ease, color .25s ease, -webkit-transform .25s ease;transition:background-color .25s ease, color .25s ease, transform .25s ease;transition:background-color .25s ease, color .25s ease, transform .25s ease, -webkit-transform .25s ease}.tt-contact-submit:hover{background:#B85C34;border-color:#B85C34;color:#FFF4E5;-webkit-transform:translateX(3px);transform:translateX(3px)}.tt-contact-submit:focus-visible,.tt-contact-write-again:focus-visible{outline:3px solid #B85C34;outline-offset:4px}.tt-contact-submit:disabled{cursor:wait;opacity:.6;-webkit-transform:none;transform:none}.tt-contact-form-panel.is-submitting{cursor:wait}.tt-contact-success{display:none;min-height:495px;padding:54px 20px 34px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.tt-contact-success.is-visible{display:-webkit-box;display:-ms-flexbox;display:flex}.tt-contact-success:focus{outline:none}.tt-contact-success-stamp{display:grid;place-items:center;-ms-flex-line-pack:center;align-content:center;width:104px;height:104px;margin-bottom:28px;border:2px solid #A45335;border-radius:50%;color:#A45335;-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}.tt-contact-success-stamp span{font-size:34px;line-height:1.05}.tt-contact-success-stamp small{margin-top:3px;font:600 10px/1.2 ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;letter-spacing:.22em}.tt-contact-success-eyebrow{margin:0 0 13px;color:#A45335;font:500 11px/1.4 ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;letter-spacing:.2em}.tt-contact-success h3{margin:0;color:#3E2A19;font-size:clamp(28px, 4vw, 40px);font-weight:500;letter-spacing:.08em}.tt-contact-success>p[data-tt-contact-success-text]{max-width:25em;margin:18px 0 32px;color:#715D49;font-size:15px;line-height:1.9}.tt-contact-write-again{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:42px;min-width:176px;padding:13px 16px;border-bottom:1px solid #3E2A19;color:#3E2A19;text-decoration:none;font-size:14px;letter-spacing:.08em;-webkit-transition:color .2s ease, border-color .2s ease;transition:color .2s ease, border-color .2s ease}.tt-contact-write-again:hover{color:#A45335;border-color:#A45335}.tt-contact-copy{font-family:ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;position:relative;z-index:1;max-width:1180px;margin:78px auto 0;padding-top:20px;border-top:1px solid rgba(243,228,207,0.16);font-size:11px;color:#AD947C;letter-spacing:.1em}@media (max-width: 900px){.tt-nav{padding:16px 28px}.tt-nav-links{gap:20px}.tt-hero-panel{padding:44px 28px 52px}.tt-about{padding:72px 28px}.tt-about-detail{grid-template-columns:1fr;gap:28px;padding:0 28px 72px}.tt-team{padding:64px 28px}.tt-team-grid{grid-template-columns:1fr;gap:40px}.tt-works{padding:64px 28px}.tt-projects{padding:0 28px 72px}.tt-contact{padding:72px 28px 32px}.tt-contact-layout{grid-template-columns:1fr;gap:58px}.tt-contact-intro{max-width:600px}.tt-contact-stamp{margin-bottom:34px}.tt-contact-form-panel{max-width:720px;width:100%}.tt-contact-copy{margin-top:56px}}@media (max-width: 640px){.tt-nav-links{gap:14px;font-size:13px}.tt-hero-intro{font-size:17px}.tt-section-title,.tt-team-title{font-size:26px}.tt-member-photo{width:110px;height:110px}.tt-contact-mail{font-size:14px}.tt-contact{padding:64px 20px 28px}.tt-contact-form-panel{padding:0 22px 28px}.tt-contact-form-heading{padding:21px 0 18px}.tt-contact-form-row{grid-template-columns:1fr;gap:0}.tt-contact-form-actions{grid-template-columns:1fr;gap:14px}.tt-contact-submit{width:100%}.tt-contact-success{min-height:430px;padding:44px 0 28px}.tt-contact-success-stamp{width:92px;height:92px}.tt-modal-overlay{padding:14px}.tt-article-cover{height:220px}.tt-article-body{padding:28px 22px 32px}.tt-article-title{font-size:23px}}@media (prefers-reduced-motion: reduce){.tt-contact-social a,.tt-contact-field input,.tt-contact-field textarea,.tt-contact-submit,.tt-contact-write-again{-webkit-transition:none;transition:none}}
