/* Electric Bike PH: the approved OFERO reading design, scoped to this release. */
.visual-site {
  --visual-ink: #141b17;
  --visual-copy: #46534b;
  --visual-muted: #617067;
  --visual-green: #3e702c;
  --visual-green-dark: #28531c;
  --visual-pale: #eff6eb;
  --visual-line: #dfe6dd;
  margin: 0;
  background: #fff;
  color: var(--visual-copy);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  overflow-wrap: anywhere;
}
.visual-site *, .visual-site *::before, .visual-site *::after { box-sizing: border-box; }
.visual-site [hidden] { display: none !important; }
.visual-site .visual-skip-link {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.visual-site .visual-skip-link:focus {
  z-index: 10020;
  top: 12px;
  left: 12px;
  width: auto;
  height: auto;
  max-width: calc(100% - 24px);
  padding: 12px 16px;
  overflow: visible;
  clip-path: none;
  white-space: normal;
  background: #fff;
  border: 1px solid var(--visual-green);
  border-radius: 4px;
  color: var(--visual-green-dark);
}
.visual-site a { color: var(--visual-green-dark); text-underline-offset: .2em; }
.visual-site a:hover { text-decoration-thickness: 2px; }
.visual-site :is(a, button, input, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--visual-green);
  outline-offset: 4px;
}
.visual-site :is(h1, h2, h3, h4, strong, b) { color: var(--visual-ink); }
.visual-site h1 {
  font-size: clamp(2.5rem, 3.65vw, 3.5rem);
  line-height: 1.08;
  letter-spacing: -.04em;
  margin: 20px 0 24px;
  font-weight: 750;
  text-wrap: balance;
}
.visual-site h2 { font-size: 1.75rem; line-height: 1.2; letter-spacing: -.025em; margin: 0 0 18px; }
.visual-site h3 { font-size: 1.15rem; line-height: 1.35; margin: 24px 0 10px; }
.visual-site p { margin: 0 0 18px; }
.visual-site ul, .visual-site ol { padding-left: 1.4em; }
.visual-site li { margin: 10px 0; }
.visual-site img { max-width: 100%; height: auto; }
.visual-site :is(h1, h2, h3, section, [id]) { scroll-margin-top: 24px; }
.visual-site main {
  max-width: 1487px;
  margin: 0 auto;
  padding: 36px 32px 64px;
  min-height: 0;
  background: #fff;
}

/* The official vertical Logo remains intact, at its original aspect ratio. */
.visual-site .site-header { background: #fff; border-bottom: 1px solid var(--visual-line); }
.visual-site .site-nav {
  max-width: 1487px;
  min-height: 96px;
  margin: 0 auto;
  padding: 12px 40px;
  gap: 36px;
  align-items: center;
}
.visual-site .site-brand { width: 64px; height: 65px; flex-basis: 64px; }
.visual-site .site-brand-logo { display: block; width: 64px; height: auto; max-height: none; object-fit: contain; }
.visual-site .site-nav-links { gap: 12px 25px; font-size: .9rem; flex: 1 1 520px; }
.visual-site .site-nav-links a { color: #354539; font-weight: 600; line-height: 1.5; padding: 8px 0; }
.visual-site .site-contact-actions { flex-wrap: wrap; gap: 8px; }
.visual-site :is(.site-contact-btn, .contact-action, .home-action, .messenger-band a) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  max-width: 100%;
  padding: 10px 16px;
  border: 1px solid #9aaf90;
  border-radius: 5px;
  background: #fff;
  color: var(--visual-green-dark);
  text-align: center;
  font-size: .9375rem;
  font-weight: 700;
  line-height: 1.45;
  white-space: normal;
  text-decoration: none;
  box-shadow: none;
}
.visual-site :is(.site-contact-btn.primary, .contact-action.primary, .home-action.primary, .messenger-band .primary, .messenger-band .messenger-link) {
  background: var(--visual-green);
  border-color: var(--visual-green);
  color: #fff;
}
.visual-site :is(.site-contact-btn, .contact-action, .home-action, .messenger-band a):hover {
  background: var(--visual-pale);
  border-color: var(--visual-green);
  color: var(--visual-green-dark);
}
.visual-site :is(.site-contact-btn.primary, .contact-action.primary, .home-action.primary, .messenger-band .primary, .messenger-band .messenger-link):hover {
  background: var(--visual-green-dark);
  color: #fff;
}
.visual-site .contact-action.disabled { color: var(--visual-muted); background: #f2f4f0; border-color: var(--visual-line); }
.visual-site :is(.contact-actions, .home-actions) { gap: 10px; margin: 22px 0; }

/* Real headings supply the contents rail; no duplicate editorial copy. */
.visual-site .reading-layout {
  display: grid;
  grid-template-columns: 208px minmax(0, 840px);
  gap: 48px;
  align-items: start;
  max-width: 1096px;
  margin: 0 auto;
}
.visual-site .reading-layout.has-guide-media {
  grid-template-columns: 192px minmax(0, 1fr) minmax(320px, .76fr);
  gap: 36px;
  max-width: none;
}
.visual-site .reading-content, .visual-site .guide-media { min-width: 0; }
.visual-site .guide-toc { min-width: 0; padding-top: 7px; }
.visual-site .guide-toc details { padding: 0; border: 0; }
.visual-site .guide-toc summary { color: #354539; font-size: 1rem; font-weight: 700; padding: 0 0 19px; cursor: pointer; }
.visual-site .guide-toc nav { display: grid; gap: 0; border-left: 1px solid var(--visual-line); }
.visual-site .guide-toc nav a {
  display: block;
  margin-left: -1px;
  padding: 9px 12px 9px 18px;
  border-left: 3px solid transparent;
  color: var(--visual-muted);
  font-size: .875rem;
  line-height: 1.45;
  text-decoration: none;
}
.visual-site .guide-toc nav a:first-child { border-left-color: var(--visual-green); color: var(--visual-green-dark); }
.visual-site .guide-toc nav a:hover { background: var(--visual-pale); color: var(--visual-green-dark); }
.visual-site .breadcrumbs { color: var(--visual-muted); font-size: .8125rem; line-height: 1.7; margin-bottom: 20px; }
.visual-site .breadcrumbs a { color: var(--visual-muted); }
.visual-site .meta { color: var(--visual-muted); font-size: .8125rem; line-height: 1.65; }
.visual-site .reading-content > .meta:first-of-type { color: var(--visual-green-dark); }
.visual-site .reading-content > h1 + p:not(.meta), .visual-site .guide-lead {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--visual-copy);
  max-width: 68ch;
}
.visual-site .guide-media { margin: 0; }
.visual-site .guide-media figure, .visual-site .showroom-feature { margin: 0; }
.visual-site .guide-media img { display: block; width: 100%; height: auto; border-radius: 0; }
.visual-site .guide-media figcaption, .visual-site .showroom-feature figcaption {
  padding-top: 12px;
  color: var(--visual-muted);
  font-size: .75rem;
  line-height: 1.55;
}
.visual-site .guide-media figure { background: #fff; }
.visual-site .hero-product { margin: 28px 0; }
.visual-site :is(.hero-product img, .hero-image, .media-card img, .home-product-image) {
  display: block;
  width: 100%;
  height: auto;
  max-height: 440px;
  margin: 0;
  object-fit: contain;
  border-radius: 0;
  background: #f8faf6;
}
.visual-site :is(.hero-product figcaption, .media-card figcaption) { margin-top: 10px; color: var(--visual-muted); font-size: .8125rem; line-height: 1.55; }
.visual-site .media-card { margin: 32px 0; padding: 0; border: 0; background: transparent; }
.visual-site .reading-content .home-hero { display: block; padding: 0 0 30px; border-bottom: 1px solid var(--visual-line); }
.visual-site .reading-content .home-hero h1 { margin-top: 16px; }
.visual-site .reading-content .home-hero .hero-product img { max-height: 210px; object-fit: contain; }

/* Reading rhythm replaces stacked coloured boxes with editorial sections. */
.visual-site :is(.content-section, .seo-panel, .geo-panel, .conversion-panel, .service-panel, .law-panel, .model-panel, .contact-card, .source-boundary, .related) {
  content-visibility: visible;
  contain-intrinsic-size: none;
  margin: 36px 0 0;
  padding: 30px 0 0;
  border: 0;
  border-top: 1px solid var(--visual-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.visual-site .content-section[data-section-kind] { padding: 30px 0 0; border-left: 0; background: transparent; }
.visual-site :is(.content-section, .seo-panel, .geo-panel, .conversion-panel, .service-panel, .law-panel, .model-panel) > h2:first-child { margin-top: 0; }
.visual-site .product-context {
  margin: 28px 0;
  padding: 23px 0;
  border: 0;
  border-top: 1px solid var(--visual-line);
  border-bottom: 1px solid var(--visual-line);
  border-radius: 0;
  background: transparent;
}
.visual-site .product-context ul { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 18px; }
.visual-site .product-context b { font-size: .6875rem; letter-spacing: .09em; color: var(--visual-muted); }
.visual-site .product-context span { color: var(--visual-ink); }
.visual-site .decision-grid { display: grid; grid-template-columns: 1fr; gap: 0; margin: 0; }
.visual-site .decision-item {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 18px;
  padding: 16px 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--visual-line);
  border-radius: 0;
}
.visual-site .decision-item:first-child { padding-top: 0; }
.visual-site .decision-item:last-child { border-bottom: 0; padding-bottom: 0; }
.visual-site .decision-item strong { margin: 0; font-size: .9375rem; }
.visual-site .decision-item span { font-size: .9375rem; color: var(--visual-copy); font-weight: 400; }
.visual-site .buyer-plan > .contact-actions:last-child { margin-bottom: 0; }
.visual-site .buyer-comparison { margin: 22px 0; }
.visual-site .buyer-comparison dt { font-size: 1.0625rem; margin: 24px 0 8px; }
.visual-site .buyer-comparison dd { padding-bottom: 24px; margin: 0; border-bottom: 1px solid var(--visual-line); }
.visual-site :is(.contact-card, .source-boundary) > h2 { margin-top: 0; }
.visual-site .contact-card h3 { font-size: 1.0625rem; margin: 24px 0 10px; }
.visual-site :is(.contact-details li, .branch-list li) { border-color: var(--visual-line); margin: 0; padding: 13px 0; }
.visual-site .contact-details li { grid-template-columns: 110px minmax(0, 1fr); }
.visual-site :is(.branch-address, .branch-hours) { color: var(--visual-copy); }
.visual-site .branch-actions { gap: 12px; }
.visual-site .branch-actions a { padding: 5px 0; }
.visual-site .source-boundary p { color: var(--visual-muted); font-size: .875rem; }
.visual-site .related-grid { display: grid; grid-template-columns: 1fr; gap: 0; }
.visual-site .related-card { padding: 18px 0; border: 0; border-bottom: 1px solid var(--visual-line); border-radius: 0; background: transparent; }
.visual-site .related-card strong { color: var(--visual-green-dark); }
.visual-site .related-card span { margin-top: 5px; color: var(--visual-copy); font-size: .875rem; }
.visual-site .chips { gap: 8px; }
.visual-site .chips li { padding: 5px 10px; border: 1px solid var(--visual-line); border-radius: 3px; background: #fff; color: var(--visual-muted); }
.visual-site details { border-color: var(--visual-line); padding: 17px 0; }
.visual-site summary { cursor: pointer; color: var(--visual-ink); font-weight: 700; }
.visual-site details p { margin-top: 16px; }
.visual-site details p:last-child { margin-bottom: 0; }
.visual-site table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: .9375rem; line-height: 1.6; text-align: left; }
.visual-site th, .visual-site td { padding: 16px 14px; vertical-align: top; border-bottom: 1px solid var(--visual-line); overflow-wrap: anywhere; }
.visual-site thead { background: var(--visual-pale); color: var(--visual-green-dark); }
.visual-site table caption { text-align: left; margin: 14px 0; color: var(--visual-muted); font-size: .8125rem; }
.visual-site #etrike-model-comparison :is(th, td) { border: 0; border-bottom: 1px solid var(--visual-line); padding: 16px 12px; }
.visual-site #etrike-model-comparison thead { background: var(--visual-pale); }

/* Home and directory pages keep their own purpose and existing navigation. */
.visual-site.page-home main { max-width: 1360px; }
.visual-site.page-home .home-hero { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 48px; padding: 22px 0 44px; border-color: var(--visual-line); }
.visual-site.page-home .reading-content .home-hero { display: block; padding-top: 0; }
.visual-site.page-home h1 { max-width: 13ch; font-size: clamp(2.5rem, 4.2vw, 4rem); }
.visual-site.page-home .home-hero-content > p:not(.meta) { max-width: 60ch; font-size: 1.1875rem; }
.visual-site.page-home .home-product-image { max-height: 360px; }
.visual-site.page-home .reading-content .home-product-image { max-height: 240px; margin-top: 28px; }
.visual-site.page-home main > section:not(.home-hero), .visual-site.page-home #buyer-paths { margin-top: 46px; }
.visual-site.page-home .showroom-feature { max-width: 900px; margin: 36px auto; }
.visual-site.page-home .guide-media .showroom-feature { margin: 0; }
.visual-site.page-home .reading-content > section:not(.home-hero) { margin-top: 46px; }
.visual-site .showroom-feature img { display: block; width: 100%; height: auto; }
.visual-site .product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; margin: 18px 0; }
.visual-site .product-card { border: 0; border-bottom: 1px solid var(--visual-line); border-radius: 0; padding: 22px 0; background: transparent; }
.visual-site .product-card a { color: var(--visual-green-dark); font-size: 1.0625rem; }
.visual-site .product-card span { font-size: .9375rem; color: var(--visual-copy); margin-top: 9px; }
.visual-site .page-list { columns: 2; column-gap: 48px; list-style: none; padding-left: 0; }
.visual-site .page-list li { border-top: 1px solid var(--visual-line); margin: 0; padding: 20px 0; }
.visual-site .page-list a { font-weight: 700; text-decoration: none; }
.visual-site .page-list span { display: inline-block; margin-top: 7px; font-size: .875rem; color: var(--visual-muted); }
.visual-site.page-directory .reading-content > ul { list-style: none; padding: 0; }
.visual-site.page-directory .reading-content > ul > li { padding: 22px 0; margin: 0; border-top: 1px solid var(--visual-line); }
.visual-site.page-directory .reading-content > ul > li > a { font-size: 1.0625rem; font-weight: 700; text-decoration: none; }
.visual-site.page-directory .reading-content > ul > li > span { display: inline-block; margin-top: 7px; color: var(--visual-muted); font-size: .9375rem; }
.visual-site.page-error main { max-width: 920px; padding-top: 66px; }
.visual-site.page-error h1 { font-size: clamp(2.5rem, 4vw, 3.5rem); }
.visual-site.page-error .reading-layout { display: block; }
.visual-site .messenger-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 22px 32px;
  margin: 36px 0;
  padding: 26px 30px;
  background: var(--visual-pale);
  border: 1px solid #e3eddc;
  border-radius: 8px;
}
.visual-site .messenger-band > div:first-child { flex: 1 1 340px; min-width: 0; }
.visual-site .messenger-band h2 { margin: 0 0 7px; font-size: 1.5rem; }
.visual-site .messenger-band p { margin: 0; color: var(--visual-copy); font-size: .9375rem; }
.visual-site .messenger-band :is(.messenger-actions, .messenger-band-actions) { display: flex; flex-wrap: wrap; gap: 12px; }
.visual-site .site-footer { max-width: 1360px; border-top: 1px solid var(--visual-line); margin: 0 auto; padding: 30px 32px 32px; color: var(--visual-muted); font-size: .8125rem; }
.visual-site .site-footer p { max-width: 90ch; margin-bottom: 10px; }
.visual-site .site-footer a { color: var(--visual-green-dark); }

/* Contact behaviour belongs to r3; these rules change its visual palette only. */
.visual-site #ofero-contact-electricbikeph-com-v1,
.visual-site #ofero-celebration-20261001 { max-width: 1360px; }
.visual-site #ofero-contact-electricbikeph-com-v1 .ofero-contact-launcher {
  background: var(--visual-green); border-color: var(--visual-green); border-radius: 5px; box-shadow: none;
}
.visual-site #ofero-contact-panel { border-color: var(--visual-line); border-radius: 10px; }
.visual-site #ofero-contact-panel h2 { color: var(--visual-ink); }
.visual-site #ofero-contact-panel .ofero-contact-links a { color: var(--visual-green-dark); border-color: #b8cbb0; background: #f7faf5; border-radius: 5px; }
.visual-site #ofero-contact-panel .ofero-contact-links .ofero-contact-primary { background: var(--visual-green); border-color: var(--visual-green); color: #fff; }
.visual-site #ofero-contact-panel .ofero-contact-hide, .visual-site .ofero-contact-restore { color: var(--visual-green-dark); }
.visual-site #ofero-contact-panel .ofero-contact-close { color: var(--visual-green-dark); background: var(--visual-pale); }
.visual-site #ofero-celebration-20261001 { --ofc-green: #3e702c; --ofc-bright: #3e702c; }
.visual-site #ofero-celebration-20261001 > button.ofc-202610-launcher { border-radius: 5px; box-shadow: none; }

/* The standalone battery guide keeps its functional rail, table and checklist. */
.visual-site.page-battery { --ink: #141b17; --muted: #617067; --pink: #3e702c; --rose: #eff6eb; --purple: #28531c; }
.visual-site.page-battery .top {
  position: static; height: auto; min-height: 96px; max-width: 1487px; margin: auto;
  padding: 12px 32px; gap: 28px; flex-wrap: wrap; background: #fff;
  border-bottom: 1px solid var(--visual-line); backdrop-filter: none;
}
.visual-site.page-battery .logo { color: var(--visual-ink); gap: 16px; font-size: 1.0625rem; letter-spacing: -.02em; min-width: 0; }
.visual-site.page-battery .logo b { color: var(--visual-green-dark); }
.visual-site.page-battery .top .logo img { width: 58px; height: auto; max-height: none; padding: 0; border: 0; border-radius: 0; }
.visual-site.page-battery .tabs { gap: 10px; margin: 0; }
.visual-site.page-battery .tabs a { padding: 10px; font-size: .875rem; color: var(--visual-muted); border-radius: 0; white-space: normal; }
.visual-site.page-battery .tabs a.on { color: var(--visual-green-dark); background: transparent; box-shadow: inset 0 -3px var(--visual-green); }
.visual-site.page-battery .tabs a:hover { background: var(--visual-pale); }
.visual-site.page-battery .topr { flex-wrap: wrap; gap: 12px; min-width: 0; }
.visual-site.page-battery .preview-label, .visual-site.page-battery .preview-mobile { color: var(--visual-muted); border-color: var(--visual-line); font-size: .6875rem; }
.visual-site.page-battery .btn {
  min-height: 46px; max-width: 100%; padding: 11px 17px; border: 1px solid var(--visual-green);
  border-radius: 5px; font-size: .875rem; line-height: 1.45; white-space: normal; text-align: center;
  gap: 12px; box-shadow: none; transform: none; filter: none;
}
.visual-site.page-battery .btn-f { background: var(--visual-green); color: #fff; }
.visual-site.page-battery .btn-o { color: var(--visual-green-dark); background: #fff; }
.visual-site.page-battery .btn:hover { background: var(--visual-green-dark); color: #fff; transform: none; filter: none; }
.visual-site.page-battery .app-wrap { max-width: 1487px; height: auto; min-height: 0; overflow: visible; align-items: flex-start; }
.visual-site.page-battery .side {
  width: 238px; min-width: 180px; max-width: 320px; padding: 36px 22px; height: auto;
  position: static; top: auto; overflow: visible; background: #fff; border-color: var(--visual-line);
}
.visual-site.page-battery .battery-contents { width: 100%; border: 0; padding: 0; }
.visual-site.page-battery .battery-contents > summary {
  min-height: 44px;
  padding: 10px 0;
  color: #354539;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 700;
  cursor: pointer;
}
.visual-site.page-battery .battery-contents[open] > summary { margin-bottom: 22px; }
.visual-site.page-battery .side-group { margin-bottom: 28px; }
.visual-site.page-battery .side-title { font-size: .6875rem; letter-spacing: .08em; color: var(--visual-green-dark); padding: 0; }
.visual-site.page-battery .issue-no { font-size: .8125rem; color: var(--visual-muted); margin: 10px 0 0; }
.visual-site.page-battery .issue-no span { color: var(--visual-muted); }
.visual-site.page-battery .cat { font-size: .875rem; padding: 11px 12px; gap: 11px; color: var(--visual-muted); border-radius: 0; border-left: 2px solid var(--visual-line); }
.visual-site.page-battery .cat.on { color: var(--visual-green-dark); border-left-color: var(--visual-green); background: var(--visual-pale); }
.visual-site.page-battery .cat > span { font-size: .6875rem; color: var(--visual-muted); }
.visual-site.page-battery .cat:hover { color: var(--visual-green-dark); background: var(--visual-pale); }
.visual-site.page-battery .side-note { margin: 0 0 28px; padding: 22px 0; background: transparent; border-top: 1px solid var(--visual-line); border-bottom: 1px solid var(--visual-line); border-radius: 0; }
.visual-site.page-battery .small-label { font-size: .625rem; color: var(--visual-green-dark); }
.visual-site.page-battery .side-note p { font: 600 1rem/1.5 Arial, Helvetica, sans-serif; }
.visual-site.page-battery .side-note a, .visual-site.page-battery .side-brand a { font-size: .8125rem; color: var(--visual-green-dark); }
.visual-site.page-battery .side-brand { margin: 0; }
.visual-site.page-battery .side-brand img { width: 64px; height: auto; }
.visual-site.page-battery .side-brand p { color: var(--visual-muted); font-size: .8125rem; }
.visual-site.page-battery .resizer { position: sticky; top: 24px; width: 6px; height: min(540px, calc(100vh - 48px)); }
.visual-site.page-battery .resizer::after { background: var(--visual-green); }
.visual-site.page-battery .resizer:hover, .visual-site.page-battery .resizer.active { background: var(--visual-pale); }
.visual-site.page-battery main.main { flex: 1; max-width: 1240px; min-width: 0; padding: 36px 36px 48px; background: #fff; overflow: visible; }
.visual-site.page-battery .hero { border: 0; border-bottom: 1px solid var(--visual-line); border-radius: 0; background: #fff; padding-bottom: 32px; overflow: visible; }
.visual-site.page-battery .hero-cover { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); min-height: 0; gap: 24px; aspect-ratio: auto; }
.visual-site.page-battery .hero-content { position: static; padding: 0; min-width: 0; }
.visual-site.page-battery .hero-content .badge { padding: 0; border: 0; border-radius: 0; background: none; color: var(--visual-green-dark); font-size: .6875rem; line-height: 1.6; letter-spacing: .09em; margin: 0 0 20px; }
.visual-site.page-battery .hero-content h1 { font-family: Arial, Helvetica, sans-serif; font-size: clamp(2.4rem, 3.6vw, 3.5rem); font-weight: 750; line-height: 1.08; letter-spacing: -.04em; margin: 0 0 22px; }
.visual-site.page-battery .hero-content h1 span { background: none; color: var(--visual-ink); -webkit-text-fill-color: currentColor; }
.visual-site.page-battery .hero-content .sub { font-size: 1.125rem; line-height: 1.55; color: var(--visual-copy); max-width: none; margin: 0 0 16px; }
.visual-site.page-battery .hero-content .lead { font-size: 1rem; line-height: 1.7; color: var(--visual-copy); max-width: 62ch; padding: 0; margin: 0; background: transparent; border: 0; backdrop-filter: none; }
.visual-site.page-battery .hero-cta { margin-top: 22px; }
.visual-site.page-battery .hero-figure { margin: 0; padding: 0; align-self: center; min-width: 0; }
.visual-site.page-battery .hero-figure img { width: 100%; max-height: 440px; object-fit: contain; filter: none; }
.visual-site.page-battery .image-halo { display: none; }
.visual-site.page-battery .hero-figure figcaption { color: var(--visual-muted); font-size: .75rem; line-height: 1.55; }
.visual-site.page-battery .byline { padding: 18px 0 34px; color: var(--visual-muted); font-size: .75rem; flex-wrap: wrap; gap: 9px 24px; }
.visual-site.page-battery .byline span { max-width: none; white-space: normal; }
.visual-site.page-battery :is(.about, .box, .quote-section, .faq-section, .sources) { padding: 30px 0 0; margin: 0 0 36px; border: 0; border-top: 1px solid var(--visual-line); border-radius: 0; background: #fff; box-shadow: none; }
.visual-site.page-battery .about { padding-top: 0; border-top: 0; }
.visual-site.page-battery .section-kicker { font-size: .6875rem; letter-spacing: .1em; color: var(--visual-green-dark); margin-bottom: 12px; }
.visual-site.page-battery :is(.about h2, .box h2, .sec-head h2, .faq-section > h2) { font-family: Arial, Helvetica, sans-serif; font-weight: 700; line-height: 1.25; font-size: 1.75rem; letter-spacing: -.025em; color: var(--visual-ink); margin: 0 0 20px; }
.visual-site.page-battery .about h2 span { background: none; color: var(--visual-ink); -webkit-text-fill-color: currentColor; }
.visual-site.page-battery .about .grid { gap: 32px; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.visual-site.page-battery :is(.about .grid p, .box p, .section-intro) { color: var(--visual-copy); font-size: 1rem; line-height: 1.7; }
.visual-site.page-battery .note-panel { background: var(--visual-pale); border-radius: 4px; padding: 24px; }
.visual-site.page-battery .note-panel h3 { margin: 0 0 14px; font-size: 1.0625rem; color: var(--visual-ink); }
.visual-site.page-battery .sec-head .tag { background: var(--visual-pale); color: var(--visual-green-dark); border: 0; font-size: .6875rem; border-radius: 3px; }
.visual-site.page-battery .quote-table-wrap { border: 0; border-radius: 0; overflow: visible; background: #fff; }
.visual-site.page-battery table { font-size: .9375rem; line-height: 1.65; }
.visual-site.page-battery thead { background: var(--visual-pale); color: var(--visual-green-dark); }
.visual-site.page-battery thead th { font-size: .75rem; letter-spacing: .04em; padding: 14px 12px; }
.visual-site.page-battery tbody th { width: 33%; color: var(--visual-ink); padding: 18px 12px; }
.visual-site.page-battery tbody th span { font-size: .6875rem; color: var(--visual-muted); }
.visual-site.page-battery td { color: var(--visual-copy); padding: 18px 12px; }
.visual-site.page-battery tbody tr:nth-child(even) { background: #fbfcfa; }
.visual-site.page-battery tbody tr + tr { border-color: var(--visual-line); }
.visual-site.page-battery .under-table { color: var(--visual-muted); font-size: .8125rem; line-height: 1.65; margin-top: 16px; }
.visual-site.page-battery .row2 { gap: 36px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.visual-site.page-battery .checklist .checklist-note, .visual-site.page-battery .checklist .check-progress { color: var(--visual-muted); font-size: .8125rem; }
.visual-site.page-battery .check-items label { font-size: .9375rem; color: var(--visual-copy); padding: 13px 0; border-color: var(--visual-line); }
.visual-site.page-battery .check-items input { width: 20px; height: 20px; accent-color: var(--visual-green); }
.visual-site.page-battery .check-items input:checked + span { color: var(--visual-green-dark); }
.visual-site.page-battery .checklist .btn { font-size: .875rem; padding: 11px 16px; }
.visual-site.page-battery .faq-section details { border-color: var(--visual-line); background: #fff; border-radius: 0; padding: 0; }
.visual-site.page-battery .faq-section details:first-of-type, .visual-site.page-battery .faq-section details:last-of-type { border-radius: 0; border-color: var(--visual-line); }
.visual-site.page-battery .faq-section summary { color: var(--visual-ink); font-size: 1rem; padding: 20px 28px 20px 0; }
.visual-site.page-battery .faq-section summary::after { color: var(--visual-green-dark); }
.visual-site.page-battery .faq-section details p { color: var(--visual-copy); font-size: 1rem; line-height: 1.7; padding: 0 20px 20px 0; margin: 0; }
.visual-site.page-battery .sources h2 { font-size: 1.125rem; color: var(--visual-ink); }
.visual-site.page-battery .sources p, .visual-site.page-battery .sources li { color: var(--visual-muted); font-size: .8125rem; line-height: 1.7; }
.visual-site.page-battery .sources a { color: var(--visual-green-dark); }
.visual-site.page-battery .ft { margin-top: 0; padding: 30px 0; border: 0; border-top: 1px solid var(--visual-line); border-radius: 0; background: #fff; }
.visual-site.page-battery .ft img { width: 64px; height: auto; }
.visual-site.page-battery .ft p, .visual-site.page-battery .copy { color: var(--visual-muted); font-size: .8125rem; }
.visual-site.page-battery .ft a.btn { color: var(--visual-green-dark); font-size: .875rem; }
.visual-site.page-battery .ft a.btn:hover { color: #fff; }
.visual-site.page-battery .copy { border-color: var(--visual-line); }
.visual-site.page-battery .gotop { position: static; width: 46px; height: 46px; margin: 0 24px 24px auto; background: var(--visual-green); border-radius: 5px; box-shadow: none; transform: none; }

@media (min-width: 1200px) {
  .visual-site .guide-toc { position: sticky; top: 28px; max-height: calc(100vh - 56px); overflow-y: auto; padding-right: 10px; }
  .visual-site .guide-media img { height: clamp(560px, 47.1vw, 700px); object-fit: cover; object-position: 45% center; }
}
@media (max-width: 1199px) {
  .visual-site .site-nav { gap: 24px; padding-right: 28px; padding-left: 28px; }
  .visual-site .site-nav-links { flex-basis: 440px; gap: 8px 18px; }
  .visual-site .reading-layout { gap: 32px; grid-template-columns: 180px minmax(0, 1fr); }
  .visual-site .reading-layout.has-guide-media { grid-template-columns: minmax(0, 1fr) minmax(260px, .65fr); gap: 30px; }
  .visual-site .has-guide-media .guide-toc { grid-column: 1 / -1; }
  .visual-site .has-guide-media .guide-toc nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .visual-site .has-guide-media .reading-content { grid-column: 1; }
  .visual-site .has-guide-media .guide-media { grid-column: 2; }
  .visual-site.page-battery .top { gap: 18px; }
  .visual-site.page-battery .topr { flex-shrink: 1; }
  .visual-site.page-battery .side { width: 208px; padding: 30px 18px; }
  .visual-site.page-battery main.main { padding: 30px 28px 40px; }
  .visual-site.page-battery .hero-cover { grid-template-columns: 1fr; }
  .visual-site.page-battery .hero-figure { max-width: 440px; margin: 0 auto; }
  .visual-site.page-battery .about .grid, .visual-site.page-battery .row2 { grid-template-columns: 1fr; gap: 26px; }
}
@media (max-width: 900px) {
  .visual-site main { padding: 28px 24px 48px; }
  .visual-site .site-nav { gap: 14px 24px; padding: 12px 24px; }
  .visual-site .site-nav-links { order: 3; flex: 1 0 100%; gap: 4px 20px; flex-wrap: wrap; overflow: visible; padding: 0; }
  .visual-site .site-contact-actions { margin-left: auto; }
  .visual-site .reading-layout, .visual-site .reading-layout.has-guide-media { display: flex; flex-direction: column; gap: 30px; }
  .visual-site .reading-content, .visual-site .guide-toc, .visual-site .guide-media { width: 100%; }
  .visual-site .guide-toc { padding: 0 0 22px; border-bottom: 1px solid var(--visual-line); position: static; max-height: none; }
  .visual-site .guide-toc summary { padding-bottom: 14px; }
  .visual-site .guide-toc nav, .visual-site .has-guide-media .guide-toc nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .visual-site .guide-media { max-width: 640px; align-self: center; }
  .visual-site.page-home .home-hero { grid-template-columns: 1fr; gap: 26px; }
  .visual-site.page-home .home-product-image { max-height: 360px; }
  .visual-site .messenger-band { gap: 20px; padding: 24px; }
  .visual-site .messenger-band > div:first-child { flex-basis: 100%; }
  .visual-site .site-footer { padding: 28px 24px; }
  .visual-site.page-battery .top { padding: 12px 24px; gap: 14px; }
  .visual-site.page-battery .topr { margin-left: auto; }
  .visual-site.page-battery .tabs { order: 3; flex-basis: 100%; }
  .visual-site.page-battery .app-wrap { display: block; }
  .visual-site.page-battery .side { display: block; position: static; width: 100% !important; min-width: 0; max-width: none; padding: 24px; border-right: 0; border-bottom: 1px solid var(--visual-line); }
  .visual-site.page-battery .side:has(.battery-contents:not([open])) { padding-top: 12px; padding-bottom: 12px; }
  .visual-site.page-battery .side .side-group { margin-bottom: 18px; }
  .visual-site.page-battery .side .side-group:nth-child(2) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 14px; }
  .visual-site.page-battery .side .side-group:nth-child(2) .side-title { grid-column: 1 / -1; }
  .visual-site.page-battery .side-note { margin-bottom: 18px; padding: 18px 0; }
  .visual-site.page-battery .side-note p { margin: 10px 0; }
  .visual-site.page-battery .side-brand { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 4px 18px; align-items: center; }
  .visual-site.page-battery .side-brand img { width: 54px; grid-row: span 2; }
  .visual-site.page-battery .side-brand p { margin: 0; }
  .visual-site.page-battery .resizer { display: none; }
  .visual-site.page-battery main.main { padding: 28px 24px 40px; }
  .visual-site.page-battery .hero-cover { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
  .visual-site.page-battery .hero-figure { padding: 0; }
}
@media (max-width: 600px) {
  .visual-site main { padding: 24px 18px 40px; }
  .visual-site h1 { font-size: 2rem; line-height: 1.12; margin: 14px 0 20px; letter-spacing: -.035em; }
  .visual-site h2 { font-size: 1.5rem; }
  .visual-site .site-nav { padding: 10px 18px 14px; gap: 12px 18px; }
  .visual-site .site-brand, .visual-site .site-brand-logo { width: 54px; height: auto; }
  .visual-site .site-brand { flex-basis: 54px; }
  .visual-site .site-nav-links { gap: 2px 16px; font-size: .8125rem; }
  .visual-site .site-contact-btn { padding: 9px 12px; font-size: .875rem; }
  .visual-site .reading-layout, .visual-site .reading-layout.has-guide-media { gap: 24px; }
  .visual-site .guide-toc nav, .visual-site .has-guide-media .guide-toc nav { grid-template-columns: 1fr; }
  .visual-site .guide-toc nav a { padding-top: 10px; padding-bottom: 10px; }
  .visual-site .breadcrumbs { margin-bottom: 16px; font-size: .75rem; }
  .visual-site .reading-content > h1 + p:not(.meta), .visual-site .guide-lead { font-size: 1.0625rem; }
  .visual-site :is(.contact-action, .home-action) { width: 100%; min-height: 46px; }
  .visual-site .decision-item { grid-template-columns: 1fr; gap: 6px; padding: 16px 0; }
  .visual-site .product-context ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .visual-site .contact-details li { grid-template-columns: 1fr; gap: 4px; }
  .visual-site :is(.content-section, .seo-panel, .geo-panel, .conversion-panel, .service-panel, .law-panel, .model-panel, .contact-card, .source-boundary, .related) { margin-top: 28px; padding-top: 24px; }
  .visual-site .content-section[data-section-kind] { padding-top: 24px; }
  .visual-site th, .visual-site td, .visual-site #etrike-model-comparison :is(th, td) { padding: 12px 8px; }
  .visual-site table { font-size: .875rem; }
  .visual-site .product-grid { grid-template-columns: 1fr; }
  .visual-site .page-list { columns: 1; }
  .visual-site.page-home h1 { font-size: 2.5rem; }
  .visual-site.page-home .home-hero { padding-top: 8px; gap: 24px; }
  .visual-site.page-home .home-hero-content > p:not(.meta) { font-size: 1.0625rem; }
  .visual-site.page-home main > section:not(.home-hero), .visual-site.page-home #buyer-paths { margin-top: 34px; }
  .visual-site .messenger-band { margin: 28px 0; padding: 22px 18px; border-radius: 5px; }
  .visual-site .messenger-band h2 { font-size: 1.375rem; }
  .visual-site .messenger-band a, .visual-site .messenger-band :is(.messenger-actions, .messenger-band-actions) { width: 100%; }
  .visual-site .site-footer { padding: 26px 18px; }
  .visual-site.page-error main { padding-top: 36px; }
  .visual-site.page-battery .top { padding: 12px 18px; gap: 12px; }
  .visual-site.page-battery .logo { font-size: .9375rem; gap: 10px; }
  .visual-site.page-battery .top .logo img { width: 44px; }
  .visual-site.page-battery .topr { flex: 1 1 120px; justify-content: flex-end; }
  .visual-site.page-battery .topr .btn { font-size: .8125rem; padding: 10px 12px; }
  .visual-site.page-battery .tabs { gap: 4px; }
  .visual-site.page-battery .tabs a { font-size: .8125rem; padding: 9px 8px; }
  .visual-site.page-battery .side { padding: 24px 18px; }
  .visual-site.page-battery .side .side-group:nth-child(2) { grid-template-columns: 1fr; }
  .visual-site.page-battery main.main { padding: 26px 18px 32px; }
  .visual-site.page-battery .hero-cover { display: grid; grid-template-columns: 1fr; gap: 24px; }
  .visual-site.page-battery .hero-content { padding: 0; }
  .visual-site.page-battery .hero-content h1 { font-size: 2rem; }
  .visual-site.page-battery .hero-content .badge { font-size: .625rem; margin-bottom: 16px; }
  .visual-site.page-battery .hero-content .sub { font-size: 1.0625rem; }
  .visual-site.page-battery .hero-figure img { max-height: 360px; }
  .visual-site.page-battery :is(.about h2, .box h2, .sec-head h2, .faq-section > h2) { font-size: 1.5rem; }
  .visual-site.page-battery :is(.about, .box, .quote-section, .faq-section, .sources) { padding-top: 24px; margin-bottom: 28px; }
  .visual-site.page-battery .about { padding-top: 0; }
  .visual-site.page-battery .note-panel { padding: 20px; }
  .visual-site.page-battery table { font-size: .875rem; }
  .visual-site.page-battery thead th { padding: 12px 7px; font-size: .6875rem; }
  .visual-site.page-battery tbody th, .visual-site.page-battery td { padding: 14px 7px; }
  .visual-site.page-battery tbody th { width: 36%; }
  .visual-site.page-battery tbody th span { display: block; margin-bottom: 5px; }
  .visual-site.page-battery .faq-section summary { font-size: .9375rem; }
  .visual-site.page-battery .faq-section details p { font-size: .9375rem; padding-right: 0; }
  .visual-site.page-battery .ft { padding: 26px 0; }
}
@media print {
  .visual-site .guide-toc, .visual-site .site-contact-actions, .visual-site .messenger-band, .visual-site.page-battery .side, .visual-site.page-battery .resizer, .visual-site.page-battery .gotop { display: none !important; }
  .visual-site .reading-layout, .visual-site .reading-layout.has-guide-media, .visual-site.page-battery .app-wrap { display: block; }
  .visual-site main, .visual-site.page-battery main.main { max-width: none; padding: 0; }
  .visual-site a { color: #141b17; }
}

/* Preserve the complete foreground vehicle in the narrower home photo column. */
@media (min-width:1200px) { .visual-site.page-home .guide-media img { object-position:42% center; } }

/* No contents rail: let the article use the full reading column. */
@media screen and (min-width: 901px) {
  .visual-site:not(.page-error) .reading-layout.without-toc:not(.has-guide-media) {
    grid-template-columns: minmax(0, 840px);
    max-width: 840px;
  }
}
