/* Shared finishing rules, carried forward from the revised homepage. */
/* Product close-ups stay fully visible, with the caption in the same rounded card. */
.page-e-bander .eb-controls { background: #000; }
.page-e-bander .eb-controls .section-head > p { color: #d2d8d7; }
.page-e-bander .eb-controls-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2.5vw, 2rem);
}
.page-e-bander .eb-control-card {
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  background: #121212;
  border-radius: var(--panel-radius);
  overflow: hidden;
}
.page-e-bander .eb-control-photo {
  --eb-photo-inset: clamp(.75rem, 2vw, 1.5rem);
  position: relative;
  aspect-ratio: 4 / 3;
  background: #000;
  min-width: 0;
}
.page-e-bander .eb-control-photo img {
  position: absolute;
  inset: var(--eb-photo-inset);
  width: calc(100% - 2 * var(--eb-photo-inset));
  height: calc(100% - 2 * var(--eb-photo-inset));
  min-width: 0;
  min-height: 0;
  object-fit: contain;
  object-position: center;
  background: transparent;
}
.page-e-bander .eb-control-copy { padding: clamp(1.25rem, 2.4vw, 2rem); }
.page-e-bander .eb-control-label {
  color: var(--orange);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.3;
  margin-bottom: .7rem;
}
.page-e-bander .eb-control-copy h3 {
  color: #fff;
  font-size: clamp(1.5rem, 2.3vw, 2rem);
  line-height: 1.15;
  margin-bottom: .8rem;
}
.page-e-bander .eb-control-copy > p:last-child {
  color: #d2d8d7;
  font-size: 1rem;
  line-height: 1.55;
  margin-bottom: 0;
}
@media(max-width:600px) {
  .page-e-bander .eb-controls-grid { grid-template-columns: minmax(0, 1fr); }
  .page-e-bander .eb-control-photo { --eb-photo-inset: 1rem; }
  .page-e-bander .eb-control-copy { padding: 1.25rem; }
}
.page-e-bander .eb-yellow-photo {
  position: relative;
  background: var(--product-image-bg);
  min-height: 0;
  padding: 0;
  aspect-ratio: 1;
}
.page-e-bander .eb-yellow-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center;
  background: transparent;
}
.page-shop .product-e-bander .shop-secondary-image img {
  background: transparent;
  height: clamp(280px, 28vw, 400px);
  object-fit: contain;
  object-position: center;
}
:root {
  --panel-radius: 1rem;
  --small-radius: .6rem;
  --panel-shadow: 0 10px 24px #08283212;
  --callout-shadow: 20px 20px 0 rgba(18,69,79,.12);
  --product-image-bg: #edf0eb;
}
body:not(.page-home) .section { padding: clamp(2.75rem,5vw,5rem) 0; }
body:not(.page-home) .section-tight { padding: clamp(2.25rem,3.5vw,3.5rem) 0; }
body:not(.page-home) .dark-panel { padding: clamp(2.25rem,4vw,4rem) 0; }
body:not(.page-home) .section-head { margin-bottom: 1.8rem; gap: 2rem; }
body:not(.page-home) .section-head h2 { font-size: clamp(2rem,3.5vw,3.6rem); }
body:not(.page-home) .section-head .eyebrow { margin-bottom: .7rem; }
body:not(.page-home) .page-intro .wrap { padding-block: clamp(2.5rem,4.5vw,4.5rem); }
body:not(.page-home) .page-intro h1,
.shop-intro h1, .cart-intro h1, .calc-page-head h1 { font-size: clamp(2.5rem,5vw,5rem); }
body:not(.page-home) .product-hero .wrap, .eb-hero .wrap { min-height: 520px; }
body:not(.page-home) .product-hero .copy, .eb-hero-copy { padding: 3.5rem 0; }
body:not(.page-home) .product-hero h1, .eb-hero h1, .rescue-hero h1 {
  font-size: clamp(2rem,4.2vw,4.4rem);
  line-height: 1.05;
  max-width: none;
  margin-bottom: 1rem;
  text-wrap: initial;
}
.product-hero-description {
  font-size: clamp(1.4rem,2.52vw,2.73rem);
  line-height: 1.12;
  max-width: 20em;
  margin-bottom: 1.6rem;
}
.rescue-hero-simple { padding: clamp(2.75rem,4.5vw,4.5rem) 0; }
.container-intro, .performance { padding: clamp(2.75rem,4.5vw,4.5rem) 0; }
.performance-heading { margin-bottom: 1.8rem; }

/* Keep statistic ribbons close to the text they contain. */
.eb-metrics { background: var(--deep); color: #fff; }
.eb-metrics strong, .eb-metrics span { color: #fff; }
.eb-metrics .wrap > div { border-color: #ffffff33; }
.spec-strip .wrap { padding: 0; }
.spec-strip .wrap > div { padding: .75rem 1.3rem; }
.spec-strip strong { font-size: 1.2rem; line-height: 1.25; }
.spec-strip span { display: block; margin-top: .15rem; line-height: 1.35; }
.eb-metrics .wrap > div { padding: .65rem 1.5rem; }
.eb-metrics strong { font-size: clamp(1.65rem,2.5vw,2.6rem); line-height: 1.15; }
.eb-metrics span { display: block; line-height: 1.35; margin-top: .2rem; }

/* Open information columns use a left-hand rule instead of a box outline. */
body:not(.page-home) .benefit-grid { border: 0; background: transparent; gap: 2rem; }
body:not(.page-home) .benefit {
  border: 0;
  border-left: 2px solid #ffffff55;
  background: transparent;
  padding: 0 .3rem 0 1.25rem;
  min-height: 0;
}
body:not(.page-home) .benefit h3 { margin: .5rem 0 .65rem; font-size: clamp(1.4rem,1.9vw,2rem); }
.performance-grid > div, .rescue-benefits > div, .box-list li {
  border: 0;
  border-left: 2px solid var(--orange);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: .2rem .5rem .2rem 1.15rem;
  min-height: 0;
}
.performance-grid p { margin-top: .65rem; }
.rescue-benefits p { margin-top: .65rem; }
.box-list li { min-height: 5.5rem; gap: .6rem; }
.base-sequence li { border-left: 2px solid var(--orange); border-radius: var(--small-radius); min-height: 6rem; }
.step { border-radius: var(--panel-radius); min-height: 0; padding: 1.5rem; }
.step h3 { margin-top: 1.25rem; }
.rescue-steps article { border-radius: var(--panel-radius); padding: 1rem 1.2rem 1.5rem; }
.rescue-steps img { border-radius: var(--small-radius); margin-bottom: 1rem; }
.eb-charge { border-left: 2px solid var(--orange); border-radius: var(--small-radius); }

/* Rounded media stays clean. Offset shadows belong to the callouts. */
.bag-visual, .details-grid img, .eb-charge img {
  border-radius: var(--panel-radius);
  overflow: hidden;
}
.bag-visual, .eb-product-photo, .eb-detail-image { background: var(--product-image-bg); }
.eb-details { --product-image-bg: #dee8e5; }
.details-grid img, .eb-feature-visual { background: #12212a; }
.rescue-product-gallery figure { background: #fff; }
.rescue-product-gallery img {
  background: var(--product-image-bg);
  border-radius: var(--small-radius);
}
.video-frame, .eb-video-frame, .eb-base-media {
  box-shadow: none;
  border-radius: var(--panel-radius);
  overflow: hidden;
  padding: .45rem;
}
.video-frame video, .eb-video-frame video, .eb-base-media video { border-radius: var(--small-radius); }
body:not(.page-home) .callout {
  border-radius: var(--panel-radius);
  box-shadow: var(--callout-shadow);
  padding: clamp(1.75rem,3vw,3rem);
}
body:not(.page-home) .callout h2 { font-size: clamp(2rem,3.3vw,3.4rem); }
.story-layout, .eb-feature-visual, .eb-detail-image, .eb-product-photo,
.rescue-product-gallery figure, .bait-mounting figure,
body:not(.page-home) .visual, .post-cover {
  border-radius: var(--panel-radius);
  overflow: hidden;
}
.story-layout { box-shadow: var(--panel-shadow); }
.story-copy { padding: clamp(1.5rem,3vw,3rem); }
.eb-feature-visual { min-height: 430px; }
.eb-detail-image { min-height: 400px; }
.rescue-scene-banner { height: clamp(200px,24vw,330px); }

/* Repeated product groups use the homepage's side-by-side introduction. */
.eb-mount-options > .wrap, #rescue-steps > .wrap {
  display: grid;
  grid-template-columns: minmax(0,.72fr) minmax(0,2.28fr);
  gap: 2rem;
  align-items: start;
}
body:not(.page-home) .eb-mount-options .section-head,
body:not(.page-home) #rescue-steps .section-head { display: block; margin: 0; }
body:not(.page-home) .eb-mount-options .section-head h2,
body:not(.page-home) #rescue-steps .section-head h2 { font-size: clamp(2rem,2.7vw,3rem); }
.eb-mount-options .section-head > p, #rescue-steps .section-head > p { font-size: 1rem; margin: 1rem 0 0; }
.eb-mount-grid, .rescue-steps { min-width: 0; }
.eb-mount-grid article { border-radius: var(--panel-radius); overflow: hidden; box-shadow: var(--panel-shadow); }
.eb-mount-image { height: 220px; background: #e1e9e5; }
.eb-mount-copy { padding: 1.25rem; }
.eb-mount-copy h3 { font-size: clamp(1.4rem,1.8vw,1.9rem); }
.eb-mount-copy span { font-size: .85rem; letter-spacing: .03em; }
#rescue-steps .rescue-steps h3 { font-size: clamp(1.4rem,1.8vw,1.9rem); }

/* Practical answers and support downloads remain easy to scan and open. */
.container-more-card { border-left-width: 3px; border-radius: var(--small-radius); box-shadow: none; }
.container-more-card summary { min-height: 0; padding: 1rem 1.2rem; border-radius: var(--small-radius); }
.container-more-answer { margin-inline: 1.2rem; padding-bottom: 1.15rem; }
.faq-item summary { padding-block: .9rem; }
.faq-answer { padding-bottom: 1rem; }
body:not(.page-home) .technical-sheet h2 { font-size: clamp(1.95rem,3vw,3rem); }
.manual-card { border-radius: var(--panel-radius); overflow: hidden; }
.page-support .manual-card { border-top: 0; border-left: 3px solid #167358; box-shadow: var(--panel-shadow); }
.page-support { --product-image-bg: #dfeee3; }
.page-support .manual-card-image { background: var(--product-image-bg); }
.manual-card-image, .manual-card-featured .manual-card-image { min-height: 270px; }
.manual-card-image img { height: clamp(220px,25vw,330px); object-position: center; }
.manual-card-copy { padding: clamp(1.4rem,2.5vw,2.25rem); }
.manual-card h2 { font-size: clamp(2rem,3vw,3.3rem); }
.support-card, .contact-details { border-radius: var(--panel-radius); padding: clamp(1.5rem,3vw,2.5rem); }
.contact-grid { gap: clamp(2rem,5vw,4rem); }
.archive-note { border-left-width: 2px; border-radius: var(--small-radius); }
.blog-card { border-radius: var(--panel-radius); overflow: hidden; box-shadow: var(--panel-shadow); }
.post-page { padding: clamp(2.5rem,4.5vw,4rem) 0 4rem; }
.post-cover { margin-bottom: 2rem; }
.post-body figure img { border-radius: var(--small-radius); }
.net-size-explorer, .net-size-graphic, .net-fit > div { border-radius: var(--panel-radius); }
.net-size-explorer { padding: clamp(1.2rem,2.5vw,2rem); }
.net-size-buttons { margin-bottom: 1.5rem; }
.net-size-button { border-radius: var(--small-radius); }

/* Subtle image panels follow each shop section's palette and equal product layout. */
.page-shop { --product-image-bg: #e3ecf5; }
.page-shop .shop-spares { --product-image-bg: #d6e5e8; }
.page-shop .shop-related { --product-image-bg: #ecf0ed; }
.page-shop .shop-product-gallery { --product-image-bg: #e4ecf1; }
.shop-addons { --product-image-bg: #dce9ea; }
.page-shop .shop-card-image,
.page-shop .shop-spares .shop-card-image,
.page-shop .shop-product-photo,
.page-shop .shop-secondary-image { background: var(--product-image-bg); }
.shop-secondary-image img { background: transparent; }
.shop-addon > img { background: var(--product-image-bg); }
.shop-intro-grid { padding-block: clamp(2.5rem,4.5vw,4.5rem); }
.page-shop .shop-currency-box { border-top: 0; border-left: 3px solid #ff8553; border-radius: var(--panel-radius); box-shadow: none; }
.shop-card { border-radius: var(--panel-radius); overflow: hidden; box-shadow: var(--panel-shadow); }
.page-shop .shop-card, .page-shop .shop-spares .shop-card { border: 0; border-left: 2px solid #f57848; }
.page-shop .shop-spares .shop-card-image { border-bottom: 0; }
.shop-card-copy { padding: 1.4rem; }
.shop-card.compact .shop-card-copy { padding: 1.25rem; }
.shop-product { padding-bottom: clamp(3rem,5vw,5rem); }
.shop-product-photo, .shop-secondary-image { border-radius: var(--panel-radius); }
.shop-secondary-image img { border-radius: var(--small-radius); }
.option-panel, .shop-addons, .shop-addon, .shop-addon > img { border-radius: var(--small-radius); }
.option-panel, .shop-addons { border-width: 1px; }
.purchase-feedback { border-left-width: 3px; border-radius: var(--small-radius); }
.basket-toast { border-top-width: 3px; border-radius: var(--panel-radius); }
.cart-intro .wrap { padding-block: clamp(2.5rem,4vw,4rem); }
.cart-summary { border-top: 0; border-left: 3px solid var(--orange); border-radius: var(--panel-radius); }
.cart-empty, .cart-row-image { border-radius: var(--panel-radius); }
.cart-row { padding-block: 1.1rem; }
.button, .basket-copy, .basket-toast-link, .cart-row button { border-radius: var(--small-radius); }
input:not([type=checkbox]):not([type=radio]):not([type=range]), select, textarea { border-radius: .45rem; }

/* The calculator uses the same lighter panels, without changing its maths. */
.calc-teaser { border-block-width: 2px; }
.calc-quick { border-top: 0; border-left: 3px solid var(--orange); border-radius: var(--panel-radius); box-shadow: var(--panel-shadow); }
.calc-workspace { border-radius: var(--panel-radius); overflow: hidden; box-shadow: var(--panel-shadow); }
.calc-quick-out { border-left-width: 3px; border-radius: var(--small-radius); }
.calc-controls, .calc-results { padding: clamp(1.3rem,2.5vw,2.5rem); }
.calc-trips, .calc-bars, .calc-secondary > div, .calc-method-grid p { border-radius: var(--small-radius); }
.calc-bar-track { border-radius: 1rem; }
.calc-method { margin-top: 2rem; padding-top: 1.75rem; }

/* Keep rounded cards stationary to avoid flickering edges on hover. */
.shop-card, .blog-card, .manual-card:has(a[href]), .eb-mount-grid article:has(a[href]) {
  transition: box-shadow .2s ease;
}
.shop-card:focus-within, .blog-card:focus-within,
.manual-card:focus-within, .eb-mount-grid article:focus-within { box-shadow: 0 10px 24px #08283225; }
@media(hover:hover) and (pointer:fine) {
  .shop-card:hover, .blog-card:hover, .manual-card:has(a[href]):hover,
  .eb-mount-grid article:has(a[href]):hover { box-shadow: 0 12px 28px #08283225; }
}
@media(max-width:1000px) {
  body:not(.page-home) .product-hero .wrap, .eb-hero .wrap { min-height: 0; }
  .eb-mount-options > .wrap, #rescue-steps > .wrap { grid-template-columns: 1fr; gap: 1.5rem; }
  .eb-mount-options .section-head, #rescue-steps .section-head { max-width: 44rem; }
  .eb-feature-visual { min-height: 350px; }
  .eb-detail-image { min-height: 330px; }
}
@media(max-width:700px) {
  body:not(.page-home) .section { padding-block: 2.5rem; }
  body:not(.page-home) .section-tight, body:not(.page-home) .dark-panel { padding-block: 2rem; }
  body:not(.page-home) .section-head { margin-bottom: 1.5rem; }
  body:not(.page-home) .page-intro .wrap, .shop-intro-grid, .cart-intro .wrap { padding-block: 2.5rem; }
  body:not(.page-home) .page-intro h1, .shop-intro h1, .cart-intro h1, .calc-page-head h1,
  body:not(.page-home) .product-hero h1, .eb-hero h1, .rescue-hero h1 { font-size: clamp(2.1rem,9vw,3.5rem); }
  .product-hero-description { font-size: clamp(1.26rem,5.25vw,2.1rem); }
  body:not(.page-home) .product-hero .copy, .eb-hero-copy { padding: 2.5rem 0 0; }
  .rescue-hero-simple, .container-intro, .performance { padding-block: 2.5rem; }
  .spec-strip .wrap > div, .eb-metrics .wrap > div { padding: .6rem 0; }
  .eb-metrics strong { font-size: clamp(1.65rem,6.5vw,2.4rem); }
  .spec-strip strong { font-size: 1.2rem; }
  .spec-strip .wrap { background: transparent; }
  .spec-strip .wrap > div + div { border-top: 1px solid #b9cecb; }
  .spec-strip span, .eb-metrics span { font-size: .88rem; }
  body:not(.page-home) .benefit-grid { gap: 1.5rem; }
  body:not(.page-home) .callout { box-shadow: 10px 10px 0 rgba(18,69,79,.12); padding: 1.75rem 1.4rem; }
  .story-copy { padding: 1.75rem 1.4rem; }
  .eb-mount-image, .eb-mount-grid article:last-child .eb-mount-image { height: 230px; }
  .manual-card-image, .manual-card-featured .manual-card-image { min-height: 0; height: 220px; }
  .manual-card-image img { height: 220px; }
  .manual-card-copy { padding: 1.4rem; }
  .rescue-scene-banner { height: 210px; }
  .shop-card-copy { padding: 1.3rem; }
  .calc-controls, .calc-results { padding: 1.4rem; }
}
@media(prefers-reduced-motion:reduce) {
  .shop-card, .blog-card, .manual-card, .eb-mount-grid article { transition: none; }
  .shop-card:hover, .blog-card:hover, .manual-card:has(a[href]):hover,
  .eb-mount-grid article:has(a[href]):hover { transform: none; }
}

/* Homepage refinements from Mo: clear product naming and neutral product panels. */
.page-home .hero h1 {
  font-size: clamp(2rem,4.2vw,4.4rem);
  line-height: 1.05;
  max-width: none;
  margin-bottom: 1rem;
  white-space: normal;
  text-wrap: initial;
}
.page-home .hero-description {
  font-size: clamp(1.4rem,2.52vw,2.73rem);
  line-height: 1.07;
  max-width: 10.5em;
  margin-bottom: 1.6rem;
}
.page-home .hero .hero-label { font-size: clamp(1.25rem,1.55vw,1.55rem); }
.page-home .hero-stats { background: var(--deep); color: #fff; }
.page-home .hero-stats strong, .page-home .hero-stats span { color: #fff; }
.page-home .hero-stats .wrap > div { border-color: #ffffff33; }
.page-home .home-fishing-panel {
  margin: 0;
  border-radius: var(--panel-radius);
  overflow: hidden;
}
.page-home .home-fishing-photo { border-radius: 0; }
.page-home .other-products { background: #000; color: #fff; }
.page-home .other-products .section-head h2 { color: var(--orange); }
.page-home .other-products .section-head > p:not(.eyebrow) { color: #dedede; }
.page-home .other-products-grid article {
  --product-panel: #222;
  background: var(--product-panel);
  color: var(--ink);
}
.page-home .other-products-grid article:nth-child(2) { --product-panel: #333; }
.page-home .other-products-image {
  background: var(--product-panel);
  position: relative;
  display: block;
  height: auto;
  min-height: 300px;
  max-height: none;
  padding: 0;
}
.page-home .other-products-image img {
  position: absolute;
  inset: 1.25rem;
  width: calc(100% - 2.5rem);
  height: calc(100% - 2.5rem);
  max-height: none;
  object-fit: contain;
  object-position: center;
}
.page-home .other-products-grid article > div:last-child { background: #fff; }
@media(max-width:1000px) {
  .page-home .other-products-image { min-height: 270px; }
}
@media(max-width:700px) {
  .page-home .hero h1 {
    font-size: clamp(2.1rem,9vw,3.5rem);
    white-space: normal;
    text-wrap: balance;
  }
  .page-home .hero-description { font-size: clamp(1.26rem,5.25vw,2.1rem); }
  .page-home .hero .hero-label { font-size: 1.05rem; }
  .page-home .other-products-image { min-height: 240px; }
}
@media(max-width:480px) {
  .page-home .other-products-image { height: 230px; min-height: 0; }
}

/* Full product cutouts have a definite, shared frame on Safari and desktop.
   SVG view boxes centre the visible item rather than uneven transparent canvas margins. */
.page-shop .shop-card-image,
.page-shop .shop-card.compact .shop-card-image {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 4 / 3;
  padding: 0;
  overflow: hidden;
  flex: none;
}
.page-shop .shop-product-gallery .shop-product-photo {
  position: relative;
  display: block;
  min-height: 0;
  height: auto;
  aspect-ratio: 1;
  padding: 0;
}
.shop-secondary-art { position: relative; aspect-ratio: 4 / 3; }
.product-cutout { display: block; position: absolute; inset: 6%; width: 88%; height: 88%; max-width: none; overflow: hidden; }
.shop-addon-image { position: relative; width: 88px; height: 88px; background: var(--product-image-bg); border-radius: var(--small-radius); }
.cart-row-image { position: relative; display: block; aspect-ratio: 1; padding: 0; }
.shop-product-gallery { min-width: 0; }
.shop-demo-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .85fr);
  align-items: center;
  gap: 1.25rem;
  margin: 1rem 0 0;
  padding: clamp(1rem, 2.2vw, 1.5rem);
  background: var(--deep);
  color: #fff;
  border-radius: var(--panel-radius);
  border-top: 3px solid var(--orange);
}
.shop-demo-copy { min-width: 0; }
.shop-demo-copy .eyebrow { font-size: .75rem; line-height: 1.35; margin-bottom: .8rem; }
.shop-demo-copy h2 { font-size: clamp(1.3rem, 2.5vw, 2rem); line-height: 1.12; margin-bottom: .8rem; }
.shop-demo-copy > p:last-child { font-size: .9rem; line-height: 1.5; color: #d0dfdd; margin-bottom: 0; }
.shop-demo-card video {
  display: block;
  width: 100%;
  max-height: 360px;
  aspect-ratio: 464 / 832;
  object-fit: contain;
  background: #000;
  border-radius: var(--small-radius);
}
.shop-demo-card video:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }
.shop-demo-card figcaption { grid-column: 1 / -1; font-size: .8rem; color: #d0dfdd; }
.page-e-bander .eb-workload-heading { font-size: clamp(1.8rem, 3.65vw, 3.25rem); line-height: 1.1; }
.page-e-bander .eb-workload-heading { max-width: none; text-wrap: balance; }
@media(max-width: 360px) {
  .shop-demo-card { grid-template-columns: minmax(0, 1fr); }
  .shop-demo-card video { width: min(100%, 220px); justify-self: center; }
  .page-e-bander .eb-workload-heading { font-size: 1.65rem; }
}
.shop-card-foot small { display: block; font-size: .8rem; color: #49636a; font-weight: 500; margin-top: .3rem; }
.set-price-intro { margin: 1.2rem 0; padding: 1.2rem; background: #dce9e8; border-left: 3px solid var(--orange); border-radius: var(--small-radius); }
.set-price-intro > span { display: block; font-size: .9rem; }
.set-price-intro > strong { display: block; font-size: clamp(1.8rem,4vw,2.6rem); line-height: 1.25; }
.set-price-intro > p { margin: .6rem 0 0; font-size: .95rem; }
.purchase-price-panel { padding: 1.25rem; background: #fff; border: 1px solid #bfd2d5; border-radius: var(--small-radius); }
.purchase-price-panel .eyebrow { font-size: .8rem; margin: 0 0 .8rem; }
.set-price-lines { margin: 0; font-size: .92rem; }
.set-price-lines > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .8rem; padding: .65rem 0; border-bottom: 1px solid #dce5e5; }
.set-price-lines dt { min-width: 0; }.set-price-lines dd { margin: 0; font-weight: 700; white-space: nowrap; }
.set-price-lines small { display: block; color: #4f666b; font-size: .8rem; line-height: 1.4; margin-top: .2rem; }
.included-label { display: inline-block; color: #1e6b51; font-weight: 700; font-size: .75rem; }
.credit-validity,.price-tax-note { font-size: .8rem; color: #49636a; line-height: 1.5; margin: .8rem 0 0; }
.selection-total { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .5rem; margin-top: 1rem; padding-top: .8rem; border-top: 2px solid #dce5e5; }
.selection-total > strong { font-size: 1.9rem; line-height: 1.2; }.selection-total > span { font-weight: 700; }
.product-warranty { font-size: .85rem; line-height: 1.5; margin: 1rem 0; padding-left: .9rem; border-left: 3px solid var(--orange); }
.addon-price { display: block; margin-top: .4rem; color: #a34424; font-weight: 700; }
[data-cart-total] { display: grid; gap: .25rem; margin: 1rem 0 1.5rem; }[data-cart-total] > strong { font-size: 2rem; line-height: 1.2; }[data-cart-total] > p { margin: .4rem 0 0; }
.cart-row-summary .set-price-lines { font-size: .85rem; }.cart-row-summary .credit-validity { font-size: .75rem; }
@media(max-width:700px) {
  .shop-product-grid { grid-template-columns: minmax(0,1fr); }
  .page-shop .shop-product-gallery .shop-product-photo { aspect-ratio: 4 / 3; }
  .cart-row-summary .set-price-lines > div { grid-template-columns: minmax(0,1fr); gap: .15rem; }
}
@media(max-width:560px) { .shop-addon-image { width: 72px; height: 72px; } }
.purchase-actions { display: grid; grid-template-columns: minmax(0,1fr); }

.release-timing-tip {
  margin: 1.25rem 0;
  padding: 1.15rem 1.25rem;
  border-left: 3px solid var(--orange);
  border-radius: var(--small-radius);
  background: #fff1e8;
  color: #153d48;
}
.release-timing-tip-label {
  display: block;
  margin-bottom: .6rem;
  color: #a54320;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.release-timing-tip p { max-width: none; }
.release-timing-tip strong { color: var(--ink); }

/* Descriptive SEO copy keeps the established layout and readable line lengths. */
.page-home .hero h1 { font-size: clamp(2rem, 3.4vw, 3.4rem); text-wrap: balance; }
.hero-product-name { white-space: nowrap; }
.page-home .hero-description,
.page-e-bander .eb-hero .product-hero-description {
  font-size: clamp(1.25rem, 1.9vw, 1.9rem);
  line-height: 1.2;
  max-width: 27em;
  text-wrap: balance;
}
.page-home .hero .lead, .page-e-bander .eb-hero .lead { font-size: clamp(1rem, 1.15vw, 1.12rem); }
.page-home .hero-actions .button, .page-e-bander .eb-hero .button {
  max-width: 100%;
  font-size: 1rem;
  letter-spacing: .015em;
  line-height: 1.35;
  text-align: left;
}
.page-home .hero-actions .button svg, .page-e-bander .eb-hero .button svg,
.page-home .home-idea .text-link svg { flex-shrink: 0; width: 1rem; height: 1rem; }
.page-home .hero-stats .wrap > div { min-width: 0; }
.page-home .hero-stats strong { font-size: clamp(1.25rem, 1.7vw, 1.65rem); line-height: 1.2; text-wrap: balance; }
.page-home .hero-stats span { display: block; margin-top: .4rem; line-height: 1.5; }
.page-home .home-idea h2, .page-home .home-benefits .section-head h2 {
  font-size: clamp(2rem, 3.4vw, 3.75rem);
  line-height: 1.08;
  max-width: none;
  text-wrap: balance;
}
.page-home .home-benefits .section-head > div { flex: 1 1 55%; min-width: 0; }
.page-home .home-benefits .section-head > p { flex: 1 1 45%; min-width: 0; }
.page-home .home-benefits h3 { font-size: clamp(1.5rem, 2.15vw, 2.15rem); line-height: 1.15; }
.page-home .home-idea .text-link { display: inline-flex; align-items: center; gap: .8rem; }
.page-e-bander .eb-hero h1 { font-size: clamp(2rem, 3.6vw, 3.75rem); text-wrap: balance; }
@media(max-width: 700px) {
  .page-home .hero-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .page-home .hero-actions .button, .page-e-bander .eb-hero .button { width: 100%; }
  .page-home .hero-stats strong { font-size: 1.4rem; }
}

/* A fixed visual comparison of release costs and timing. */
.timer-comparison { background: #e5eeeb; }
.timer-heading { max-width: 830px; margin-bottom: 2rem; }
.timer-heading h2 { font-size: clamp(2.1rem,4.5vw,4.4rem); line-height: 1.04; margin-bottom: 1.2rem; }
.timer-heading > p:last-child { color: #405d64; font-size: 1.08rem; }
.timer-highlights { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; }
.timer-highlights article { min-width: 0; border-radius: var(--panel-radius); padding: clamp(1.5rem,3vw,2.75rem); }
.timer-saving-card { background: var(--orange); color: var(--ink); display: flex; flex-direction: column; }
.timer-accuracy-card { background: #0d2732; color: #fff; }
.timer-kicker { font-size: .87rem; font-weight: 700; margin-bottom: 1.4rem; }
.timer-number { display: block; font-size: clamp(4.3rem,8.5vw,8rem); line-height: 1; letter-spacing: -.06em; font-weight: 750; font-variant-numeric: tabular-nums; }
.timer-number > span { font-size: .34em; letter-spacing: -.03em; }
.timer-highlights h3 { font-size: clamp(1.65rem,2.8vw,2.5rem); line-height: 1.12; letter-spacing: -.035em; margin: .65rem 0 1rem; }
.timer-highlights p { line-height: 1.55; }
.timer-release-rate { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .65rem; padding: 1.1rem 1.25rem; margin: .2rem 0 1.2rem; background: var(--ink); color: #fff; border-radius: var(--small-radius); }
.timer-release-rate > span:first-child { flex-basis: 100%; color: #c9ddda; font-size: .87rem; font-weight: 600; }
.timer-release-rate > strong { font-size: clamp(2.6rem,4.5vw,4rem); line-height: 1.1; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.timer-release-rate > span:last-child { font-size: 1rem; font-weight: 600; }
.timer-card-link { margin-top: auto; padding-top: 1rem; font-weight: 700; display: flex; justify-content: space-between; gap: 1rem; }
.timer-card-link > span { font-size: 1.5rem; }
.timer-clock { display: flex; align-items: center; gap: .75rem; color: #d0e1df; font-size: .87rem; font-weight: 600; margin-bottom: 1.1rem; }
.timer-clock svg { width: 42px; height: 42px; color: var(--orange); flex: none; }
.timer-accuracy-card > p { color: #d0e1df; }
.timer-accuracy-card .timer-accuracy-detail { margin: 1.5rem 0 0; border-top: 1px solid #ffffff30; padding-top: 1rem; font-size: .88rem; }
.timer-cost-panel { padding: clamp(1.3rem,3vw,2.75rem); background: #fff; border-radius: var(--panel-radius); margin-top: 1.25rem; }
.timer-cost-intro h3,.timer-specs-heading h3 { font-size: clamp(1.7rem,2.7vw,2.6rem); line-height: 1.12; margin-bottom: 1rem; }
.timer-cost-intro > p:last-child { color: #405d64; }
.timer-comparison a:focus-visible { outline: 3px solid #a63d15; outline-offset: 4px; }
.timer-cost-results { margin-top: 1.75rem; }
.timer-bar-row + .timer-bar-row { margin-top: 1.4rem; }
.timer-bar-row > div:first-child { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; font-size: .98rem; }
.timer-bar-row > div > strong:last-child { white-space: nowrap; font-variant-numeric: tabular-nums; }
.timer-bar-track { height: 19px; border-radius: 4px; background: #eef3f1; overflow: hidden; margin: .6rem 0 .4rem; }
.timer-bar-track > span { display: block; height: 100%; border-radius: 4px; }
.timer-bar-bait { background: var(--orange); }.timer-bar-galvanic { background: #526b73; }
.timer-bar-row > p { color: #405d64; font-size: .87rem; margin: 0; }
.timer-cost-difference { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 0; margin-top: 1.4rem; border-top: 1px solid #cadbd8; border-bottom: 1px solid #cadbd8; }
.timer-cost-difference > span { font-weight: 650; }
.timer-price-figure { font-size: clamp(1.55rem,3vw,2.5rem); line-height: 1.1; white-space: nowrap; font-variant-numeric: tabular-nums; }
.timer-cost-basis { color: #405d64; font-size: .87rem; margin: 1rem 0 1.5rem; max-width: 95ch; }
.timer-specs { margin-top: clamp(2rem,4vw,3.5rem); }
.timer-specs-heading { max-width: 750px; margin-bottom: 1.5rem; }.timer-specs-heading > p:last-child { color: #405d64; }
.timer-comparison-table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: .95rem; line-height: 1.55; overflow-wrap: anywhere; }
.timer-comparison-table th,.timer-comparison-table td { text-align: left; padding: 1.2rem; vertical-align: top; border-bottom: 1px solid #c1d3d1; }
.timer-comparison-table th:first-child { width: 24%; padding-left: 0; }
.timer-comparison-table thead th { font-size: .9rem; }
.timer-comparison-table th:last-child,.timer-comparison-table td:last-child { background: #d4e5df; }
.timer-comparison-table thead th:last-child { background: #0d2732; color: #fff; border-radius: .6rem .6rem 0 0; }
.timer-comparison-table tbody tr:last-child td:last-child { border-radius: 0 0 .6rem .6rem; }
.timer-source-note { color: #405d64; font-size: .8rem; margin: 1.2rem 0 0; max-width: 100ch; }.timer-source-note a { text-decoration: underline; text-underline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media(max-width:700px) {
  .timer-highlights { grid-template-columns: minmax(0,1fr); }
  .timer-heading { margin-bottom: 1.5rem; }.timer-heading h2 { font-size: clamp(2rem,8.5vw,3.3rem); }
  .timer-number { font-size: clamp(4.5rem,20vw,7rem); }
  .timer-highlights article { padding: 1.5rem; }.timer-highlights h3 { font-size: 1.9rem; }
  .timer-bar-row > div:first-child { font-size: .87rem; }
  .timer-cost-difference { align-items: flex-start; flex-direction: column; gap: .6rem; }
  .timer-comparison-table { font-size: .82rem; }.timer-comparison-table th,.timer-comparison-table td { padding: .9rem .6rem; }
  .timer-comparison-table thead th { font-size: .79rem; }.timer-comparison-table th:first-child { width: 25%; }
}
