#yin-profile.yin-profile-page {
--yin-navy: #1A2E5A;
--yin-navy-deep: #14264C;
--yin-blue: #2F80ED;
--yin-blue-hover: #1F68D2;
--yin-orange: #FF7A35;
--yin-orange-hover: #E86628;
--yin-off-white: #F4F6FB;
--yin-white: #FFFFFF;
--yin-ink: #1f1c18;
--yin-text: #3d3831;
box-sizing: border-box;
width: 100%;
max-width: 1180px;
min-width: 0;
margin: 0 auto;
background: var(--yin-white);
color: var(--yin-text);
font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", "Heiti TC", sans-serif;
overflow-wrap: break-word;
}
#yin-profile.yin-profile-page *,
#yin-profile.yin-profile-page *::before,
#yin-profile.yin-profile-page *::after {
box-sizing: border-box;
}
#yin-profile.yin-profile-page img {
display: block;
max-width: 100%;
height: auto;
}
/* Banner */
#yin-profile.yin-profile-page .yin-banner {
background: #ececec;
}
#yin-profile.yin-profile-page .yin-banner-img {
width: 100%;
}
/* Hero */
#yin-profile.yin-profile-page .yin-hero {
display: flex;
flex-wrap: wrap;
gap: 24px 48px;
align-items: flex-end;
padding: 44px 48px;
background: var(--yin-blue);
color: #ffffff;
}
#yin-profile.yin-profile-page .yin-hero-head {
flex: 1 1 320px;
}
#yin-profile.yin-profile-page .yin-eyebrow {
margin: 0 0 12px;
font-size: 13px;
font-weight: 700;
letter-spacing: 0.3em;
color: rgba(255, 255, 255, 0.8);
}
#yin-profile.yin-profile-page .yin-title {
margin: 0;
font-size: 40px;
font-weight: 900;
line-height: 1.3;
letter-spacing: 0.04em;
color: #ffffff;
}
#yin-profile.yin-profile-page .yin-hero-lead {
flex: 1 1 340px;
margin: 0;
font-size: 18px;
line-height: 1.9;
color: rgba(255, 255, 255, 0.92);
text-wrap: pretty;
}
/* Body */
#yin-profile.yin-profile-page .yin-body {
display: flex;
flex-wrap: wrap;
gap: 56px;
align-items: flex-start;
padding: 56px 48px;
}
#yin-profile.yin-profile-page .yin-article {
flex: 1 1 460px;
min-width: 0;
max-width: 100%;
}
#yin-profile.yin-profile-page .yin-article p {
margin: 0 0 22px;
font-size: 17px;
line-height: 1.85;
color: var(--yin-text);
text-wrap: pretty;
}
#yin-profile.yin-profile-page .yin-article p:last-child {
margin-bottom: 0;
}
#yin-profile.yin-profile-page .yin-pull {
padding: 24px 26px;
margin: 30px 0;
background: var(--yin-off-white);
border-left: 4px solid var(--yin-blue);
font-weight: 700;
color: #1b3a7a;
}
/* CV */
#yin-profile.yin-profile-page .yin-cv {
flex: 1 1 280px;
min-width: 0;
max-width: 100%;
}
#yin-profile.yin-profile-page .yin-cv-heading {
display: flex;
align-items: center;
gap: 10px;
margin: 0 0 18px;
font-size: 13px;
font-weight: 700;
letter-spacing: 0.2em;
color: var(--yin-ink);
}
#yin-profile.yin-profile-page .yin-cv-heading::before {
content: "";
width: 26px;
height: 4px;
background: var(--yin-blue);
}
#yin-profile.yin-profile-page .yin-cv-list {
margin: 0;
padding: 0;
list-style: none;
}
#yin-profile.yin-profile-page .yin-cv-list li {
display: flex;
flex-wrap: wrap;
gap: 4px 16px;
padding: 0 0 16px;
margin: 0 0 16px;
border-bottom: 1px solid #eeeeee;
}
#yin-profile.yin-profile-page .yin-cv-list li:last-child {
padding-bottom: 0;
margin-bottom: 0;
border-bottom: none;
}
#yin-profile.yin-profile-page .yin-cv-org {
flex: 0 0 86px;
font-size: 16px;
font-weight: 900;
line-height: 1.8;
color: var(--yin-blue);
}
#yin-profile.yin-profile-page .yin-cv-text {
flex: 1 1 150px;
font-size: 16px;
line-height: 1.8;
color: var(--yin-text);
}
/* ---------- Footer action area (one container, three layers) ---------- */
#yin-profile.yin-profile-page .yin-actions {
border-radius: 6px;
overflow: hidden;
}
#yin-profile.yin-profile-page .yin-actions-row {
display: flex;
flex-wrap: wrap;
gap: 28px 48px;
align-items: center;
justify-content: space-between;
padding: 40px 48px;
}
#yin-profile.yin-profile-page .yin-actions-achievements {
background: var(--yin-off-white);
}
#yin-profile.yin-profile-page .yin-actions-support {
background: var(--yin-navy);
}
#yin-profile.yin-profile-page .yin-actions-info {
background: var(--yin-navy-deep);
align-items: flex-start;
gap: 32px 48px;
padding-top: 36px;
padding-bottom: 44px;
}
#yin-profile.yin-profile-page .yin-actions-text {
flex: 1 1 460px;
min-width: 0;
max-width: 100%;
}
#yin-profile.yin-profile-page .yin-actions-side {
flex: 0 0 260px;
display: flex;
justify-content: flex-end;
align-items: center;
}
#yin-profile.yin-profile-page .yin-actions-eyebrow {
margin: 0 0 10px;
font-size: 13px;
font-weight: 700;
letter-spacing: 0.24em;
color: #5a6b8c;
}
#yin-profile.yin-profile-page .yin-actions-eyebrow.yin-on-dark {
color: #9db2dc;
}
#yin-profile.yin-profile-page .yin-actions-title {
margin: 0 0 14px;
font-size: 28px;
font-weight: 900;
line-height: 1.45;
letter-spacing: 0.02em;
color: #16233d;
}
#yin-profile.yin-profile-page .yin-actions-title.yin-on-dark {
color: #ffffff;
}
#yin-profile.yin-profile-page .yin-actions-lead {
margin: 0;
font-size: 17px;
line-height: 1.85;
color: #47536b;
text-wrap: pretty;
}
#yin-profile.yin-profile-page .yin-actions-lead.yin-lead-dark {
color: #c9d5ec;
}
#yin-profile.yin-profile-page .yin-actions-step {
margin: 14px 0 0;
font-size: 16px;
line-height: 1.8;
color: #ffffff;
}
/* Buttons — identical geometry, different palette */
#yin-profile.yin-profile-page .yin-btn {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 52px;
min-width: 220px;
padding: 14px 24px;
border: none;
border-radius: 5px;
font-size: 16px;
font-weight: 700;
line-height: 1.4;
letter-spacing: 0.06em;
text-align: center;
text-decoration: none;
color: #ffffff;
transition: background-color 0.18s ease;
}
#yin-profile.yin-profile-page .yin-btn:hover,
#yin-profile.yin-profile-page .yin-btn:focus {
color: #ffffff;
text-decoration: none;
}
#yin-profile.yin-profile-page .yin-btn:focus-visible {
outline: 3px solid #9db2dc;
outline-offset: 2px;
}
#yin-profile.yin-profile-page .yin-btn-blue {
background: var(--yin-blue);
}
#yin-profile.yin-profile-page .yin-btn-blue:hover,
#yin-profile.yin-profile-page .yin-btn-blue:focus {
background: var(--yin-blue-hover);
}
#yin-profile.yin-profile-page .yin-btn-orange {
background: var(--yin-orange);
}
#yin-profile.yin-profile-page .yin-btn-orange:hover,
#yin-profile.yin-profile-page .yin-btn-orange:focus {
background: var(--yin-orange-hover);
}
/* Layer 3: methods + legal */
#yin-profile.yin-profile-page .yin-info-main {
flex: 1 1 460px;
min-width: 0;
max-width: 100%;
}
#yin-profile.yin-profile-page .yin-info-methods {
margin: 0 0 16px;
font-size: 17px;
font-weight: 700;
line-height: 1.7;
letter-spacing: 0.04em;
color: #ffffff;
}
#yin-profile.yin-profile-page .yin-info-note {
margin: 0 0 12px;
font-size: 15px;
line-height: 1.8;
color: #a9b8d4;
text-wrap: pretty;
}
#yin-profile.yin-profile-page .yin-info-note:last-child {
margin-bottom: 0;
}
#yin-profile.yin-profile-page .yin-info-legal {
flex: 0 0 340px;
padding-left: 24px;
border-left: 1px solid #24345c;
}
#yin-profile.yin-profile-page .yin-legal-heading {
margin: 0 0 12px;
font-size: 13px;
font-weight: 700;
letter-spacing: 0.2em;
color: #9db2dc;
}
#yin-profile.yin-profile-page .yin-legal-text {
margin: 0 0 12px;
font-size: 14px;
line-height: 1.8;
color: #8fa1c2;
text-wrap: pretty;
}
#yin-profile.yin-profile-page .yin-legal-text:last-child {
margin-bottom: 0;
}
#yin-profile.yin-profile-page .yin-legal-list {
margin: 0 0 14px;
padding: 0;
list-style: none;
}
#yin-profile.yin-profile-page .yin-legal-list li {
display: flex;
flex-wrap: wrap;
gap: 4px 14px;
padding: 9px 0;
border-bottom: 1px solid #21315a;
}
#yin-profile.yin-profile-page .yin-legal-list li:last-child {
border-bottom: none;
}
#yin-profile.yin-profile-page .yin-legal-who {
flex: 0 0 76px;
font-size: 14px;
line-height: 1.7;
color: #9db2dc;
}
#yin-profile.yin-profile-page .yin-legal-amount {
flex: 1 1 120px;
font-size: 14px;
line-height: 1.7;
color: #e4ebf7;
}
/* Tablet */
@media (max-width: 1024px) {
#yin-profile.yin-profile-page .yin-hero,
#yin-profile.yin-profile-page .yin-body,
#yin-profile.yin-profile-page .yin-actions-row {
padding-left: 32px;
padding-right: 32px;
}
#yin-profile.yin-profile-page .yin-title {
font-size: 34px;
}
#yin-profile.yin-profile-page .yin-body {
gap: 40px;
}
#yin-profile.yin-profile-page .yin-actions-title {
font-size: 25px;
}
#yin-profile.yin-profile-page .yin-actions-side {
flex: 0 0 240px;
}
#yin-profile.yin-profile-page .yin-btn {
min-width: 200px;
}
#yin-profile.yin-profile-page .yin-info-legal {
flex: 1 1 100%;
padding-left: 0;
padding-top: 24px;
border-left: none;
border-top: 1px solid #24345c;
}
}
/* Mobile: portrait banner, single column */
@media (max-width: 859px) {
#yin-profile.yin-profile-page .yin-hero,
#yin-profile.yin-profile-page .yin-body {
padding: 32px 20px;
}
#yin-profile.yin-profile-page .yin-hero {
gap: 16px;
}
#yin-profile.yin-profile-page .yin-title {
font-size: 28px;
}
#yin-profile.yin-profile-page .yin-hero-lead,
#yin-profile.yin-profile-page .yin-article p {
font-size: 16px;
line-height: 1.85;
}
#yin-profile.yin-profile-page .yin-article,
#yin-profile.yin-profile-page .yin-cv {
flex: 1 1 100%;
min-width: 0;
}
#yin-profile.yin-profile-page .yin-pull {
padding: 20px;
margin: 26px 0;
}
#yin-profile.yin-profile-page .yin-cv-org,
#yin-profile.yin-profile-page .yin-cv-text {
flex: 1 1 100%;
}
#yin-profile.yin-profile-page .yin-actions {
border-radius: 0;
}
#yin-profile.yin-profile-page .yin-actions-row {
padding: 32px 20px;
gap: 22px;
align-items: flex-start;
}
#yin-profile.yin-profile-page .yin-actions-text,
#yin-profile.yin-profile-page .yin-info-main {
flex: 1 1 100%;
min-width: 0;
}
#yin-profile.yin-profile-page .yin-actions-side {
flex: 1 1 100%;
justify-content: stretch;
}
#yin-profile.yin-profile-page .yin-actions-title {
font-size: 23px;
}
#yin-profile.yin-profile-page .yin-actions-lead {
font-size: 16px;
}
#yin-profile.yin-profile-page .yin-btn {
width: 100%;
min-width: 0;
}
#yin-profile.yin-profile-page .yin-info-methods {
font-size: 16px;
}
}
/* WordPress / Elementor compatibility: styles stay inside this section. */
#yin-profile.yin-profile-page :where(h1, h2, p, a, li, span) {
font-family: inherit;
text-transform: none;
font-style: normal;
}
#yin-profile.yin-profile-page :where(h1, h2, p) {
padding: 0;
border: 0;
}
#yin-profile.yin-profile-page .yin-article .yin-pull {
padding: 24px 26px;
margin: 30px 0;
border-left: 4px solid var(--yin-blue);
color: #1b3a7a;
}
#yin-profile.yin-profile-page .yin-banner picture {
display: block;
}
#yin-profile.yin-profile-page .yin-banner-img {
width: 100%;
height: auto;
aspect-ratio: auto;
object-fit: contain;
margin: 0;
padding: 0;
border: 0;
border-radius: 0;
box-shadow: none;
}
#yin-profile.yin-profile-page .yin-actions-side,
#yin-profile.yin-profile-page .yin-info-legal {
min-width: 0;
max-width: 100%;
}
#yin-profile.yin-profile-page .yin-btn {
max-width: 100%;
box-shadow: none;
white-space: normal;
}
#yin-profile.yin-profile-page .yin-cv-heading {
line-height: 1.6;
}
#yin-profile.yin-profile-page .yin-cv-list li,
#yin-profile.yin-profile-page .yin-legal-list li {
list-style: none;
margin-left: 0;
margin-right: 0;
}
#yin-profile.yin-profile-page .yin-legal-list li {
margin-top: 0;
margin-bottom: 0;
}
#yin-profile.yin-profile-page .yin-cv-list li::before,
#yin-profile.yin-profile-page .yin-legal-list li::before,
#yin-profile.yin-profile-page .yin-btn::before,
#yin-profile.yin-profile-page .yin-btn::after {
content: none;
}
@media (max-width: 859px) {
#yin-profile.yin-profile-page .yin-article .yin-pull { padding: 20px; margin: 26px 0; }
}
@media (prefers-reduced-motion: reduce) {
#yin-profile.yin-profile-page .yin-btn { transition: none; }
}
/* 人物介紹頁:段落小標。 */
#yin-profile.yin-profile-page .yin-article .yin-interview-heading {
margin: 38px 0 14px;
padding: 0;
color: var(--yin-navy);
font-family: inherit;
font-size: 24px;
font-weight: 700;
line-height: 1.5;
letter-spacing: 0.02em;
}
#yin-profile.yin-profile-page .yin-article .yin-interview-heading:first-child {
margin-top: 0;
}
@media (max-width: 859px) {
#yin-profile.yin-profile-page .yin-article .yin-interview-heading {
font-size: 21px;
margin-top: 30px;
}
#yin-profile.yin-profile-page .yin-article .yin-interview-heading:first-child {
margin-top: 0;
}
}
/* 文章配圖:使用圖片本身比例,與文章欄等寬,不裁切。 */
#yin-profile.yin-profile-page .yin-article .yin-editorial-photo {
display: block;
width: 100%;
max-width: 100%;
margin: 28px 0 36px;
padding: 0;
border: 0;
background: transparent;
}
#yin-profile.yin-profile-page .yin-editorial-photo img {
display: block;
width: 100%;
max-width: 100%;
height: auto;
aspect-ratio: auto;
margin: 0;
padding: 0;
border: 0;
border-radius: 0;
box-shadow: none;
}
#yin-profile.yin-profile-page .yin-editorial-photo figcaption {
display: block;
margin: 10px 0 0;
padding: 0 0 0 12px;
border: 0;
border-left: 2px solid var(--yin-blue);
font-family: inherit;
font-size: 14px;
font-weight: 400;
font-style: normal;
line-height: 1.8;
letter-spacing: normal;
text-align: left;
color: #47536b;
background: transparent;
}/* End custom CSS */
#yin-profile .yin-banner video{display:block;width:100%;height:100%;object-fit:contain;}
從工程師到市議員:一段走向公共服務的選擇
我是曾獻瑩,曾經是台積電工程師,現在是台北市大安、文山區的市議員。從科技業走向公共服務,背後是我的成長經歷、對家庭與教育的體會,以及對台北未來的期待。
四歲喪父,教育為我打開另一條路
四歲那年,父親離開了我們。我在單親家庭中長大,很早就知道,一個家庭要安穩生活,需要付出多少努力。從台中一中、臺灣大學,到後來進入台積電工作,教育讓我有機會改變自己的處境,也讓我深刻體會:孩子的成長,不應被家庭條件限制。如何讓不同背景的孩子都能獲得支持,是我始終放在心上的事。
身為家人與照顧者,看見政策需要接住的人
成家之後,我照顧母親,也將岳母接到身邊照顧,並陪伴太太走過辛苦的抗癌歷程。身為兒子、丈夫與父親,我理解家庭照顧的責任,也更能體會長輩、病人與照顧者的需求。這些經驗提醒我,政策必須回應真實生活,讓有需要的人與家庭得到支持。
曾獻瑩議員與太太淑斌的生活合照。
把工程師的工作方法,帶進議會
在台積電工作的日子,培養了我實事求是的習慣:從數據釐清問題、從流程尋找原因,再一步一步驗證改善是否發生。進入議會後,我把這樣的工作方式帶進問政,也時時提醒自己,數字的另一端永遠是人。
持續追蹤防詐,守住市民一輩子的辛苦
防詐,是我上任後最早持續追蹤的議題之一。有民眾一輩子的退休金被騙走,也有人失去原本用來保障家人的保險金。從防詐預算、金融攔阻到網路平台責任,我透過質詢、要求說明與追蹤進度,找出制度的缺口,希望讓市民辛苦累積的生活保障,多一分安全。
從家庭的日常需求,到台北的長遠發展
我也持續關注家庭與兒少支持、教育、長者照顧,以及弱勢家庭面臨的困境;在城市發展上,關心交通與公共建設、城市韌性及 AI 治理。從每天的通勤,到孩子的學習環境、長輩的生活需求,以及新科技如何改善公共服務,都是台北需要認真面對的課題。
曾獻瑩議員視察臺北大巨蛋。
公共職位是一份託付,改善必須真正發生
對我而言,公共職位是一份託付。我的基督信仰也提醒我,面對問題要誠實,做過的決定要負責。我期待用工程師的務實精神,加上對人與家庭的理解,把市民遇到的問題帶進議會,持續追蹤、要求回應,直到改善真正發生。
進一步了解
看獻瑩如何把問題帶進議會
從議題、質詢到後續追蹤,完整內容都整理在問政成果頁。
一起支持
支持獻瑩繼續問政
如果您認同這樣的問政方式,邀請您以一筆小額政治獻金,支持獻瑩繼續在議會追蹤問題、推動改善。
加入「曾獻瑩官方 LINE」,即可從選單進入政治獻金專區。
線上刷卡・超商繳款・ATM 轉帳
完成捐款後,可透過 LINE 接收電子收據及捐款紀錄,方便查詢與留存。
若希望透過臨櫃或網路銀行直接匯款,請透過官方 LINE 聯繫,我們將提供政治獻金專戶帳號及捐款資料填寫說明。
捐款提醒
同一年度對同一位擬參選人的捐贈上限:
-
個人
新臺幣 10 萬元
-
營利事業
新臺幣 100 萬元
-
人民團體
新臺幣 50 萬元
現金、匯款、刷卡、實物及其他形式的政治獻金,均合併計算。捐贈者資格及對不同擬參選人的年度捐贈總額另有限制,完整規定請以政治獻金專區及監察院現行規定為準。
(function(){const video=document.getElementById("yin-profile-hero-video");if(!video)return;video.muted=true;const play=video.play();if(play&&play.catch)play.catch(()=>{});})();
(function(){const host=document.currentScript.previousElementSibling;const root=host.attachShadow({mode:'open'});root.innerHTML=':host{font-family:"PingFang TC","Microsoft JhengHei",system-ui,sans-serif}.recommend{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:900;display:flex;align-items:center;gap:9px;min-height:48px;padding:10px 17px;border:1px solid #ffffffa6;border-radius:999px;background:#1e4257;color:#fff;box-shadow:0 5px 22px #18394b35;font:700 14px/1.5 "PingFang TC","Microsoft JhengHei",system-ui,sans-serif;cursor:pointer;touch-action:manipulation}.recommend svg{width:23px;height:23px;flex:none;color:#f4bdab}.recommend:focus-visible{outline:3px solid #d99b36;outline-offset:4px}.notice{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:901;box-sizing:border-box;max-width:min(320px,calc(100vw - 32px));padding:14px 16px;border:1px solid #c8ddd9;border-radius:14px;background:#fffdf7;color:#18394b;box-shadow:0 6px 25px #18394b20;font:14px/1.6 system-ui,sans-serif}.notice p{margin:0 0 8px}.notice input{box-sizing:border-box;width:100%;padding:9px;border:1px solid #bfd0d6;border-radius:6px;font:inherit}.dismiss{padding:6px 0;min-height:36px;border:0;background:none;color:#267466;text-decoration:underline;cursor:pointer}[hidden]{display:none!important}@media(max-width:480px){.recommend{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));padding:9px 13px;font-size:13px;min-height:46px;gap:7px}}
';const notice=root.querySelector('.notice'),message=notice.querySelector('p'),field=notice.querySelector('input');let timer;notice.querySelector('.dismiss').onclick=()=>{notice.hidden=true;};root.querySelector('.recommend').onclick=async()=>{clearTimeout(timer);notice.hidden=true;field.hidden=true;const url='https://taipeiyin.com/intro/',title='認識曾獻瑩議員',text='推薦你認識曾獻瑩議員,看看他從工程師到市議員的故事。大安文山 票投①曾獻瑩,台北一定贏!';if(navigator.share){try{await navigator.share({title,text,url});return;}catch(e){if(e.name==='AbortError')return;}}try{await navigator.clipboard.writeText(text+'\n'+url);message.textContent='網頁連結已複製,可以貼給親友。';notice.hidden=false;timer=setTimeout(()=>{notice.hidden=true;},6000);}catch{message.textContent='複製下方網址,就能分享給親友。';field.value=url;field.hidden=false;notice.hidden=false;field.focus();field.select();}};})();