/* Approved Geophii line art. Movement stays inside the allocated illustration space. */
.site-dog{--dog-ink:#3C887C;--dog-paper:#FAFAFC;--dog-collar:#997BB5;display:inline-block;position:relative;flex:0 0 120px;width:120px;height:85px;overflow:visible;pointer-events:none;vertical-align:middle;isolation:isolate}
html[data-theme="dark"] .site-dog{--dog-ink:#AAECDD;--dog-paper:#0F1827;--dog-collar:#B38BE6}
.site-dog-facing{width:100%;height:100%;transform:none;transform-origin:center}
.site-dog--face-left .site-dog-facing{transform:scaleX(-1)}
.site-dog svg{display:block;width:100%;height:100%;overflow:visible;max-width:none}
.site-dog :is(.dog-rig,.dog-body,.dog-head,.dog-tail,.dog-leg,.dog-eye,.dog-shadow){transform-box:view-box;animation:none;transform:none}
.site-dog .dog-rig{transform-origin:106px 135px}.site-dog .dog-body{transform-origin:74px 99px}.site-dog .dog-head{transform-origin:137px 84px}.site-dog .dog-tail{transform-origin:67px 79px}.site-dog .dog-eye{transform-origin:157px 61px}.site-dog .dog-shadow{transform-origin:106px 138px}
.site-dog .back-near{transform-origin:73px 99px}.site-dog .back-far{transform-origin:86px 98px}.site-dog .front-near{transform-origin:130px 100px}.site-dog .front-far{transform-origin:135px 99px}
/* Every role repeats a distinct small performance while it is in view. */
.site-dog--ambient{--dog-duration:12s;--dog-hop:-14px;--dog-step:8px;--dog-rig-motion:site-dog-phrase;--dog-body-motion:site-dog-body;--dog-head-motion:site-dog-curious;--dog-near-motion:site-dog-paws-near;--dog-far-motion:site-dog-paws-far;--dog-shadow-motion:site-dog-shadow;--dog-wag-speed:1.25s}
.site-dog--ambient .dog-rig{animation:var(--dog-rig-motion) var(--dog-duration) ease-in-out infinite;animation-delay:var(--dog-phase,0s)}
.site-dog--ambient .dog-body{animation:var(--dog-body-motion) var(--dog-duration) ease-in-out infinite;animation-delay:var(--dog-phase,0s)}
.site-dog--ambient .dog-head{animation:var(--dog-head-motion) var(--dog-duration) ease-in-out infinite;animation-delay:var(--dog-phase,0s)}
.site-dog--ambient .dog-tail{animation:site-dog-wag var(--dog-wag-speed) ease-in-out infinite;animation-delay:var(--dog-tail-phase,0s)}
.site-dog--ambient .dog-eye{animation:site-dog-blink 4.8s ease-in-out infinite;animation-delay:var(--dog-tail-phase,0s)}
.site-dog--ambient .dog-shadow{animation:var(--dog-shadow-motion) var(--dog-duration) ease-in-out infinite;animation-delay:var(--dog-phase,0s)}
.site-dog--ambient :is(.front-near,.back-far){animation:var(--dog-near-motion) var(--dog-duration) ease-in-out infinite;animation-delay:var(--dog-phase,0s)}
.site-dog--ambient :is(.front-far,.back-near){animation:var(--dog-far-motion) var(--dog-duration) ease-in-out infinite;animation-delay:var(--dog-phase,0s)}
/* Research: nose forward, two distinct sniffs, then check back toward the action. */
.site-dog--ambient[data-dog-animation="sniff"]{--dog-rig-motion:site-dog-investigate;--dog-head-motion:site-dog-sniff;--dog-body-motion:site-dog-steady;--dog-near-motion:site-dog-investigate-near;--dog-far-motion:site-dog-investigate-far;--dog-shadow-motion:site-dog-grounded;--dog-wag-speed:1.65s}
/* Reports and pricing: calm observation; no jump beside details someone is reading. */
.site-dog--ambient[data-dog-animation="look"]{--dog-rig-motion:site-dog-breathe;--dog-head-motion:site-dog-observe;--dog-body-motion:site-dog-steady;--dog-near-motion:site-dog-weight-near;--dog-far-motion:site-dog-weight-far;--dog-shadow-motion:site-dog-grounded;--dog-wag-speed:2.2s}
/* Content and planning: inspect, ponder with a small bow, then give two nods. */
.site-dog--ambient[data-dog-animation="think"]{--dog-rig-motion:site-dog-ponder;--dog-head-motion:site-dog-think;--dog-body-motion:site-dog-ponder-body;--dog-near-motion:site-dog-think-near;--dog-far-motion:site-dog-weight-far;--dog-shadow-motion:site-dog-grounded;--dog-wag-speed:1.9s}
/* Contact: a brief lifted front paw, then all four feet settle back on the ground. */
.site-dog--ambient[data-dog-animation="greet"]{--dog-rig-motion:site-dog-greet;--dog-head-motion:site-dog-greet-head;--dog-body-motion:site-dog-steady;--dog-near-motion:site-dog-weight-near;--dog-far-motion:site-dog-weight-far;--dog-shadow-motion:site-dog-grounded;--dog-wag-speed:.85s}
.site-dog--ambient[data-dog-animation="greet"] .front-near{animation-name:site-dog-offer-paw}
/* Workflows and connections: two short walking phrases inside the reserved space. */
.site-dog--ambient[data-dog-animation="trot"]{--dog-rig-motion:site-dog-trot;--dog-head-motion:site-dog-follow;--dog-body-motion:site-dog-steady;--dog-near-motion:site-dog-trot-near;--dog-far-motion:site-dog-trot-far;--dog-shadow-motion:site-dog-grounded;--dog-wag-speed:1.1s}
.site-dog--ambient.is-dog-attentive .dog-tail{animation-duration:.34s}
.site-dog--ambient.is-dog-attentive .dog-head{animation:site-dog-acknowledge 1.4s ease-in-out both}
.site-dog--ambient:not(.is-dog-active) :is(.dog-rig,.dog-body,.dog-head,.dog-tail,.dog-leg,.dog-eye,.dog-shadow){animation-play-state:paused!important}
@keyframes site-dog-phrase{0%,58%,65%,83%,100%{transform:translate(0,0)}10%,40%{transform:translateY(-.8px)}61%{transform:translateY(1px) scaleY(.98)}69%{transform:translateY(1px) scaleY(.97)}74%{transform:translateY(var(--dog-hop)) rotate(-2deg)}78%{transform:translateY(1px) scaleY(.97)}89%{transform:translateX(var(--dog-step)) translateY(-1px)}94%{transform:translateX(var(--dog-step))}97%{transform:translateX(2px) translateY(-1px)}}
@keyframes site-dog-body{0%,54%,68%,100%{transform:none}60%,64%{transform:rotate(4deg)}72%,76%{transform:rotate(-1deg)}}
@keyframes site-dog-curious{0%,8%,29%,48%,54%,69%,83%,100%{transform:none}13%,23%{transform:rotate(10deg) translateY(1px)}18%,26%{transform:rotate(6deg)}36%,42%{transform:rotate(-7deg)}60%,64%{transform:translateY(5px) rotate(10deg)}74%{transform:rotate(-4deg)}90%,95%{transform:rotate(-3deg)}}
@keyframes site-dog-wag{0%,100%{transform:rotate(-7deg)}38%{transform:rotate(9deg)}72%{transform:rotate(-2deg)}}
@keyframes site-dog-blink{0%,43%,49%,100%{transform:scaleY(1)}46%{transform:scaleY(.12)}}
@keyframes site-dog-shadow{0%,69%,83%,100%{transform:scaleX(1);opacity:.07}74%{transform:scaleX(.78);opacity:.035}78%{transform:scaleX(1.04);opacity:.08}}
@keyframes site-dog-paws-near{0%,55%,68%,81%,85%,100%{transform:none}61%,64%{transform:rotate(-7deg)}74%{transform:rotate(-11deg)}88%{transform:rotate(-7deg)}91%{transform:rotate(6deg)}94%{transform:rotate(-6deg)}97%{transform:rotate(4deg)}}
@keyframes site-dog-paws-far{0%,55%,68%,81%,85%,100%{transform:none}61%,64%{transform:rotate(3deg)}74%{transform:rotate(8deg)}88%{transform:rotate(6deg)}91%{transform:rotate(-7deg)}94%{transform:rotate(5deg)}97%{transform:rotate(-4deg)}}
@keyframes site-dog-acknowledge{0%,100%{transform:none}28%,65%{transform:rotate(-8deg)}82%{transform:rotate(-2deg)}}
/* Variant poses all use the original SVG joints; no alternate dog geometry. */
@keyframes site-dog-steady{0%,100%{transform:none}40%,70%{transform:translateY(-.3px)}}
@keyframes site-dog-grounded{0%,100%{transform:scaleX(1);opacity:.07}48%{transform:scaleX(.98);opacity:.055}}
@keyframes site-dog-breathe{0%,100%{transform:none}25%,75%{transform:translateY(-.7px)}50%{transform:translateY(.3px)}}
@keyframes site-dog-investigate{0%,10%,70%,100%{transform:none}18%{transform:translate(3px,-.6px)}25%,52%{transform:translateX(5px)}61%{transform:translate(2px,-.6px)}82%,90%{transform:translateX(-2px)}}
@keyframes site-dog-sniff{0%,8%,62%,100%{transform:none}20%,33%,45%{transform:rotate(12deg) translateY(1px)}25%,38%,49%{transform:rotate(8deg) translateX(1px)}76%,88%{transform:rotate(-8deg)}92%{transform:rotate(-3deg)}}
@keyframes site-dog-investigate-near{0%,12%,30%,54%,71%,100%{transform:none}17%,62%{transform:rotate(-7deg)}23%,67%{transform:rotate(5deg)}}
@keyframes site-dog-investigate-far{0%,12%,30%,54%,71%,100%{transform:none}17%,62%{transform:rotate(5deg)}23%,67%{transform:rotate(-6deg)}}
@keyframes site-dog-observe{0%,8%,44%,71%,100%{transform:none}19%,31%{transform:rotate(-12deg)}52%,62%{transform:rotate(5deg)}80%,90%{transform:rotate(-5deg)}}
@keyframes site-dog-weight-near{0%,23%,55%,100%{transform:none}35%,42%{transform:rotate(-3deg)}74%,81%{transform:rotate(2deg)}}
@keyframes site-dog-weight-far{0%,23%,55%,100%{transform:none}35%,42%{transform:rotate(2deg)}74%,81%{transform:rotate(-2deg)}}
@keyframes site-dog-ponder{0%,17%,56%,100%{transform:none}30%,44%{transform:translateY(.8px) scaleY(.987)}72%,85%{transform:translateY(-.6px)}}
@keyframes site-dog-ponder-body{0%,17%,56%,100%{transform:none}30%,44%{transform:rotate(2deg)}}
@keyframes site-dog-think{0%,7%,56%,100%{transform:none}15%{transform:rotate(-7deg)}29%,41%{transform:rotate(10deg) translateY(2px)}48%{transform:rotate(5deg)}63%,78%{transform:rotate(-7deg)}69%,84%{transform:rotate(5deg)}90%{transform:rotate(-2deg)}}
@keyframes site-dog-think-near{0%,17%,56%,100%{transform:none}30%,44%{transform:rotate(-5deg)}}
@keyframes site-dog-greet{0%,9%,53%,100%{transform:none}18%,41%{transform:translate(-1px,-.7px)}64%,76%{transform:translateY(-1px)}70%{transform:translateY(.5px)}}
@keyframes site-dog-greet-head{0%,9%,53%,100%{transform:none}18%,41%{transform:rotate(-9deg)}64%,76%{transform:rotate(-4deg)}70%{transform:rotate(2deg)}}
@keyframes site-dog-offer-paw{0%,10%,52%,100%{transform:none}21%,39%{transform:rotate(-29deg) translateY(-2px)}27%,33%{transform:rotate(-35deg) translateY(-3px)}45%{transform:rotate(-10deg)}}
@keyframes site-dog-trot{0%,7%,49%,57%,100%{transform:none}13%{transform:translate(2px,-1px)}19%{transform:translate(4px,0)}25%{transform:translate(6px,-1px)}31%,39%{transform:translateX(8px)}44%{transform:translate(3px,-1px)}63%{transform:translate(2px,-1px)}69%{transform:translate(4px,0)}75%{transform:translate(6px,-1px)}81%,89%{transform:translateX(8px)}94%{transform:translate(3px,-1px)}}
@keyframes site-dog-trot-near{0%,7%,37%,49%,57%,87%,100%{transform:none}13%,25%,44%,63%,75%,94%{transform:rotate(-9deg)}19%,31%,69%,81%{transform:rotate(8deg)}}
@keyframes site-dog-trot-far{0%,7%,37%,49%,57%,87%,100%{transform:none}13%,25%,44%,63%,75%,94%{transform:rotate(8deg)}19%,31%,69%,81%{transform:rotate(-9deg)}}
@keyframes site-dog-follow{0%,7%,49%,57%,100%{transform:none}13%,25%,63%,75%{transform:rotate(-4deg)}19%,31%,69%,81%{transform:rotate(2deg)}38%,88%{transform:rotate(-7deg)}}
/* Shared page-motion button: a readable control, never tucked inside the illustration. */
.site-motion-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 12px;border:1px solid var(--line,#D4DFDF);border-radius:999px;background:var(--white,#fff);color:var(--muted,#52646B);font:500 12px/1.2 Inter,system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.site-motion-toggle svg{width:14px;height:14px;flex:none;stroke:currentColor;stroke-width:1.7;fill:none}
.site-motion-toggle:hover{color:var(--ink,#1B2838);border-color:var(--green,#2BBFA8)}
.site-motion-toggle:focus-visible{outline:3px solid var(--green,#2BBFA8);outline-offset:3px}
.site-motion-toggle:disabled{cursor:default;opacity:.65}
.site-motion-toggle [data-motion-play]{display:none}.site-motion-toggle[aria-pressed="true"] [data-motion-play]{display:initial}.site-motion-toggle[aria-pressed="true"] [data-motion-pause]{display:none}
@media(max-width:680px){.site-dog{flex-basis:80px;width:80px;height:64px}.site-motion-toggle{min-height:40px}}
@media(prefers-reduced-motion:reduce){.site-dog--ambient *{animation:none!important;transition:none!important}.site-dog--ambient :is(.dog-rig,.dog-body,.dog-head,.dog-tail,.dog-leg,.dog-eye,.dog-shadow){transform:none!important}}
