.banner{isolation:isolate;border-bottom:1px solid color-mix(in srgb, var(--magenta) 12%, var(--line-soft));background:var(--bg);align-items:end;min-height:clamp(16rem,32vw,22rem);display:grid;position:relative;overflow:hidden}.banner:after{content:"";z-index:2;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--magenta) 40%, transparent) 50%, transparent);pointer-events:none;height:1px;position:absolute;inset:auto 0 0}.banner__media{z-index:0;position:absolute;inset:0;overflow:hidden}.banner__media picture,.banner__img{object-fit:cover;object-position:center center;will-change:transform;width:100%;height:100%;animation:18s cubic-bezier(.22,1,.36,1) forwards banner-ken-burns}.banner__scrim{background:radial-gradient(ellipse 50% 90% at 8% 50%, color-mix(in srgb, var(--magenta-deep) 15%, transparent), transparent 65%), linear-gradient(90deg, #0a0c08f0 0%, #0c0e0ab8 42%, #0e100c40 100%);position:absolute;inset:0}.banner__shell{z-index:1;padding-block:clamp(2.25rem,4.5vw,3.25rem) clamp(1.5rem,3vw,2.25rem);position:relative}.banner__content{width:min(100%,34rem)}.banner__crumbs{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 .75rem;font-size:.8rem;display:flex}.banner__crumb-item{align-items:center;gap:.4rem;display:inline-flex}.banner__enter{opacity:0;animation:.75s cubic-bezier(.22,1,.36,1) forwards banner-fade-up;animation-delay:var(--enter-delay,0s);transform:translateY(1rem)}.banner__crumbs a{color:var(--ink-muted);font-weight:600;text-decoration:none;transition:color .25s}.banner__crumbs a:hover{color:var(--magenta-soft)}.banner__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--magenta-soft);margin:0 0 .4rem;font-size:.72rem;font-weight:700}.banner__title{font-family:var(--font-display);letter-spacing:-.035em;color:var(--ink);margin:0;font-size:clamp(1.75rem,3.6vw,2.4rem);font-weight:800;line-height:1.1}.banner--compact{min-height:clamp(12rem,24vw,17rem)}.banner--compact .banner__crumbs{gap:.3rem;margin-bottom:.55rem;font-size:.68rem;line-height:1.35}.banner--compact .banner__crumb-item span[aria-current=page]{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:14rem;display:inline-block;overflow:hidden}.banner--compact .banner__eyebrow{margin-bottom:.3rem;font-size:.65rem}.banner--compact .banner__title{font-size:clamp(1.15rem,2.4vw,1.45rem);font-weight:700;line-height:1.2}.banner--compact .banner__intro{margin-top:.5rem;font-size:.875rem;line-height:1.5}.banner__intro{color:var(--ink-muted);margin:.7rem 0 0;font-size:.975rem;line-height:1.55}.banner__actions{flex-wrap:wrap;gap:.65rem;margin-top:1.2rem;display:flex}.banner .btn{border-radius:999px;justify-content:center;align-items:center;min-height:2.5rem;padding:.65rem 1.15rem;font-size:.9rem;font-weight:600;transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .25s,color .25s,background .25s;display:inline-flex}.banner .btn--ghost{border:1px solid color-mix(in srgb, var(--magenta) 25%, var(--line));color:var(--ink);background:color-mix(in srgb, var(--bg-elevated) 65%, transparent);-webkit-backdrop-filter:blur(8px);text-decoration:none}.banner .btn--ghost:hover{border-color:color-mix(in srgb, var(--magenta) 55%, var(--line));color:var(--magenta-soft);background:color-mix(in srgb, var(--magenta) 8%, var(--bg-elevated));transform:translateY(-2px);box-shadow:0 8px 24px #0003}.banner .btn-buy:hover{transform:translateY(-1px)}@keyframes banner-fade-up{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes banner-ken-burns{0%{transform:scale(1.04)}to{transform:scale(1)}}@media (max-width:760px){.banner{flex-direction:column;justify-content:flex-end;min-height:min(52svh,22rem);display:flex}.banner__shell{padding-block:1.75rem 1.35rem;padding-bottom:max(1.35rem, var(--safe-bottom,env(safe-area-inset-bottom,0px)))}.banner__scrim{background:linear-gradient(#0a0c0859 0%,#0a0c08d1 62%,#0a0c08f5 100%)}.banner__content{width:100%;min-width:0;max-width:100%}.banner__title{overflow-wrap:anywhere;font-size:clamp(1.55rem,7.5vw,2rem)}.banner__intro{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.banner__actions{flex-direction:column;align-items:stretch}.banner__actions .btn-buy,.banner__actions .btn{width:100%;min-height:var(--touch-min)}}@media (prefers-reduced-motion:reduce){.banner__img{animation:none}.banner__enter{opacity:1;animation:none;transform:none}}
