/* Opt-in illustrated product descriptions; the purchase layout remains native. */
.tap-product-story { --story-ink:#203c32; --story-muted:#59635b; --story-line:#dce2dc; margin-top:72px; color:var(--story-ink); background:#fff; font-family:var(--tap-sans,Arial,sans-serif); }
.tap-product-story * { box-sizing:border-box; }
.tap-product-story [id] { scroll-margin-top:32px; }
.tap-product-story p { margin:0 0 18px; font-size:16px; line-height:1.75; color:var(--story-muted); }
.tap-product-story h2 { margin:0 0 22px; color:var(--story-ink); font-family:inherit; font-size:clamp(30px,3.5vw,48px); line-height:1.12; letter-spacing:-.04em; font-weight:600; text-wrap:balance; }
.tap-product-story h3 { margin:0 0 12px; font-family:inherit; font-size:20px; line-height:1.3; letter-spacing:-.025em; font-weight:600; }
.tap-product-story .tap-story-kicker { margin:0 0 15px; color:var(--story-ink); font-size:11px; line-height:1.5; font-weight:650; letter-spacing:.12em; text-transform:uppercase; }
.tap-product-story .tap-story-note { margin:16px 0 0; color:var(--story-muted); font-size:12px; line-height:1.65; }
.tap-product-story a { color:var(--story-ink); text-decoration:underline; text-underline-offset:4px; }
.tap-product-story a:hover { color:#0f271e; }
.tap-product-story :is(a,summary):focus-visible { outline:2px solid var(--story-ink); outline-offset:5px; border-radius:2px; }
.tap-story-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 28px; margin:0 0 64px; padding:15px 8px; border-block:1px solid var(--story-line); }
.tap-product-story .tap-story-nav a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; font-weight:550; text-decoration:none; }
.tap-story-hero { margin-bottom:88px; }
.tap-story-hero__intro { max-width:740px; margin:0 auto 34px; text-align:center; }
.tap-product-story .tap-story-hero h2 { font-size:clamp(36px,5vw,66px); line-height:1.05; }
.tap-story-hero__intro > p:not(.tap-story-kicker) { max-width:660px; margin-inline:auto; }
.tap-product-story figure { margin:0; min-width:0; }
.tap-product-story figure img { display:block; width:100%; height:auto; margin:0; border-radius:12px; }
.tap-product-story figcaption { margin:10px 0 0; color:#667067; font-size:11px; line-height:1.55; }
.tap-story-hero > figure img { aspect-ratio:3 / 2; object-fit:contain; }
.tap-story-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:30px 0 0; padding:26px 0; border-block:1px solid var(--story-line); }
.tap-story-facts > div { padding:0 20px; border-right:1px solid var(--story-line); text-align:center; }
.tap-story-facts > div:last-child { border-right:0; }
.tap-story-facts dt { margin:0 0 7px; font-size:clamp(25px,3vw,38px); line-height:1.15; letter-spacing:-.035em; font-weight:600; }
.tap-story-facts dt small { display:block; margin-bottom:6px; font-size:11px; line-height:1.4; font-weight:400; letter-spacing:0; }
.tap-story-facts dd { margin:0; color:var(--story-muted); font-size:12px; line-height:1.5; }
.tap-story-feature { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:clamp(32px,6vw,84px); margin-block:88px; }
.tap-story-feature > * { min-width:0; }
.tap-story-feature__copy { max-width:500px; }
.tap-story-feature--image-first > figure { grid-column:1; grid-row:1; }
.tap-story-feature--image-first > .tap-story-feature__copy { grid-column:2; grid-row:1; }
.tap-story-points { margin:22px 0 0; padding:0; list-style:none; }
.tap-story-points li { margin:0; padding:13px 0; border-top:1px solid var(--story-line); color:var(--story-muted); font-size:14px; line-height:1.65; }
.tap-story-points strong { color:var(--story-ink); font-weight:600; }
.tap-story-steps { margin:22px 0 0; padding:0; list-style:none; counter-reset:story-step; }
.tap-story-steps li { position:relative; counter-increment:story-step; margin:0; padding:15px 0 15px 42px; border-top:1px solid var(--story-line); font-size:14px; line-height:1.65; color:var(--story-muted); }
.tap-story-steps li::before { content:counter(story-step,decimal-leading-zero); position:absolute; top:17px; left:0; font-size:11px; font-weight:600; color:var(--story-ink); }
.tap-story-steps strong { display:block; margin-bottom:3px; color:var(--story-ink); font-weight:600; }
.tap-story-pack { padding-block:54px; border-block:1px solid var(--story-line); }
.tap-story-pack-list { margin:22px 0 0; }
.tap-story-pack-list > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:baseline; padding:12px 0; border-bottom:1px solid var(--story-line); font-size:14px; line-height:1.5; }
.tap-story-pack-list dt { color:var(--story-muted); }
.tap-story-pack-list dd { margin:0; font-weight:550; text-align:right; }
.tap-story-fit { margin:88px 0; }
.tap-story-fit__header { max-width:680px; margin-bottom:32px; }
.tap-story-fit__grid { display:grid; grid-template-columns:1fr 1fr; gap:44px; }
.tap-story-fit__grid > div { border-top:2px solid var(--story-ink); padding-top:24px; }
.tap-story-fit__grid ul { margin:0; padding-left:20px; }
.tap-story-fit__grid li { padding-left:3px; margin:0 0 12px; color:var(--story-muted); font-size:15px; line-height:1.7; }
.tap-story-specs { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,6vw,80px); padding-block:54px; border-block:1px solid var(--story-line); }
.tap-story-specs__table { min-width:0; }
.tap-story-specs table { width:100%; margin:0; border:0; border-collapse:collapse; font-size:14px; line-height:1.65; }
.tap-story-specs caption { padding:0 0 18px; text-align:left; color:var(--story-ink); font-size:12px; font-weight:600; }
.tap-story-specs th,.tap-story-specs td { padding:13px 0; background:#fff; border:0; border-bottom:1px solid var(--story-line); text-align:left; vertical-align:top; }
.tap-story-specs th { width:40%; padding-right:22px; color:var(--story-muted); font-weight:400; }
.tap-story-specs td { color:var(--story-ink); overflow-wrap:anywhere; }
.tap-story-faq { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,6vw,80px); margin-block:72px; }
.tap-story-faq details { border-bottom:1px solid var(--story-line); }
.tap-story-faq details:first-child { border-top:1px solid var(--story-line); }
.tap-story-faq summary { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:70px; padding-block:20px; list-style:none; cursor:pointer; font-size:15px; line-height:1.5; font-weight:550; }
.tap-story-faq summary::-webkit-details-marker { display:none; }
.tap-story-faq summary span { font-size:23px; line-height:1; font-weight:400; }
.tap-story-faq details[open] summary span { transform:rotate(45deg); }
.tap-product-story .tap-story-faq details p { margin:0 0 22px; font-size:14px; line-height:1.75; }
.tap-story-close { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px; padding:32px 0; border-block:1px solid var(--story-line); }
.tap-story-close h2 { margin:0 0 6px; font-size:24px; }
.tap-product-story .tap-story-close p { margin:0; font-size:13px; }
.tap-product-story a.tap-story-cta { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:14px 22px; border:1px solid var(--story-ink); border-radius:6px; background:var(--story-ink); color:#fff; text-decoration:none; font-size:14px; line-height:1.5; font-weight:600; text-align:center; }
.tap-product-story a.tap-story-cta:hover { background:#112d22; color:#fff; }
@media (max-width:800px) {
  .tap-product-story { margin-top:48px; }
  .tap-story-nav { justify-content:flex-start; gap:0 23px; margin-bottom:40px; padding:10px 0; }
  .tap-product-story .tap-story-nav a { font-size:12px; }
  .tap-story-hero { margin-bottom:52px; }
  .tap-story-hero__intro { text-align:left; margin-bottom:24px; }
  .tap-story-facts { grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; }
  .tap-story-facts > div { padding:20px 10px; }
  .tap-story-facts > div:nth-child(2) { border-right:0; }
  .tap-story-facts > div:nth-child(-n+2) { border-bottom:1px solid var(--story-line); }
  .tap-story-feature { grid-template-columns:1fr; gap:25px; margin-block:56px; }
  .tap-story-feature--image-first > figure,.tap-story-feature--image-first > .tap-story-feature__copy { grid-column:auto; grid-row:auto; }
  .tap-story-feature__copy { max-width:none; }
  .tap-story-pack { padding-block:36px; }
  .tap-story-fit { margin-block:56px; }
  .tap-story-fit__grid { grid-template-columns:1fr; gap:28px; }
  .tap-story-specs,.tap-story-faq { grid-template-columns:1fr; gap:20px; }
  .tap-story-specs { padding-block:36px; }
  .tap-story-faq { margin-block:48px; }
  .tap-story-specs th { width:39%; padding-right:16px; }
  .tap-story-close { gap:20px; }
  .tap-product-story a.tap-story-cta { width:100%; }
}
