/* Munching sheep (JS adds .has-sheep; without JS / reduced motion a static idle sheep sits in the intro) */
.intro{position:relative}
.static-sheep{position:absolute;right:6vw;bottom:5vh;width:clamp(120px,14vw,200px);height:auto;pointer-events:none}
.has-sheep .static-sheep{display:none}
.sheep{position:fixed;top:0;left:0;width:160px;z-index:18;pointer-events:none;transition-property:transform;will-change:transform;backface-visibility:hidden}
.sheep .spr{position:relative;width:100%;aspect-ratio:300/207}
.sheep .spr{transition:transform .18s ease-in-out}.sheep.face-right .spr{transform:scaleX(-1)}
@property --hop{syntax:'<number>';inherits:true;initial-value:1}
.sheep .bob{transition:--hop .26s ease-out}.sheep.settle{--hop:0}.sheep.settle .l-walk{animation-duration:1s!important}
/* all four sheets stay painted & decoded; states only toggle visibility (no image swaps = no flash) */
.sheep .l{position:absolute;inset:0;background:0 0/100% 100% no-repeat;visibility:hidden}
.sheep .l-idle{background-image:url(sprites/sheep-idle.webp)}.sheep .l-peek{background-image:url(sprites/sheep-peek.webp)}
.sheep .l-walk{background-image:url(sprites/sheep-walk.webp);background-size:800% 100%}
.sheep .l-chew{background-image:url(sprites/sheep-chew.webp);background-size:600% 100%}
.sheep[data-state=idle] .l-idle,.sheep[data-state=peek] .l-peek,.sheep[data-state=walk] .l-walk,.sheep[data-state=chew] .l-chew{visibility:visible}
.sheep[data-state=walk] .l-walk{animation:sh-walk .5s steps(8) infinite}
.sheep[data-state=chew] .l-chew{animation:sh-chew .42s steps(6) infinite}
.sheep[data-state=walk] .bob{animation:sh-hop .25s ease-in-out infinite alternate}
.sheep[data-state=chew] .bob{animation:sh-nod .21s ease-in-out infinite alternate}
@keyframes sh-hop{to{transform:translateY(calc(var(--hop)*-10px))}}@keyframes sh-nod{to{transform:translateY(3px) rotate(-2deg)}}
@keyframes sh-walk{from{background-position:0 0}to{background-position:114.2857% 0}}
@keyframes sh-chew{from{background-position:0 0}to{background-position:120% 0}}
.yum{position:absolute;z-index:2;top:-8px;left:36%;font:700 14px Figtree,sans-serif;letter-spacing:.04em;color:var(--pink);background:var(--ink);border-radius:999px;padding:4px 12px;opacity:0;transform:translate(-50%,6px) scale(.8);transition:.25s cubic-bezier(.34,1.6,.64,1);white-space:nowrap}
.face-right .yum{left:64%}
.sheep[data-state=chew] .yum{opacity:1;transform:translate(-50%,0) scale(1)}
.bitten{-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.bitelayer{position:absolute;top:0;left:0;pointer-events:none;z-index:16;background-repeat:no-repeat}
.crumb{position:absolute;z-index:17;border-radius:42% 58% 50% 46%;pointer-events:none;background-image:radial-gradient(circle at 32% 28%,rgba(255,255,255,.7),rgba(255,255,255,0) 46%),radial-gradient(circle at 70% 76%,rgba(36,6,11,.42),rgba(36,6,11,0) 62%);box-shadow:0 2px 3px rgba(36,6,11,.28);animation:sh-fall 1.3s cubic-bezier(.3,.6,.5,1) forwards}
@keyframes sh-fall{100%{transform:translate(var(--dx),var(--dy)) rotate(var(--rot));opacity:0}}
@media(max-width:820px){.sheep{width:150px}.yum{font-size:12px}}
@media(prefers-reduced-motion:reduce){.sheep,.crumb{display:none}}
/* credential-first hero copy */
.bar .cred{font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;padding:6px 14px;border-radius:999px;background:rgba(36,6,11,.18)}
.bar .cred b{opacity:.6;padding:0 .3em}
.tag strong{color:#fff;font-weight:700}
@media(max-width:820px){.bar .cred{font-size:.7rem;letter-spacing:.04em;padding:5px 10px}.tag{font-size:1rem}}

/* white page behind everything: bite cutouts read as white */
html,body{background:#fff}

/* AI-services copy: four outcome cards in a 2x2 checkerboard */
@media(min-width:821px){.services .svc{min-height:58vh}}
/* free audit offer */
.tagw .tag{margin-bottom:0}
.cta{display:inline-block;margin-top:20px;background:var(--ink);color:var(--pink);font:700 1.05rem/1.2 Figtree,sans-serif;padding:15px 24px;border-radius:999px;transition:transform .3s cubic-bezier(.34,1.6,.64,1),background-color .3s}
.cta:hover{transform:translateY(-2px) scale(1.03);background:#000}
.cta.alt{background:var(--pink);color:var(--ink)}.cta.alt:hover{background:#fff}
.audit{background:var(--ink);color:var(--blush);padding:13vh 6vw;display:grid;grid-template-columns:1fr auto;gap:5vw;align-items:end}
.audit .ak{margin:0 0 10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;color:var(--pink)}
.audit h2{font-family:Anybody,sans-serif;font-weight:900;font-variation-settings:"wdth" 75;font-size:clamp(2.6rem,6vw,6rem);line-height:.92;margin:0 0 22px;color:var(--pink);letter-spacing:-.02em}
.audit p{max-width:52ch;margin:0;font-size:1.15rem}
.contact .cnote{max-width:46ch;margin:4vh 0 0 1vw;font-size:1.15rem}.contact .cta{margin-left:1vw}
@media(max-width:820px){.audit{grid-template-columns:1fr;padding:9vh 6vw}.cta{font-size:1rem;padding:13px 20px}}
/* mailto fallback note + mobile nav */
.mfb{margin:12px 0 0;max-width:44ch;font-size:.95rem;line-height:1.4;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.mfb a{font-weight:700;text-decoration:underline}
.mcopy{font:700 .9rem Figtree,sans-serif;padding:7px 14px;border-radius:999px;border:2px solid currentColor;background:transparent;color:inherit;cursor:pointer}
.mcopy:hover{background:rgba(255,255,255,.18)}
.contact .mfb{margin-left:1vw}
.audit>a.cta+.mfb{grid-column:1/-1;justify-self:end}
@media(max-width:820px){.bar{flex-wrap:wrap;gap:12px}.bar nav{display:flex}.bar nav a{margin:0 18px 0 0}.audit>a.cta+.mfb{justify-self:start}}
.mfb .mapp{font-weight:500;font-size:.9rem;opacity:.85}
