:root {
  --archive-ink: #171a22;
  --archive-paper: #f7f5ee;
  --archive-blue: #2f5bff;
  --archive-acid: #d9ff43;
  --archive-line: #d7d3c9;
  color: var(--archive-ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--archive-paper);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0 !important; min-width: 320px; color: var(--archive-ink) !important; background: var(--archive-paper) !important; font-size: 16px !important; line-height: 1.65; }
.legacy-content :where(p, li, td, th, a, span, font, small, label, input, button) { font-size: max(14px, 1em) !important; }
img { max-width: 100%; height: auto; }
a { color: var(--archive-blue); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: #1938b7; }
::selection { color: var(--archive-ink); background: var(--archive-acid); }

.archive-skip { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 10px 14px; color: white; background: var(--archive-ink); transform: translateY(-150%); }
.archive-skip:focus { transform: none; }
.archive-header { position: sticky; z-index: 20; top: 0; display: flex; align-items: center; justify-content: space-between; min-height: 66px; padding: 0 clamp(18px, 4vw, 58px); border-bottom: 1px solid rgba(255, 255, 255, 0.15); color: white; background: rgba(23, 26, 34, 0.96); backdrop-filter: blur(16px); }
.archive-brand { display: inline-flex; align-items: center; gap: 10px; color: white; font-size: 0.875rem; font-weight: 850; letter-spacing: 0.13em; text-decoration: none; }
.archive-brand-mark { position: relative; display: grid; width: 24px; aspect-ratio: 1; border: 2px solid currentColor; place-items: center; }
.archive-brand-mark::before { content: ""; width: 10px; aspect-ratio: 1; border: 1px solid currentColor; border-radius: 50%; }
.archive-brand-mark::after { content: ""; position: absolute; right: 2px; bottom: 2px; width: 6px; height: 3px; background: currentColor; }
.archive-brand em { color: var(--archive-acid); font-style: normal; }
.archive-nav { display: flex; align-items: center; gap: 28px; }
.archive-nav a { color: #e8e8ec; font-size: 0.875rem; font-weight: 750; letter-spacing: 0.1em; text-decoration: none; text-transform: uppercase; }
.archive-nav a:last-child { padding: 8px 11px; color: var(--archive-ink); background: var(--archive-acid); }
.archive-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 20px; padding: 18px clamp(18px, 3vw, 44px) 20px; border-bottom: 1px solid var(--archive-line); background: #eeece4; }
.archive-breadcrumb { display: flex; align-items: center; flex-basis: 100%; min-width: 0; gap: 8px; color: #6e6e73; font-size: .875rem; line-height: 1.3; }
.archive-breadcrumb a { color: #4d5965; font-weight: 650; text-decoration: none; }
.archive-breadcrumb a:hover { color: var(--archive-blue); text-decoration: underline; }
.archive-breadcrumb span[aria-current="page"] { min-width: 0; overflow: hidden; color: #6e6e73; text-overflow: ellipsis; white-space: nowrap; }
.archive-kicker { margin: 0 0 17px; color: #73767e; font-size: 0.875rem; font-weight: 750; letter-spacing: 0.13em; text-transform: uppercase; }
.archive-title h1 { max-width: 1150px; margin: 0; font-family: "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif; font-size: clamp(2rem, 3.2vw, 3.5rem); font-weight: 900; letter-spacing: -0.045em; line-height: 1; text-transform: uppercase; overflow-wrap: anywhere; }
.archive-layout { display: grid; grid-template-columns: minmax(0, 1fr) 205px; gap: clamp(20px, 2.5vw, 36px); width: min(1600px, 100%); margin: 0 auto; padding: 16px clamp(18px, 3vw, 44px) 56px; }
.legacy-content { min-width: 0; overflow-wrap: break-word; }
.legacy-content > *:first-child { margin-top: 0; }
.legacy-content > :is(h1, h2, h3):first-of-type { margin-top: 0; }
.legacy-content h1, .legacy-content h2, .legacy-content h3, .legacy-content h4 { margin-top: 1.05em; margin-bottom: 0.45em; font-family: "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif; letter-spacing: -0.025em; line-height: 1.08; }
.legacy-content h1 { font-size: clamp(2rem, 3vw, 3.25rem) !important; }
.legacy-content h2 { padding-bottom: 7px; border-bottom: 2px solid var(--archive-ink); font-size: clamp(1.6rem, 2.5vw, 2.35rem) !important; }
.legacy-content h3 { font-size: clamp(1.35rem, 2vw, 2rem) !important; }
.legacy-content h4 { font-size: 1.15rem !important; }
.legacy-content p, .legacy-content li, .legacy-content td, .legacy-content th, .legacy-content div { font-size: inherit; }
.legacy-content p { max-width: 82ch; }
.legacy-content center { text-align: left; }
.legacy-content hr { height: 1px; margin: 24px 0; border: 0; background: var(--archive-line); }
.legacy-content table { width: 100% !important; max-width: 100%; margin: 14px 0; border-collapse: collapse; background: transparent !important; }
.legacy-content td, .legacy-content th { min-width: 0; padding: 6px 8px !important; border: 1px solid var(--archive-line); vertical-align: top; background: transparent !important; }
.legacy-content th { background: #eae7de !important; font-size: 0.875rem; letter-spacing: 0.06em; text-align: left; text-transform: uppercase; }
.legacy-content tr:nth-child(even) td { background: rgba(23, 26, 34, 0.025) !important; }
.legacy-content pre { max-width: 100%; padding: 18px; overflow: auto; color: #e9eaf0; background: var(--archive-ink); font-size: 0.875rem; line-height: 1.55; }
.legacy-content blockquote { margin: 28px 0; padding: 18px 24px; border-left: 4px solid var(--archive-blue); background: #efede5; }
.legacy-content font { color: inherit !important; font-family: inherit !important; font-size: inherit !important; }
.legacy-content [align="center"] { text-align: left !important; }
.legacy-content img[align="left"] { margin: 0 24px 18px 0; }
.legacy-content img[align="right"] { margin: 0 0 18px 24px; }
.legacy-content form, .legacy-content ins { display: none !important; }
.archive-aside { align-self: start; position: sticky; top: 82px; padding: 16px; border: 1px solid var(--archive-ink); border-radius: 10px; background: var(--archive-acid); }
.archive-aside span { display: block; margin-bottom: 12px; font-size: 0.875rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.archive-aside p { margin: 0 0 20px; font-size: 0.875rem; line-height: 1.55; }
.archive-aside a { display: block; padding-top: 12px; border-top: 1px solid var(--archive-ink); color: var(--archive-ink); font-size: 0.875rem; font-weight: 800; letter-spacing: 0.08em; text-decoration: none; text-transform: uppercase; }
.archive-footer { display: flex; justify-content: space-between; gap: 20px; padding: 32px clamp(18px, 5vw, 76px); color: #a4a7b0; background: var(--archive-ink); font-size: 0.875rem; }
.archive-footer a { color: white; }

.legacy-content.product-browser-active:not(.show-original-table) > :not(.archive-table-browser) { display: none !important; }
.legacy-content.show-original-table > .archive-table-browser .archive-browser-content { display: none; }
.archive-table-browser { min-width: 0; }
.archive-browser-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.archive-browser-heading > div > span { display: block; margin-bottom: 6px; color: var(--archive-blue); font-size: 0.875rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.archive-browser-heading h2 { margin: 0 !important; padding: 0 !important; border: 0 !important; font-family: "Helvetica Neue", Arial, sans-serif !important; font-size: clamp(1.7rem, 2.8vw, 2.7rem) !important; letter-spacing: -0.04em; text-transform: none; }
.archive-browser-heading p { margin: 8px 0 0; color: #646871; }
.archive-browser-heading > button { flex: none; padding: 9px 11px; border: 1px solid var(--archive-line); border-radius: 8px; color: var(--archive-blue); background: white; font-weight: 750; cursor: pointer; }
.archive-browser-heading > button:hover { border-color: var(--archive-blue); background: #eef2ff; }
.archive-browser-toolbar { display: grid; grid-template-columns: minmax(240px, 1fr) 170px 170px; gap: 10px; padding: 13px; border: 1px solid var(--archive-line); border-radius: 11px; background: #eeece4; }
.archive-browser-toolbar label > span { display: block; margin-bottom: 6px; color: #666b74; font-size: 0.875rem; font-weight: 750; }
.archive-browser-toolbar input, .archive-browser-toolbar select { width: 100%; min-height: 42px; padding: 9px 10px; border: 1px solid #aeb3bc; border-radius: 7px; color: var(--archive-ink); background: white; font-size: 0.875rem; }
.archive-browser-toolbar input:focus, .archive-browser-toolbar select:focus { border-color: var(--archive-blue); outline: 3px solid rgba(47, 91, 255, 0.12); }
.archive-browser-status { display: flex; justify-content: space-between; margin-top: 12px; padding: 9px 12px; border: 1px solid var(--archive-line); border-radius: 8px; color: #666b74; background: #f4f2ec; font-size: 0.875rem; }
.archive-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 10px; }
.archive-product-card { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 14px; min-width: 0; padding: 14px; border: 1px solid var(--archive-line); border-radius: 11px; background: white; box-shadow: 0 4px 15px rgba(23, 26, 34, 0.04); transition: 160ms ease; }
.archive-product-card:hover { border-color: #9caeff; box-shadow: 0 12px 28px rgba(36, 49, 91, 0.1); transform: translateY(-2px); }
.archive-product-media { display: grid; align-self: start; min-height: 104px; overflow: hidden; border-radius: 8px; background: #f0eee8; place-items: center; }
.archive-product-media img { display: block; width: 100%; max-width: 104px; height: 104px; margin: 0 !important; object-fit: contain; }
.archive-product-placeholder { color: #858993; font-size: 1.5rem; font-weight: 850; }
.archive-product-body { min-width: 0; }
.archive-product-brand { display: block; color: var(--archive-blue); font-size: 0.875rem; font-weight: 800; }
.archive-product-body h3 { margin: 4px 0 7px !important; font-family: "Helvetica Neue", Arial, sans-serif !important; font-size: 1.08rem !important; letter-spacing: -0.02em; }
.archive-product-body h3 a { color: var(--archive-ink); text-decoration: none; }
.archive-product-body h3 a:hover { color: var(--archive-blue); }
.archive-product-body > p { margin: 0 0 10px; color: #646871; font-size: 0.875rem; line-height: 1.45; }
.archive-product-facts { display: grid; gap: 5px; margin: 0; }
.archive-product-facts > div { display: grid; grid-template-columns: 76px 1fr; gap: 7px; padding-top: 5px; border-top: 1px solid #e3e0d8; }
.archive-product-facts dt { color: #777b84; font-size: 0.875rem; font-weight: 750; }
.archive-product-facts dd { min-width: 0; margin: 0; overflow-wrap: anywhere; font-size: 0.875rem; }
.archive-product-body details { margin-top: 10px; padding-top: 8px; border-top: 1px solid #e3e0d8; }
.archive-product-body summary { color: var(--archive-blue); font-size: 0.875rem; font-weight: 750; cursor: pointer; }
.archive-product-body details > div { max-height: 240px; margin-top: 8px; overflow: auto; color: #555a63; font-size: 0.875rem; }
.archive-product-body details table { min-width: 0 !important; }
.archive-product-action { display: inline-block; margin-top: 10px; color: var(--archive-blue); font-size: 0.875rem; font-weight: 750; text-decoration: none; }
.archive-product-pagination { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 18px; }
.archive-product-pagination[hidden] { display: none; }
.archive-product-pagination button { padding: 9px 12px; border: 1px solid var(--archive-line); border-radius: 8px; color: var(--archive-blue); background: white; font-size: 0.875rem; font-weight: 750; cursor: pointer; }
.archive-product-pagination button:hover:not(:disabled) { border-color: var(--archive-blue); background: #eef2ff; }
.archive-product-pagination button:disabled { color: #9b9ea5; cursor: not-allowed; }
.archive-product-pagination span { color: #646871; font-size: 0.875rem; }
.archive-product-empty { grid-column: 1 / -1; display: grid; gap: 6px; padding: 36px 18px; border: 1px dashed var(--archive-line); border-radius: 10px; text-align: center; }
.archive-product-empty span { color: #646871; font-size: 0.875rem; }

@media (max-width: 1180px) {
  .archive-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .archive-header { min-height: 58px; }
  .archive-nav a:not(:last-child) { display: none; }
.archive-title { flex-direction: column; gap: 7px; padding-top: 20px; }
.archive-layout { grid-template-columns: 1fr; padding-top: 20px; }
	.archive-aside { position: static; grid-row: 1; }
	.archive-browser-heading { align-items: stretch; flex-direction: column; }
	.archive-browser-heading > button { align-self: start; }
	.archive-browser-toolbar { grid-template-columns: 1fr; }
	.archive-product-grid { grid-template-columns: 1fr; }
	.legacy-content { overflow-x: auto; }
  .legacy-content table { min-width: 560px; }
  .legacy-content table:only-child { min-width: 0; }
  .archive-footer { flex-direction: column; }
}

.archive-gallery{margin:0 0 24px;padding:18px;border:1px solid var(--archive-line);border-radius:12px;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.archive-gallery-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}
.archive-gallery-header span{display:block;color:var(--archive-blue);font-size:.875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.archive-gallery-header h2{margin:4px 0 2px;color:var(--archive-ink);font-family:inherit;font-size:1.35rem;letter-spacing:-.025em}
.archive-gallery-header p{margin:0;color:#6e6e73;font-size:.875rem}
.archive-gallery-open{flex:none;padding:9px 11px;border:1px solid #d2d2d7;border-radius:9px;color:var(--archive-blue);font-size:.875rem;font-weight:700;text-decoration:none;background:#fff}
.archive-gallery-open:hover{border-color:var(--archive-blue);background:#f2f2f7}
.archive-gallery-stage{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px;min-height:330px;padding:12px;border:1px solid var(--archive-line);border-radius:12px;background:#f2f2f7}
.archive-gallery-stage figure{display:grid;grid-template-rows:minmax(240px,370px) auto;align-items:center;justify-items:center;min-width:0;margin:0}
.archive-gallery-stage figure img{display:block;width:100%;height:100%;max-height:370px;object-fit:contain;border-radius:8px;background:#fff}
.archive-gallery-stage figcaption{width:100%;padding:10px 4px 0;overflow:hidden;color:#6e6e73;font-size:.875rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}
.archive-gallery-control{display:grid;width:42px;height:42px;border:1px solid #d2d2d7;border-radius:50%;place-items:center;color:var(--archive-blue);background:#fff;font-size:1.25rem;cursor:pointer}
.archive-gallery-control:hover{border-color:var(--archive-blue);background:#edf3ff}
.archive-gallery-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;margin-top:12px;max-height:132px;padding:2px;overflow:auto}
.archive-gallery-thumb{display:grid;height:76px;padding:4px;border:1px solid var(--archive-line);border-radius:8px;background:#fff;place-items:center;cursor:pointer}
.archive-gallery-thumb:hover,.archive-gallery-thumb.active{border-color:var(--archive-blue);box-shadow:0 0 0 2px #0071e333}
.archive-gallery-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.archive-gallery-source-column{display:none !important}
.archive-gallery-source-table th:first-child{color:transparent}
@media(max-width:760px){.archive-gallery{padding:12px}.archive-gallery-header{align-items:flex-start;flex-direction:column}.archive-gallery-open{align-self:stretch;text-align:center}.archive-gallery-stage{grid-template-columns:34px minmax(0,1fr) 34px;min-height:260px;padding:8px}.archive-gallery-stage figure{grid-template-rows:minmax(190px,280px) auto}.archive-gallery-stage figure img{max-height:280px}.archive-gallery-control{width:34px;height:34px}.archive-gallery-thumbs{grid-template-columns:repeat(auto-fill,minmax(62px,1fr));max-height:112px}.archive-gallery-thumb{height:62px}}

@media print {
  .archive-header, .archive-aside, .archive-footer { display: none; }
  .archive-title { padding: 0 0 20px; }
  .archive-layout { display: block; padding: 20px 0; }
}

/* Shared application shell */
:root {
  --archive-ink: #1d2529;
  --archive-paper: #eef2f7;
  --archive-blue: #245ee8;
  --archive-acid: #e7f6f3;
  --archive-line: #dce3ec;
}
body { background: linear-gradient(135deg, #eef3f8 0, #f7f9fc 45%, #edf2f7 100%) !important; }
.archive-header { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 22px; min-height: 68px; padding: 0 clamp(18px, 3vw, 44px); border-bottom: 1px solid rgba(189, 200, 214, 0.8); color: var(--archive-ink); background: rgba(255, 255, 255, 0.96); box-shadow: 0 1px 12px rgba(33, 48, 68, 0.05); }
.archive-brand { color: var(--archive-ink); font-size: 0.875rem; letter-spacing: 0.1em; }
.archive-brand em { color: var(--archive-blue); }
.archive-brand small { margin-left: 5px; padding-left: 14px; border-left: 1px solid #bdc8d6; color: #687278; font-size: 0.875rem; font-weight: 650; letter-spacing: 0.02em; }
.archive-nav { justify-self: end; gap: 5px; }
.archive-nav a { padding: 9px 11px; border-radius: 8px; color: #4d5965; font-size: 0.875rem; letter-spacing: 0.02em; text-transform: none; }
.archive-nav a:last-child { padding: 9px 11px; color: #4d5965; background: transparent; }
.archive-nav a:hover { color: var(--archive-blue); background: #edf3ff; }
.archive-shell { display: grid; grid-template-columns: 225px minmax(0, 1fr); width: min(1600px, calc(100% - 32px)); min-height: calc(100vh - 102px); margin: 16px auto; overflow: clip; border: 1px solid var(--archive-line); border-radius: 18px; background: white; box-shadow: 0 10px 30px rgba(32, 48, 68, 0.07); }
.archive-sidebar { min-width: 0; padding: 26px 18px; border-right: 1px solid var(--archive-line); background: #f8fafc; }
.archive-sidebar-section { margin-bottom: 26px; }
.archive-sidebar-section h2 { margin: 0 0 10px; padding-inline: 10px; color: #687278; font-size: 0.875rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.archive-sidebar-section a { display: block; margin: 3px 0; padding: 9px 10px; border-radius: 8px; color: #48545f; font-size: 0.875rem; line-height: 1.3; text-decoration: none; }
.archive-sidebar-section a:hover { color: var(--archive-blue); background: #eaf0f8; }
.archive-sidebar-section a.active { color: white; background: var(--archive-blue); box-shadow: 0 5px 14px rgba(36, 94, 232, 0.2); }
.archive-sidebar-note { padding: 16px; border-radius: 11px; background: var(--archive-acid); }
.archive-sidebar-note span { display: block; margin-bottom: 7px; color: #087b71; font-size: 0.875rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.archive-sidebar-note strong { font-size: 1rem; }
.archive-sidebar-note p { margin: 8px 0 0; color: #48645f; font-size: 0.875rem; line-height: 1.5; }
.archive-main { min-width: 0; background: white; }
.archive-title { display: block; padding: 25px clamp(24px, 3.5vw, 52px) 20px; border-bottom: 1px solid var(--archive-line); background: white; }
.archive-title[data-deduplicated-title="true"] { padding-block: 9px; }
.archive-title[data-deduplicated-title="true"] .archive-kicker { margin-bottom: 0; }
.archive-title[data-deduplicated-title="true"] .archive-kicker { line-height: 1.25; }
.archive-kicker { margin: 0 0 6px; color: #087b71; font-size: 0.875rem; letter-spacing: 0.08em; }
.archive-title h1 { max-width: 1100px; margin: 0; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: clamp(1.65rem, 2.7vw, 2.65rem); font-weight: 800; letter-spacing: -0.04em; line-height: 1.08; text-align: left; text-transform: none; }
.archive-layout { display: block; width: 100%; margin: 0; padding: 24px clamp(24px, 3.5vw, 52px) 64px; }
.archive-aside { display: none; }
.archive-footer { width: min(1600px, calc(100% - 32px)); margin: 0 auto 16px; padding: 28px clamp(20px, 3vw, 44px); border-radius: 14px; }
.archive-browser-toolbar { background: #f3f6fa; }
.archive-browser-status { background: #f3f6fa; }

@media (max-width: 760px) {
  .archive-header { grid-template-columns: auto 1fr; min-height: 58px; padding-inline: 14px; }
  .archive-brand small { display: none; }
  .archive-shell { display: block; width: 100%; min-height: 0; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
  .archive-sidebar { display: none; }
  .archive-title { display: block; padding: 19px 16px 16px; }
  .archive-title h1 { font-size: clamp(1.55rem, 8vw, 2.15rem); }
  .archive-layout { padding: 18px 16px 48px; }
  .archive-footer { width: 100%; margin: 0; border-radius: 0; }
}

/* Shared Apple-style archive system. */
:root {
  --archive-ink: #1d1d1f;
  --archive-paper: #f5f5f7;
  --archive-blue: #0071e3;
  --archive-acid: #eaf3ff;
  --archive-line: rgba(0, 0, 0, 0.1);
  --archive-radius: 16px;
}
html, body { background: var(--archive-paper) !important; }
body { color: var(--archive-ink) !important; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Arial, sans-serif; }
a { color: var(--archive-blue); }
.archive-header { min-height: 64px; padding-inline: max(18px, calc((100vw - 1440px) / 2 + 18px)); border-bottom: 1px solid var(--archive-line); color: var(--archive-ink); background: rgba(255, 255, 255, 0.82); box-shadow: none; backdrop-filter: saturate(180%) blur(20px); }
.archive-brand { color: var(--archive-ink); font-size: 0.875rem; font-weight: 700; letter-spacing: 0.08em; }
.archive-brand em { color: var(--archive-blue); }
.archive-brand small { color: #6e6e73; font-weight: 500; }
.archive-nav { gap: 2px; }
.archive-nav a { padding: 8px 11px; border-radius: 9px; color: #6e6e73; font-size: 0.875rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
.archive-nav a:hover { color: var(--archive-ink); background: #f2f2f7; }
.archive-nav a:last-child { color: #6e6e73; background: transparent; }
.archive-shell { grid-template-columns: 220px minmax(0, 1fr); width: min(1440px, calc(100% - 24px)); min-height: calc(100vh - 88px); margin: 12px auto; border-color: var(--archive-line); border-radius: 18px; box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06); }
.archive-sidebar { padding: 22px 14px; border-right-color: var(--archive-line); background: #fbfbfd; }
.archive-sidebar-section { margin-bottom: 22px; }
.archive-sidebar-section h2 { margin-bottom: 7px; padding-inline: 10px; color: #6e6e73; font-size: 0.875rem; font-weight: 700; letter-spacing: 0.08em; }
.archive-sidebar-section a { margin: 2px 0; padding: 8px 10px; border-radius: 9px; color: #424245; font-size: 0.875rem; }
.archive-sidebar-section a:hover { color: var(--archive-ink); background: #f2f2f7; }
.archive-sidebar-section a.active { color: #fff; background: var(--archive-blue); box-shadow: 0 5px 14px rgba(0, 113, 227, 0.2); }
.archive-sidebar-note { padding: 14px; border: 1px solid #d9e8fb; border-radius: 12px; background: var(--archive-acid); }
.archive-sidebar-note span { color: var(--archive-blue); font-size: 0.875rem; }
.archive-sidebar-note strong { font-family: inherit; }
.archive-sidebar-note p { color: #6e6e73; font-size: 0.875rem; }
.archive-main { background: #fff; }
.archive-title { padding: 15px clamp(24px, 3.5vw, 52px) 14px; border-bottom-color: var(--archive-line); background: #fff; }
.archive-title[data-deduplicated-title="true"] { padding-block: 8px; }
.archive-kicker { margin-bottom: 5px; color: var(--archive-blue); font-size: 0.875rem; font-weight: 700; letter-spacing: 0.06em; }
.archive-title h1 { color: var(--archive-ink); font-family: inherit; font-size: clamp(1.7rem, 2.6vw, 2.55rem); font-weight: 750; letter-spacing: -0.045em; line-height: 1.05; text-transform: none; }
.archive-layout { padding: 18px clamp(24px, 3.5vw, 52px) 48px; }
.legacy-content { color: var(--archive-ink); line-height: 1.55; }
.legacy-content h1, .legacy-content h2, .legacy-content h3, .legacy-content h4 { font-family: inherit; font-weight: 700; letter-spacing: -0.03em; }
.legacy-content h1 { font-size: clamp(1.85rem, 3vw, 3rem) !important; }
.legacy-content h2 { border-bottom-color: var(--archive-ink); }
.legacy-content p, .legacy-content li, .legacy-content td, .legacy-content th { color: inherit; }
.legacy-content a { color: var(--archive-blue); }
.legacy-content blockquote { border-left-color: var(--archive-blue); border-radius: 0 10px 10px 0; background: #f2f2f7; }
.legacy-content table { border-color: var(--archive-line); }
.legacy-content td, .legacy-content th { border-color: var(--archive-line); }
.legacy-content th { background: #f2f2f7 !important; }
.archive-browser-toolbar, .archive-browser-status { border-color: var(--archive-line); border-radius: 12px; background: #f2f2f7; }
.archive-browser-toolbar input, .archive-browser-toolbar select { border-color: #d2d2d7; border-radius: 9px; }
.archive-browser-heading h2 { font-family: inherit !important; font-weight: 700; }
.archive-product-grid { gap: 10px; }
.archive-product-card { border-color: var(--archive-line); border-radius: var(--archive-radius); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.025); }
.archive-product-card:hover { border-color: #9fc8f5; box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08); }
.archive-product-body h3 { font-family: inherit !important; }
.archive-product-brand, .archive-product-action, .archive-product-body h3 a { color: var(--archive-blue); }
.archive-footer { width: min(1440px, calc(100% - 24px)); margin: 0 auto 12px; padding: 28px clamp(20px, 4vw, 52px); border-radius: 16px; color: #a1a1a6; background: #1d1d1f; }

@media (max-width: 760px) {
.archive-header { min-height: 58px; padding-inline: 14px; }
  .archive-header .global-search-trigger { min-width: 0; }
  .archive-shell { width: 100%; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
  .archive-title { padding: 15px 16px 13px; }
  .archive-layout { padding: 16px 16px 38px; }
.archive-footer { width: 100%; margin: 0; border-radius: 0; }
}

/* FAQ index navigator: keep the complete source available without making it the first view. */
.archive-faq-navigator { margin: 0 0 18px; padding: 18px; border: 1px solid var(--archive-line); border-radius: var(--archive-radius); background: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .04); }
.archive-faq-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.archive-faq-heading span, .archive-faq-quick > span { display: block; color: #087b71; font-size: .875rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.archive-faq-heading h2 { margin: 4px 0 2px; color: var(--archive-ink); font-family: inherit; font-size: 1.45rem; letter-spacing: -.025em; }
.archive-faq-heading p { margin: 0; color: #6e6e73; font-size: .875rem; }
.archive-faq-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.archive-faq-actions button { min-height: 38px; padding: 8px 11px; border: 1px solid #d2d2d7; border-radius: 9px; color: var(--archive-blue); background: #fff; font-size: .875rem; font-weight: 700; cursor: pointer; }
.archive-faq-actions button:hover { border-color: var(--archive-blue); background: #edf3ff; }
.archive-faq-toolbar { display: grid; grid-template-columns: minmax(230px, 1fr) auto; align-items: end; gap: 14px; margin: 16px 0; padding: 12px; border-radius: 11px; background: #f5f5f7; }
.archive-faq-toolbar label { display: grid; gap: 6px; }
.archive-faq-toolbar label > span { color: #6e6e73; font-size: .875rem; font-weight: 700; }
.archive-faq-toolbar input { width: 100%; min-height: 40px; padding: 8px 11px; border: 1px solid #d2d2d7; border-radius: 9px; color: var(--archive-ink); background: #fff; font: inherit; }
.archive-faq-toolbar input:focus { border-color: var(--archive-blue); outline: 3px solid rgba(0, 113, 227, .16); }
.archive-faq-quick { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 6px 10px; }
.archive-faq-quick > span { margin-right: 2px; }
.archive-faq-quick a { color: var(--archive-blue); font-size: .875rem; font-weight: 700; text-decoration: none; }
.archive-faq-quick a:hover { text-decoration: underline; }
.archive-faq-topic-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.archive-faq-topic { min-width: 0; border: 1px solid var(--archive-line); border-radius: 11px; background: #fff; }
.archive-faq-topic[hidden] { display: none; }
.archive-faq-topic summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; padding: 11px 13px; color: var(--archive-ink); font-size: .95rem; font-weight: 750; cursor: pointer; list-style: none; }
.archive-faq-topic summary::-webkit-details-marker { display: none; }
.archive-faq-topic summary::after { flex: none; width: 24px; height: 24px; border-radius: 50%; color: var(--archive-blue); background: #edf3ff; content: '+'; font-size: 1.15rem; font-weight: 400; line-height: 22px; text-align: center; }
.archive-faq-topic[open] summary::after { content: '−'; }
.archive-faq-topic summary small { flex: none; color: #6e6e73; font-size: .875rem; font-weight: 600; }
.archive-faq-topic-list { display: block; max-height: 460px; margin: 0; padding: 12px 16px 16px 31px; border-top: 1px solid var(--archive-line); columns: 2 260px; column-gap: 28px; overflow: auto; }
.archive-faq-topic-list li { break-inside: avoid; margin: 0 0 8px; padding-left: 2px; color: #4d5965; font-size: .9rem; line-height: 1.35; }
.archive-faq-topic-list li[hidden] { display: none; }
.archive-faq-topic-list a { color: var(--archive-blue); text-decoration: none; }
.archive-faq-topic-list a:hover { text-decoration: underline; }
.archive-faq-original { margin: 0 0 18px; border: 1px solid var(--archive-line); border-radius: 11px; background: #f8fafc; }
.archive-faq-original summary { padding: 12px 15px; color: var(--archive-blue); font-size: .9rem; font-weight: 750; cursor: pointer; }
.archive-faq-original > ul { margin: 0; padding: 0 20px 22px 38px; }
.archive-faq-original > ul > li { margin-top: 12px; }
.archive-faq-complete-navigator { margin: 0 0 18px; padding: 18px; border: 1px solid var(--archive-line); border-radius: var(--archive-radius); background: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .04); }
.archive-faq-complete-search { display: grid; gap: 6px; margin-top: 16px; padding: 12px; border-radius: 11px; background: #f5f5f7; }
.archive-faq-complete-search > span { color: #6e6e73; font-size: .875rem; font-weight: 700; }
.archive-faq-complete-search input { min-height: 40px; padding: 8px 11px; border: 1px solid #d2d2d7; border-radius: 9px; color: var(--archive-ink); background: #fff; font: inherit; }
.archive-faq-complete-search input:focus { border-color: var(--archive-blue); outline: 3px solid rgba(0, 113, 227, .16); }
.archive-faq-answer-topic { margin: 10px 0; border: 1px solid var(--archive-line); border-radius: 11px; background: #fff; }
.archive-faq-answer-topic[hidden] { display: none; }
.archive-faq-answer-topic summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; padding: 12px 15px; color: var(--archive-ink); font-size: 1rem; font-weight: 750; cursor: pointer; list-style: none; }
.archive-faq-answer-topic summary::-webkit-details-marker { display: none; }
.archive-faq-answer-topic summary::after { flex: none; width: 24px; height: 24px; border-radius: 50%; color: var(--archive-blue); background: #edf3ff; content: '+'; font-size: 1.15rem; font-weight: 400; line-height: 22px; text-align: center; }
.archive-faq-answer-topic[open] summary::after { content: '−'; }
.archive-faq-answer-topic summary small { flex: none; color: #6e6e73; font-size: .875rem; font-weight: 600; }
.archive-faq-answer-topic > ol { margin: 0; padding: 14px 24px 20px 42px; border-top: 1px solid var(--archive-line); }
.archive-faq-answer-topic > ol > li { margin: 0 0 18px; padding-left: 6px; font-size: .95rem; line-height: 1.55; }
.archive-faq-answer-topic > ol > li:last-child { margin-bottom: 0; }
.archive-faq-answer-topic > ol > li[hidden] { display: none; }
.archive-faq-answer-topic > ol > li > p:first-of-type { margin-top: 0; }
.archive-equipment-directory { margin: 0 0 18px; padding: 18px; border: 1px solid var(--archive-line); border-radius: var(--archive-radius); background: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .04); }
.archive-directory-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.archive-directory-heading span, .archive-directory-links > span { display: block; color: #087b71; font-size: .875rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.archive-directory-heading h2 { margin: 4px 0 2px; color: var(--archive-ink); font-family: inherit; font-size: 1.45rem; letter-spacing: -.025em; }
.archive-directory-heading p { margin: 0; color: #6e6e73; font-size: .875rem; }
.archive-directory-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.archive-directory-actions button { min-height: 38px; padding: 8px 11px; border: 1px solid #d2d2d7; border-radius: 9px; color: var(--archive-blue); background: #fff; font-size: .875rem; font-weight: 700; cursor: pointer; }
.archive-directory-actions button:hover { border-color: var(--archive-blue); background: #edf3ff; }
.archive-directory-toolbar { display: grid; grid-template-columns: minmax(230px, 1fr) 220px; align-items: end; gap: 12px; margin: 16px 0 12px; padding: 12px; border-radius: 11px; background: #f5f5f7; }
.archive-directory-toolbar label { display: grid; gap: 6px; }
.archive-directory-toolbar label > span { color: #6e6e73; font-size: .875rem; font-weight: 700; }
.archive-directory-toolbar input, .archive-directory-toolbar select { min-height: 40px; padding: 8px 11px; border: 1px solid #d2d2d7; border-radius: 9px; color: var(--archive-ink); background: #fff; font: inherit; }
.archive-directory-toolbar input:focus, .archive-directory-toolbar select:focus { border-color: var(--archive-blue); outline: 3px solid rgba(0, 113, 227, .16); }
.archive-directory-links { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 12px; margin: 0 0 12px; padding: 0 2px; }
.archive-directory-links > span { margin-right: 3px; }
.archive-directory-link { color: var(--archive-blue); font-size: .875rem; font-weight: 700; text-decoration: none; }
.archive-directory-link:hover { text-decoration: underline; }
.archive-directory-group { margin: 9px 0; border: 1px solid var(--archive-line); border-radius: 11px; background: #fff; }
.archive-directory-group[hidden] { display: none; }
.archive-directory-group summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; padding: 11px 14px; color: var(--archive-ink); font-size: 1rem; font-weight: 750; cursor: pointer; list-style: none; }
.archive-directory-group summary::-webkit-details-marker { display: none; }
.archive-directory-group summary::after { flex: none; width: 24px; height: 24px; border-radius: 50%; color: var(--archive-blue); background: #edf3ff; content: '+'; font-size: 1.15rem; font-weight: 400; line-height: 22px; text-align: center; }
.archive-directory-group[open] summary::after { content: '−'; }
.archive-directory-group summary small { flex: none; color: #6e6e73; font-size: .875rem; font-weight: 600; }
.archive-directory-brand-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0 12px 12px; border-top: 1px solid var(--archive-line); }
.archive-directory-brand { min-width: 0; padding: 12px; border: 1px solid var(--archive-line); border-radius: 9px; background: #f8fafc; }
.archive-directory-brand h3 { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 0 0 9px; color: var(--archive-ink); font-family: inherit; font-size: .95rem; }
.archive-directory-brand h3 span { flex: none; color: #6e6e73; font-size: .8rem; font-weight: 600; }
.archive-directory-models { display: flex; flex-wrap: wrap; gap: 6px; }
.archive-directory-models a { padding: 5px 7px; border: 1px solid #d7e2f2; border-radius: 7px; color: var(--archive-blue); background: #fff; font-size: .875rem; line-height: 1.15; text-decoration: none; }
.archive-directory-models a:hover { border-color: var(--archive-blue); background: #edf3ff; }
.archive-directory-original { margin: 0 0 18px; border: 1px solid var(--archive-line); border-radius: 11px; background: #f8fafc; }
.archive-directory-original summary { padding: 12px 15px; color: var(--archive-blue); font-size: .9rem; font-weight: 750; cursor: pointer; }
.archive-directory-original table { margin: 0 15px 15px; width: calc(100% - 30px); }
.equipment-directory-active > center:first-of-type, .equipment-directory-active > table:first-of-type { display: none; }
.archive-equipment-detail { margin: 0 0 14px; padding: 18px; border: 1px solid var(--archive-line); border-radius: var(--archive-radius); background: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .04); }
.equipment-detail-topline { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 14px; color: #087b71; font-size: .875rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.equipment-detail-topline span:last-child { color: #6e6e73; font-weight: 650; letter-spacing: .02em; text-transform: none; }
.equipment-detail-grid { display: grid; grid-template-columns: minmax(190px, 280px) minmax(0, 1fr); gap: 20px; align-items: start; }
.equipment-detail-media { display: grid; min-height: 220px; border: 1px solid var(--archive-line); border-radius: 11px; background: #f5f5f7; place-items: center; overflow: hidden; }
.equipment-detail-media img { display: block; width: 100%; max-height: 270px; object-fit: contain; }
.equipment-detail-open-image { display: grid; width: 100%; height: 100%; place-items: center; }
.equipment-detail-placeholder { color: #8b949e; font-size: 2rem; font-weight: 800; }
.equipment-detail-summary h2 { margin: 0 0 7px; color: var(--archive-ink); font-family: inherit; font-size: clamp(1.4rem, 2.2vw, 2rem); letter-spacing: -.03em; }
.equipment-detail-description { margin: 0 0 13px; color: #4d5965; font-size: .95rem; line-height: 1.45; }
.equipment-detail-facts { display: grid; grid-template-columns: 115px minmax(0, 1fr); gap: 7px 12px; margin: 0; padding: 12px 0; border-top: 1px solid var(--archive-line); border-bottom: 1px solid var(--archive-line); }
.equipment-detail-facts dt { color: #6e6e73; font-size: .875rem; font-weight: 750; }
.equipment-detail-facts dd { min-width: 0; margin: 0; color: var(--archive-ink); font-size: .9rem; line-height: 1.35; }
.equipment-detail-related { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.equipment-detail-related > span { flex-basis: 100%; margin-bottom: 1px; color: #6e6e73; font-size: .875rem; font-weight: 750; }
.equipment-detail-model-link { padding: 5px 8px; border: 1px solid #d7e2f2; border-radius: 7px; color: var(--archive-blue); background: #fff; font-size: .875rem; text-decoration: none; }
.equipment-detail-model-link:hover { border-color: var(--archive-blue); background: #edf3ff; }
.equipment-detail-features { margin-top: 14px; border-top: 1px solid var(--archive-line); }
.equipment-detail-features summary { padding: 13px 2px 2px; color: var(--archive-blue); font-size: .95rem; font-weight: 750; cursor: pointer; }
.equipment-detail-features > div { padding: 7px 2px 0; color: #3f4850; font-size: .925rem; line-height: 1.5; }
.equipment-detail-features > div p:first-child { margin-top: 0; }
.archive-equipment-detail-original { margin: 0 0 16px; border: 1px solid var(--archive-line); border-radius: 11px; background: #f8fafc; }
.archive-equipment-detail-original summary { padding: 12px 15px; color: var(--archive-blue); font-size: .9rem; font-weight: 750; cursor: pointer; }
.archive-equipment-detail-original table { width: calc(100% - 30px); margin: 0 15px 15px; }
.equipment-detail-active > center:first-of-type { display: none; }
.equipment-detail-active.archive-gallery-active .equipment-detail-media { display: none; }
.equipment-detail-active.archive-gallery-active .equipment-detail-grid { grid-template-columns: 1fr; }
.archive-record-nav-active .archive-record-nav-source { display: none !important; }
.archive-record-nav { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: stretch; gap: 10px; margin: 0 0 14px; padding: 8px; border: 1px solid #d2d2d7; border-radius: 14px; background: #f5f5f7; }
.archive-record-nav-bottom { margin-top: 24px; margin-bottom: 0; }
.archive-record-nav-link { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 58px; padding: 7px 10px; border-radius: 10px; color: var(--archive-ink); text-decoration: none; }
.archive-record-nav-link:hover { color: var(--archive-blue); background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .06); }
.archive-record-nav-prev { background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .04); }
.archive-record-nav-prev .archive-record-nav-arrow { color: #fff; border-color: var(--archive-blue); background: var(--archive-blue); }
.archive-record-nav-next { justify-content: flex-end; text-align: right; }
.archive-record-nav-link.is-disabled { color: #8e8e93; cursor: default; opacity: .68; }
.archive-record-nav-link.is-disabled .archive-record-nav-arrow { color: #8e8e93; border-color: #d2d2d7; background: #e5e5ea; }
.archive-record-nav-arrow { flex: none; display: grid; width: 34px; height: 34px; border: 1px solid #d2d2d7; border-radius: 50%; color: var(--archive-blue); background: #fff; place-items: center; font-size: 1.35rem; line-height: 1; }
.archive-record-nav-copy { display: grid; min-width: 0; gap: 2px; }
.archive-record-nav-copy small { color: #6e6e73; font-size: .875rem; font-weight: 650; line-height: 1.2; }
.archive-record-nav-copy strong { overflow: hidden; color: var(--archive-ink); font-size: .95rem; font-weight: 750; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.archive-record-nav-center { display: grid; align-content: center; min-width: min(230px, 25vw); padding: 0 16px; border-right: 1px solid #d2d2d7; border-left: 1px solid #d2d2d7; text-align: center; }
.archive-record-nav-center span { color: #6e6e73; font-size: .875rem; font-weight: 650; }
.archive-record-nav-center strong { margin-top: 2px; color: var(--archive-ink); font-size: .95rem; font-weight: 750; line-height: 1.25; }
@media (max-width: 760px) {
  .archive-faq-heading { flex-direction: column; }
  .archive-faq-actions { width: 100%; }
  .archive-faq-actions button { flex: 1; }
  .archive-faq-toolbar { grid-template-columns: 1fr; }
  .archive-faq-quick { justify-content: flex-start; }
  .archive-faq-topic-grid { grid-template-columns: 1fr; }
  .archive-faq-topic-list { columns: 1; max-height: 360px; }
  .archive-faq-answer-topic > ol { padding-inline: 18px 12px; }
  .archive-directory-heading { flex-direction: column; }
  .archive-directory-actions { width: 100%; }
  .archive-directory-actions button { flex: 1; }
  .archive-directory-toolbar { grid-template-columns: 1fr; }
  .archive-directory-brand-grid { grid-template-columns: 1fr; }
  .equipment-detail-grid { grid-template-columns: 1fr; gap: 13px; }
  .equipment-detail-media { min-height: 180px; }
  .equipment-detail-facts { grid-template-columns: 92px minmax(0, 1fr); }
  .archive-record-nav { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px; padding: 6px; }
  .archive-record-nav-center { display: none; }
  .archive-record-nav-link { min-height: 54px; padding: 6px 8px; }
  .archive-record-nav-next { justify-content: flex-end; }
  .archive-record-nav-copy strong { max-width: 26vw; }
}

/* iPhone layout repair for every preserved archive page. */
@media (max-width: 760px) {
  html {
    max-width: 100%;
    overflow-x: clip;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: clip;
  }

  input,
  select,
  textarea {
    font-size: 16px !important;
  }

  .archive-header {
    padding-right: max(14px, env(safe-area-inset-right));
    padding-left: max(14px, env(safe-area-inset-left));
  }

  .archive-title,
  .archive-layout {
    max-width: 100%;
    padding-right: max(16px, env(safe-area-inset-right));
    padding-left: max(16px, env(safe-area-inset-left));
  }

  .archive-breadcrumb a,
  .archive-breadcrumb > span:not([aria-current="page"]) {
    flex: none;
    white-space: nowrap;
  }

  .archive-breadcrumb span[aria-current="page"] { flex: 1 1 auto; }

  .legacy-content {
    max-width: 100%;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .legacy-content :where(p, li, td, th, a, span, font, small, label) {
    overflow-wrap: anywhere;
  }

  .archive-footer { padding-bottom: calc(40px + env(safe-area-inset-bottom)); }
}

/* Keep original-source credit readable on archive and Wiki pages. */
.archive-footer { flex-wrap: wrap; }
.archive-footer .source-disclaimer { flex: 0 0 100%; margin: 0; padding-top: 20px; border-top: 1px solid #424245; color: #cccccc; font-size: 0.875rem; line-height: 1.5; }
.archive-footer .source-disclaimer a { color: #2997ff; text-decoration: underline; text-underline-offset: 2px; }
