.regional-fares {
  --fare-ink:#162f45;
  --fare-line:#d4dedf;
  color:var(--fare-ink);
  padding-block:clamp(32px,4.5vw,72px);
  scroll-margin-top:12px;
}
.fare-intro {display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:24px}
.fare-intro h2 {margin:6px 0 0;font-size:clamp(32px,3.6vw,54px);line-height:1.12;letter-spacing:-.045em}
.fare-intro>p {max-width:36ch;font-size:1rem;line-height:1.6;color:#506272}
.fare-board {display:grid;grid-template-columns:1.08fr 1fr;background:#f9faf7;border:1px solid var(--fare-line);border-radius:16px;overflow:hidden}
.fare-gallery {position:relative;min-height:360px;background:#24404e}
.fare-scene {position:absolute;inset:0;margin:0;isolation:isolate;color:white}
.fare-scene img {display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.fare-scene::after {content:"";position:absolute;inset:22% 0 0;background:linear-gradient(transparent,rgba(9,29,38,.84));pointer-events:none}
.fare-scene figcaption {position:absolute;inset:auto 0 0;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:clamp(20px,2.5vw,42px)}
.fare-landmark {grid-column:1/-1;display:flex;align-items:center;gap:9px;font-weight:600;font-size:.87rem}
.fare-landmark::before {content:"";width:24px;border-top:1px solid #e3c89a}
.fare-scene strong {font:normal clamp(38px,4vw,68px)/1.15 Georgia,"Noto Serif TC","PMingLiU",serif;letter-spacing:-.035em;margin-top:6px}
.fare-scene figcaption a {color:white;text-decoration:underline;text-underline-offset:3px;font-size:.73rem}
.fare-counter {align-self:center;padding:clamp(22px,3vw,46px)}
.fare-controls:not([hidden]) {display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);align-items:end;gap:7px}
.fare-select {display:grid;gap:6px;color:#495c67;font-size:.82rem;font-weight:600}
.fare-select select {width:100%;min-height:44px;border:1px solid #bfcdd1;border-radius:7px;padding:7px;background:white;color:var(--fare-ink);font:inherit;font-size:.98rem}
.fare-controls button {display:grid;place-items:center;min-height:44px;width:100%;background:transparent;color:#236470;cursor:pointer;border:0}
.fare-controls svg,.fare-action svg {width:18px;height:18px}
.fare-ticket {margin-top:22px;border-block-start:1px solid var(--fare-line);padding-top:20px}
.fare-class {color:#446a6b;font-size:.7rem;font-weight:700;letter-spacing:.11em}
.fare-ticket h3 {display:flex;align-items:center;gap:.42em;flex-wrap:wrap;margin:7px 0 16px;font-size:clamp(23px,2.2vw,37px);line-height:1.18;letter-spacing:-.035em}
.fare-ticket h3 i {font-size:.65em;color:#5e8686;font-style:normal}
.fare-prices {display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fare-prices a {display:grid;gap:4px;padding:14px clamp(10px,1.2vw,20px);border:1px solid #bccdd0;border-radius:10px;background:white;color:var(--fare-ink);text-decoration:none}
.fare-prices a[data-fare-quote="roundtrip"] {background:#174653;color:white;border-color:#174653}
.fare-prices a>span:first-child {font-size:.82rem;font-weight:600}
.fare-prices strong {font-size:clamp(21px,2.1vw,34px);line-height:1.3;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.fare-action {display:flex;gap:7px;align-items:center;margin-top:5px;font-size:.79rem;font-weight:650}
.fare-prices a:hover .fare-action {text-decoration:underline;text-underline-offset:3px}
.fare-foot,.fare-source {color:#52636b;line-height:1.55}
.fare-foot {margin:12px 0 0;font-size:.82rem}
.fare-compare {margin-top:12px;border-bottom:1px solid var(--fare-line)}
.fare-compare>summary,.regional-group summary {cursor:pointer;min-height:44px;padding:12px 0;font-weight:650}
.fare-compare>summary {display:flex;align-items:center;justify-content:space-between;list-style:none}
.fare-compare>summary::-webkit-details-marker {display:none}
.fare-compare[open]>summary span {transform:rotate(45deg)}
.fare-tables {display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:24px;padding-bottom:14px}
.regional-group {border-top:1px solid var(--fare-line)}
.regional-group table {border-collapse:collapse;width:100%;font-size:.92rem;font-variant-numeric:tabular-nums}
.regional-group th,.regional-group td {text-align:end;border-bottom:1px solid #dee6e7;padding:0 6px}
.regional-group th:first-child {text-align:start}
.regional-group thead th {background:#f2f6f5;padding-block:8px;font-size:.8rem}
.regional-group td a {display:inline-flex;align-items:center;min-height:44px}
.regional-group td a,.fare-source a {color:#165f72;text-decoration:underline;text-underline-offset:3px}
.fare-source {font-size:.79rem;margin:10px 0 0}
.regional-fares :focus-visible {outline:3px solid #1571c8;outline-offset:2px}
@media(max-width:800px) {
  .fare-gallery {min-height:clamp(152px,38vw,216px)}
  .fare-scene img {object-position:center 45%}
  .fare-scene figcaption {padding:14px 18px}
  .fare-scene strong {font-size:34px}
  .fare-intro {display:block;margin-bottom:15px}
  .fare-intro>p {margin-top:8px;max-width:none}
  .fare-board {grid-template-columns:1fr}
  .fare-counter {padding:18px}
  .fare-ticket {margin-top:13px;padding-top:13px}
  .fare-tables {grid-template-columns:1fr;gap:8px}
}
@media(max-width:380px) {
  .fare-counter {padding:13px}
  .fare-controls:not([hidden]) {grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:3px}
  .fare-prices {gap:6px}
}
