/* Choreography is progressive: every scene remains readable without JavaScript. */
.hero-film{position:relative}.film-copy,.film-timeline,.river-intro{display:none}.river-frame{position:relative}.river-scene-label,.river-scene-footer{display:flex;justify-content:space-between;align-items:center;padding:20px 4.7%;font-size:10px;letter-spacing:.1em}.river-scene-label{border-top:1px solid #a4b5a3}.river-scene-footer{gap:20px;background:#d8ded0}.call-dog{background:none;border-bottom:1px solid #7d8f7b;padding:7px 0;display:flex;gap:26px;font-size:11px}.river-play{height:560px}.river-bank{position:absolute;left:-5%;right:-5%;height:100px;bottom:62px;background:#c6cebc;border-radius:65% 38% 0 0 / 45% 34% 0 0;box-shadow:0 -1px 0 #eff0df50;pointer-events:none;transform:rotate(-1deg)}.river-bank:after{content:"";position:absolute;inset:24px 0;background:radial-gradient(ellipse at 23% 40%,#919f8d70 0 13px,transparent 15px),radial-gradient(ellipse at 66% 70%,#8c9e8b60 0 19px,transparent 21px),radial-gradient(ellipse at 81% 33%,#87998340 0 9px,transparent 12px)}.river-dog{position:absolute;width:178px;height:127px;left:0;bottom:84px;transform:translateX(120px);pointer-events:none;z-index:3;will-change:transform}.schnauzer-body{width:100%;height:100%;overflow:visible}.river-dog-head{transform-origin:153px 64px;transform:rotate(var(--head-angle,-8deg));transition:transform .22s ease-out}.dog-pupils{transform:translate(var(--gaze-x,0px),var(--gaze-y,0px));transition:transform .1s linear}.dog-tail{transform-origin:57px 64px;transform:rotate(-9deg)}.is-walking .dog-front-leg,.is-walking .dog-back-leg{transform-box:fill-box;transform-origin:50% 0;animation:paw-step .44s ease-in-out infinite alternate}.is-walking .alternate{animation-direction:alternate-reverse}.is-walking .schnauzer-body{animation:dog-bob .44s ease-in-out infinite alternate}.is-excited .dog-tail{animation:tail-wag .22s ease-in-out infinite alternate}.is-sniffing .river-dog-head{transform:rotate(13deg) translateY(3px)}.river-dog-thought{position:absolute;top:-12px;left:70%;font-size:11px;white-space:nowrap;background:#efeee6df;border:1px solid #acb6a3;border-radius:50%;padding:10px 17px;transform:translateX(-50%);opacity:0;transition:opacity .5s}.is-excited .river-dog-thought,.is-sniffing .river-dog-thought{opacity:1}.river-instruction{bottom:25px}.catch-counter{z-index:4}.reset-catch{z-index:4}.river-word{font-size:clamp(100px,16vw,230px);top:34%;letter-spacing:.13em}.chapter-bridge{height:300px;overflow:hidden;position:relative;display:flex;flex-direction:column;justify-content:center;background:var(--ink);color:var(--paper);padding:50px 8.5%}.chapter-bridge>span{font-size:9px;letter-spacing:.18em;opacity:.55}.chapter-bridge p{font-family:var(--serif);font-size:clamp(36px,6.2vw,100px);white-space:nowrap;line-height:1.4;margin:20px 0 0;letter-spacing:.01em;will-change:transform}.chapter-bridge i{font-style:normal;color:#dca992;margin-left:.6em}.chapter-bridge>svg{position:absolute;right:7%;top:40px;width:87px;height:40px;color:#b7c2ac;transform:rotate(-15deg)}.chapter-dock{position:fixed;z-index:18;left:50%;bottom:20px;transform:translate(-50%,15px);display:flex;align-items:center;padding:5px;background:#efeee6ec;border:1px solid #bdc4b5;border-radius:28px;box-shadow:0 4px 25px #203b3210;backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:opacity .4s,transform .4s}.chapter-dock.visible{opacity:1;transform:translate(-50%,0);pointer-events:auto}.chapter-dock a{display:flex;align-items:center;gap:6px;padding:10px 15px;border-radius:20px;font-size:9px;transition:background .3s,color .3s}.chapter-dock a b{font-weight:400}.chapter-dock a span{font-size:7px;opacity:.65}.chapter-dock a.active{background:var(--ink);color:var(--paper)}.chapter-dock>button{background:none;font-size:8px;border-left:1px solid #c8ccc0;padding:5px 14px 5px 12px;margin-left:6px;white-space:nowrap}.swimming-fish.is-watched:after{content:"";position:absolute;inset:0;border:1px solid #f8f6df70;border-radius:50%;transform:scale(1.2)}.buddy{transition:opacity .4s}.river-is-visible .buddy{opacity:0;pointer-events:none}.hearth-photo:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 51% 54%,#ed76251f,transparent 53%);z-index:1;pointer-events:none}.hearth-photo img{transition:filter .5s;will-change:transform}.enhanced-motion .hero{padding:0}.enhanced-motion .hero-heading,.enhanced-motion .hero-bottom{margin-left:4.7%;margin-right:4.7%}.enhanced-motion .hero-film{height:180svh}.enhanced-motion .hero-photo{position:sticky;top:0;height:100svh;width:100%;clip-path:inset(var(--film-inset-y,4%) var(--film-inset-x,4.7%));will-change:clip-path}.enhanced-motion .hero-photo>img{animation:none;transform:scale(var(--film-scale,1.02)) translateY(var(--film-pan,0px));object-position:50% 52%;will-change:transform;filter:saturate(.62) brightness(var(--film-brightness,1))}.enhanced-motion .hero-photo .vertical-note,.enhanced-motion .hero-photo .round-link{opacity:var(--original-opacity,1);transition:none}.enhanced-motion .hero-photo .photo-location{left:7%;bottom:9%}.enhanced-motion .hero-photo .photo-number{right:7%;bottom:9%}.enhanced-motion .film-copy{display:block;position:absolute;inset:0;color:#f6f0dd;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;opacity:var(--film-copy-opacity,0);transform:translateY(var(--film-copy-y,40px));pointer-events:none}.film-eyebrow{font-size:9px;letter-spacing:.24em}.film-copy p{font-family:var(--serif);font-weight:400;line-height:1.45;font-size:clamp(62px,8.3vw,138px);letter-spacing:.08em;margin:24px 0}.film-copy em{font-style:normal;color:#ecc0a0}.film-after{font-size:12px;letter-spacing:.19em}.enhanced-motion .film-timeline{display:flex;align-items:center;gap:20px;position:absolute;left:7%;right:7%;bottom:4%;font-size:9px;color:var(--paper);letter-spacing:.11em}.film-timeline>i{height:1px;flex:1;background:#f6f0dd40}.film-timeline b{display:block;height:1px;width:var(--film-progress,0%);background:#efeee6}.enhanced-motion .river-stage{height:205svh;position:relative}.enhanced-motion .river-frame{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;overflow:hidden;background:#dfe5d7}.enhanced-motion .river-play{flex:1;height:auto;min-height:420px}.enhanced-motion .river-intro{display:flex;position:absolute;inset:0;z-index:6;pointer-events:none;align-items:center;justify-content:center;flex-direction:column;background:#dfe5d7;color:var(--ink);opacity:var(--river-intro-opacity,1);transform:translateY(var(--river-intro-y,0px));clip-path:inset(0 0 var(--river-reveal,0%) 0);will-change:clip-path}.river-intro>span{font-size:9px;letter-spacing:.22em}.river-intro>p{font-family:var(--serif);font-size:clamp(56px,9vw,145px);font-weight:400;margin:25px 0;letter-spacing:.08em}.enhanced-motion .swimming-fish{animation:none;left:0!important;top:0!important;will-change:transform}.enhanced-motion .water-lines{transform:translateY(var(--water-pan,0px)) rotate(-8deg)}.enhanced-motion .hero-heading h1{transform:translateY(var(--title-drift,0px));will-change:transform}.motion-quiet .chapter-bridge p{transform:none!important}.motion-quiet .river-dog{will-change:auto}.motion-quiet .water-lines,.motion-quiet .swimming-fish,.motion-quiet .dog-tail,.motion-quiet .schnauzer-body,.motion-quiet .dog-front-leg,.motion-quiet .dog-back-leg{animation:none!important;transition:none!important}.motion-quiet .hero-photo>img{animation:none!important}.motion-quiet .reveal{opacity:1;transform:none}.motion-quiet .river-dog-head,.motion-quiet .dog-pupils{transition:none}.motion-quiet .chapter-dock{transition:none}
@keyframes paw-step{from{transform:rotate(-12deg)}to{transform:rotate(12deg)}}@keyframes dog-bob{to{transform:translateY(-2px)}}@keyframes tail-wag{to{transform:rotate(19deg)}}
@media(max-width:700px){.enhanced-motion .hero-heading,.enhanced-motion .hero-bottom{margin-left:6%;margin-right:6%}.enhanced-motion .hero-photo{margin:0;clip-path:inset(var(--film-inset-y,2%) var(--film-inset-x,0%));min-height:530px}.enhanced-motion .hero-film{height:165svh}.enhanced-motion .hero-photo .vertical-note{left:7%;top:8%;font-size:21px}.enhanced-motion .hero-photo .round-link{right:7%;top:8%}.enhanced-motion .hero-photo .photo-location{font-size:9px}.film-copy p{font-size:55px}.film-eyebrow{font-size:7px}.film-after{font-size:10px}.film-timeline{gap:10px!important;font-size:7px!important}.river-scene-label{padding:17px 7%;font-size:8px;gap:15px}.river-scene-footer{padding:16px 7% 65px;display:grid;grid-template-columns:1fr auto;gap:13px;font-size:8px}.river-scene-footer>a{grid-column:1/-1;font-size:9px}.call-dog{font-size:10px;gap:15px}.enhanced-motion .river-stage{height:180svh}.enhanced-motion .river-play{min-height:440px}.river-play{height:520px}.river-bank{bottom:89px;height:83px}.river-dog{width:132px;height:95px;bottom:113px}.river-dog-thought{font-size:9px;top:-16px;padding:8px 12px}.river-instruction{bottom:84px;font-size:9px}.river-instruction small{display:none}.catch-counter{bottom:18px}.reset-catch{bottom:32px}.river-word{top:31%;font-size:70px}.river-intro>span{font-size:7px}.river-intro>p{font-size:48px}.chapter-bridge{height:220px;padding:40px 7%}.chapter-bridge p{font-size:39px}.chapter-bridge>span{font-size:7px}.chapter-bridge>svg{width:62px;top:25px}.chapter-dock{bottom:12px;padding:4px;max-width:calc(100% - 24px)}.chapter-dock a{padding:9px 10px;font-size:9px;gap:4px}.chapter-dock a span{font-size:6px}.chapter-dock>button{font-size:7px;padding:5px 8px;margin-left:3px}.buddy{bottom:68px}.hero-note{position:relative;z-index:2}.river-scene-footer #dog-action{font-size:9px}}
@media(prefers-reduced-motion:reduce){.hero-film,.river-stage{height:auto!important}.hero-photo,.river-frame{position:relative!important;clip-path:none!important}.hero-photo{height:65svh!important}.river-frame{height:auto!important}.river-play{min-height:460px!important}.film-copy,.film-timeline,.river-intro{display:none!important}.dog-tail,.schnauzer-body,.dog-front-leg,.dog-back-leg{animation:none!important}.chapter-bridge p{transform:none!important}.hero-heading h1,.hero-photo>img,.hearth-photo img{transform:none!important}.river-dog{transition:none!important}}
.river-scene-footer{padding-bottom:76px}.schnauzer-body{scale:var(--dog-facing,1) 1}@media(max-width:700px){.river-scene-footer{padding-bottom:65px}}
@media(max-width:380px){.chapter-dock a{padding:9px 8px}.chapter-dock a span{display:none}.chapter-dock>button{padding-left:8px}}
.chapter-dock{width:max-content}.chapter-dock a{white-space:nowrap;flex-shrink:0}
