/* Product motion is a compositor transform of one transparent image. */
.hero-image.product-stage{background:radial-gradient(ellipse at 50% 38%,#64665d 0%,#3d3e38 48%,#272824 100%);min-height:690px;perspective:1000px}
.product-stage .product-float{position:absolute;inset:12px 0 50px;display:flex;align-items:center;justify-content:center;transform:rotate(-7deg);animation:uf-float 6.5s ease-in-out infinite;animation-play-state:paused}
.product-stage .product-float img{position:static;width:100%;height:100%;max-width:650px;object-fit:contain;object-position:center;filter:drop-shadow(20px 22px 15px #0004)}
.product-stage[data-running='true'] .product-float,.product-stage[data-running='true'] .product-shadow{animation-play-state:running}
.product-shadow{position:absolute;bottom:59px;left:30%;width:40%;height:16px;border-radius:50%;background:#0007;filter:blur(13px);animation:uf-shadow 6.5s ease-in-out infinite;animation-play-state:paused}
.product-stage .image-label{color:#eae8e2;text-shadow:none;font-size:11px;letter-spacing:.12em;left:25px;bottom:27px}
.motion-toggle{position:absolute;right:22px;bottom:18px;min-height:42px;padding:9px 13px;background:#25262299;color:#f4f2eb;border:1px solid #8e908266;border-radius:3px;font-size:12px;display:flex;align-items:center;gap:12px;z-index:2;cursor:pointer}
.motion-toggle:hover{background:#191917}.motion-toggle:focus-visible{outline-color:#eae8e2}
@keyframes uf-float{0%,100%{transform:translate3d(-13px,12px,0) rotate(-9deg)}50%{transform:translate3d(13px,-12px,0) rotate(7deg)}}
@keyframes uf-shadow{0%,100%{transform:translateX(-9px) scaleX(1);opacity:.65}50%{transform:translateX(9px) scaleX(.8);opacity:.4}}
.product-still{display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,#66675e,#35362f 70%)}
.product-still img{position:static!important;width:100%!important;height:630px!important;object-fit:contain!important;padding:24px 10px 50px}
.product-still .product-index{color:#eae8e2}
.texture-experience{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,7vw,110px);align-items:center;padding-top:95px;padding-bottom:95px;border-bottom:1px solid var(--line)}
.texture-copy h2{font-size:clamp(46px,5vw,76px);margin-bottom:28px}
.texture-copy>p:not(.eyebrow){font-size:17px;line-height:1.7;max-width:400px;color:var(--muted)}
.texture-options{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-top:35px;max-width:390px}
.texture-options button{text-align:left;position:relative;border:0;border-bottom:1px solid var(--line);background:transparent;padding:20px 34px 20px 0;font-size:17px;font-weight:500;color:var(--muted);cursor:pointer}
.texture-options button[aria-pressed='true']{color:var(--ink)}
.texture-options button[aria-pressed='true']::after{content:'↗';position:absolute;right:7px}
.texture-copy .texture-caption{font-size:14px!important;min-height:48px;margin:18px 0 27px}
.texture-copy .texture-instruction{font-size:14px!important;color:var(--ink)!important;margin-bottom:26px}
.texture-reveal{position:relative;aspect-ratio:4/4.7;overflow:hidden;background:#d2d3c9;touch-action:pan-y}
.texture-reveal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 28%;display:block;pointer-events:none;user-select:none}
.texture-detail{position:absolute;inset:0;clip-path:inset(0 0 0 var(--reveal));overflow:hidden;pointer-events:none}
.texture-detail img{transform:scale(1.8);transform-origin:50% 24%}
.texture-reveal[data-texture='defined'] .texture-detail img{transform-origin:48% 19%;transform:scale(1.75)}
.reveal-label{position:absolute;top:22px;padding:8px 10px;background:#ecebe4e8;color:var(--ink);font-size:10px;font-weight:600;letter-spacing:.12em;pointer-events:none;z-index:2}
.label-full{left:18px}.label-detail{right:18px}
.reveal-divider{position:absolute;top:0;bottom:0;left:var(--reveal);width:2px;background:#f7f5ec;transform:translateX(-1px);pointer-events:none;z-index:3;box-shadow:0 0 12px #0002}
.reveal-divider span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;background:#f4f2e9;color:#191917;display:grid;place-items:center;font-size:23px;box-shadow:0 2px 15px #0002}
.texture-reveal input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:4;touch-action:pan-y}
.texture-reveal:focus-within{outline:3px solid var(--sage);outline-offset:5px}
.texture-footnote{display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:.12em;margin-top:14px;color:var(--muted)}
@media(max-width:760px){.hero-image.product-stage{min-height:0;aspect-ratio:1/1.12}.product-stage .product-float{inset:0 0 45px}.product-stage .image-label{font-size:9px;left:18px;bottom:28px;letter-spacing:.06em}.motion-toggle{right:15px;bottom:15px;font-size:11px;padding:8px 10px;gap:8px}.product-shadow{bottom:51px}.texture-experience{grid-template-columns:1fr;gap:27px;padding-top:60px;padding-bottom:60px}.texture-copy h2{font-size:48px;margin-bottom:22px}.texture-copy>p:not(.eyebrow){font-size:16px;max-width:none}.texture-options{flex-direction:row;max-width:none;margin-top:25px}.texture-options button{flex:1;font-size:14px;padding:16px 22px 16px 0}.texture-options button+button{padding-left:16px}.texture-options button[aria-pressed='true']::after{right:4px}.texture-copy .texture-caption{min-height:0;margin:15px 0}.texture-copy .texture-instruction{margin-bottom:16px}.texture-reveal{aspect-ratio:4/4.6}.texture-footnote{font-size:9px;letter-spacing:.08em}.reveal-label{font-size:9px;top:15px}.label-full{left:12px}.label-detail{right:12px}.product-still img{height:440px!important}.product-visual.product-still{aspect-ratio:auto;min-height:440px}}
@media(prefers-reduced-motion:reduce){.product-stage .product-float,.product-stage .product-shadow{animation:none!important}.motion-toggle{display:none}}
html[data-motion='off'] .product-stage .product-float,html[data-motion='off'] .product-stage .product-shadow{animation:none!important}
/* Uncoated-paper frames let the wider lifestyle photographs breathe. */
.editorial-card{aspect-ratio:auto;padding:8px;background:#deddd4;border:1px solid #c7c8ba;color:var(--ink)}
.editorial-card img{height:auto;aspect-ratio:3/4;object-fit:cover;display:block}
.editorial-card:after{display:none}
.editorial-top{top:21px;left:21px;right:21px;color:#f5f3e9;text-shadow:0 1px 4px #0009;font-size:10px;letter-spacing:.13em}
.editorial-bottom{position:static;padding:19px 9px 14px;color:var(--ink);gap:10px}
.editorial-bottom strong{font-size:25px;letter-spacing:-.03em;line-height:1.15}
.editorial-bottom small{font-size:12px;color:#57594e;margin-top:9px;line-height:1.5}
.editorial-bottom .story-arrow{border-color:#b4b6a8;flex-shrink:0}
.texture-detail img{transform:scale(2.3);transform-origin:40% 31%}
.texture-reveal[data-texture='defined'] .texture-detail img{transform:scale(2.05);transform-origin:41% 32%}
.portrait img{object-position:50% 40%}
@media(max-width:760px){.editorial-card{padding:7px}.editorial-bottom{padding:18px 9px 15px}.editorial-bottom strong{font-size:24px}.editorial-bottom small{font-size:12px}.editorial-top{top:20px;left:20px}.story-arrow{display:none}}
.story-frame img{object-position:50% 28%}
