/* The dogs are part of the page, never enclosed in photographic cards. */
.welcome{padding-bottom:94px}.welcome .welcome-signoff{font:400 23px/1.5 var(--serif);margin:12px auto 35px}.service-index{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 36px;font-size:14px}.service-index a{display:flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:8px;transition:text-decoration-color 180ms}.service-index a:hover{text-decoration-color:var(--gold)}
.services-journey{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(56px,8vw,140px);padding:30px var(--gutter) 120px;max-width:1680px;margin:auto}.dog-column{min-width:0;position:relative;z-index:30;pointer-events:none}.dog-sticky{position:sticky;top:calc(var(--header-height) + 16px);padding-bottom:20px}.dog-stage{height:min(640px,52vw,calc(100svh - var(--header-height) - 170px));position:relative;overflow:visible}.dog-portrait{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;transform:translateY(var(--dog-y,0px)) scale(var(--dog-scale,1));transform-origin:50% 0}.dog-rig{flex-shrink:0;width:min(115%,650px,calc((100svh - var(--header-height) - 170px)/1.14));aspect-ratio:1;position:relative;isolation:isolate}.dog-living-frame{position:absolute;inset:0;background:url('assets/journey-dog-breathing.png') no-repeat;background-size:200% 200%;background-position:0 0;mix-blend-mode:plus-lighter}.dog-living-next{opacity:0}.scene-visible .dog-living-frame{will-change:opacity}.scenes-paused .dog-living-frame,.page-asleep .dog-living-frame{will-change:auto}.dog-caption{text-align:center;font:400 23px/1.4 var(--serif);margin:14px 0 10px;color:var(--quiet)}.scene-motion{pointer-events:auto;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 12px;min-height:44px;background:none;color:var(--quiet);font-size:12px}.scene-motion svg{width:16px;height:16px}.scene-play{display:none}.scene-motion[aria-pressed=true] .scene-play{display:block}.scene-motion[aria-pressed=true] .scene-pause{display:none}.scene-motion[hidden]{display:none}.services-copy{padding-top:44px;max-width:490px}.services-copy h2{font-size:clamp(44px,4.8vw,72px)}.services-intro{font-size:16px;line-height:1.9;max-width:390px;margin:28px 0 68px}.service-passage{padding:37px 0 40px;border-top:1px solid #cfc5b1;scroll-margin-top:24px}.service-passage:last-child{padding-bottom:0}.service-passage h3{font:400 clamp(34px,3.4vw,50px)/1.1 var(--serif);letter-spacing:-.025em;margin:0 0 17px}.service-passage .service-sentiment{font-size:17px;color:var(--black);margin:0 0 16px}.service-passage p{font-size:15px;line-height:1.95;color:var(--quiet);margin:0 0 15px;max-width:430px}.service-passage .text-link{font-size:13px}
.together{background:var(--black);color:var(--cream);padding:110px 0 45px;overflow:hidden;position:relative}.together-copy{text-align:center;padding:0 var(--gutter);position:relative;z-index:1}.together-copy h2{font-size:clamp(44px,5.3vw,80px);color:var(--gold-light)}.together-copy p{font-size:16px;line-height:1.95;margin:30px auto 0;color:var(--soft-cream)}.walk-track{height:440px;position:relative;max-width:1600px;margin:-5px auto 0}.walking-pair{position:absolute;width:460px;aspect-ratio:1;bottom:0;left:calc(50% - 230px);transform:translateX(var(--walk-x,0px));will-change:transform}.walk-sprite{width:100%;height:100%;background:url('assets/journey-walk.png') no-repeat;background-size:200% 200%;background-position:0 0;animation:walk-frames .85s step-end infinite;animation-play-state:paused}.together-note{text-align:center;font:400 24px/1.4 var(--serif);color:var(--gold-light);margin:15px var(--gutter) 0}
@keyframes walk-frames{0%,100%{background-position:0 0}25%{background-position:100% 0}50%{background-position:0 98.25%}75%{background-position:100% 98.25%}}

.scene-visible.is-walking .walk-sprite{animation-play-state:running}.scenes-paused .walk-sprite,.page-asleep .walk-sprite{animation-play-state:paused}
.our-way{border-top:1px solid #3f392d;padding-top:108px}.first-hello{align-items:start;gap:clamp(48px,6vw,100px);padding-block:115px 125px}.first-hello h2{font-size:clamp(44px,4.9vw,74px)}.hello-intro{font-size:16px;line-height:1.9;margin:28px 0 16px;max-width:460px}.hello-copy{max-width:none;padding-top:8px}.hello-copy details{border-top:1px solid #cfc5b1}.hello-copy details:last-child{border-bottom:1px solid #cfc5b1}.hello-copy summary{font-size:15px;line-height:1.6;list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 0}.hello-copy summary::-webkit-details-marker{display:none}.hello-copy summary svg{width:18px;height:18px;transition:transform 180ms}.hello-copy details[open] summary svg{transform:rotate(45deg)}.hello-copy summary:hover{color:#765b2d}.hello-copy summary:focus-visible{outline:2px solid var(--black);outline-offset:5px}.hello-copy details p{font-size:14px;line-height:1.9;color:var(--quiet);margin:0 25px 24px 0}.hello-copy details[open] p{animation:answer-in 220ms ease-out}@keyframes answer-in{from{opacity:.4;transform:translateY(-4px)}to{opacity:1;transform:none}}
footer{padding-bottom:65px}footer div>span{display:block;font-size:13px;color:var(--soft-cream);margin-top:8px}footer nav{display:flex;flex-direction:column;gap:5px;font-size:13px}footer nav a{min-height:36px;display:flex;align-items:center}footer small{font-size:11px}
@media(min-width:1700px){.services-journey{padding-top:45px;padding-bottom:150px}.dog-stage{height:min(740px,calc(100svh - var(--header-height) - 170px))}.dog-rig{width:min(115%,700px,calc((100svh - var(--header-height) - 170px)/1.14))}.dog-sticky{top:calc(var(--header-height) + 28px)}.walk-track{height:490px}.walking-pair{width:520px;left:calc(50% - 260px)}}
@media(max-width:1000px){.services-journey{gap:48px}.dog-stage{height:min(52vw,calc(100svh - var(--header-height) - 170px))}.dog-rig{width:min(115%,calc((100svh - var(--header-height) - 170px)/1.14));max-width:none}.services-copy{padding-top:20px}.services-copy h2{font-size:48px}.services-intro{margin-bottom:45px}.dog-caption{font-size:21px}.first-hello{gap:48px}.together{padding-top:90px}}
@media(max-width:760px){.welcome{padding-bottom:55px}.welcome .welcome-signoff{font-size:22px;margin:6px auto 25px}.service-index{gap:4px 22px;font-size:13px}.services-journey{display:block;padding:0 var(--gutter) 70px}.dog-sticky{position:relative;top:auto;padding:0}.dog-stage{height:min(390px,100vw);width:calc(100% + 48px);max-width:none;margin-inline:-24px}.dog-rig{width:100%;max-width:390px}.dog-caption{font-size:22px;margin:9px 0}.scene-motion{margin-bottom:30px}.services-copy{max-width:none;padding-top:24px}.services-copy h2{font-size:clamp(42px,11.5vw,64px);text-align:center}.services-intro{font-size:16px;margin:24px auto 39px;text-align:center;max-width:370px}.service-passage{padding:29px 0 30px;scroll-margin-top:18px}.service-passage h3{font-size:40px}.service-passage .service-sentiment{font-size:16px}.service-passage p{font-size:15px;line-height:1.9;max-width:500px}.service-passage .text-link{font-size:13px}.together{padding:69px 0 35px}.together-copy h2{font-size:clamp(39px,10.5vw,60px)}.together-copy p{font-size:14px;line-height:1.9;margin-top:24px}.walk-track{height:330px;margin-top:0}.walking-pair{width:350px;left:calc(50% - 175px)}.together-note{font-size:22px;margin-top:12px}.our-way{padding-top:52px}.first-hello{padding-block:75px 80px}.first-hello h2{font-size:clamp(43px,11.5vw,62px)}.hello-intro{font-size:15px;margin:24px 0 12px}.hello-copy{padding-top:35px}.hello-copy summary{font-size:14px;padding-block:22px}.hello-copy details p{font-size:14px}footer{padding-bottom:105px}footer nav{margin:20px 0}footer small{font-size:11px}}
@media(max-width:380px){.dog-stage{height:100vw}.dog-rig{width:100%}.service-index{gap:2px 17px}.walking-pair{width:320px;left:calc(50% - 160px)}.walk-track{height:300px}}
@media(prefers-reduced-motion:reduce){.dog-portrait,.walking-pair{transform:none!important;will-change:auto}.walk-sprite{animation:none!important}.dog-living-frame{will-change:auto!important}.hello-copy details[open] p{animation:none}.hello-copy summary svg{transition:none}.service-index a{transition:none}}
