/* FITRICH App Stories — phone-first feedback viewer, intentionally app-only. */
.app-stories{margin:-4px 0 6px;padding:0;border:0;background:transparent;overflow:hidden}
.app-stories-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.app-stories-heading span{color:var(--fitrich-sage-deep);font:800 5.5px Space Grotesk;letter-spacing:.17em}
.app-stories-heading h2{margin:7px 0 0;font:600 18px/1 Space Grotesk;letter-spacing:-.04em}
.app-stories-heading p{margin:0;color:#717a75;font:700 5px Space Grotesk;letter-spacing:.12em;text-transform:uppercase}
.app-stories-note{margin:0 0 5px 2px;color:#4d5752;font:800 5.5px Space Grotesk;letter-spacing:.2em}
.app-story-rail{display:flex;gap:13px;overflow-x:auto;padding:0 max(1px,calc((100% - 461px)/2)) 4px;scroll-snap-type:x proximity;scrollbar-width:none}
.app-story-rail::-webkit-scrollbar{display:none}
.app-story-chip{flex:0 0 66px;padding:0;border:0;background:transparent;color:var(--fitrich-black);display:flex;flex-direction:column;align-items:center;gap:8px;scroll-snap-align:start;cursor:pointer}
.app-story-ring{width:61px;height:61px;padding:3px;border-radius:50%;background:conic-gradient(from 205deg,var(--fitrich-sage-deep),var(--fitrich-sage) 45%,#d8e1dc 73%,var(--fitrich-sage-deep));box-shadow:0 6px 18px rgba(53,88,74,.16);transition:transform .22s var(--ease),filter .22s}
.app-story-ring>span{width:100%;height:100%;border:2px solid var(--fitrich-paper);border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#101512,#29352f);color:#fff;font:800 8px Space Grotesk;letter-spacing:.08em}
.app-story-chip:hover .app-story-ring,.app-story-chip:focus-visible .app-story-ring{transform:translateY(-3px) scale(1.03)}
.app-story-chip:focus-visible{outline:2px solid var(--fitrich-sage-deep);outline-offset:4px}
.app-story-chip.viewed .app-story-ring{background:#aeb4b0;filter:saturate(.3)}
.app-story-chip b{max-width:66px;overflow:hidden;text-overflow:ellipsis;color:#3f4743;font:700 5px Space Grotesk;letter-spacing:.06em;white-space:nowrap}
.app-story-chip:first-child .app-story-ring>span{background:var(--fitrich-sage);color:var(--fitrich-black)}

.home-product-showcase{min-height:430px;padding:22px 0 20px;overflow:hidden;background:var(--fitrich-paper)}
.home-product-head{padding:0 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.home-product-head>div:first-child>span{color:var(--fitrich-sage-deep);font:800 5.5px Space Grotesk;letter-spacing:.17em}
.home-product-head h2{margin:8px 0 0;font:600 27px/1 Space Grotesk;letter-spacing:-.05em}
.home-product-controls{display:flex;gap:5px}.home-product-controls button{width:34px;height:34px;border:1px solid #999f9b;background:#fff;color:var(--fitrich-black);font:700 13px Space Grotesk;transition:.2s}.home-product-controls button:hover,.home-product-controls button:focus-visible{background:var(--fitrich-sage);border-color:var(--fitrich-sage-deep)}
.home-product-hint{margin:12px 20px 16px;color:#6d7671;font:700 5px Space Grotesk;letter-spacing:.1em;text-transform:uppercase}
.home-product-track{display:block;padding:0 20px 10px;overflow-x:auto;scroll-snap-type:none;scroll-behavior:auto;overscroll-behavior-x:contain;touch-action:pan-x;scrollbar-width:none;cursor:grab}
.home-product-track::-webkit-scrollbar{display:none}.home-product-track:active{cursor:grabbing}
.home-product-marquee{display:flex;width:max-content;animation:fitrichAppProductMarquee 54s linear infinite;will-change:transform;transform:translate3d(0,0,0);backface-visibility:hidden}
.home-product-set{display:flex;flex:0 0 auto;gap:8px;padding-right:8px}
@keyframes fitrichAppProductMarquee{to{transform:translate3d(-50%,0,0)}}
.home-product-card{position:relative;flex:0 0 174px;min-height:305px;padding:0;border:1px solid #a9afab;background:#f0f2ef;color:var(--fitrich-black);text-align:left;overflow:hidden;transition:transform .23s var(--ease),border-color .23s}
.home-product-card:hover,.home-product-card:focus-visible{transform:translateY(-3px);border-color:var(--fitrich-sage-deep);outline:0}
.home-product-number{position:absolute;z-index:3;top:12px;left:12px;color:var(--fitrich-sage-deep);font:800 5px Space Grotesk;letter-spacing:.13em}
.home-product-art{height:190px;display:grid;place-items:center;align-content:center;position:relative;background:radial-gradient(circle,rgba(147,227,210,.32),transparent 47%);overflow:hidden}
.home-product-art:before{content:"";position:absolute;width:72px;height:120px;border:1px solid #56605b;border-radius:8px;background:linear-gradient(145deg,#252c28,#090b09);box-shadow:0 23px 32px rgba(11,13,12,.25)}
.home-product-art.jar:before{width:112px;height:68px;border-radius:13px}.home-product-art.bottle:before,.home-product-art.pump:before{width:59px;height:134px;border-radius:10px}.home-product-art.spray:before{width:44px;height:143px}.home-product-art.tube:before{width:62px;height:132px;border-radius:9px 9px 5px 5px}.home-product-art.light:before{background:linear-gradient(145deg,#f4f6f2,#aeb9b3);border-color:#fff}
.home-product-art>span,.home-product-art>b,.home-product-art>small{position:relative;z-index:1;width:auto;color:#fff;text-align:center}.home-product-art>span{font:800 5px Space Grotesk;letter-spacing:.14em}.home-product-art>b{margin:8px 0;font:700 5px/1.25 Space Grotesk;letter-spacing:.08em}.home-product-art>small{font:700 3.7px Space Grotesk;letter-spacing:.1em;opacity:.7}.home-product-art.light>span,.home-product-art.light>b,.home-product-art.light>small{color:#111}
.home-product-copy{min-height:114px;padding:14px;border-top:1px solid #b9bebb;display:flex;flex-direction:column}.home-product-copy>small{color:var(--fitrich-sage-deep);font:800 5px Space Grotesk;letter-spacing:.13em}.home-product-copy>strong{margin:8px 0 13px;font:700 13px/1.05 Space Grotesk}.home-product-copy>span{margin-top:auto;display:flex;align-items:center;justify-content:space-between}.home-product-copy>span b{font:800 6px Space Grotesk;letter-spacing:.07em}.home-product-copy>span i{font:700 14px Space Grotesk;font-style:normal}

.app-story-viewer{width:min(520px,100%);height:100dvh;max-width:none;max-height:none;margin:auto;padding:0;border:0;background:#0a0d0b;color:#fff;overflow:hidden;isolation:isolate}
.app-story-viewer::backdrop{background:rgba(4,6,5,.88);backdrop-filter:blur(14px)}
.app-story-viewer[open]{display:block}
.app-story-viewer:before{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(circle at 72% 24%,rgba(147,227,210,.24),transparent 33%),linear-gradient(155deg,#26332e 0%,#0b0e0c 54%,#040504 100%)}
.app-story-viewer:after{content:"";position:absolute;z-index:-1;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:28px 28px}
.app-story-progress{position:absolute;z-index:12;left:11px;right:11px;top:max(12px,env(safe-area-inset-top));height:3px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px}
.app-story-progress span{position:relative;border-radius:10px;background:rgba(255,255,255,.28);overflow:hidden}
.app-story-progress span:after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}
.app-story-progress span.complete:after{transform:scaleX(1)}
.app-story-progress span.active:after{animation:fitrichStoryProgress 5s linear forwards}
.app-story-progress.paused span.active:after{animation-play-state:paused}
@keyframes fitrichStoryProgress{to{transform:scaleX(1)}}
.app-story-viewer-header{position:absolute;z-index:12;left:18px;right:13px;top:max(27px,calc(env(safe-area-inset-top) + 15px));height:55px;display:flex;align-items:center;justify-content:space-between}
.app-story-person{display:flex;align-items:center;gap:10px}.app-story-person>span{width:36px;height:36px;border:1px solid rgba(147,227,210,.75);border-radius:50%;display:grid;place-items:center;background:#121814;color:var(--fitrich-sage);font:800 8px Space Grotesk}
.app-story-person div{display:flex;flex-direction:column;gap:4px}.app-story-person b{font:700 8px Space Grotesk}.app-story-person small{color:rgba(255,255,255,.58);font:700 4.8px Space Grotesk;letter-spacing:.12em}
.app-story-close{position:relative;z-index:15;width:40px;height:40px;border:0;border-radius:50%;background:rgba(0,0,0,.28);color:#fff;font:300 28px/1 Arial;backdrop-filter:blur(9px)}
.app-story-content{position:absolute;inset:0;padding:105px 34px 84px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.app-story-product{width:118px;height:196px;margin:-15px 0 45px;border:1px solid rgba(255,255,255,.24);border-radius:17px;background:linear-gradient(145deg,#262e29,#070907);box-shadow:0 38px 70px rgba(0,0,0,.48),0 0 85px rgba(147,227,210,.1);display:grid;place-items:center;align-content:center;transform:rotate(-3deg);transition:transform .45s var(--ease)}
.app-story-viewer.story-enter .app-story-product{animation:fitrichStoryProduct .55s var(--ease)}
@keyframes fitrichStoryProduct{from{opacity:0;transform:translateY(22px) rotate(-7deg) scale(.93)}to{opacity:1;transform:rotate(-3deg)}}
.app-story-product.jar{width:170px;height:105px;border-radius:22px}.app-story-product.spray{width:78px;height:215px}.app-story-product.tube{width:92px;height:205px;border-radius:14px 14px 7px 7px}.app-story-product.light{color:#111;background:linear-gradient(145deg,#f1f3ef,#b0bbb5)}
.app-story-product span{font:800 6px Space Grotesk;letter-spacing:.18em}.app-story-product b{max-width:80%;margin:14px 0 24px;font:700 12px/1.05 Space Grotesk;letter-spacing:.07em}.app-story-product small{font:700 5px Space Grotesk;letter-spacing:.15em;opacity:.7}
.app-story-feedback{max-width:395px}.app-story-feedback>span{color:var(--fitrich-sage);font:800 5.5px Space Grotesk;letter-spacing:.18em}.app-story-feedback blockquote{margin:16px 0 15px;font:500 clamp(28px,7vw,40px)/1.03 Space Grotesk;letter-spacing:-.055em}.app-story-feedback p{max-width:360px;margin:0 auto;color:rgba(255,255,255,.66);font-size:8px;line-height:1.65}
.app-story-tap{position:absolute;z-index:8;top:84px;bottom:67px;width:32%;border:0;background:transparent}.app-story-tap-prev{left:0}.app-story-tap-next{right:0}
.app-story-footer{position:absolute;z-index:12;left:19px;right:19px;bottom:max(23px,env(safe-area-inset-bottom));padding-top:15px;border-top:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:space-between;color:rgba(255,255,255,.55);font:800 5px Space Grotesk;letter-spacing:.17em}.app-story-footer b{color:var(--fitrich-sage)}

@media(min-width:761px){
  .app-story-viewer{height:min(880px,calc(100dvh - 34px));border:1px solid rgba(255,255,255,.2);border-radius:22px}
}
@media(max-width:420px){
  .app-stories{margin-left:0;margin-right:0}.app-story-rail{gap:10px;padding-inline:max(1px,calc((100% - 416px)/2))}.app-story-chip{flex-basis:61px}.app-story-ring{width:57px;height:57px}
  .home-product-showcase{min-height:412px}.home-product-head{padding-inline:16px}.home-product-hint{margin-inline:16px}.home-product-track{padding-inline:16px}.home-product-card{flex-basis:162px;min-height:290px}.home-product-art{height:178px}.home-product-copy{min-height:110px}
  .app-story-content{padding-inline:24px}.app-story-product{margin-bottom:34px}.app-story-feedback blockquote{font-size:30px}
}
@media(prefers-reduced-motion:reduce){.app-story-progress span.active:after{animation-duration:.01ms}.app-story-viewer.story-enter .app-story-product{animation:none}.home-product-marquee{animation:fitrichAppProductMarquee 54s linear infinite!important}}
