.hero-stage{width:min(530px,100%);background:#141415;border-radius:28px}
.hero-product{object-fit:contain}
.product-story{max-width:850px;margin:0 auto}
.story-stage{position:relative;width:100%;aspect-ratio:4/5;border-radius:28px;overflow:hidden;background:#151516;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.story-stage img{width:100%;height:100%;object-fit:contain;transition:opacity .24s;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.story-held{position:absolute;top:18px;left:18px;background:#0d0d11bc;border:1px solid #ffffff25;border-radius:22px;padding:6px 12px;font-size:13px;opacity:0;transform:translateY(-6px);transition:opacity .2s,transform .3s}
.story-stage.held .story-held{opacity:1;transform:none}
.story-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:19px}
.story-dots{display:flex;gap:7px}
.story-dots button{width:26px;height:44px;padding:0;display:grid;place-items:center;background:none}
.story-dots button span{display:block;width:7px;height:7px;border-radius:10px;background:#5a5a62;transition:width .35s,background .35s}
.story-dots button.selected span{width:24px;background:#f5f5f7}
.story-controls{display:flex;gap:8px}.story-play span{font-size:17px;line-height:1}
.story-copy{margin-top:24px;max-width:680px;min-height:170px}
.story-copy .eyebrow{font-size:12px;letter-spacing:.08em}
.story-copy h3{font-size:32px;line-height:1.13;margin-top:14px;letter-spacing:-.035em}
.story-copy p{font-size:17px;color:#b1b1b9;line-height:1.65;margin-top:16px}
.story-hint{color:#81818a;font-size:13px;line-height:1.65;margin-top:22px}
.overview{padding-right:max(24px,calc((100vw - 1160px)/2))}
.gallery-image-button,.battery-visual{background:#151516}
.gallery-tabs button img{background:#171719}
.purchase-product{background:#171719}
@media(min-width:900px){.hero{grid-template-columns:1fr 1.15fr;gap:28px 42px;max-width:1320px;min-height:auto}.hero h1{font-size:clamp(54px,5.5vw,78px)}.hero-stage{max-width:580px;width:100%}.story-stage{aspect-ratio:4/3;max-height:630px}.story-copy{min-height:160px}}
@media(max-width:700px){.hero{padding-left:20px;padding-right:20px}.hero-stage{width:calc(100% + 16px);max-width:none;margin-left:-8px;margin-right:-8px;margin-top:29px;border-radius:25px}.overview{padding-left:20px;padding-right:20px}.overview .section-header{padding-right:0}.product-story{width:100%}.story-stage{border-radius:24px;aspect-ratio:4/5}.story-copy{margin-top:22px;min-height:230px}.story-copy h3{font-size:27px}.story-copy p{font-size:16px;line-height:1.7}.story-hint{font-size:12px}.story-navigation{gap:10px}.story-controls{gap:6px}.story-dots{gap:3px}.story-dots button{width:24px}.story-dots button.selected span{width:21px}}
@media(prefers-reduced-motion:reduce){.story-stage img,.story-held,.story-dots button span{transition:none}}
/* Full-size hero photographs with a true crossfade. */
.hero-stage{display:block;min-height:0;overflow:hidden;isolation:isolate}
.hero-frames{position:relative;aspect-ratio:3/4;width:100%;overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.hero-frames img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;filter:none;animation:none!important;transform:none;opacity:0;z-index:1;transition:opacity 1s cubic-bezier(.4,0,.2,1);will-change:opacity;-webkit-touch-callout:none}
.hero-frames img:first-child{opacity:1}
.js .hero-frames img{opacity:0}
.js .hero-frames img.active{opacity:1;z-index:2}
.hero-photo-controls{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);z-index:4;display:flex;align-items:center;gap:9px;padding:0 6px 0 9px;background:#09090bb3;backdrop-filter:blur(16px);border:1px solid #ffffff25;border-radius:30px}
.hero-photo-dots{display:flex;gap:3px}.hero-photo-dots button{display:grid;place-items:center;width:30px;height:44px;padding:0;background:none}.hero-photo-dots span{width:6px;height:6px;background:#888;border-radius:12px;transition:width .4s,background .4s}.hero-photo-dots .selected span{width:22px;background:#fff}.hero-photo-play{width:40px;height:40px;background:none;border-left:1px solid #ffffff20;font-size:16px;border-radius:0 25px 25px 0}
.hero-frames:focus-visible{outline:2px solid var(--red);outline-offset:-4px}
@media(prefers-reduced-motion:reduce){.hero-frames img,.hero-photo-dots span{transition:none}}

/* Warranty introduction and captions attached to accessory photographs. */
.guarantee-intro{max-width:1160px;margin:0 auto;padding:120px 24px 10px}
.guarantee-intro h2{font-size:clamp(26px,3.1vw,38px);line-height:1.15;letter-spacing:-.035em}
.guarantee-list{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.guarantee-list li{display:flex;align-items:flex-start;gap:14px;padding-top:18px;border-top:1px solid var(--line)}
.guarantee-list span{color:var(--red);font-size:14px;line-height:1.6;font-weight:550}
.guarantee-list p{font-size:16px;line-height:1.6;color:#d5d5da}
.guarantee-intro + .hero{padding-top:48px}
.story-photo-title{font-size:clamp(26px,3.2vw,38px);line-height:1.18;letter-spacing:-.035em;margin:0 0 22px;transition:opacity .24s}
.story-photo-title[hidden]{display:none}
@media(max-width:700px){.guarantee-intro{padding:108px 20px 8px}.guarantee-list{grid-template-columns:1fr;gap:16px;margin-top:24px}.guarantee-list li{padding-top:14px;gap:16px}.guarantee-intro + .hero{padding-top:38px}.story-photo-title{margin-bottom:18px;font-size:27px}}
@media(prefers-reduced-motion:reduce){.story-photo-title{transition:none}}

/* Static inspection message below the accessory carousel. */
.story-copy.inspection-copy{max-width:850px;min-height:0;margin-top:32px}
.story-copy.inspection-copy h3{font-size:clamp(30px,4.5vw,52px);line-height:1.15;letter-spacing:-.035em;margin-top:0;overflow-wrap:break-word}
.story-copy.inspection-copy p{font-size:16px;line-height:1.65;margin-top:18px}
