.if-benif {
  --ink: #4f504c; --muted: #7a7771; --paper: #f2f0eb; --accent: #8f8a7c;
  --border: #d8d4cc; --card: #fbfaf8;
  max-width: 1440px; margin-inline: auto; padding: clamp(24px, 4vw, 56px) clamp(14px, 3vw, 34px);
  color: var(--ink); font: 400 14.5px/1.72 "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.if-benif *, .if-benif *::before, .if-benif *::after { box-sizing: border-box; }
.if-benif__header { max-width: 820px; margin-bottom: 30px; }
.if-benif__eyebrow { margin: 0; color: var(--accent); font-size: 10.5px; font-weight: 700; letter-spacing: .19em; }
.if-benif__header h2 { margin: 8px 0 13px; color: var(--ink); font: 700 clamp(27px, 3.5vw, 43px)/1.25 inherit; letter-spacing: -.025em; }
.if-benif__header p { margin: 0 0 8px; color: var(--muted); }
.if-benif__header .if-benif__note { font-size: 12.5px; }
.if-benif__intro-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: -4px 0 26px; }
.if-benif__intro-grid article { border: 1px solid var(--border); border-radius: 12px; background: var(--card); padding: 17px 18px; }
.if-benif__intro-grid h3 { margin: 0 0 7px; color: var(--ink); font-size: 15px; line-height: 1.45; }
.if-benif__intro-grid p { margin: 0; color: var(--muted); font-size: 12.5px; line-height: 1.75; }
.if-benif__tools { position: sticky; top: 0; z-index: 5; display: grid; grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr); gap: 12px; padding: 12px 0 17px; background: rgb(255 255 255 / 92%); backdrop-filter: blur(12px); }
.if-benif__tools label { display: grid; gap: 6px; color: var(--muted); font-size: 11.5px; font-weight: 600; letter-spacing: .04em; }
.if-benif__tools input, .if-benif__tools select { width: 100%; min-height: 45px; border: 1px solid var(--border); border-radius: 10px; background: var(--card); color: var(--ink); padding: 9px 13px; font: inherit; }
.if-benif__tools input:focus, .if-benif__tools select:focus { outline: 0; border-color: var(--accent); box-shadow: 0 0 0 3px rgb(143 138 124 / 17%); }
.if-benif__status { margin: 6px 0 16px; color: var(--muted); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.if-benif__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(175px, 1fr)); gap: clamp(11px, 1.6vw, 18px); }
.if-benif__card { appearance: none; overflow: hidden; width: 100%; border: 0; border-radius: 12px; background: var(--card); color: inherit; padding: 0; text-align: left; box-shadow: 0 6px 22px rgb(79 80 76 / 8%); cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
.if-benif__card:hover, .if-benif__card:focus-visible { transform: translateY(-3px); box-shadow: 0 12px 28px rgb(79 80 76 / 14%); }
.if-benif__card img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--paper); }
.if-benif__meta { display: grid; gap: 3px; padding: 11px 12px 13px; }
.if-benif__meta strong { font-size: 15.5px; line-height: 1.3; letter-spacing: .02em; }
.if-benif__meta small { overflow: hidden; color: var(--muted); font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }
.if-benif__more { display: block; min-width: 180px; margin: 30px auto 0; border: 1px solid var(--ink); border-radius: 999px; background: transparent; color: var(--ink); padding: 10px 22px; font: 600 13px/1.4 inherit; cursor: pointer; }
.if-benif__model-index { margin: 38px 0 0; border: 1px solid var(--border); border-radius: 12px; background: var(--card); padding: 0 17px; }
.if-benif__model-index summary { padding: 15px 0; font-weight: 650; cursor: pointer; }
.if-benif__model-index ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(82px, 1fr)); gap: 7px 11px; margin: 0; padding: 0 0 18px; list-style: none; }
.if-benif__model-index a { color: var(--ink); font-size: 12px; text-decoration-color: var(--border); text-underline-offset: 3px; }
.if-benif__consult { margin-top: 30px; border-radius: 12px; background: var(--paper); padding: clamp(19px, 3.5vw, 32px); }
.if-benif__consult h2 { margin: 0 0 9px; color: var(--ink); font-size: clamp(20px, 2.4vw, 27px); }
.if-benif__consult p { margin: 0 0 8px; color: var(--muted); }
.if-benif__consult a { color: #5e5b54; }
.if-benif__modal[hidden] { display: none; }
.if-benif__modal { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: 18px; }
.if-benif__backdrop { position: absolute; inset: 0; border: 0; background: rgb(35 35 32 / 72%); cursor: zoom-out; }
.if-benif__dialog { position: relative; overflow: hidden; width: min(920px, 96vw); max-height: 92vh; border-radius: 14px; background: var(--card); box-shadow: 0 24px 70px rgb(0 0 0 / 28%); }
.if-benif__dialog > img { display: block; width: 100%; max-height: 70vh; object-fit: contain; background: var(--paper); }
.if-benif__dialog-copy { padding: 17px 20px 20px; }
.if-benif__dialog-copy p { margin: 0; color: var(--accent); font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.if-benif__dialog-copy h3 { display: inline-block; margin: 4px 10px 0 0; color: var(--ink); font-size: 24px; }
.if-benif__dialog-copy span, .if-benif__dialog-copy small { color: var(--muted); }
.if-benif__dialog-copy small { display: block; margin-top: 3px; }
.if-benif__dialog-copy a { display: inline-block; margin-top: 12px; border-radius: 999px; background: #66645d; color: #fff; padding: 9px 16px; font-size: 12.5px; text-decoration: none; }
.if-benif__close { position: absolute; top: 10px; right: 10px; z-index: 2; width: 38px; height: 38px; border: 0; border-radius: 50%; background: rgb(255 255 255 / 88%); color: var(--ink); font-size: 25px; line-height: 1; cursor: pointer; }
.if-benif-modal-open { overflow: hidden; }
.if-benif-pdf { max-width: 1280px; margin: 12px auto 60px; padding: 0 clamp(14px, 3vw, 34px); }
.if-benif-pdf > h2 { color: #555650; font-size: clamp(21px, 2.5vw, 29px); }
@media (max-width: 680px) { .if-benif__intro-grid, .if-benif__tools { grid-template-columns: 1fr; } .if-benif__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .if-benif__dialog > img { max-height: 62vh; } }
@media (prefers-reduced-motion: reduce) { .if-benif__card { transition: none; } }
