/* ============================================================
   NOVE — nove3.css  BUILD 2026-08-22-E
   視覺系統依 NOVE_Homepage_Source 重建：
   暖紙色底、近黑字、signal 綠、無襯線緊排標題、細線分隔、全幅版面。
   改配色只要動下面 :root。
   ============================================================ */
:root{
  --paper:       #f2f0e9;
  --paper-deep:  #e7e4da;
  --ink:         #121511;
  --ink-soft:    #40463e;
  --muted:       #737970;
  --line:        rgba(18,21,17,.17);
  --line-soft:   rgba(18,21,17,.10);
  --signal:      #b7d654;
  --signal-dark: #96b238;
  --white:       #fbfaf6;
  --field-bg:    transparent;
  --err:         #a3392c;
  --ok:          #4c7a34;

  --sans: "Helvetica Neue", Helvetica, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
          "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --pad: clamp(22px, 7vw, 132px);
  --maxw: 1600px;   /* 內容欄上限：超寬螢幕不再整片空白 */
  --gut: max(var(--pad), (100% - var(--maxw)) / 2);   /* 背景維持全幅，內容置中收攏 */
  --headh: 82px;
}
html[data-theme="dark"]{
  --paper:       #121511;
  --paper-deep:  #0d0f0c;
  --ink:         #f0efe7;
  --ink-soft:    #c2c5bd;
  --muted:       #8b8f86;
  --line:        rgba(240,239,231,.18);
  --line-soft:   rgba(240,239,231,.10);
  --white:       #121511;
  --err:         #e59084;
  --ok:          #a8d07a;
}

*,*::before,*::after{box-sizing:border-box}
html{background:var(--paper);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
  transition:background .3s ease,color .3s ease;
}
html[lang="zh-Hant"] body{line-height:1.8}
a{color:inherit;text-decoration:none}
button{background:none;border:0;color:inherit;font:inherit}
img,svg{max-width:100%}
::selection{background:var(--signal);color:#121511}
:focus-visible{outline:2px solid var(--signal-dark);outline-offset:3px}

.wrap{padding-left:var(--gut);padding-right:var(--gut)}

.skip{background:var(--signal);color:#121511;left:16px;padding:10px 14px;position:fixed;top:-80px;z-index:100}
.skip:focus{top:16px}

/* ============ 標頭 ============ */
header.site{
  position:sticky;top:0;z-index:40;
  align-items:center;display:grid;grid-template-columns:1fr auto 1fr;
  height:var(--headh);padding:0 var(--gut);
  background:color-mix(in srgb,var(--paper) 92%,transparent);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.brand{align-items:center;display:flex;gap:12px;justify-self:start;font-size:16px;font-weight:700;letter-spacing:.26em}
.brand-symbol{
  align-items:center;aspect-ratio:1;background:var(--ink);color:var(--signal);
  display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:700;justify-content:center;
  letter-spacing:0;width:30px;
}
nav.main{align-items:center;display:flex;gap:clamp(22px,2.5vw,44px);height:100%}
nav.main a{
  align-items:center;color:var(--ink-soft);display:flex;font-size:12px;
  height:100%;letter-spacing:.04em;position:relative;
}
html[lang="zh-Hant"] nav.main a{font-size:13.5px}
nav.main a::after{
  background:var(--ink);bottom:-1px;content:"";height:2px;left:0;position:absolute;
  transform:scaleX(0);transform-origin:left;transition:transform 180ms ease;width:100%;
}
nav.main a:hover::after,nav.main a[aria-current="page"]::after{transform:scaleX(1)}
nav.main a[aria-current="page"]{color:var(--ink)}

.utils{align-items:center;display:flex;gap:20px;justify-self:end}
.lang{align-items:center;display:flex;font-size:10px;gap:7px;letter-spacing:.12em}
.lang button{color:var(--muted);cursor:pointer;padding:8px 0}
.lang button[aria-pressed="true"]{color:var(--ink);font-weight:700}
.lang button:first-child::after{content:"/";color:var(--muted);font-weight:400;margin-left:7px}
.themebtn{
  border:1px solid var(--line);color:var(--muted);cursor:pointer;
  width:30px;height:26px;display:grid;place-items:center;padding:0;transition:.2s;
}
.themebtn:hover{color:var(--ink);border-color:var(--ink)}
.themebtn svg{width:13px;height:13px;display:block}

.navtoggle{cursor:pointer;display:none;height:32px;padding:7px 0;width:32px}
.navtoggle span{background:var(--ink);display:block;height:1px;margin:5px 0 5px auto;transition:transform 180ms ease,width 180ms ease;width:24px}
.navtoggle span:last-child{width:17px}
.navtoggle[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}
.navtoggle[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg);width:24px}

@media(max-width:1100px){
  header.site{grid-template-columns:1fr auto}
  .navtoggle{display:block}
  nav.main{
    position:absolute;left:0;right:0;top:100%;background:var(--paper);
    border-bottom:1px solid var(--line);display:none;
    flex-direction:column;align-items:stretch;gap:0;padding:14px var(--gut) 26px;height:auto;
  }
  nav.main.open{display:flex}
  nav.main a{
    border-bottom:1px solid var(--line);font-size:clamp(25px,7vw,38px);
    letter-spacing:-.03em;padding:16px 0;height:auto;color:var(--ink);
  }
  html[lang="zh-Hant"] nav.main a{font-size:clamp(24px,6.5vw,34px)}
  nav.main a::after{display:none}
}
@media(max-width:760px){
  :root{--headh:68px}
  header.site{height:68px}
  .brand{font-size:14px}
  .brand-symbol{width:26px}
  .lang{font-size:9px}
}

/* ============ 首頁 hero ============ */
.hero{border-bottom:1px solid var(--line);min-height:calc(100vh - var(--headh));display:grid;grid-template-columns:58% 42%}
.hero-copy{
  align-items:flex-start;display:flex;flex-direction:column;justify-content:center;
  padding:clamp(80px,10vw,150px) 6vw clamp(70px,8vw,120px) max(var(--pad),(100vw - var(--maxw))/2);
}
.eyebrow,.section-label{
  color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.18em;
  line-height:1.4;margin:0;text-transform:uppercase;
}
html[lang="zh-Hant"] .eyebrow,html[lang="zh-Hant"] .section-label{font-size:11px;letter-spacing:.14em}
.hero h1{
  font-size:clamp(46px,6.35vw,104px);font-weight:400;letter-spacing:-.065em;
  line-height:.95;margin:32px 0 0;max-width:1000px;
}
html[lang="zh-Hant"] .hero h1{letter-spacing:-.02em;line-height:1.14;max-width:12ch}
.hero-supporting{
  color:var(--ink-soft);font-size:clamp(15px,1.2vw,19px);line-height:1.65;
  margin:42px 0 0;max-width:56ch;
}
html[lang="zh-Hant"] .hero-supporting{line-height:1.9;max-width:38ch}
.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:30px;margin-top:46px}
.primary-action{
  align-items:center;background:var(--ink);color:var(--white);display:inline-flex;
  font-size:12px;gap:48px;justify-content:space-between;letter-spacing:.04em;
  min-width:220px;padding:18px 20px;transition:background 180ms ease,color 180ms ease;
}
html[lang="zh-Hant"] .primary-action,html[lang="zh-Hant"] .text-action{font-size:13.5px}
.primary-action:hover{background:var(--signal-dark);color:#121511}
.text-action{
  align-items:center;border-bottom:1px solid currentColor;display:inline-flex;
  font-size:12px;gap:30px;letter-spacing:.04em;padding-bottom:7px;
}
.text-action:hover{color:var(--signal-dark)}

/* 系統場域圖形 */
.system-graphic{
  background-color:#121511;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:44px 44px;
  color:#fbfaf6;display:grid;grid-template-rows:auto 1fr auto;
  min-height:calc(100vh - var(--headh));padding:28px;
}
.system-meta,.system-footer{display:flex;font-family:var(--mono);font-size:9px;justify-content:space-between;letter-spacing:.12em}
.system-meta span:last-child::before{
  animation:signal 1.8s ease-in-out infinite;background:var(--signal);border-radius:50%;
  content:"";display:inline-block;height:6px;margin-right:8px;width:6px;
}
.system-field{margin:28px 0;min-height:500px;overflow:hidden;position:relative}
.axis{background:rgba(255,255,255,.2);position:absolute}
.axis-x{height:1px;left:6%;right:6%;top:50%}
.axis-y{bottom:6%;left:50%;top:6%;width:1px}
.system-core{
  align-items:center;animation:core-in 900ms cubic-bezier(.2,.75,.2,1) both;
  background:var(--signal);color:#121511;display:flex;font-size:38px;font-weight:700;
  height:96px;justify-content:center;left:50%;position:absolute;top:50%;
  transform:translate(-50%,-50%);width:96px;
}
.system-node{align-items:center;display:flex;font-family:var(--mono);font-size:9px;gap:8px;letter-spacing:.1em;position:absolute}
.system-node i{background:var(--signal);border-radius:50%;box-shadow:0 0 0 5px rgba(183,214,84,.13);height:7px;width:7px}
.node-a{left:9%;top:22%}
.node-b{right:7%;top:30%}
.node-c{bottom:18%;right:20%}
@keyframes signal{50%{box-shadow:0 0 0 6px rgba(183,214,84,.08);opacity:.55}}
@keyframes core-in{from{opacity:0;transform:translate(-50%,-50%) scale(.86)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}

/* ============ 區塊 ============ */
.section-pad{padding:clamp(80px,10vw,150px) var(--gut)}
.intro-statement{display:grid;gap:8vw;grid-template-columns:22% 1fr}
.intro-statement h2{font-size:clamp(34px,5vw,76px);font-weight:400;letter-spacing:-.055em;line-height:1.02;margin:0;max-width:22ch}
html[lang="zh-Hant"] .intro-statement h2{letter-spacing:-.02em;line-height:1.2;max-width:15ch}

.pillar-grid{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);padding-bottom:clamp(90px,11vw,170px);padding-top:0}
.pillar{border-right:1px solid var(--line);padding:36px 4vw 20px 0}
.pillar + .pillar{padding-left:4vw}
.pillar:last-child{border-right:0}
.index-mark,.scope-list span,.process-step span{color:var(--muted);font-family:var(--mono);font-size:10px;letter-spacing:.12em}
.pillar h3{font-size:21px;font-weight:500;letter-spacing:-.025em;margin:60px 0 18px}
html[lang="zh-Hant"] .pillar h3{letter-spacing:0;font-size:22px}
.pillar p{color:var(--ink-soft);font-size:14px;line-height:1.7;margin:0;max-width:44ch}
html[lang="zh-Hant"] .pillar p{font-size:14.5px;line-height:1.9;max-width:30ch}

.dark-section{background:#121511;color:#fbfaf6;padding:clamp(85px,10vw,150px) var(--gut)}
.dark-section .section-label{color:var(--signal)}
.research-band{display:grid;gap:10vw;grid-template-columns:1fr 1fr}
.research-band h2{font-size:clamp(32px,4.4vw,64px);font-weight:400;letter-spacing:-.055em;line-height:1.02;margin:30px 0 0}
html[lang="zh-Hant"] .research-band h2{letter-spacing:-.02em;line-height:1.22}
.scope-list{border-top:1px solid rgba(255,255,255,.25)}
.scope-list > div{align-items:center;border-bottom:1px solid rgba(255,255,255,.25);display:grid;grid-template-columns:50px 1fr;padding:21px 0}
.scope-list p{font-size:17px;margin:0}

.section-heading-row{align-items:end;display:grid;gap:10vw;grid-template-columns:1fr minmax(260px,35%)}
.section-heading-row > p:last-child{color:var(--ink-soft);font-size:14px;line-height:1.7;margin:0;max-width:58ch}
html[lang="zh-Hant"] .section-heading-row > p:last-child{font-size:14.5px;line-height:1.9}
.process-line{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);margin-top:70px}
.process-step{border-right:1px solid var(--line);min-height:150px;padding:18px 20px 20px 0;position:relative}
.process-step::before{background:var(--signal-dark);border-radius:50%;content:"";height:8px;position:absolute;right:-4px;top:-4px;width:8px}
.process-step:last-child{border-right:0}
.process-step:last-child::before{display:none}
.process-step p{font-size:15px;margin:62px 0 0}

/* ============ 內頁 ============ */
.pagehead .wrap{padding-left:0;padding-right:0}
.pagehead{border-bottom:1px solid var(--line);padding:clamp(78px,10vw,140px) var(--gut) clamp(40px,5vw,64px)}
.pagehead h1{
  font-size:clamp(40px,5.6vw,86px);font-weight:400;letter-spacing:-.06em;line-height:.98;margin:0;
  position:relative;padding-top:34px;max-width:20ch;
}
html[lang="zh-Hant"] .pagehead h1{letter-spacing:-.02em;line-height:1.16}
.pagehead h1::before{content:"";position:absolute;top:0;left:0;width:56px;height:3px;background:var(--signal)}

.sect{padding:clamp(64px,7vw,104px) var(--gut)}
.sect.lead-sect{padding-bottom:clamp(48px,5vw,72px)}
.sect.tight{padding-top:clamp(40px,4.5vw,64px)}
h2{font-weight:400;font-size:clamp(26px,3vw,40px);letter-spacing:-.04em;line-height:1.1;margin:0 0 22px}
html[lang="zh-Hant"] h2{letter-spacing:-.01em;line-height:1.3}
h3{margin:0 0 12px}
p{margin:0 0 20px;color:var(--ink-soft)}
.lead{font-size:clamp(18px,2vw,24px);line-height:1.55;color:var(--ink);max-width:56ch;letter-spacing:-.015em}
html[lang="zh-Hant"] .lead{line-height:1.8;letter-spacing:0;max-width:24em}
.narrow{max-width:70ch}

/* About：能力清單 */
ul.caps{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:7vw;
  border-top:1px solid var(--line);
}
ul.caps li{
  position:relative;padding:26px 0 26px 30px;border-bottom:1px solid var(--line);
  font-size:19px;line-height:1.4;color:var(--ink);letter-spacing:-.02em;
}
html[lang="zh-Hant"] ul.caps li{font-size:20px;letter-spacing:0;line-height:1.6}
ul.caps li::before{content:"";position:absolute;left:0;top:calc(50% - 4px);width:8px;height:8px;background:var(--signal)}
ul.caps li:last-child{grid-column:1 / -1}
@media(max-width:820px){ ul.caps{grid-template-columns:1fr} ul.caps li{font-size:18px} }

/* Research & Systems：六欄位 */
ol.steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}
ol.steps li{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 4vw 44px 0;display:flex;flex-direction:column}
ol.steps li:nth-child(3n){border-right:0}
ol.steps li:not(:nth-child(3n+1)){padding-left:4vw}
ol.steps .num{color:var(--muted);font-family:var(--mono);font-size:10px;letter-spacing:.12em}
ol.steps .ttl{font-size:21px;font-weight:500;letter-spacing:-.025em;margin:56px 0 18px;display:block}
html[lang="zh-Hant"] ol.steps .ttl{letter-spacing:0;font-size:22px}
ol.steps p{color:var(--ink-soft);font-size:14px;line-height:1.7;margin:0;max-width:44ch}
html[lang="zh-Hant"] ol.steps p{font-size:14.5px;line-height:1.9;max-width:30ch}
@media(max-width:1000px){
  ol.steps{grid-template-columns:repeat(2,1fr)}
  ol.steps li:nth-child(3n){border-right:1px solid var(--line)}
  ol.steps li:nth-child(2n){border-right:0}
  ol.steps li:not(:nth-child(3n+1)){padding-left:0}
  ol.steps li:nth-child(2n){padding-left:4vw}
}
@media(max-width:680px){
  ol.steps{grid-template-columns:1fr}
  ol.steps li,ol.steps li:nth-child(2n),ol.steps li:nth-child(3n){border-right:0;padding-left:0;padding-right:0}
  ol.steps .ttl{margin-top:34px}
}

/* 法律／隱私／防詐騙 */
.doc p{max-width:70ch;font-size:16.5px;line-height:1.8}
html[lang="zh-Hant"] .doc p{line-height:2;font-size:17px;max-width:44ch}
.doc p:first-of-type{font-size:19.5px;color:var(--ink);padding-left:26px;border-left:3px solid var(--signal);letter-spacing:-.015em}
html[lang="zh-Hant"] .doc p:first-of-type{letter-spacing:0}
.doc ul{max-width:70ch;color:var(--ink-soft);padding-left:20px;margin:0 0 20px}
.doc li{margin-bottom:10px}
.updated{font-size:12.5px;color:var(--muted);margin-top:40px;padding-top:18px;border-top:1px solid var(--line-soft)}

/* 按鈕（內頁共用） */
.btn{
  align-items:center;background:var(--ink);color:var(--white);display:inline-flex;
  font-size:12px;gap:20px;letter-spacing:.06em;padding:18px 28px;cursor:pointer;
  transition:background 180ms ease,color 180ms ease;border:0;
}
html[lang="zh-Hant"] .btn{font-size:13.5px;letter-spacing:.04em}
.btn:hover{background:var(--signal-dark);color:#121511}
.btn[disabled]{opacity:.5;cursor:default}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn-ghost:hover{background:var(--signal-dark);border-color:var(--signal-dark);color:#121511}
.cta{border-top:1px solid var(--line);padding-top:36px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.cta p{margin:0;max-width:56ch}

/* ============ 表單 ============ */
.formwrap{max-width:760px}
.field{margin-bottom:32px}
.field label{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:12px}
html[lang="zh-Hant"] .field label{letter-spacing:.1em;font-size:11.5px}
.field .req{color:var(--signal-dark)}
.field input,.field select,.field textarea{
  width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--field-bg);
  border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 2px;transition:border-color .2s;
}
.field textarea{min-height:150px;resize:vertical;line-height:1.7;border:1px solid var(--line);padding:14px}
.field select{
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 12px) 20px,calc(100% - 7px) 20px;background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;padding-right:34px;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--signal-dark);border-bottom-width:2px}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--err)}
.field .err{display:none;color:var(--err);font-size:13px;margin-top:8px}
.field.invalid .err{display:block}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:34px}
@media(max-width:640px){ .row2{grid-template-columns:1fr;gap:0} }
.consent{display:flex;gap:14px;align-items:flex-start;margin:8px 0 34px}
.consent input{width:17px;height:17px;margin-top:3px;flex:0 0 auto;accent-color:var(--signal-dark)}
.consent label{font-size:14px;color:var(--muted);letter-spacing:0;text-transform:none;font-weight:400;margin:0;line-height:1.6}
.consent.invalid label{color:var(--err)}
.formnote{font-size:13px;color:var(--muted);margin-top:20px}
.status{display:none;margin-top:26px;padding:14px 0 14px 18px;border-left:3px solid var(--line);font-size:14.5px}
.status.show{display:block}
.status.ok{border-left-color:var(--signal);color:var(--ink)}
.status.bad{border-left-color:var(--err);color:var(--err)}

/* ============ 頁尾 ============ */
footer.site{
  background:var(--paper-deep);border-top:1px solid var(--line);
  display:grid;gap:7vw;grid-template-columns:1.6fr .7fr .7fr;padding:70px var(--gut) 32px;
}
.footer-brand{align-items:flex-start;display:flex;gap:12px}
.footer-brand p{font-size:13px;line-height:1.55;margin:0;max-width:38ch;color:var(--ink-soft)}
.flinks{display:flex;flex-direction:column;gap:14px}
.flinks h4{color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin:0;font-weight:600}
html[lang="zh-Hant"] .flinks h4{letter-spacing:.08em;font-size:11px}
.flinks ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.flinks a{font-size:13px;color:var(--ink-soft);transition:color .2s}
.flinks a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.fbot{
  border-top:1px solid var(--line);color:var(--muted);display:flex;font-family:var(--mono);
  font-size:9px;grid-column:1 / -1;justify-content:space-between;letter-spacing:.08em;
  margin-top:25px;padding-top:24px;gap:16px;flex-wrap:wrap;
}
html[lang="zh-Hant"] .fbot{font-family:var(--sans);font-size:11px;letter-spacing:.04em}



/* ---------- 關於頁：研究團隊 ----------
   資訊層級：先看見區塊標題，再讀團隊資料。
   標題為大字，內文維持一般閱讀字級，不做成宣言。 */
.team-block{border-top:1px solid var(--line);padding-bottom:0}
.team-title{
  font-size:clamp(2rem,4vw,3rem);   /* 桌機 40–48px，手機 32px */
  font-weight:400;letter-spacing:-.04em;line-height:1.05;margin:0;
}
html[lang="zh-Hant"] .team-title{letter-spacing:-.01em;line-height:1.25}
.team-description{
  color:var(--ink-soft);
  font-size:clamp(1rem,1.25vw,1.125rem);   /* 16–18px */
  line-height:1.7;margin:28px 0 0;max-width:760px;
}
html[lang="zh-Hant"] .team-description{line-height:1.75;max-width:34em}
@media(max-width:760px){
  .team-description{font-size:1rem;line-height:1.65;margin-top:22px}
}


/* ---------- 深色模式的幾處校正 ---------- */
html[data-theme="dark"] .brand-symbol{background:var(--signal);color:#121511}
html[data-theme="dark"] .dark-section{
  background:#0b0d0a;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
html[data-theme="dark"] .system-graphic{border-left:1px solid var(--line)}
html[data-theme="dark"] .scope-list,
html[data-theme="dark"] .scope-list > div{border-color:rgba(240,239,231,.2)}

/* ============ 響應式 ============ */
@media(max-width:1100px){
  .hero{grid-template-columns:1fr}
  .hero-copy{min-height:720px;padding-left:var(--gut);padding-right:var(--gut)}
  .system-graphic{min-height:620px}
}
@media(max-width:760px){
  .hero{min-height:calc(100svh - var(--headh))}
  .hero-copy{min-height:calc(100svh - var(--headh));padding:70px var(--gut)}
  .hero h1{font-size:clamp(40px,12.5vw,64px);letter-spacing:-.055em}
  html[lang="zh-Hant"] .hero h1{font-size:clamp(34px,10vw,50px)}
  .hero-supporting{font-size:15px;margin-top:32px}
  .hero-actions{align-items:stretch;flex-direction:column;gap:22px;margin-top:38px}
  .primary-action{width:100%}
  .text-action{align-self:flex-start}
  .system-graphic{min-height:520px;padding:20px}
  .system-field{min-height:410px}
  .system-core{height:78px;width:78px}
  .system-footer{align-items:flex-start;flex-direction:column;gap:8px}
  .intro-statement,.research-band,.section-heading-row{gap:38px;grid-template-columns:1fr}
  .pillar-grid{display:block;padding-bottom:80px}
  .pillar,.pillar + .pillar{border-bottom:1px solid var(--line);border-right:0;padding:30px 0 44px}
  .pillar h3{margin-top:38px}
  .process-line{display:block;margin-top:50px}
  .process-step{align-items:center;border-bottom:1px solid var(--line);border-right:0;display:grid;grid-template-columns:46px 1fr;min-height:0;padding:19px 0}
  .process-step::before{display:none}
  .process-step p{margin:0}
  footer.site{gap:44px;grid-template-columns:1fr 1fr;padding:60px var(--gut) 26px}
  .footer-brand{grid-column:1 / -1}
  .fbot{align-items:flex-start;flex-direction:column;gap:8px}
}

/* ============ JavaScript 未載入時的降級處理 ============ */
html[data-js="off"] .lang,
html[data-js="off"] .themebtn{display:none}
@media(max-width:1100px){
  html[data-js="off"] nav.main{display:flex;position:static;border-bottom:0;padding:0 0 10px}
  html[data-js="off"] .navtoggle{display:none}
  html[data-js="off"] header.site{grid-template-columns:1fr;height:auto;padding-top:14px;padding-bottom:6px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
}
