/* 織境首頁樣稿：大字＋實拍
   深色底、米白字、灰階細線；顏色全部交給照片；中文標題超粗緊行距 */
.bd{
  --bg:#121212;--bg-2:#1A1A1A;--paper:#ECEAE5;--paper-2:#E2E0DA;--txt:#ECEAE5;--mute:#A3A19C;--mute-2:#8A8883;--rule:#2E2E2E;--rule-2:#444;
  --ink:#121212;--ink-2:#3F3E3B;
  --lat:'Archivo Narrow','Noto Sans TC',sans-serif;
  --out:cubic-bezier(.16,1,.3,1);
  background:var(--bg);color:var(--txt);font-family:'Noto Sans TC',sans-serif;font-size:17px;line-height:1.85;letter-spacing:.02em;
}
.bd ::selection{background:var(--paper);color:var(--bg)}
.bd :focus-visible{outline:2px solid var(--paper);outline-offset:4px;border-radius:0}
.bd a{color:inherit}
.bd h1,.bd h2,.bd h3{margin:0;color:inherit;font-family:'Noto Sans TC',sans-serif}
.bd p{margin:0}
.bd .num{font-variant-numeric:tabular-nums}
.bd .skip{background:var(--paper);color:var(--bg)}
.b-wrap{max-width:1360px;margin:0 auto;padding:0 clamp(20px,3.6vw,48px)}
.bd h2{font-weight:900;font-size:clamp(36px,4.4vw,68px);line-height:1.08;letter-spacing:-.01em}

/* 按鈕：細框直角 */
.bbtn{display:inline-flex;align-items:center;gap:14px;padding:15px 22px;border:1px solid currentColor;text-decoration:none;font-weight:500;font-size:15px;letter-spacing:.12em;transition:background .3s var(--out),color .3s var(--out)}
.bbtn svg,.b-link svg,.b-list svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:square;transition:transform .35s var(--out)}
.bbtn:hover svg,.b-link:hover svg{transform:translateX(4px)}
.bbtn:hover{background:var(--paper);color:var(--bg);border-color:var(--paper)}
.bbtn.solid{background:var(--paper);color:var(--bg);border-color:var(--paper)}
.bbtn.solid:hover{background:transparent;color:var(--paper)}
.bbtn.sm{padding:9px 16px;font-size:14px}
.b-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:500;letter-spacing:.1em;padding-bottom:4px;border-bottom:1px solid currentColor}

/* 導覽 */
.b-top{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:32px;height:68px;padding:0 clamp(20px,3.6vw,48px);background:rgba(18,18,18,.92);border-bottom:1px solid var(--rule);backdrop-filter:blur(8px)}
.b-brand{display:flex;align-items:center;gap:12px;margin-right:auto;text-decoration:none}
.b-brand b{font-weight:900;font-size:20px;letter-spacing:.3em}
.b-brand small{font-family:var(--lat);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.b-top nav{display:flex;gap:28px}
.b-top nav a{text-decoration:none;font-size:14.5px;letter-spacing:.12em;color:var(--mute)}
.b-top nav a:hover{color:var(--txt)}

/* 首屏：左半實拍拼貼、右半超粗主標 */
.b-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:min(calc(100svh - 68px),940px);border-bottom:1px solid var(--rule)}
.b-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));min-height:0;gap:4px;background:var(--bg)}
.b-wall .t{position:relative;overflow:hidden;background:var(--bg-2)}
.b-wall .t > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--out)}
.b-wall .t:hover > img{transform:scale(1.04)}
.b-wall .t-site{grid-column:span 2;display:flex;align-items:center;justify-content:center;padding:4% 8%;overflow:hidden;background:#D9D2C6}
.b-wall .t-site .device{width:100%;border-radius:0;box-shadow:0 30px 50px -30px rgba(0,0,0,.6)}
.b-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:56px clamp(28px,4.6vw,80px)}
.b-hero h1{font-weight:900;font-size:clamp(56px,6.6vw,112px);line-height:1.1;letter-spacing:-.02em}
.b-hero h1 span{display:block;white-space:nowrap}
.b-hero h1{padding-bottom:.12em}
.b-lead{margin-top:52px;max-width:30em;color:var(--mute);font-size:17px}
.b-price{margin-top:20px;font-size:15px;letter-spacing:.06em}
.b-sep{display:inline-block;width:1px;height:13px;margin:0 14px;background:var(--rule-2);vertical-align:-1px}
.b-acts{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.b-note{margin-top:28px;font-size:12.5px;color:var(--mute-2);letter-spacing:.04em}

/* 段落 */
.b-sec{padding:clamp(96px,11vw,170px) 0;border-bottom:1px solid var(--rule)}
.b-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:28px 64px;align-items:end;margin-bottom:clamp(56px,6vw,96px)}
.b-head p{color:var(--mute);max-width:34em}
.b-small{margin-top:44px;font-size:14px;color:var(--mute-2)}
.b-more{margin-top:48px}

/* 精選作品：大照片＋網站畫面交錯 */
.b-case{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:center}
.b-case + .b-case{margin-top:clamp(80px,9vw,140px)}
.b-case.flip{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.b-case.flip .b-shot{order:2}
.b-shot{position:relative;display:block;aspect-ratio:4/3;overflow:visible}
.b-shot > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:filter .6s var(--out)}
.b-shot:hover > img{filter:brightness(.9)}
.b-site{position:absolute;right:-6%;bottom:-8%;width:52%;box-shadow:0 40px 60px -30px rgba(0,0,0,.8);transition:transform .6s var(--out)}
.b-case.flip .b-site{right:auto;left:-6%}
.b-shot:hover .b-site{transform:translateY(-8px)}
.b-site .device{border-radius:0}
.b-case-txt h3{font-weight:900;font-size:clamp(30px,3vw,46px);line-height:1.15;letter-spacing:.02em}
.b-kind{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:14px;color:var(--mute);letter-spacing:.08em}
.b-kind span{color:var(--mute-2)}
.b-dir{margin-top:22px;font-size:19px;font-weight:500;line-height:1.6}
.b-desc{margin-top:12px;color:var(--mute);font-size:15.5px;max-width:30em}
.b-case-txt .b-link{margin-top:26px}

/* 作品索引：大字清單，滑過時照片浮現 */
.b-index{position:relative}
.b-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-2)}
.b-list a{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr) auto 24px;gap:20px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--rule-2);text-decoration:none;transition:padding .45s var(--out),color .3s}
.b-list a:hover{padding-left:18px}
.i-name{font-weight:900;font-size:clamp(24px,2.5vw,38px);letter-spacing:.02em;line-height:1.2}
.i-kind{color:var(--mute);font-size:15px;letter-spacing:.06em}
.i-tag{color:var(--mute-2);font-size:13px;letter-spacing:.08em;white-space:nowrap}
.b-list:hover a{color:var(--mute-2)}
.b-list a:hover{color:var(--txt)}
.b-peek{position:fixed;left:0;top:0;width:280px;height:200px;object-fit:cover;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.92);transition:opacity .3s var(--out),transform .3s var(--out);z-index:40}
.b-peek.on{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* 三條宣言 */
.b-pledge ul{list-style:none;margin:0;padding:0}
.b-pledge li{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:24px 48px;align-items:end;padding:36px 0;border-top:1px solid var(--rule-2)}
.b-pledge li:last-child{border-bottom:1px solid var(--rule-2)}
.p-big{font-weight:900;font-size:clamp(40px,5.4vw,88px);line-height:1.05;letter-spacing:-.01em}
.p-big b,.p-big span{white-space:nowrap}
.p-big span{color:var(--mute-2);margin-left:.4em}
.p-small{color:var(--mute);font-size:16px}

/* 方案：反轉為米白 */
.b-light{background:var(--paper);color:var(--ink);border-bottom:0}
.b-light .b-head p{color:var(--ink-2)}
.b-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink)}
.b-plan{padding:30px 32px 32px 0}
.b-plan + .b-plan{padding-left:32px;border-left:1px solid #C9C6BF}
.b-plan h3{font-weight:900;font-size:28px}
.b-tag{margin-top:6px;color:var(--ink-2);font-size:15px}
.b-amt{margin-top:26px;font-size:15px;color:var(--ink-2)}
.b-amt b{font-weight:900;font-size:64px;letter-spacing:-.02em;color:var(--ink);margin:0 6px;line-height:1}
.b-year{font-size:14px;color:var(--ink-2)}
.b-plan ul{list-style:none;margin:20px 0 0;padding:16px 0 0;border-top:1px solid #C9C6BF;font-size:15px;color:var(--ink-2);line-height:2}
.b-ver{list-style:none;margin:48px 0 0;padding:0;border-top:2px solid var(--ink)}
.b-ver li{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr) auto;gap:10px 32px;align-items:baseline;padding:20px 0;border-bottom:1px solid #C9C6BF}
.v-n{font-weight:700;letter-spacing:.06em}
.v-n em{font-style:normal;font-size:12px;letter-spacing:.2em;background:var(--ink);color:var(--paper);padding:3px 8px 3px 10px;margin-left:12px;vertical-align:2px}
.v-d{color:var(--ink-2);font-size:15px}
.v-a{font-size:14.5px;color:var(--ink-2);white-space:nowrap}
.v-a b{font-weight:900;font-size:28px;color:var(--ink);margin:0 4px}

/* 流程 */
.b-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--rule-2)}
.b-steps li{padding:26px 24px 0 0}
.b-steps li + li{padding-left:24px;border-left:1px solid var(--rule)}
.s-n{font-family:var(--lat);font-weight:600;font-size:48px;line-height:1;color:var(--mute-2)}
.b-steps h3{margin-top:20px;font-weight:700;font-size:19px;letter-spacing:.06em}
.b-steps p{margin-top:8px;color:var(--mute);font-size:15px}

/* 常見問題 */
.b-faq{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,6vw,96px);align-items:start}
.b-faq header p{margin-top:20px;color:var(--mute)}
.bd .faq{border-top:1px solid var(--rule-2)}
.bd .faq details{border-bottom:1px solid var(--rule-2)}
.bd .faq summary{position:relative;list-style:none;cursor:pointer;padding:22px 48px 22px 0;font-weight:500;font-size:17px;letter-spacing:.04em;color:var(--txt)}
.bd .faq summary::-webkit-details-marker{display:none}
.bd .faq summary::before,.bd .faq summary::after{content:"";position:absolute;right:6px;top:50%;width:18px;height:1.5px;background:var(--txt);transition:transform .35s var(--out)}
.bd .faq summary::after{transform:rotate(90deg)}
.bd .faq details[open] summary::after{transform:rotate(0)}
.bd .faq details p{padding:0 0 24px;color:var(--mute);font-size:15.5px;max-width:42em}

/* 結尾 */
.b-close{padding:clamp(110px,13vw,200px) 0 clamp(80px,9vw,140px)}
.b-close h2{font-size:clamp(48px,7.4vw,124px);line-height:1.02;letter-spacing:-.02em}
.b-close h2 span{display:block}
.b-close h2 span:last-child{color:var(--mute-2)}
.b-close-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:28px;margin-top:56px;padding-top:28px;border-top:1px solid var(--rule-2)}
.b-close-row p{color:var(--mute);max-width:32em}

/* 頁尾 */
.b-foot{border-top:1px solid var(--rule);padding:52px 0 40px;font-size:14.5px;color:var(--mute)}
.b-foot-grid{display:grid;grid-template-columns:minmax(0,5fr) repeat(2,minmax(0,2fr));gap:24px 48px}
.b-f-brand b{display:block;color:var(--txt);font-weight:900;font-size:20px;letter-spacing:.3em;margin-bottom:6px}
.b-foot ul{list-style:none;margin:0;padding:0;line-height:2.2}
.b-foot a{text-decoration:none;color:var(--mute)}
.b-foot a:hover{color:var(--txt)}
.b-legal{grid-column:1/-1;padding-top:22px;border-top:1px solid var(--rule);font-size:13px}
.b-legal span:empty{display:inline-block;width:1px;height:12px;margin:0 12px;background:var(--rule-2);vertical-align:-1px}

/* 平板與手機 */
@media (max-width:1100px){
  .b-top nav{gap:18px}.b-top nav a{font-size:13.5px;letter-spacing:.06em}
  .b-steps{grid-template-columns:repeat(5,minmax(160px,1fr));overflow-x:auto;padding-bottom:10px}
}
@media (max-width:980px){
  .b-top{height:60px}
  .b-top{flex-wrap:wrap;height:auto;padding-top:10px;padding-bottom:0}
  .b-top nav{order:3;flex-basis:100%;gap:22px;padding:8px 0 10px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .b-hero{grid-template-columns:1fr;min-height:0}
  .b-wall{height:min(110vw,640px)}
  .b-hero-copy{padding:48px clamp(20px,5vw,40px) 64px}
  .b-head,.b-case,.b-case.flip,.b-faq,.b-pledge li{grid-template-columns:1fr}
  .b-case.flip .b-shot{order:0}
  .b-site{right:-3%;bottom:-6%;width:56%}
  .b-case.flip .b-site{left:auto;right:-3%}
  .b-case-txt{margin-top:40px}
  .b-plans{grid-template-columns:1fr}
  .b-plan,.b-plan + .b-plan{padding:28px 0;border-left:0;border-bottom:1px solid #C9C6BF}
  .b-list a{grid-template-columns:minmax(0,1fr) 24px}
  .i-kind,.i-tag{grid-column:1}
  .b-peek{display:none}
  .b-foot-grid{grid-template-columns:1fr 1fr}.b-f-brand{grid-column:1/-1}
}
@media (max-width:640px){
  .bd{font-size:16px}
  .b-brand small{display:none}
  .b-hero h1{font-size:clamp(46px,14vw,70px)}
  .b-acts .bbtn{flex:1;justify-content:space-between}
  .b-ver li{grid-template-columns:1fr;gap:4px}
  .b-steps{grid-template-columns:1fr;overflow:visible}
  .b-steps li,.b-steps li + li{padding:22px 0;border-left:0;border-bottom:1px solid var(--rule)}
  .b-close h2{font-size:clamp(38px,11vw,64px)}
}
@media (prefers-reduced-motion:reduce){
  .b-wall .t img,.b-shot > img,.b-site,.b-list a,.bbtn svg,.b-link svg{transition:none}
}

/* ===== 其他頁面：沿用舊元件，換上深色、粗字與實拍（w 版） ===== */
.bd{--white:#1A1A1A;--text:#D8D6D1;--muted:#A3A19C;--soft:#8C8A85;--line:#2E2E2E;--line-2:#444;--accent:#ECEAE5;--link:#ECEAE5;--serif:'Noto Sans TC',sans-serif;--on-ink:#ECEAE5;--on-ink-2:#A3A19C}
.bd .screen,.bd .phone,.bd .wk-mob-stage{--bg:#F5F3EE;--bg-2:#ECE8DF;--white:#FFFFFF;--ink:#141B22;--text:#1C232B;--muted:#5A626B;--soft:#858B92;--line:#E1DDD3;--line-2:#CBC6BB;--accent:#8A6631;--link:#2B4A6F;--serif:'Noto Serif TC','Songti TC','PMingLiU',serif;color:#1C232B}
.bd{--ink:#ECEAE5;--bg:#121212;--bg-2:#1A1A1A}
.bd .kicker,.bd .plan .en,.bd .journey small,.bd .journey .no,.bd .seo-set .n,.bd .zooms .no{display:none}
.bd .wrap{max-width:1360px;padding:0 clamp(20px,3.6vw,48px)}
.bd .sec{padding:clamp(88px,10vw,150px) 0;border-bottom:1px solid var(--rule)}
.bd .sec.white,.bd .sec.tint{background:var(--bg-2)}
.bd .lead{color:var(--mute)}
.bd h2{font-weight:900}
.bd .head{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}

/* 頁首區：超粗大字 */
.bd .page-head{padding:clamp(72px,9vw,140px) 0 clamp(56px,6vw,96px);border-bottom:1px solid var(--rule);background:transparent}
.bd .page-head h1,.bd .wk-head h1,.bd .nf h1{font-family:'Noto Sans TC',sans-serif;font-weight:900;font-size:clamp(48px,6.2vw,104px);line-height:1.08;letter-spacing:-.02em;color:var(--txt)}
.bd .page-head .lead{margin-top:28px;max-width:34em;font-size:17px}
.bd .crumb{font-size:13.5px;letter-spacing:.14em;color:var(--mute-2);margin-bottom:24px}
.bd .crumb a{color:var(--mute);text-decoration:none}

/* 按鈕：米白實心、細框 */
.bd .btn{border-radius:0;min-height:52px;letter-spacing:.12em;font-weight:500}
.bd .btn-ink,.bd .btn-gold{background:var(--paper);color:var(--bg);border:1px solid var(--paper)}
.bd .btn-ink:hover,.bd .btn-gold:hover{background:transparent;color:var(--paper)}
.bd .btn-outline,.bd .btn-ghost,.bd .btn-line{background:transparent;color:var(--paper);border:1px solid var(--paper)}
.bd .btn-outline:hover,.bd .btn-ghost:hover,.bd .btn-line:hover{background:var(--paper);color:var(--bg)}

/* 結尾行動區：超大字 */
.bd .cta{background:var(--bg);border-bottom:0;border-top:1px solid var(--rule)}
.bd .cta h2{font-size:clamp(44px,5.6vw,92px);line-height:1.05;letter-spacing:-.02em;color:var(--txt)}
.bd .cta p{color:var(--mute)}

/* 方案卡、比較表 */
.bd .plan{border-radius:0;background:var(--bg-2);border-color:var(--rule-2)}
.bd .plan.rec{background:var(--paper);border-color:var(--paper);--ink:#121212;--text:#2B2A28;--muted:#4A4945;--soft:#5E5C58;--line:#C9C6BF;--line-2:#9A978F;--accent:#121212}
.bd .plan .price b{font-weight:900;letter-spacing:-.02em}
.bd .plan h3 .lv{border-radius:0}
.bd .plan li::before{width:6px;height:1.5px;border:0;background:currentColor;transform:none;top:.85em;left:2px}
.bd .rec-tag{border-radius:0;background:var(--bg);color:var(--paper)}
.bd .bill-toggle{border-radius:0;border-color:var(--rule-2);background:transparent}
.bd .bill-toggle button{border-radius:0;color:var(--mute)}
.bd .bill-toggle button[aria-pressed="true"]{background:var(--paper);color:var(--bg)}
.bd .plans-perk .pk{border-radius:0}
.bd .cmp thead th{border-bottom-color:var(--paper)}
.bd .cmp thead th:first-child,.bd .cmp tbody th{background:var(--bg)}
.bd .sec.white .cmp thead th:first-child,.bd .sec.white .cmp tbody th{background:var(--bg-2)}
.bd .cmp tbody tr:not(.grp):hover td,.bd .cmp tbody tr:not(.grp):hover th{background:#222}
.bd .cmp .ok{background:var(--paper)}
.bd .cmp .ok svg{stroke:var(--bg)}
.bd .blocks{border-radius:0;background:var(--bg-2);border-color:var(--rule-2)}
.bd .pg{border-radius:0;background:var(--bg);border-color:var(--rule-2)}
.bd .pg i{background:#2E2E2E}
.bd .pg i:first-child{background:var(--paper);opacity:.85}

/* 作品：以該作品照片當舞台背景 */
.bd .filters button{border-radius:0;border-color:var(--rule-2);color:var(--mute)}
.bd .filters button:hover{border-color:var(--paper);color:var(--txt)}
.bd .filters button.on{background:var(--paper);border-color:var(--paper);color:var(--bg)}
.bd .filters button.on span{color:var(--bg)}
.bd .case-open,.bd .wk-hero{border-radius:0;background:linear-gradient(rgba(18,18,18,.18),rgba(18,18,18,.18)),var(--ph,#1A1A1A) center/cover}
.bd .case-open .device,.bd .wk-hero .device{border-radius:0;box-shadow:0 40px 60px -30px rgba(0,0,0,.75)}
.bd .wk-long,.bd .zoom,.bd .wk-mob-stage,.bd .sp{border-radius:0;background:var(--bg-2)}
.bd .case .cap h3{font-weight:900;font-size:clamp(24px,2.2vw,34px);letter-spacing:.02em}
.bd .case .cap .tagline{display:none}
.bd .case .cap h3{order:1}.bd .case .cap small{order:3}.bd .case .cap p{order:4}.bd .case .cap .more{order:5}
.bd .device{border-radius:0}
.bd .wd-in{border-radius:0}
.bd .wd-view{background:var(--bg-2)}
.bd .wk-intro .disc{background:var(--bg-2);border:1px solid var(--rule-2);border-left-width:1px;color:var(--mute)}
.bd .strike{display:flex;align-items:center;justify-content:center;gap:10px;background:rgba(18,18,18,.82);color:var(--txt);font-size:13px;letter-spacing:.12em;line-height:1.2;padding:9px 14px}
.bd .strike i{width:14px;height:1px;background:currentColor;opacity:.6;flex:none}
.bd .case-strike{position:absolute;left:0;right:0;bottom:0;z-index:3}
.bd .case-open .device{bottom:38px}
.bd .wk-strike{max-width:calc(1360px - 2 * clamp(20px,3.6vw,48px));margin:0 auto;background:var(--bg-2)}
.bd .facts-line{display:inline-flex;flex-wrap:wrap;justify-content:flex-start;margin-top:40px;background:transparent;border:1px solid var(--rule-2);padding:10px 16px}

/* 表單、側欄、說明 */
.bd .form,.bd .side-card,.bd .callout,.bd .result,.bd .line-desk{border-radius:0;border:1px solid var(--rule-2);background:var(--bg-2)}
.bd .callout{border-left-width:1px}
.bd .inp{border-radius:0;border-color:var(--rule-2);background:var(--bg);color:var(--txt)}
.bd .inp::placeholder{color:var(--mute-2)}
.bd .inp:focus{border-color:var(--paper);box-shadow:0 0 0 3px rgba(236,234,229,.15);background:var(--bg)}
.bd select.inp option{background:var(--bg);color:var(--txt)}
.bd .chips span{border-radius:0;border-color:var(--rule-2);color:var(--mute);background:transparent}
.bd .chips input:checked + span{background:var(--paper);border-color:var(--paper);color:var(--bg)}
.bd .form legend{color:var(--txt)}
.bd .form legend i{background:var(--paper)}
.bd .result pre{border-radius:0;background:var(--bg);color:var(--txt);border-color:var(--rule-2)}
.bd .line-desk .qr{background:#fff;padding:6px}
.bd .side-card .ph{display:none}
.bd .prose h2{font-weight:900;font-size:clamp(24px,2.1vw,32px);margin-top:60px;padding-top:30px;border-top:1px solid var(--rule)}
.bd .prose h2:first-child{margin-top:0;padding-top:0;border-top:0}
.bd .prose p,.bd .prose li{color:var(--mute)}
.bd .toc a{color:var(--mute)}
.bd .journey li{background:none;border:0;border-top:1px solid var(--rule-2);padding:22px 4px 0 0}
.bd .base svg{color:var(--txt)}
.bd .local-note{border-left-width:1px;border-left-color:var(--rule-2)}

/* 影音、SEO */
.bd .reel{border-radius:0}
.bd .reel .demo,.bd .reel .dur{border-radius:0}
.bd .reel .demo{background:rgba(18,18,18,.82);color:var(--txt)}
.bd .tc{font-weight:900;letter-spacing:-.01em}
.bd .pin{border-radius:0;background:var(--paper);color:var(--bg)}
.bd .tbl{border-radius:0;border-color:var(--rule-2);background:var(--bg-2)}
.bd .tbl thead th{background:var(--bg);color:var(--mute)}
.bd .tbl td:nth-child(2){font-weight:900;color:var(--txt)}
.bd .ana-card{border-radius:0}
.bd .b-light{--ink:#121212;--ink-2:#3F3E3B}
.bd .cta h2{font-size:clamp(34px,4.6vw,76px);text-wrap:balance}
.bd .cta .wrap{grid-template-columns:minmax(0,1fr)}
.bd .nw{display:inline-block}

/* ===== 審查修正：內頁也用實拍與細線，不用框卡 ===== */
/* 首屏「示意」標在照片牆上 */
.bd .b-wall{position:relative}
.bd .b-wall .b-note{position:absolute;left:10px;bottom:10px;z-index:2;margin:0;padding:4px 10px;font-size:12px;letter-spacing:.14em;color:var(--txt);background:rgba(18,18,18,.72)}

/* 內頁頁首：左字右照片 */
.bd .ph-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,4.4vw,80px);align-items:end}
.bd .ph-copy{display:flex;flex-direction:column}
.bd .ph-copy .crumb{order:3;margin:36px 0 0}
.bd .ph-plate{margin:0;position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg-2)}
.bd .ph-plate > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bd .ph-plate.quad{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:4px;background:var(--bg)}
.bd .ph-plate.quad > img{position:static;min-height:0}
.bd .b-band{margin:0;height:clamp(260px,40vw,600px);overflow:hidden;border-bottom:1px solid var(--rule)}
.bd .b-band img{display:block;width:100%;height:100%;object-fit:cover}
@media (max-width:980px){
  .bd .ph-split{grid-template-columns:minmax(0,1fr);align-items:start}
  .bd .ph-plate{aspect-ratio:3/2}
}

/* 拉丁字與數字：窄體 */
.bd .num,.bd .plan .price b,.bd .tc,.bd .dur{font-family:var(--lat)}

/* 方案頁：方案區反轉為米白，細線分欄，不用卡片與色條 */
.bd .sec:has(.billing > .plans){background:var(--paper);border-bottom:0;--ink:#121212;--text:#2B2A28;--muted:#4A4945;--soft:#5E5C58;--line:#C9C6BF;--line-2:#9A978F;--accent:#121212;--white:transparent;--txt:#121212;--mute:#4A4945;--mute-2:#5E5C58;--rule:#C9C6BF;--rule-2:#9A978F;color:#2B2A28}
.bd .plans{gap:40px 0}
.bd .plan{background:transparent;border:0;border-left:1px solid #C9C6BF;padding:4px clamp(18px,2vw,30px) 8px}
.bd .plan .bar,.bd .cmp thead th::before{display:none}
.bd .sec:has(.billing > .plans) .btn-ink{background:#121212;color:var(--paper);border-color:#121212}
.bd .sec:has(.billing > .plans) .btn-ink:hover{background:transparent;color:#121212}
.bd .plan.rec{background:#121212;border:0;padding:28px clamp(20px,2.2vw,32px);color:#D8D6D1;--ink:#ECEAE5;--text:#D8D6D1;--muted:#A3A19C;--soft:#8A8883;--line:#2E2E2E;--line-2:#444;--accent:#ECEAE5}
.bd .sec:has(.billing > .plans) .plan.rec .btn-ink{background:var(--paper);color:#121212;border-color:var(--paper)}
.bd .sec:has(.billing > .plans) .plan.rec .btn-ink:hover{background:transparent;color:var(--paper)}
.bd .rec-tag{background:var(--paper);color:#121212}
.bd .sec:has(.billing > .plans) .bill-toggle{border-color:#9A978F}
.bd .sec:has(.billing > .plans) .bill-toggle button{color:#4A4945}
.bd .sec:has(.billing > .plans) .bill-toggle button[aria-pressed="true"]{background:#121212;color:var(--paper)}
.bd .plans-perk{border-radius:0;border:0;border-top:1px solid #C9C6BF;border-bottom:1px solid #C9C6BF;padding:16px 0}
.bd .plans-perk .pk{border-radius:0}
.bd .cmp-wrap{background:transparent;border:0;border-radius:0;padding:0}

/* 七項標準配置：拿掉線條圖示，改用編號 */
.bd .base{counter-reset:base}
.bd .base > div{counter-increment:base}
.bd .base svg{display:none}
.bd .base > div::before{content:counter(base,decimal-leading-zero);display:block;margin-bottom:14px;font-family:var(--lat);font-weight:600;font-size:15px;letter-spacing:.1em;color:var(--mute-2)}

/* SEO 頁：細線橫列 */
.bd .facts-line{border:0;padding:0;background:transparent;color:var(--mute)}
.bd .seo-set{grid-template-columns:minmax(0,1fr);border-top:1px solid var(--rule-2)}
.bd .seo-set li:nth-child(n){display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:8px 32px;padding:26px 0;border-left:0;border-bottom:1px solid var(--rule)}
.bd .seo-set h3{margin:0;font-weight:700}
.bd .ana-legend .pin{width:auto;height:auto;background:transparent;color:var(--mute-2);font-family:var(--lat);font-weight:600;font-size:15px;letter-spacing:.06em}
.bd .local-list li::before{width:12px;height:1px;top:34px;background:var(--mute)}
@media (max-width:700px){.bd .seo-set li:nth-child(n){grid-template-columns:minmax(0,1fr)}}

/* 需求表：拿掉外框與方塊符號，以細線分段 */
.bd .form{border:0;background:transparent;padding:0}
.bd .form fieldset{border:0;border-top:1px solid var(--rule-2)}
.bd .form legend i{display:none}
.bd .side-card{border:0;border-top:1px solid var(--rule-2);background:transparent}
.bd .side-card .in{padding-left:0;padding-right:0}
/* 米白區的鍵盤焦點框改深色；窄體只載入到 600 */
.bd .b-light :focus-visible,.bd .sec:has(.billing > .plans) :focus-visible{outline-color:#121212}
.bd .sec:has(.billing > .plans) .plan.rec :focus-visible{outline-color:var(--paper)}
.bd .num,.bd .plan .price b{font-weight:600}
/* 首頁宣言與方案縮小，方案區一屏看完 */
.p-big{font-size:clamp(28px,3.4vw,52px)}
.b-pledge li{padding:26px 0}
.b-sec.b-light{padding:clamp(64px,6vw,88px) 0}
.b-light .b-head{margin-bottom:32px}
.b-light .b-head h2{font-size:clamp(30px,3vw,46px)}
.b-plan{padding:22px 28px 22px 0}
.b-plan + .b-plan{padding-left:28px}
.b-plan h3{font-size:22px}
.b-tag{font-size:14px;margin-top:4px}
.b-amt{margin-top:14px;font-size:14px}
.b-amt b{font-size:44px}
.b-year{font-size:13.5px}
.b-plan ul{margin-top:14px;padding-top:12px;font-size:14px;line-height:1.85}
.b-ver{margin-top:24px}
.b-ver li{padding:13px 0}
.v-d{font-size:14px}
.v-a{font-size:13.5px}
.v-a b{font-size:22px}
/* 首頁方案：五個方案同一格式並排 */
.b-plans{grid-template-columns:repeat(5,minmax(0,1fr))}
.b-plan{position:relative;padding:22px 22px 22px 0}
.b-plan + .b-plan{padding-left:22px}
.b-plan h3 small{display:block;margin-top:2px;font-size:15px;font-weight:700;letter-spacing:.08em;color:var(--ink-2)}
.b-plan:not(:has(small)) h3::after{content:"\00a0";display:block;margin-top:2px;font-size:15px}
.b-rec{position:absolute;top:24px;right:16px;font-style:normal;font-size:12px;font-weight:700;letter-spacing:.2em;background:var(--ink);color:var(--paper);padding:3px 8px 3px 10px}
.b-tag{min-height:3.4em}
.b-plan ul{font-size:13.5px}
@media (max-width:1240px) and (min-width:981px){
  .b-plans{grid-template-columns:repeat(3,minmax(0,1fr))}
  .b-plan:nth-child(3n+1){padding-left:0;border-left:0}
}
@media (max-width:980px){.b-tag{min-height:0}.b-rec{right:0}}
.b-plan h3 small,.b-plan:not(:has(small)) h3::after{line-height:1.5;height:1.5em}
.b-tag{min-height:2lh}
@media (max-width:980px){
  .b-plan,.b-plan + .b-plan{padding:24px 0;border-left:0}
  .b-tag{min-height:0}
}
@media (max-width:980px){.b-plans{grid-template-columns:minmax(0,1fr)}.b-plan{border-bottom:1px solid #C9C6BF}}
/* 比較表：年繳與年約月付分組 */
.bd .cmp tr.grp th{padding:44px 0 12px;font-size:15px;font-weight:700;letter-spacing:.12em;color:var(--txt);border-bottom:1px solid var(--paper)}
.bd .cmp tr.grp th small{display:inline;margin-left:16px;font-size:13.5px;font-weight:400;letter-spacing:.04em;color:var(--mute)}
.bd .cmp tr.pay-y:not(.grp) th,.bd .cmp tr.pay-y:not(.grp) td,.bd .cmp tr.pay-m:not(.grp) th,.bd .cmp tr.pay-m:not(.grp) td{background:#191919}
.bd .cmp tr.grp.pay-m th{padding-top:56px}
@media (max-width:700px){.bd .cmp tr.grp th small{display:block;margin:4px 0 0}}
/* SEO 頁：只列關鍵字大項目 */
.bd .kw-big{list-style:none;margin:0;padding:0}
.bd .kw-big li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:8px 48px;align-items:baseline;padding:28px 0;border-top:1px solid var(--rule-2)}
.bd .kw-big li:last-child{border-bottom:1px solid var(--rule-2)}
.bd .kw-big b{font-weight:900;font-size:clamp(36px,4.6vw,72px);line-height:1.05;letter-spacing:-.01em;color:var(--txt)}
.bd .kw-big span{font-size:clamp(17px,1.5vw,21px);color:var(--mute)}
.bd .kw-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;border-top:1px solid var(--rule-2);counter-reset:kw}
.bd .kw-grid li{counter-increment:kw;display:flex;align-items:baseline;gap:20px;padding:24px 0;border-bottom:1px solid var(--rule)}
.bd .kw-grid li::before{content:counter(kw,decimal-leading-zero);font-family:var(--lat);font-weight:600;font-size:15px;letter-spacing:.08em;color:var(--mute-2);flex:none}
.bd .kw-grid b{font-weight:700;font-size:clamp(20px,1.8vw,26px);letter-spacing:.02em;color:var(--txt)}
@media (max-width:700px){.bd .kw-grid{grid-template-columns:minmax(0,1fr)}.bd .kw-big li{grid-template-columns:minmax(0,1fr)}}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.b-plan li.hl,.bd .plan li.hl b{font-weight:700;color:var(--ink)}
/* 方案頁：內容管理後台示意 */
.cms-wrap{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(32px,4vw,64px);align-items:start}
.cms-shot{margin:0}
.cms-shot .screen{aspect-ratio:auto;height:auto}
.cms-shot .note{margin-top:14px}
.cms-feat{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-2)}
.cms-feat li{padding:24px 0;border-bottom:1px solid var(--rule)}
.cms-feat b{display:block;font-weight:700;font-size:clamp(20px,1.7vw,24px);color:var(--txt);margin-bottom:8px}
.cms-feat span{font-size:15px;color:var(--mute);line-height:1.75}
.cms{display:grid;grid-template-columns:150px minmax(0,1fr);min-height:100%;background:var(--bg);color:var(--text);font-size:12px;line-height:1.5}
.cms-nav{background:var(--ink);color:#E9E6DF;padding:18px 0}
.cms-nav b{display:block;padding:0 16px;font-size:14px}
.cms-nav small{display:block;padding:0 16px 14px;font-size:10.5px;color:#9AA1A8;border-bottom:1px solid rgba(255,255,255,.1)}
.cms-nav ul{list-style:none;margin:10px 0 0;padding:0}
.cms-nav li{padding:8px 16px;color:#B9BEC3}
.cms-nav li.on{background:rgba(255,255,255,.08);color:#fff;box-shadow:inset 3px 0 0 var(--accent)}
.cms-main{padding:16px 18px 18px;min-width:0}
.cms-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.cms-top h5{margin:0;font-size:14px;font-weight:700;color:var(--ink)}
.cms-btn{font-style:normal;background:var(--ink);color:#fff;padding:6px 12px;font-size:11px;white-space:nowrap}
.cms-cols{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px}
.cms-card{background:var(--white);border:1px solid var(--line);padding:12px 14px;min-width:0}
.cms-card h6{margin:0 0 10px;font-size:12px;font-weight:700;color:var(--ink);letter-spacing:.04em}
.cms-card h6 + ul + h6{margin-top:16px}
.cms-f{margin:0 0 9px}
.cms-f small{display:block;font-size:10.5px;color:var(--muted);margin-bottom:3px}
.cms-f > span{display:block;border:1px solid var(--line-2);padding:5px 8px;font-size:11.5px;color:var(--text)}
.cms-thumb{width:96px;padding:0!important;aspect-ratio:1.91/1;overflow:hidden}
.cms-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cms-serp{margin-top:12px;padding:10px 12px;background:var(--bg)}
.cms-serp small{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}
.cms-serp cite{display:block;font-style:normal;font-size:10.5px;color:var(--muted)}
.cms-serp b{display:block;font-size:13px;font-weight:500;color:#1A3D8F;margin:2px 0}
.cms-serp p{margin:0;font-size:11px;color:var(--muted)}
.cms-users,.cms-log{list-style:none;margin:0;padding:0}
.cms-users li{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}
.cms-users i{font-style:normal;width:22px;height:22px;border-radius:50%;background:var(--bg-2);display:grid;place-items:center;font-size:10.5px;color:var(--ink)}
.cms-users em,.cms-log em{margin-left:auto;font-style:normal;font-size:10.5px;padding:2px 7px;border:1px solid var(--line-2);color:var(--muted);white-space:nowrap}
.cms-users li:first-child em{background:var(--ink);border-color:var(--ink);color:#fff}
.cms-log li{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:11px}
.cms-log span{color:var(--muted);font-size:10.5px}
.cms-log li + li em{color:var(--accent);border-color:var(--accent)}
@container (max-width:620px){.cms{grid-template-columns:minmax(0,1fr)}.cms-nav{display:none}.cms-cols{grid-template-columns:minmax(0,1fr)}}
@media (max-width:980px){.cms-wrap{grid-template-columns:minmax(0,1fr)}}
.ai-tier{margin-top:14px;font-size:14px;font-weight:700;letter-spacing:.12em;color:var(--mute)}
.bd .plan .keep{margin:16px 0 0;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13.5px;line-height:1.7;color:var(--text)}
.bd .plan .keep + .inc{margin-top:14px}
.bd .plan .spec dd .q{display:block;margin-top:4px;font-size:12.5px;line-height:1.6;color:var(--muted)}

/* ---- 資安防護 ---- */
.b-rhythm{list-style:none;margin:0 0 clamp(56px,6vw,88px);padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule-2)}
.b-rhythm li{padding:28px 32px 0 0}
.b-rhythm li + li{padding-left:32px;border-left:1px solid var(--rule)}
.b-rhythm b{display:block;font-weight:700;font-size:clamp(40px,5vw,76px);line-height:1;letter-spacing:.02em;color:var(--txt)}
.b-rhythm strong{display:block;margin-top:18px;font-size:clamp(18px,1.5vw,21px);font-weight:700;letter-spacing:.06em;color:var(--txt)}
.b-rhythm p{margin-top:8px;color:var(--mute);font-size:15px;max-width:22em}
.b-layers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:48px}
.b-layers li{padding:24px 0;border-top:1px solid var(--rule)}
.b-layers b{display:block;font-weight:700;font-size:17px;letter-spacing:.05em;color:var(--txt)}
.b-layers p{margin-top:6px;color:var(--mute);font-size:14.5px}
.b-secu .b-more{margin-top:clamp(40px,4vw,56px)}
.sec-panel{margin:0;border:1px solid var(--rule-2);background:var(--bg-2);padding:clamp(22px,2.4vw,34px);align-self:center}
.sec-panel .sp-top{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:16px;border-bottom:1px solid var(--rule-2)}
.sec-panel .sp-top b{font-size:17px;letter-spacing:.08em;color:var(--txt)}
.sec-panel .sp-top span{font-size:12px;letter-spacing:.2em;color:var(--mute-2)}
.sec-panel ul{list-style:none;margin:0;padding:0}
.sec-panel li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--rule);font-size:15px;color:var(--txt)}
.sec-panel em{font-style:normal;color:var(--mute);white-space:nowrap;display:inline-flex;align-items:center;gap:8px}
.sec-panel em::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--paper)}
.sec-panel figcaption{margin-top:14px;font-size:12.5px;color:var(--mute-2)}
.bd .sec-more{margin-top:28px}
.bd .kw-desc li div span{display:block;margin-top:8px;font-size:15px;line-height:1.75;color:var(--mute)}
.bd .duty{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.bd .duty h3{font-size:20px;letter-spacing:.06em;padding-bottom:16px;border-bottom:1px solid var(--rule-2)}
.bd .duty ul{list-style:none;margin:0;padding:0}
.bd .duty li{padding:16px 0;border-bottom:1px solid var(--rule);color:var(--text)}
@media (max-width:900px){
  .b-rhythm,.b-layers,.bd .duty{grid-template-columns:minmax(0,1fr)}
  .b-rhythm li,.b-rhythm li + li{padding:24px 0;border-left:0;border-bottom:1px solid var(--rule)}
}
