/* Zampy Signature Edition — intentional typography and motion */
:root { --sig-orange:#f65a12; --sig-ease:cubic-bezier(.22,1,.36,1); }
/* Frictionless, restrained motion; no third-party scripts or heavy scroll libraries. */
html { scroll-behavior:smooth; }
.reading-progress { position:absolute;inset:auto auto 0 0;width:var(--reading-progress,0%);height:3px;
  border-radius:0 3px 3px 0;background:rgba(255,255,255,.97); box-shadow:0 0 12px rgba(255,255,255,.5);pointer-events:none;
  transition:width .12s linear; z-index:110; }
.site-header.scrolled .reading-progress { position:absolute;bottom:0; }
.desktop-nav a {position:relative; transition:color .22s ease,opacity .22s ease; }
.desktop-nav a:after {content:"";display:block;height:2px;position:absolute;left:0;right:100%;bottom:-11px;background:white;
 transition:right .5s var(--sig-ease);opacity:.85;}
.desktop-nav a.is-current:after,.desktop-nav a:hover:after {right:0;}
/* Comparison editorial block: figures and their units are equally legible. */
.pet-population-visual {gap:29px;padding:clamp(25px,3.1vw,47px);box-shadow:0 18px 55px rgba(67,34,14,.055);
 border:1px solid rgba(241,116,57,.13);overflow:hidden;}
.pet-population-visual>div>span {display:block;font-size:12px;letter-spacing:.13em;color:#64727d;margin-bottom:10px;}
.pet-population-visual strong {display:flex;align-items:baseline;gap:13px;white-space:nowrap;margin:0 0 18px;
 color:var(--sig-orange);letter-spacing:-.067em;line-height:1; font-family:Manrope,'DM Sans',sans-serif;}
.pet-population-visual .pet-population-number {font-size:clamp(61px,5.3vw,100px);font-weight:800;letter-spacing:-.07em;color:#f6500a;}
.pet-population-visual .pet-population-unit {font-size:clamp(20px,1.9vw,31px);font-weight:800;letter-spacing:-.04em;color:#f6500a;}
.pet-population-visual>small {font-size:12px;line-height:1.6;color:#77818a;}
.pet-population-bar {transform-origin:left center;transition:scale 1.5s var(--sig-ease);}
.motion-ready .pet-population-visual:not(.is-revealed) .pet-population-bar {scale:.15 1;}
/* Validation: a single consistent 5-card system, including 197,500. */
.validation-grid {gap:16px;}
.validation-stat,.validation-stat-highlight {background:#fff!important;border:1px solid rgba(225,225,224,.84)!important;
 box-shadow:0 10px 42px rgba(34,32,29,.04);transition:box-shadow .45s var(--sig-ease),border-color .3s,translate .5s var(--sig-ease);}
.validation-stat:hover {translate:0 -4px;box-shadow:0 18px 46px rgba(236,94,24,.10);border-color:#ffd5bf!important;}
.validation-stat>strong.validation-stat-number,.validation-stat>strong.validation-stat-number span {
 color:#f4510b!important;font-weight:800;line-height:1.05;letter-spacing:-.057em;font-family:Manrope,'DM Sans',sans-serif;}
.validation-stat>strong.validation-stat-number {font-size:clamp(46px,4.1vw,69px);margin:8px 0 20px;white-space:nowrap;}
.validation-stat:nth-child(2)>strong.validation-stat-number {font-size:clamp(34px,3.0vw,52px);letter-spacing:-.06em;}
.validation-stat-wide>strong.validation-stat-number {font-size:clamp(41px,3.9vw,67px);}
.validation-index {color:#e85b21;}
/* Editorial motion system: staggered entrances applied only with JS enabled. */
@media(prefers-reduced-motion:no-preference){
 .motion-ready .reveal {animation:none!important;opacity:0;translate:0 28px;filter:none;
  transition:opacity .82s var(--sig-ease),translate .95s var(--sig-ease),filter .9s var(--sig-ease);
  transition-delay:var(--reveal-delay,0ms);will-change:opacity,translate;}
 .motion-ready .reveal.is-revealed {opacity:1;translate:0 0;filter:none;will-change:auto;}
 .hero-copy {animation:sig-hero-copy 1.15s var(--sig-ease) both;}
 .hero-stage {animation:sig-hero-stage 1.55s var(--sig-ease) .14s both;}
 @keyframes sig-hero-copy {from{opacity:0;translate:0 30px;filter:none}to{opacity:1;translate:0 0;filter:blur(0)}}
 @keyframes sig-hero-stage {from{opacity:0;translate:0 45px;filter:none}to{opacity:1;translate:0 0;filter:blur(0)}}
 .hero-stage-ring{translate:0 var(--hero-shift,0px);transition:translate .15s linear;}
 .hero-float-top{translate:0 var(--hero-shift,0px);transition:translate .15s linear;}
 .hero-phone {will-change:transform;}
 .product-showcase,.pet-population-feature,.business-example,.calculator,.market-matrix {transition:box-shadow .5s var(--sig-ease);}
 .product-showcase:hover,.market-matrix:hover,.calculator:hover{box-shadow:0 30px 78px rgba(47,28,20,.11);}
 .section-heading h2 {text-wrap:balance;}
 .button {transition:translate .3s var(--sig-ease),box-shadow .3s,background .25s!important;}
 .button:hover {translate:0 -3px;}
 .showcase-phone img {transition:opacity .26s ease,filter .26s ease,scale .55s var(--sig-ease)!important;}
 .showcase-phone:hover img {scale:1.028;}
 .service-card,.competitor-option,.metric-card,.value-card,.adv-card,.team-card {transition:translate .48s var(--sig-ease),box-shadow .5s var(--sig-ease),border-color .35s ease;}
 .service-card:hover,.competitor-option:hover,.metric-card:hover,.value-card:hover,.adv-card:hover {translate:0 -4px;}
 .pet-population-bar.is-revealed {scale:1;}
}
@media(max-width:1100px){.pet-population-visual .pet-population-number{font-size:clamp(61px,7vw,83px)}
 .pet-population-visual .pet-population-unit{font-size:clamp(18px,2.4vw,27px)}
 .validation-stat>strong.validation-stat-number {font-size:clamp(39px,5.3vw,62px)}
 .validation-stat:nth-child(2)>strong.validation-stat-number {font-size:clamp(33px,4.1vw,50px)} }
@media(max-width:680px){.pet-population-visual strong {gap:10px;}
 .pet-population-visual .pet-population-number {font-size:clamp(52px,13.5vw,79px)}
 .pet-population-visual .pet-population-unit {font-size:clamp(19px,6vw,27px)}
 .pet-population-visual {padding:24px 21px;}
 .validation-stat>strong.validation-stat-number {font-size:clamp(50px,14vw,68px)}
 .validation-stat:nth-child(2)>strong.validation-stat-number {font-size:clamp(37px,10vw,54px)}
 .validation-stat-wide>strong.validation-stat-number {font-size:clamp(48px,11vw,65px)}
 .desktop-nav a:after {display:none;}
 .showcase-phone:hover img,.service-card:hover,.competitor-option:hover,.metric-card:hover,.value-card:hover,.adv-card:hover,
 .validation-stat:hover {translate:0 0;scale:1;}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .motion-ready .reveal,.motion-ready .reveal.is-revealed {opacity:1!important;translate:none!important;filter:none!important;transition:none!important;}
 .hero-stage,.hero-copy,.hero-stage-ring,.hero-float-top,.pet-population-bar {animation:none!important;translate:none!important;transition:none!important;}
}
