.scroll-hero{--scene-height:calc(100svh - 101px);background:#f4dfc9;height:var(--scene-height);min-height:540px;overflow:hidden;isolation:isolate;touch-action:pan-y}.scene-backdrop{position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .85s;background:linear-gradient(300deg,#f4e9d0 0%,#efc9ae 100%)}.scene-backdrop.active{opacity:1}.scene-backdrop:nth-child(2){background:linear-gradient(300deg,#fbe0fc 0%,#bbf9e7 100%)}.scene-backdrop:nth-child(3){background:linear-gradient(300deg,#e2f7ff 0%,#defcbd 100%)}.scene-backdrop:nth-child(4){background:linear-gradient(300deg,#fcdbcf 0%,#d4f4e9 100%)}.scroll-hero .hero-inner{height:100%;min-height:0;max-width:1500px;margin:auto;padding:32px 5% 65px;grid-template-columns:1.2fr 1fr;gap:4.5%;align-items:center}.scroll-hero .hero-copy{position:relative;height:400px;overflow:hidden;align-self:center;z-index:4}.copy-scene{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;visibility:hidden;pointer-events:none}.copy-scene.active,.copy-scene.leaving{visibility:visible}.copy-scene.active{pointer-events:auto}.copy-scene .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:24px;font-family:var(--body)}.copy-scene h1,.copy-scene h2{font-family:'Averia Serif Libre',Georgia,serif;font-weight:700;font-size:clamp(48px,5.7vw,83px);line-height:1.06;letter-spacing:-.04em;margin:0 0 25px}.copy-scene p{font-family:'Alegreya',Georgia,serif;font-size:20px;line-height:1.5;margin:0 0 30px;max-width:540px}.copy-scene .button{padding:15px 31px;font-family:'Alegreya',Georgia,serif;text-transform:uppercase;font-weight:700;font-size:15px;box-shadow:0 3px 0 #27251f16}.copy-scene .button:hover{background:var(--yellow)}.scroll-hero .hero-art{height:100%;max-height:710px;min-height:460px;width:100%;isolation:isolate;margin:0;align-self:center}.pet-scene{position:absolute;inset:0;visibility:hidden;pointer-events:none;transform-origin:50% 75%}.pet-scene.active,.pet-scene.leaving{visibility:visible}.scene-arch{position:absolute;inset:0 0 0 0;border-radius:300px;background:linear-gradient(180deg,#f4cd83 0%,#ef7229 100%);transform-origin:50% 70%}.pet-scene:nth-child(2) .scene-arch{background:linear-gradient(180deg,#84e2e9,#ef68b4)}.pet-scene:nth-child(3) .scene-arch{background:linear-gradient(180deg,#8ff5d6,#67f86b)}.pet-scene:nth-child(4) .scene-arch{background:linear-gradient(180deg,#b3e5cf,#f2ae92)}.scene-pet{position:absolute;bottom:5%;left:18%;width:65%;height:77%;object-fit:contain;object-position:center bottom;transform:translate(var(--pointer-x,0px),var(--pointer-y,0px));filter:drop-shadow(6px 10px 5px #6f453718);animation:pet-breathe 5s ease-in-out infinite;transform-origin:50% 100%}.pet-scene:nth-child(2) .scene-pet{height:76%;width:70%;left:16%}.pet-scene:nth-child(3) .scene-pet{height:80%;width:60%;left:22%}.pet-scene:nth-child(4) .scene-pet{height:77%;width:68%;left:17%}.pet-shadow{position:absolute;left:13%;right:13%;height:12%;bottom:1.5%;background:radial-gradient(ellipse,#78563a29,transparent 64%);filter:blur(7px)}.scroll-hero .hero-bottom{position:absolute;left:0;right:0;bottom:0;padding:13px 5% 17px;gap:20px;max-width:1500px;height:55px;z-index:5}.scroll-guide{display:flex;align-items:center;gap:9px;font-size:11px}.scroll-mouse{width:15px;height:22px;border:1px solid var(--ink);border-radius:12px;position:relative}.scroll-mouse:after{content:'';width:2px;height:5px;border-radius:2px;background:var(--ink);position:absolute;left:5px;top:4px;animation:mouse-scroll 1.8s ease infinite}.scene-navigation{display:flex;gap:15px;align-items:center;margin-left:auto}.scene-navigation button{border:1px solid #27251f55;border-radius:50%;height:36px;width:36px;display:grid;place-items:center;font-family:var(--body);font-size:18px;background:transparent;transition:background .2s}.scene-navigation button:hover:not(:disabled){background:var(--cream)}.scene-navigation button:disabled{opacity:.25;cursor:default}.scene-count{font-size:13px;font-family:'Alegreya',Georgia,serif;display:flex;gap:3px;white-space:nowrap}.scene-count b{font-size:21px;font-weight:500}.scene-count>span{opacity:.6;align-self:center}.scroll-hero .hero-skip{font-family:'Alegreya',Georgia,serif;font-size:13px;display:block;line-height:1.5}.scroll-hero #motion-toggle{border:0;background:none;font-size:10px;text-decoration:underline;text-underline-offset:3px;padding:5px;color:#65574b}.paw-cursor{position:absolute;width:88px;height:88px;border:1px solid #27251f22;border-radius:50%;z-index:6;pointer-events:none;display:grid;place-items:center;left:0;top:0;opacity:0;transform:translate(-50%,-50%);transition:opacity .2s}.paw-cursor svg{width:29px;height:29px}.scroll-hero.pointer-inside .paw-cursor{opacity:1}.scroll-hero.calm .scene-pet,.scroll-hero.calm .scroll-mouse:after{animation:none}.scroll-hero.calm~.ribbon .ribbon-track{animation-play-state:paused}.scroll-hero.calm .paw-cursor{display:none}@keyframes pet-breathe{0%,100%{translate:0 0}50%{translate:0 -10px}}@keyframes mouse-scroll{0%,100%{translate:0 0;opacity:.4}50%{translate:0 4px;opacity:1}}
@media(min-width:1600px){.scroll-hero .hero-inner{min-height:0}.scroll-hero .hero-art{height:100%}.scroll-hero .hero-copy{height:490px}}
@media(max-width:1050px){.scroll-hero .hero-inner{gap:3%;grid-template-columns:1.25fr 1fr}.copy-scene h1,.copy-scene h2{font-size:clamp(44px,5.6vw,66px)}.copy-scene p{font-size:18px}.scroll-hero .hero-copy{height:400px}.scroll-hero .hero-art{height:100%;min-height:410px}.copy-scene .eyebrow{font-size:9px}.scroll-hero .hero-bottom{gap:15px}}
@media(max-width:760px){.scroll-hero{--scene-height:calc(100svh - 83px);min-height:690px}.scroll-hero .hero-inner{grid-template-columns:1fr;grid-template-rows:250px 1fr;gap:20px;padding:26px 6% 58px;align-items:start}.scroll-hero .hero-copy{height:250px;width:100%;align-self:start}.copy-scene{justify-content:flex-start}.copy-scene .eyebrow{margin-bottom:14px;font-size:9px}.copy-scene h1,.copy-scene h2{font-size:clamp(36px,9.6vw,49px);line-height:1.08;margin-bottom:15px;letter-spacing:-.045em}.copy-scene p{font-size:16px;line-height:1.4;max-width:100%;margin-bottom:18px}.copy-scene .button{padding:11px 23px;font-size:12px}.scroll-hero .hero-art{min-height:0;max-height:none;height:100%;width:80%;max-width:330px;justify-self:center;align-self:stretch}.scene-pet{height:85%;width:60%;left:21%;bottom:3%}.pet-scene:nth-child(2) .scene-pet{height:82%;width:66%;left:17%}.pet-scene:nth-child(3) .scene-pet{height:87%;width:56%;left:23%}.pet-scene:nth-child(4) .scene-pet{height:83%;width:65%;left:19%}.scene-arch{border-radius:170px}.scroll-hero .hero-bottom{height:50px;padding:12px 6%;gap:12px}.scroll-guide{font-size:10px;gap:6px;max-width:140px}.scroll-mouse{width:12px;height:19px;flex-shrink:0}.scroll-mouse:after{left:4px}.scene-navigation{gap:8px}.scene-navigation button{width:32px;height:32px;font-size:15px}.scene-count{font-size:11px;gap:1px}.scene-count b{font-size:17px}.scroll-hero .hero-skip{font-size:11px}.scroll-hero #motion-toggle{position:absolute;top:8px;right:6%;font-size:9px;transform:translateY(-100%)}.paw-cursor{display:none}}
@media(max-width:380px){.scroll-hero .hero-inner{grid-template-rows:280px 1fr;gap:13px}.scroll-hero .hero-copy{height:280px}.copy-scene h1,.copy-scene h2{font-size:35px}.scroll-guide{max-width:105px}.scene-navigation{gap:6px}.scroll-hero .hero-skip{font-size:10px}}
@media(prefers-reduced-motion:reduce){.scene-pet,.scroll-mouse:after{animation:none}.scene-backdrop{transition:none}.paw-cursor{display:none}}
@media(max-width:760px){.scroll-hero .hero-inner{grid-template-rows:290px 1fr}.scroll-hero .hero-copy{height:290px}}
/* Entrances follow the reference's lateral, zoom and rotation effects. */
.services,.about{overflow:hidden}
.motion-ready .services .section-heading:not(.visible){transform:translateX(-50px)}
.motion-ready .service-card:first-child:not(.visible){transform:translateX(-70px)}
.motion-ready .service-card:nth-child(2):not(.visible){transform:translateY(50px) scale(.92)}
.motion-ready .service-card:last-child:not(.visible){transform:translateX(70px)}
.motion-ready .about-photo:not(.visible){transform:rotate(-5deg) scale(.83)}
.motion-ready .about-copy:not(.visible){transform:translateY(50px)}
.motion-ready .reputation-inner:not(.visible){transform:scale(.93)}
.motion-ready .booking-shell:not(.visible){transform:translateY(35px) scale(.97)}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal:not(.visible){transform:none}}
