/* === Nengder Site — 樣式完全自足，不依賴佈景主題 === */
.nd-site,.nd-site *,.nd-site *::before,.nd-site *::after{box-sizing:border-box}
.nd-site{font-family:var(--zh)!important;font-size:16px!important;line-height:1.8!important;letter-spacing:normal!important;text-transform:none!important;color:var(--body);-webkit-font-smoothing:antialiased}
.nd-site h1,.nd-site h2,.nd-site h3,.nd-site h4,.nd-site h5,.nd-site p,.nd-site ul,.nd-site ol,.nd-site li,.nd-site figure,.nd-site dl,.nd-site dd{margin:0;padding:0}
.nd-site ul,.nd-site ol{list-style:none}
.nd-site a{text-decoration:none;color:inherit;box-shadow:none}
.nd-site a:hover{text-decoration:none}
.nd-site img,.nd-site svg{max-width:100%;height:auto;border:0}
.nd-site svg{height:auto}
.nd-site button,.nd-site input,.nd-site select,.nd-site textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0;border-radius:0}
.nd-site button{background:none;border:0;padding:0;color:inherit;cursor:pointer}
.nd-site .en,.nd-site .tab.en,.nd-site .prose.en{font-family:var(--en)!important}
.nd-site .mono,.nd-site .tl-year,.nd-site .tyear{font-family:var(--mono)!important}
.nd-site [hidden]{display:none!important}

.nd-site{
  --brand:#2C5F9E;
  --brand-deep:#1B4374;
  --brand-soft:#E9F0F8;
  --ink:#101B29;
  --body:#3D4C5E;
  --muted:#6E7F93;
  --line:#DCE3EC;
  --line-soft:#EBEFF5;
  --surface:#FFFFFF;
  --surface-2:#F5F8FB;
  --surface-3:#ECF1F7;
  --ground:#FAFBFD;
  --shadow:0 1px 2px rgba(16,27,41,.05),0 12px 32px -20px rgba(16,27,41,.3);
  --zh:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;
  --en:"Archivo","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
/* 本站固定亮色（與原站一致） */
.nd-site, .nd-site[data-theme="dark"], .nd-site[data-theme="light"]{color-scheme:light}
.nd-site *, .nd-site{box-sizing:border-box}
.nd-site{margin:0;background:var(--ground);color:var(--body);font-family:var(--zh);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}
.nd-site h1, .nd-site h2, .nd-site h3, .nd-site h4{margin:0;color:var(--ink);line-height:1.3;text-wrap:balance}
.nd-site p{margin:0}
.nd-site ul{margin:0;padding:0;list-style:none}
.nd-site a{color:inherit;text-decoration:none}
.nd-site img{max-width:100%}
.nd-site :focus-visible{outline:2px solid var(--brand);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.nd-site *, .nd-site{transition:none!important;animation:none!important}}
.nd-site .wrap{width:100%;max-width:1140px;margin:0 auto;padding-inline:20px}
/* header */
.nd-site header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:saturate(1.5) blur(14px);border-bottom:1px solid var(--line)}
.nd-site .bar{display:flex;align-items:center;justify-content:space-between;gap:16px;height:68px}
.nd-site .brand img{display:block;height:34px;width:auto}
.nd-site nav.main{display:flex;align-items:center;gap:2px}
.nd-site nav.main a{position:relative;padding:10px 14px;font-size:14.5px;font-weight:500;color:var(--body);border-radius:4px;transition:color .15s,background .15s}
.nd-site nav.main a:hover{color:var(--ink);background:var(--surface-3)}
.nd-site nav.main a.on{color:var(--brand);font-weight:700}
.nd-site nav.main a.on::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;background:var(--brand)}
.nd-site .menu-btn{display:none;width:42px;height:42px;align-items:center;justify-content:center;background:none;border:1px solid var(--line);border-radius:5px;color:var(--ink);cursor:pointer}
.nd-site .menu-btn svg{width:18px;height:18px}
/* 行動版：右側滑入抽屜 */
.nd-site .nd-backdrop{position:fixed;inset:0;z-index:70;background:rgba(9,22,42,.55);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s .3s;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.nd-site .nd-backdrop.on{opacity:1;visibility:visible;transition:opacity .3s ease,visibility 0s}
.nd-site .nd-drawer{position:fixed;top:0;right:0;z-index:80;display:flex;flex-direction:column;width:min(330px,86vw);height:100%;background:var(--surface);box-shadow:-20px 0 44px -26px rgba(9,22,42,.6);transform:translateX(100%);visibility:hidden;transition:transform .34s cubic-bezier(.4,0,.2,1),visibility 0s .34s;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.nd-site .nd-drawer.open{transform:none;visibility:visible;transition:transform .34s cubic-bezier(.4,0,.2,1),visibility 0s}
.nd-site .nd-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line);flex:none}
.nd-site .nd-drawer-head img{height:30px;width:auto;display:block}
.nd-site .nd-close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:5px;color:var(--ink);cursor:pointer;background:none;flex:none}
.nd-site .nd-close svg{width:18px;height:18px}
.nd-site .nd-close:hover{border-color:var(--brand);color:var(--brand)}
.nd-site .nd-drawer-nav{flex:1;overflow-y:auto;padding:10px 0}
.nd-site .nd-drawer-nav a{display:block;padding:15px 22px;font-size:16px;font-weight:500;color:var(--body);border-left:3px solid transparent;transition:background .15s,color .15s}
.nd-site .nd-drawer-nav a:hover{background:var(--surface-2);color:var(--ink)}
.nd-site .nd-drawer-nav a.on{color:var(--brand);font-weight:700;border-left-color:var(--brand);background:var(--brand-soft)}
.nd-site .nd-drawer-foot{flex:none;border-top:1px solid var(--line);padding:16px 22px}
.nd-site .nd-drawer-foot a{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:15px;color:var(--brand);font-weight:500}
.nd-site .nd-drawer-foot svg{width:17px;height:17px;flex:none}
@media (min-width:901px){.nd-site .nd-drawer,.nd-site .nd-backdrop{display:none}}
@media (max-width:900px){.nd-site nav.main{display:none}
.nd-site .menu-btn{display:flex}}
/* page hero */
.nd-site .phero{position:relative;overflow:hidden;background:#0B1E3A;border-bottom:1px solid var(--line)}
.nd-site .phero .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.nd-site .phero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,38,70,.78) 0%,rgba(15,38,70,.45) 55%,rgba(15,38,70,.25) 100%)}
.nd-site .phero--mesh::after{background:linear-gradient(90deg,rgba(8,22,44,.55) 0%,rgba(8,22,44,.2) 60%,rgba(8,22,44,.05) 100%)}
.nd-site canvas.mesh{position:absolute;inset:0;width:100%;height:100%;display:block}
/* hero slider */
.nd-site .slides{position:absolute;inset:0}
.nd-site .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease}
.nd-site .slide.on{opacity:1}
.nd-site .slide img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.07);transition:transform 8s linear}
.nd-site .slide.on img{transform:scale(1)}
.nd-site .dots{position:absolute;z-index:4;left:0;right:0;bottom:24px;display:flex;justify-content:center;gap:10px}
.nd-site .dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.42);cursor:pointer;transition:background .2s,transform .2s}
.nd-site .dots button:hover{background:rgba(255,255,255,.75)}
.nd-site .dots button[aria-current="true"]{background:#fff;transform:scale(1.3)}
.nd-site .phero-in{position:relative;z-index:2;padding-block:clamp(58px,10vw,112px)}
.nd-site .phero h1{color:#fff;font-size:clamp(30px,4.6vw,46px);font-weight:900;letter-spacing:.06em}
.nd-site .phero .sub{margin-top:14px;font-family:var(--en);font-size:clamp(13px,1.7vw,16px);letter-spacing:.34em;text-transform:uppercase;color:rgba(255,255,255,.82);font-weight:500}
.nd-site .phero .rule{width:54px;height:3px;background:#fff;opacity:.9;margin-bottom:24px}
.nd-site .phero--tall .phero-in{padding-block:clamp(96px,17vw,190px)}
.nd-site .phero--photo{height:clamp(320px,46vw,600px)}
.nd-site .phero--photo::after{background:linear-gradient(180deg,rgba(8,20,38,.16) 0%,rgba(8,20,38,.02) 38%,rgba(8,20,38,.26) 100%)}
/* tabs */
.nd-site .tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:34px;flex-wrap:wrap}
.nd-site .tab{position:relative;appearance:none;background:none;border:0;padding:13px 20px;margin-bottom:-1px;font-family:var(--zh);font-size:17px;font-weight:700;color:var(--muted);cursor:pointer;transition:color .18s}
.nd-site .tab:hover{color:var(--ink)}
.nd-site .tab[aria-selected="true"]{color:var(--brand)}
.nd-site .tab[aria-selected="true"]::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;background:var(--brand)}
.nd-site .tab.en{font-family:var(--en);font-size:16px;letter-spacing:.02em}
.nd-site .pane[hidden]{display:none}
.nd-site .pane .prose{animation:paneIn .35s ease}
@keyframes paneIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.nd-site .prose.en{font-family:var(--en);font-size:15.5px;line-height:2.05;max-width:74ch}
@media (max-width:520px){.nd-site .tab{padding:12px 14px;font-size:15.5px}
.nd-site .tab.en{font-size:15px}}
/* generic page */
.nd-site .page[hidden]{display:none!important}
.nd-site .sect{padding-block:clamp(52px,7vw,84px)}
.nd-site .sect.alt{background:var(--surface)}
.nd-site .shead{margin-bottom:clamp(30px,4vw,46px)}
.nd-site .shead .rule{width:44px;height:3px;background:var(--brand);margin-bottom:18px}
.nd-site .shead h2{font-size:clamp(23px,3vw,31px);font-weight:900;letter-spacing:.05em}
.nd-site .shead .en{display:block;margin-top:7px;font-family:var(--en);font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-weight:500}
/* about prose */
.nd-site .prose{max-width:66ch;font-size:16.5px;line-height:2.15;color:var(--body)}
.nd-site .about-grid{display:grid;grid-template-columns:minmax(0,1fr) 332px;gap:56px;align-items:start}
.nd-site .about-grid .prose{max-width:none}
.nd-site .about-grid .loc{position:sticky;top:96px}
@media (max-width:980px){.nd-site .about-grid{grid-template-columns:1fr;gap:34px}
.nd-site .about-grid .loc{position:static}}
/* timeline — horizontal */
.nd-site .tlbox{position:relative}
.nd-site .tlbox::before, .nd-site .tlbox::after{content:"";position:absolute;top:0;bottom:0;width:70px;pointer-events:none;z-index:3;opacity:0;transition:opacity .3s}
.nd-site .tlbox::before{left:0;background:linear-gradient(90deg,var(--ground),rgba(250,251,253,0))}
.nd-site .tlbox::after{right:0;background:linear-gradient(270deg,var(--ground),rgba(250,251,253,0))}
.nd-site .tlbox.can-l::before{opacity:1}
.nd-site .tlbox.can-r::after{opacity:1}
.nd-site .tlhint{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:6px;color:var(--muted)}
.nd-site .tlhint[hidden]{display:none}
.nd-site .tlhint .rail{position:relative;width:96px;height:26px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.nd-site .tlhint .rail i{position:absolute;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--brand);left:7px;animation:hintSlide 2.4s ease-in-out infinite}
.nd-site .tlhint svg{width:15px;height:15px;opacity:.6}
.nd-site .tlhint.gone{opacity:0;transition:opacity .4s;pointer-events:none}
@keyframes hintSlide{0%,8%{left:7px}50%{left:79px}92%,100%{left:7px}}
.nd-site .tlscroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding-block:10px;scrollbar-width:none;-ms-overflow-style:none}
.nd-site .tlscroll::-webkit-scrollbar{display:none;height:0}
.nd-site .tltrack{position:relative;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));width:max(100%,1760px);margin:0 auto;padding-inline:70px;min-height:432px}
.nd-site .tltrack::before{content:"";position:absolute;left:0;right:0;top:calc(50% - 1px);height:2px;background:var(--line);transform-origin:left center}
.nd-site .tnode{position:relative;display:grid;grid-template-rows:1fr 62px 1fr;justify-items:center;min-width:0}
.nd-site .tnode::after{content:"";position:absolute;left:calc(50% - 1px);width:2px;height:24px;background:var(--line)}
.nd-site .tnode:nth-child(odd)::after{bottom:calc(50% + 31px)}
.nd-site .tnode:nth-child(even)::after{top:calc(50% + 31px)}
.nd-site .tyear{grid-row:2;width:62px;height:62px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:14.5px;font-weight:500;font-variant-numeric:tabular-nums;border:4px solid var(--ground);z-index:2;transition:transform .2s}
.nd-site .tcard{width:218px;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:15px 17px;transition:border-color .2s,box-shadow .2s,transform .2s}
.nd-site .tnode:nth-child(odd) .tcard{grid-row:1;align-self:end;margin-bottom:24px}
.nd-site .tnode:nth-child(even) .tcard{grid-row:3;align-self:start;margin-top:24px}
.nd-site .tcard svg{width:23px;height:23px;color:var(--brand);display:block;margin-bottom:9px}
.nd-site .tcard p{font-size:13px;line-height:1.85;color:var(--ink)}
.nd-site .tnode:hover .tcard{border-color:var(--brand);box-shadow:var(--shadow);transform:translateY(-3px)}
.nd-site .tnode:hover .tyear{transform:scale(1.07)}
.nd-site .tltrack.anim .tnode{opacity:0}
.nd-site .tltrack.anim::before{transform:scaleX(0)}
.nd-site .tltrack.anim.run::before{animation:tlDraw 1.6s cubic-bezier(.38,0,.2,1) forwards}
.nd-site .tltrack.anim.run .tnode{animation:tlRise .6s cubic-bezier(.22,.9,.3,1) forwards;animation-delay:calc(var(--i)*150ms + 320ms)}
@keyframes tlDraw{to{transform:scaleX(1)}}
@keyframes tlRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (max-width:640px){.nd-site .tltrack{padding-inline:48px;min-height:400px}
.nd-site .tcard{width:200px}
.nd-site .tlbox::before, .nd-site .tlbox::after{width:38px}
}
/* values — 深藍底白 icon */
.nd-site .vals-band{background:linear-gradient(135deg,#0E2A4E 0%,#1C4678 52%,#0B2140 100%)}
.nd-site .vals-band .ring{border-color:rgba(255,255,255,.55)!important;color:#fff!important}
.nd-site .vals-band .val:hover .ring{background:rgba(255,255,255,.12)}
.nd-site .vals-band .val h3{color:#fff}
.nd-site .vals-band .val span{color:rgba(255,255,255,.66)}
.nd-site .vals{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.nd-site .val{text-align:center}
.nd-site .val .ring{position:relative;width:104px;height:104px;margin:0 auto;border:1.5px solid var(--brand);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--brand);transition:background .2s,transform .2s}
.nd-site .val .ring::before, .nd-site .val .ring::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:1.5px solid currentColor;opacity:0;pointer-events:none;animation:ripple 3.6s cubic-bezier(.2,.65,.3,1) infinite;animation-delay:var(--rd,0s)}
.nd-site .val .ring::after{animation-delay:calc(var(--rd,0s) + 1.8s)}
@keyframes ripple{0%{transform:scale(1);opacity:.55}60%{opacity:.12}100%{transform:scale(1.58);opacity:0}}
.nd-site .vals .val:nth-child(1){--rd:0s}
.nd-site .vals .val:nth-child(2){--rd:.45s}
.nd-site .vals .val:nth-child(3){--rd:.9s}
.nd-site .vals .val:nth-child(4){--rd:1.35s}
.nd-site .val:hover .ring{background:var(--brand-soft);transform:translateY(-3px)}
.nd-site .val .ring svg{width:62px;height:62px}
.nd-site .val h3{margin-top:18px;font-size:25px;font-weight:700;letter-spacing:.14em;color:var(--brand-deep)}
.nd-site .val span{display:block;margin-top:2px;font-family:var(--en);font-size:13.5px;letter-spacing:.03em;color:var(--muted)}
@media (max-width:760px){.nd-site .vals{grid-template-columns:repeat(2,1fr);gap:34px 18px}}
@media (max-width:400px){.nd-site .val .ring{width:88px;height:88px}
.nd-site .val .ring svg{width:52px;height:52px}
.nd-site .val h3{font-size:21px}}
/* brand cards */
.nd-site .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.nd-site .card{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surface);transition:border-color .18s,box-shadow .18s,transform .18s}
.nd-site .card:hover{border-color:var(--brand);box-shadow:var(--shadow);transform:translateY(-2px)}
.nd-site .card .logo{height:112px;display:flex;align-items:center;justify-content:center;padding:20px 24px;background:#fff;border-bottom:1px solid var(--line-soft)}
.nd-site .card .logo img{max-height:56px;width:auto;max-width:100%;display:block}
.nd-site .card .body{padding:20px 22px 8px;flex:1}
.nd-site .lines li{padding:6px 0;border-bottom:1px dashed var(--line-soft);font-size:13.5px;line-height:1.7;color:var(--body);word-break:break-word}
.nd-site .lines li:last-child{border-bottom:0}
.nd-site .lines li.head{font-weight:700;color:var(--ink);border-bottom:0;padding-bottom:0}
.nd-site .card .foot{padding:12px 22px 20px}
.nd-site .card .foot a{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;font-family:var(--en);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand);font-weight:600}
.nd-site .card .foot a:hover{color:var(--brand-deep)}
.nd-site .card .foot svg{width:13px;height:13px;transition:transform .28s cubic-bezier(.3,.8,.3,1)}
.nd-site .card:hover .foot svg, .nd-site .card .foot a:hover svg{transform:translateX(6px)}
@media (max-width:1000px){.nd-site .cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.nd-site .cards{grid-template-columns:1fr}}
/* news */
.nd-site .newslist{border-top:1px solid var(--line)}
.nd-site .newslist a{display:grid;grid-template-columns:132px 1fr auto;gap:22px;align-items:center;padding:24px 6px;border-bottom:1px solid var(--line);transition:background .15s}
.nd-site .newslist a:hover{background:var(--surface-2)}
.nd-site .newslist time{font-family:var(--mono);font-size:13.5px;color:var(--brand);font-variant-numeric:tabular-nums}
.nd-site .newslist h3{font-size:17px;font-weight:500}
.nd-site .newslist .src{font-size:12.5px;color:var(--muted);white-space:nowrap}
@media (max-width:680px){.nd-site .newslist a{grid-template-columns:1fr;gap:6px}
.nd-site .newslist .src{justify-self:start}}
.nd-site .stock{position:relative;overflow:hidden;border:1px solid var(--line)}
.nd-site .stock .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nd-site .stock::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,30,26,.72),rgba(10,30,26,.4))}
.nd-site .stock-in{position:relative;z-index:2;padding:clamp(32px,5vw,54px);display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.nd-site .stock-in a{display:flex;align-items:center;gap:15px;padding:18px 20px;background:rgba(255,255,255,.94);border-radius:3px;color:#12263D;font-size:15.5px;font-weight:500;transition:transform .15s}
.nd-site .stock-in a:hover{transform:translateY(-2px)}
.nd-site .stock-in svg{flex:none;width:22px;height:22px;color:#2C5F9E}
@media (max-width:680px){.nd-site .stock-in{grid-template-columns:1fr}}
/* contact */
.nd-site .cgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:start}
.nd-site form.enq{border:1px solid var(--line);background:var(--surface);padding:clamp(20px,3vw,30px);box-shadow:var(--shadow)}
.nd-site .req-note{font-size:12.5px;color:var(--muted);margin-bottom:22px;font-family:var(--en)}
.nd-site .field{margin-bottom:20px}
.nd-site label.lbl{display:block;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:9px;letter-spacing:.03em}
.nd-site label.lbl b{color:var(--brand);font-weight:600;margin-left:2px}
.nd-site input, .nd-site select, .nd-site textarea{width:100%;font-family:var(--zh);font-size:14.5px;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:3px;padding:12px 13px}
.nd-site textarea{min-height:130px;resize:vertical;line-height:1.75}
.nd-site input:focus, .nd-site textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.nd-site .radios{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.nd-site .radio{display:flex;align-items:center;gap:9px;padding:12px 13px;border:1px solid var(--line);background:var(--surface-2);border-radius:3px;cursor:pointer;font-size:14px;color:var(--body)}
.nd-site .radio input{width:auto;accent-color:var(--brand)}
.nd-site .radio:has(input:checked){border-color:var(--brand);background:var(--brand-soft);color:var(--brand-deep);font-weight:500}
.nd-site .submit{display:inline-flex;align-items:center;gap:10px;padding:13px 30px;background:var(--brand);color:#fff;border:0;border-radius:3px;font-family:var(--en);font-size:14px;font-weight:600;letter-spacing:.16em;cursor:pointer;transition:background .15s}
.nd-site .submit:hover{background:var(--brand-deep)}
.nd-site #formOk{margin-top:16px;padding:13px 15px;border:1px solid var(--brand);background:var(--brand-soft);color:var(--brand-deep);font-size:14px;border-radius:3px}
@media (max-width:880px){.nd-site .cgrid{grid-template-columns:1fr;gap:30px}}
@media (max-width:460px){.nd-site .radios{grid-template-columns:1fr}}
/* location */
.nd-site .loc{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}
.nd-site .loc-head{padding:14px 22px;border-bottom:1px solid var(--line);background:var(--surface-3);font-family:var(--en);font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);font-weight:600}
.nd-site .loc-body{padding:24px 22px}
.nd-site .loc .cn{font-size:20px;font-weight:700;color:var(--ink);letter-spacing:.06em}
.nd-site .loc .en-name{font-family:var(--en);font-size:14px;color:var(--muted);letter-spacing:.06em;margin-top:4px}
.nd-site .loc ul{margin-top:22px}
.nd-site .loc li{display:grid;grid-template-columns:52px 1fr;gap:14px;padding:12px 0;border-top:1px solid var(--line-soft);align-items:start}
.nd-site .loc .k{font-family:var(--en);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-top:4px}
.nd-site .loc .v{font-size:15px;color:var(--ink);line-height:1.75}
.nd-site .loc .v a{font-family:var(--mono);font-size:16px;color:var(--brand);font-weight:500}
.nd-site .loc .v .lat{display:block;font-family:var(--en);font-size:12.5px;color:var(--muted);margin-top:5px;line-height:1.6}
/* placeholder */
.nd-site .todo{border:1px dashed var(--line);background:var(--surface-2);padding:40px 24px;text-align:center;color:var(--muted);font-size:14.5px;border-radius:3px}
/* footer */
.nd-site footer.site{border-top:1px solid var(--line);background:var(--surface)}
.nd-site .foot{display:grid;grid-template-columns:1.25fr 1fr 1.1fr;gap:40px;padding-block:48px 28px}
.nd-site .foot img.lg{height:34px;width:auto;display:block}
.nd-site .foot h4{font-family:var(--en);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:14px}
.nd-site .foot li{padding:5px 0;font-size:14.5px}
.nd-site .foot li a:hover{color:var(--brand)}
.nd-site .foot .addr{font-size:14.5px;line-height:1.95;color:var(--body);margin-top:20px}
.nd-site .foot .addr .m{font-family:var(--mono);color:var(--ink)}
.nd-site .colophon{border-top:1px solid var(--line-soft);padding-block:18px 26px;font-family:var(--en);font-size:11px;letter-spacing:.1em;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between}
@media (max-width:820px){.nd-site .foot{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.nd-site .foot{grid-template-columns:1fr}}
.nd-site .skip{position:absolute;left:-9999px}
.nd-site .skip:focus{position:fixed!important;left:20px!important;top:12px!important;width:auto!important;height:auto!important;margin:0!important;padding:10px 16px!important;overflow:visible!important;clip:auto!important;z-index:999;background:var(--brand);color:#fff;border-radius:4px}

/* === 字體鎖定：即使佈景主題用 !important 指定字體也不會被蓋掉 === */
.nd-site,
.nd-site p,.nd-site li,.nd-site span,.nd-site div,.nd-site a,
.nd-site h1,.nd-site h2,.nd-site h3,.nd-site h4,.nd-site h5,
.nd-site label,.nd-site input,.nd-site textarea,.nd-site select,.nd-site button,
.nd-site time,.nd-site strong,.nd-site b,.nd-site em{font-family:var(--zh)!important}
.nd-site .en,.nd-site .sub,.nd-site .shead .en,.nd-site .tab.en,.nd-site .prose.en,
.nd-site .card .foot a,.nd-site .loc-head,.nd-site .loc .k,.nd-site .loc .en-name,
.nd-site .foot h4,.nd-site .colophon,.nd-site .submit,.nd-site .req-note,
.nd-site .wordmark,.nd-site .val span{font-family:var(--en)!important}
.nd-site .mono,.nd-site .tyear,.nd-site .newslist time,.nd-site .loc .v a,
.nd-site .foot .addr .m,.nd-site .spec dd{font-family:var(--mono)!important}

/* === 品牌 Logo 牆（銷售產品頁） === */
.nd-site .wall{display:grid;grid-template-columns:repeat(6,1fr);margin-bottom:34px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.nd-site .wall > *{background:#fff;display:flex;align-items:center;justify-content:center;padding:20px 16px;min-height:100px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}
.nd-site .wall img{max-height:44px;width:auto;max-width:100%;display:block;transition:transform .25s}
.nd-site .wall > *:hover img{transform:scale(1.06)}
.nd-site .wall a.jump{cursor:pointer;position:relative}
.nd-site .wall a.jump:hover{background:var(--surface-2)}
.nd-site .wall a.jump::after{content:"";position:absolute;left:50%;bottom:10px;width:0;height:2px;background:var(--brand);transform:translateX(-50%);transition:width .25s}
.nd-site .wall a.jump:hover::after{width:26px}
/* 點 Logo 捲到對應卡片時的提示 */
.nd-site .card{scroll-margin-top:96px}
.nd-site .card.flash{animation:cardFlash 1.6s ease}
@keyframes cardFlash{0%{box-shadow:0 0 0 0 rgba(44,95,158,.45);border-color:var(--brand)}60%{box-shadow:0 0 0 7px rgba(44,95,158,0);border-color:var(--brand)}100%{box-shadow:0 0 0 0 rgba(44,95,158,0)}}
@media (max-width:1000px){.nd-site .wall{grid-template-columns:repeat(4,1fr)}}
@media (max-width:640px){.nd-site .wall{grid-template-columns:repeat(3,1fr)}.nd-site .wall > div{padding:14px 10px;min-height:78px}.nd-site .wall img{max-height:32px}}

/* 抽屜開啟時鎖住背景捲動（非 .nd-site 作用域，由腳本加上） */
html.nd-lock,body.nd-lock{overflow:hidden!important}

/* === 無障礙隱藏類別（非 .nd-site 作用域） ===
   這些頁面會停用佈景主題 CSS，而佈景主題／無障礙外掛的
   「跳至主要內容」等略過連結是靠佈景主題的 .screen-reader-text
   規則隱藏的，因此在這裡補上 WordPress 標準寫法，避免文字外露。 */
.screen-reader-text,
.screen-reader-shortcut,
.skip-link:not(:focus),
.visually-hidden,
.sr-only{
  position:absolute!important;width:1px!important;height:1px!important;
  margin:-1px!important;padding:0!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;
  white-space:nowrap!important;border:0!important}
/* 鍵盤聚焦時仍要看得到（無障礙必要） */
.screen-reader-text:focus,
.screen-reader-shortcut:focus,
.skip-link:focus{
  position:fixed!important;top:12px!important;left:20px!important;
  width:auto!important;height:auto!important;margin:0!important;
  padding:10px 16px!important;overflow:visible!important;
  clip:auto!important;clip-path:none!important;white-space:normal!important;
  z-index:100000;background:#2C5F9E;color:#fff;border-radius:4px;
  text-decoration:none;font-size:15px;line-height:1.4}
