/* The thread connects the feeling, the hand and the home. */
.hero-copy .text-link{pointer-events:auto}
.woven-intro{position:relative;display:block;min-height:145svh;padding:0;background:#f3efe6;color:#20211d;overflow:clip}
.woven-intro-inner{position:sticky;top:76px;min-height:calc(100svh - 76px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 0;text-align:center}
.woven-intro .eyebrow{color:#847149;padding:0;margin:0 0 2rem}
.woven-intro h2{font-size:clamp(3.6rem,6.7vw,7.6rem);line-height:.98;font-weight:400;max-width:1000px;letter-spacing:-.035em}
.woven-intro h2 em{color:#927946}
.woven-line{width:1px;height:68px;background:#b9a16c30;position:relative;margin:0 0 2rem;overflow:hidden}
.woven-line span{display:block;position:absolute;inset:0;background:#a78a50;transform:scaleY(var(--intro-progress,1));transform-origin:top}
.woven-intro .woven-sentence{max-width:660px;font-family:var(--serif);font-size:clamp(1.5rem,2vw,2.1rem);line-height:1.55;margin:2rem 0 0;color:#777263}
.woven-sentence span{transition:color .3s;color:#aaa697}.woven-sentence span.read{color:#302e27}
.woven-intro .woven-invitation{font-size:.9375rem;letter-spacing:.025em;margin:1.6rem 0 .5rem;color:#777263}
.woven-next{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;border:1px solid #b9a16c50;margin-top:1rem;color:#8a7444;transition:background .4s,transform .4s}
.woven-next:hover{background:#e7e0d1;transform:translateY(4px)}
.woven-folio{position:absolute;bottom:1.5rem;font-size:.625rem;letter-spacing:.2em;color:#8d8169}
.material-edition{scroll-margin-top:75px;background:#11120f;transition:background 1.2s}
.material-edition[data-feeling=gold]{background:#19150f}.material-edition[data-feeling=sheer]{background:#141716}
.material-copy .feeling-intro{max-width:25rem;color:#adada3}
.feeling-response{border-left:1px solid #b9a16c7a;padding-left:1.5rem;margin-top:2.2rem;min-height:180px}
.feeling-number{font-size:.625rem;letter-spacing:.16em;color:#b7a47a}
.feeling-response h3{font-family:var(--serif);font-size:2.6rem;font-weight:400;line-height:1.1;margin:.8rem 0}
.feeling-response p{font-size:.9375rem;max-width:25rem;color:#d2d0c6;line-height:1.8}
.material-copy h2{font-size:clamp(3.5rem,5.1vw,6rem)}
.material-options button{min-height:56px;flex:1;justify-content:center}.material-options{gap:1rem}
.material-photos{cursor:crosshair}.material-photos img{transition:opacity 1.2s,transform 2.5s;transform-origin:var(--texture-x,50%) var(--texture-y,50%)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){body:not(.no-motion) .material-photos:hover img.selected{transform:scale(1.12)}}
.story-text{position:relative}.stitch-track{position:absolute;left:2rem;top:5%;bottom:5%;width:1px;background:#b9a16c22;z-index:1;pointer-events:none}
.stitch-fill{position:absolute;left:0;top:0;width:1px;height:calc(var(--thread-progress,0)*100%);background:linear-gradient(#766238,#d6bd83);box-shadow:0 0 12px #c9aa6544}
.stitch-fill:after{content:'';position:absolute;inset:0 -3px;background:repeating-linear-gradient(180deg,transparent 0,transparent 18px,#c6a96b66 18px,#c6a96b66 19px,transparent 19px,transparent 37px);opacity:.6}
.stitch-needle{position:absolute;top:calc(var(--thread-progress,0)*100%);left:-2px;width:5px;height:5px;background:#e3c78e;border-radius:50%;box-shadow:0 0 17px #d8b369;transform:translateY(-50%)}
.story-chapter{padding-left:clamp(4.5rem,7vw,8rem)}
.story-chapter h2{font-size:clamp(3rem,4.3vw,5.5rem)}
.story-chapter .eyebrow{transition:color .8s}.story-chapter.is-current .eyebrow{color:#e0c48b}
.story-visual:after{pointer-events:none}.story-scene{transition:opacity 1.2s}
body:not(.no-motion) .story-scene.active img,body:not(.no-motion) .story-scene.active video{transform:scale(1.02) translateY(var(--scene-drift,0px))}
.finished-copy .finished-feeling{color:#e3dbce;font-size:1.05rem;line-height:1.8;margin:1.2rem 0 .6rem}
.curtain .panel{clip-path:none!important}.curtain:not(.canvas-ready).open .panel.l{transform:translateX(-105%) scaleX(.15)}.curtain:not(.canvas-ready).open .panel.r{transform:translateX(105%) scaleX(.15)}
.curtain:not(.canvas-ready) .panel{transition-duration:3.2s}
.no-motion .woven-intro{min-height:auto}.no-motion .woven-intro-inner{position:relative;min-height:85svh}.no-motion .woven-sentence span{color:#302e27}.no-motion .woven-line span{transform:none}.no-motion .stitch-fill{height:100%}.no-motion .stitch-needle{display:none}.no-motion .material-photos img.selected{transform:none!important}
@media(max-width:1100px){.stitch-track{left:1.1rem}.story-chapter{padding-left:3rem}.story-chapter h2{font-size:3.3rem}.feeling-response{min-height:210px}.feeling-response h3{font-size:2.3rem}}
@media(max-width:800px){.material-copy h2{font-size:4.2rem}.feeling-response{min-height:0}.material-copy .text-link{margin-top:1.5rem}.woven-intro .woven-sentence{max-width:560px}.story-chapter h2{font-size:2.8rem}}
@media(max-width:650px){.woven-intro{min-height:135svh}.woven-intro-inner{top:78px;min-height:calc(100svh - 78px);padding:2.5rem 0 4rem}.woven-intro h2{font-size:clamp(3.1rem,12vw,4.7rem)}.woven-intro .eyebrow{font-size:.625rem;letter-spacing:.19em;margin-bottom:1.5rem}.woven-line{height:40px;margin-bottom:1.5rem}.woven-intro .woven-sentence{font-size:1.5rem;margin-top:1.7rem;max-width:330px}.woven-intro .woven-invitation{font-size:.8125rem;max-width:260px;line-height:1.8;margin-top:1.2rem}.woven-folio{bottom:1.5rem}.woven-next{width:42px;height:42px;margin-top:.8rem}.material-copy h2{font-size:3.5rem}.feeling-response{padding-left:1.2rem;margin-top:1.8rem;min-height:175px}.feeling-response h3{font-size:2.3rem}.feeling-response p{font-size:.9375rem}.material-options button{font-size:.8125rem;min-height:85px}.stitch-track{left:1rem;top:4%;bottom:4%}.story-chapter,.story-chapter:first-child,.story-chapter:last-child{padding-left:2.5rem;padding-right:1.5rem;min-height:73svh}.story-chapter h2{font-size:3rem}.finished-copy .finished-feeling{font-size:.9375rem;max-width:290px;margin:1rem auto .6rem}.finished-copy h2{font-size:3.6rem}}
@media(prefers-reduced-motion:reduce){.woven-intro{min-height:auto}.woven-intro-inner{position:relative;min-height:85svh}.woven-sentence span{color:#302e27}.woven-line span{transform:none}.stitch-fill{height:100%}.stitch-needle{display:none}.story-scene img,.story-scene video{transform:none!important}.feeling-response,.material-edition{transition:none}}
