/**
 * FM Pharm — production visual layer.
 * Editorial pharmaceutical art direction, motion and responsive polish.
 */

:root {
	--navy-night: #050f28;
	--navy-deep: #0a1d4f;
	--navy: #173e9f;
	--navy-bright: #2d65eb;
	--red: #e02d28;
	--red-dark: #bb1f1b;
	--ink: #0b1834;
	--ink-soft: #3d4963;
	--mist: #f1f5fb;
	--line: #dce4f1;
	--wrap: 1500px;
	--r-card: 24px;
	--shadow-1: 0 14px 45px rgba(9, 25, 61, .07);
	--shadow-2: 0 28px 80px rgba(6, 20, 51, .16);
}

html { scroll-behavior: smooth; }
body {
	overflow-x: hidden;
	overflow-x: clip;
	background: #f9fbfe;
	font-feature-settings: 'ss01' 1, 'cv01' 1;
}
body::before {
	content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
	background:
		radial-gradient(circle at 8% 14%, rgba(48, 102, 235, .05), transparent 25%),
		radial-gradient(circle at 93% 43%, rgba(224, 45, 40, .035), transparent 22%);
}
::selection { background: #cddcff; color: var(--navy-night); }

.wrap { padding-inline: clamp(22px, 4.5vw, 72px); }
.band { padding-block: clamp(78px, 8vw, 132px); }
.band--tight { padding-block: clamp(34px, 4vw, 58px); }
.band__head { max-width: 860px; gap: 17px; margin-bottom: clamp(34px, 4vw, 62px); }
.band__head h2,
.split__body h2,
.science h2,
.cta h2 {
	font-size: clamp(2.35rem, 4.1vw, 5rem);
	line-height: .98;
	letter-spacing: -.058em;
}
.eyebrow {
	gap: 11px; color: var(--navy); font-size: 11px; font-weight: 700;
	letter-spacing: .16em;
}
.eyebrow::before { width: 30px; height: 1px; }
.lead { font-size: clamp(1.05rem, 1.3vw, 1.28rem); line-height: 1.7; }

/* Header */
.site-header {
	background: rgba(255, 255, 255, .86);
	border-bottom: 1px solid rgba(207, 218, 237, .72);
	backdrop-filter: blur(20px) saturate(150%);
	-webkit-backdrop-filter: blur(20px) saturate(150%);
	transition: box-shadow .35s ease, background .35s ease;
}
.site-header.is-scrolled { background: rgba(255, 255, 255, .94); box-shadow: 0 12px 45px rgba(9, 25, 61, .08); }
.site-header__in { height: 78px; padding-inline: clamp(20px, 4vw, 64px); }
.brand__logo { max-height: 48px; }
.nav { gap: 5px; }
.nav a { border-radius: 999px; padding: 10px 14px; font-size: 13.5px; }
.header__actions .btn { border-radius: 999px; padding-inline: 22px; }
.icon-btn { border-radius: 999px; }
.scroll-progress { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; overflow: hidden; pointer-events: none; }
.scroll-progress span { display: block; height: 100%; width: 100%; background: linear-gradient(90deg, var(--red), #ff7772); transform: scaleX(0); transform-origin: left; will-change: transform; }

/* Buttons */
.btn {
	min-height: 50px; border-radius: 999px; padding: 14px 23px;
	letter-spacing: -.01em; position: relative; overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
}
.btn::after {
	content: ''; position: absolute; inset: -2px; pointer-events: none;
	background: linear-gradient(115deg, transparent 20%, rgba(255,255,255,.28), transparent 70%);
	transform: translateX(-130%); transition: transform .7s ease;
}
.btn:hover::after { transform: translateX(130%); }
.btn--primary { box-shadow: 0 12px 35px rgba(224, 45, 40, .28); }
.btn--primary:hover { transform: translateY(-2px); box-shadow: 0 18px 42px rgba(224, 45, 40, .34); }

/* Hero */
.hero--production {
	isolation: isolate; min-height: min(920px, calc(100svh - 78px));
	display: grid; grid-template-rows: 1fr auto; background: var(--navy-night);
}
.hero--production::before {
	content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background:
		linear-gradient(90deg, rgba(5, 15, 40, .99) 0%, rgba(5, 15, 40, .91) 35%, rgba(5, 15, 40, .36) 69%, rgba(5, 15, 40, .18) 100%),
		linear-gradient(0deg, rgba(5, 15, 40, .78), transparent 44%);
}
.hero--production::after {
	content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: .16;
	background-image:
		linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
	background-size: 80px 80px;
	mask-image: linear-gradient(90deg, #000, transparent 72%);
}
.hero--production .hero__media {
	inset: 0 0 0 29%; z-index: 0; opacity: .92;
	background-position: 56% center; background-size: cover;
	transform: translate3d(var(--hero-shift-x, 0px), var(--hero-shift-y, 0px), 0) scale(1.045);
	will-change: transform; transition: transform .25s ease-out;
}
.hero--production .hero__media::after {
	background: linear-gradient(90deg, rgba(5,15,40,.8), transparent 45%), linear-gradient(0deg, rgba(5,15,40,.55), transparent 50%);
}
.hero__field { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; opacity: .58; mix-blend-mode: screen; }
.hero--production .hero__in {
	position: relative; z-index: 3; width: 100%; min-height: 690px;
	max-width: var(--wrap); margin: 0 auto; padding: clamp(80px, 10vh, 138px) clamp(22px, 4.5vw, 72px) 106px;
	display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: clamp(48px, 6vw, 110px); align-items: center;
}
.hero--production .hero__col { max-width: 780px; gap: 26px; }
.hero--production .eyebrow { color: #b8cbff; }
.hero--production h1 {
	font-size: clamp(3.45rem, 6.1vw, 7.15rem); line-height: .89;
	letter-spacing: -.068em; max-width: 11ch; text-wrap: balance;
}
.hero--production h1 em { display: block; color: #ffaaa7; }
.hero--production .hero__text { font-size: clamp(1.05rem, 1.28vw, 1.34rem); line-height: 1.65; max-width: 62ch; color: rgba(235,241,255,.78); }
.hero--production .hero__trust { gap: 13px 24px; font-size: 13px; color: rgba(235,241,255,.72); }
.hero--production .hero__trust li { padding: 7px 0; }
.hero--production .hero__trust .icon { color: #7fe0b0; }
.hero__proof {
	align-self: end; margin-bottom: 48px; padding: 25px; border: 1px solid rgba(255,255,255,.2);
	border-radius: 24px; color: #fff; background: rgba(7,20,51,.52);
	backdrop-filter: blur(18px) saturate(130%); box-shadow: 0 24px 60px rgba(0,0,0,.22);
}
.hero__proof-kicker { display: block; color: #91adf7; font-size: 9px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.hero__proof-name { display: block; margin-top: 12px; font: 700 1.55rem/1 'Onest', sans-serif; letter-spacing: -.04em; }
.hero__proof-place { display: block; margin-top: 6px; color: rgba(235,241,255,.66); font-size: 13px; }
.hero__proof-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin-top: 24px; }
.hero__proof-grid span { display: flex; flex-direction: column; gap: 3px; padding-top: 11px; border-top: 1px solid rgba(255,255,255,.16); color: rgba(235,241,255,.58); font-size: 10px; }
.hero__proof-grid b { color: #fff; font: 700 17px/1 'Onest', sans-serif; }
.hero__proof-live { display: flex; gap: 8px; align-items: center; margin-top: 22px; color: rgba(235,241,255,.72); font-size: 10px; }
.hero__proof-live i,
.science__label i,
.quality__badge i { width: 7px; height: 7px; border-radius: 50%; background: #62dda1; box-shadow: 0 0 0 5px rgba(98,221,161,.12); animation: fm-live 2.1s ease-in-out infinite; }
@keyframes fm-live { 50% { box-shadow: 0 0 0 9px rgba(98,221,161,0); } }
.hero__scroll {
	position: absolute; z-index: 3; left: clamp(22px, 4.5vw, 72px); bottom: 88px;
	display: flex; align-items: center; gap: 10px; color: rgba(235,241,255,.45);
	font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
}
.hero__scroll span { position: relative; width: 1px; height: 36px; background: rgba(255,255,255,.24); overflow: hidden; }
.hero__scroll span::after { content: ''; position: absolute; inset: 0; background: #fff; transform: translateY(-100%); animation: fm-scroll 2.3s ease-in-out infinite; }
@keyframes fm-scroll { 45%, 100% { transform: translateY(100%); } }
.hero--production .rail { position: relative; z-index: 4; background: rgba(4,13,35,.86); backdrop-filter: blur(14px); border-top-color: rgba(255,255,255,.1); }
.hero--production .rail__in { max-width: var(--wrap); padding-inline: clamp(22px, 4.5vw, 72px); }

/* Stats */
.production-stats { position: relative; z-index: 4; background: #fff; }
.production-stats::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--red); }
.stats { overflow: visible; background: transparent; border: 0; box-shadow: none; border-radius: 0; }
.stat { padding: 20px clamp(20px, 3vw, 46px); border-color: var(--line); }
.stat:first-child { padding-left: 0; }
.stat__num { font-size: clamp(2.65rem, 4.5vw, 5.4rem); line-height: .86; letter-spacing: -.07em; }
.stat__label { max-width: 22ch; font-size: 12px; line-height: 1.45; letter-spacing: .015em; }

/* Feature editorial grid */
.band--features {
	position: relative; overflow: hidden;
	background: linear-gradient(145deg, #eef3fa 0%, #f9fbfe 68%);
}
.band--features::before { content: 'FM'; position: absolute; right: -2vw; top: -5vw; color: rgba(23,62,159,.03); font: 800 clamp(15rem,30vw,34rem)/1 'Onest',sans-serif; letter-spacing: -.12em; }
.features { position: relative; grid-template-columns: repeat(12, 1fr); gap: 18px; }
.feature {
	grid-column: span 3; min-height: 310px; padding: 30px 28px;
	border-radius: 22px; border-color: rgba(202,214,234,.85); background: rgba(255,255,255,.74);
	backdrop-filter: blur(14px); box-shadow: 0 10px 35px rgba(9,25,61,.04);
}
.feature:nth-child(even) { transform: translateY(26px); }
.feature:hover { transform: translateY(-7px); }
.feature:nth-child(even):hover { transform: translateY(19px); }
.feature__ico { width: 58px; height: 58px; border-radius: 18px; background: var(--navy-night); color: #fff; }
.feature h3 { margin-top: auto; font-size: 1.22rem; }
.feature p { line-height: 1.65; }

/* Generated scientific concept */
.science {
	position: relative; min-height: clamp(650px, 72vw, 880px); overflow: hidden;
	background: var(--navy-night); color: #fff; isolation: isolate;
}
.science::after {
	content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(90deg, rgba(5,15,40,.97) 0%, rgba(5,15,40,.88) 34%, rgba(5,15,40,.32) 64%, rgba(5,15,40,.12));
}
.science__media {
	position: absolute; inset: -4%; z-index: 0; background: var(--science-img) center/cover no-repeat;
	transform: translate3d(0, var(--science-shift, 0), 0) scale(1.06); will-change: transform;
}
.science__in { position: relative; z-index: 2; min-height: inherit; display: flex; align-items: center; }
.science__copy { width: min(680px, 53%); display: flex; flex-direction: column; gap: 24px; padding-block: 90px; }
.science__label,
.quality__badge { display: inline-flex; align-items: center; align-self: flex-start; gap: 10px; padding: 9px 13px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: rgba(235,241,255,.7); background: rgba(255,255,255,.055); font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.science .eyebrow { color: #9eb8ff; }
.science h2 { max-width: 12ch; color: #fff; }
.science__copy > p { margin: 0; color: rgba(235,241,255,.72); font-size: clamp(1.05rem,1.3vw,1.25rem); line-height: 1.65; max-width: 58ch; }
.science__flow { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; margin: 16px 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.17); }
.science__flow li { position: relative; display: flex; gap: 13px; padding: 22px 16px 0 0; color: #fff; font-size: 13px; line-height: 1.35; }
.science__flow li:not(:last-child)::after { content: ''; position: absolute; top: -3px; right: 12px; width: 6px; height: 6px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 6px rgba(224,45,40,.15); }
.science__flow b { color: #6e95ff; font: 600 11px 'Onest',sans-serif; }
.science__flow small { color: rgba(235,241,255,.48); font-size: 10px; }

/* Production spheres */
.spheres-band { background: #fff; }
.spheres { grid-template-columns: 1.15fr .85fr .85fr; grid-template-rows: repeat(2, 290px); gap: 16px; }
.sphere {
	min-height: 0; border-radius: 26px; background-image: none; isolation: isolate;
	transform: perspective(1100px) rotateX(var(--tilt-rotate-x, 0deg)) rotateY(var(--tilt-rotate-y, 0deg));
	transition: transform .35s ease, box-shadow .35s ease; will-change: transform;
}
.sphere:nth-child(1) { grid-row: 1 / span 2; }
.sphere:nth-child(2) { grid-column: 2 / span 2; }
.sphere::before { content: ''; position: absolute; inset: -4%; z-index: 0; background-image: var(--sphere-img); background-size: cover; background-position: center; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.sphere::after { z-index: 1; background: linear-gradient(180deg, rgba(5,15,40,.05) 18%, rgba(5,15,40,.94) 100%); }
.sphere:hover { transform: perspective(1100px) translateY(-5px) rotateX(var(--tilt-rotate-x, 0deg)) rotateY(var(--tilt-rotate-y, 0deg)); }
.sphere:hover::before { transform: scale(1.055); }
.sphere__index { position: absolute; z-index: 2; top: 18px; right: 20px; color: rgba(255,255,255,.66); font: 600 11px 'Onest',sans-serif; letter-spacing: .12em; }
.sphere__body { z-index: 2; padding: 26px; }
.sphere__title { font-size: clamp(1.1rem,1.5vw,1.48rem); }
.sphere__text { max-width: 46ch; }
.sphere__more .icon { transition: transform .25s ease; }
.sphere:hover .sphere__more .icon { transform: translateX(5px); }

/* Real production photography */
.gallery { grid-template-columns: repeat(12,1fr); grid-auto-rows: 170px; gap: 13px; }
.shot { grid-column: span 3; border-radius: 22px; transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease; }
.shot--wide { grid-column: span 6; }
.shot--tall { grid-column: span 3; grid-row: span 2; }
.shot:hover { transform: scale(1.018); box-shadow: var(--shadow-2); z-index: 2; }
.shot::after { background: linear-gradient(180deg, transparent 30%, rgba(5,15,40,.86)); }
.shot__cap { padding: 20px; font-size: 13px; }
.shot__zoom { border-radius: 999px; backdrop-filter: blur(10px); }

/* Quality / real laboratory */
.quality-band { position: relative; overflow: hidden; background: var(--navy-night); color: #fff; }
.quality-band::before { content: ''; position: absolute; width: 620px; height: 620px; right: -250px; bottom: -280px; border: 1px solid rgba(111,146,239,.18); border-radius: 50%; box-shadow: 0 0 0 110px rgba(111,146,239,.035), 0 0 0 220px rgba(111,146,239,.025); }
.split--quality { grid-template-columns: 1.08fr .92fr; }
.quality__media { position: relative; min-height: 600px; border-radius: 30px; box-shadow: 0 35px 90px rgba(0,0,0,.32); overflow: hidden; }
.quality__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(5,15,40,.75)); pointer-events: none; }
.quality__scan { position: absolute; z-index: 2; left: 0; right: 0; top: 15%; height: 1px; background: linear-gradient(90deg, transparent, rgba(103,157,255,.9), transparent); box-shadow: 0 0 20px rgba(103,157,255,.8); animation: fm-scan 7s ease-in-out infinite; }
@keyframes fm-scan { 50% { top: 82%; } }
.quality__badge { position: absolute; z-index: 3; left: 22px; bottom: 22px; background: rgba(5,15,40,.72); backdrop-filter: blur(14px); }
.quality-band .split__body { gap: 22px; }
.quality-band .eyebrow { color: #9eb8ff; }
.quality-band h2 { color: #fff; }
.quality-band .lead { color: rgba(235,241,255,.7); }
.quality-band .checklist { counter-reset: quality; gap: 0; border-top: 1px solid rgba(255,255,255,.15); }
.quality-band .checklist li { counter-increment: quality; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.12); color: rgba(235,241,255,.76); }
.quality-band .checklist li::before { content: '0' counter(quality); color: #6e95ff; font: 600 10px 'Onest',sans-serif; letter-spacing: .08em; margin-right: 2px; }
.quality-band .checklist .icon { display: none; }

/* Timeline */
.timeline-band { background: linear-gradient(180deg,#eef3fa,#f8fafe); }
.timeline { gap: 0; }
.tl { padding-inline: 18px; }
.tl::before { top: 18px; height: 1px; }
.tl__dot { width: 38px; height: 38px; border-width: 1px; box-shadow: 0 0 0 9px #eef3fa; }
.tl--now .tl__dot { animation: fm-stage 2.5s ease-in-out infinite; }
@keyframes fm-stage { 50% { box-shadow: 0 0 0 15px rgba(224,45,40,.07); } }
.tl__body { margin-top: 16px; }
.tl__title { font-size: 1.02rem; }
.tl__text { line-height: 1.55; }

/* CTA */
.cta--production { position: relative; overflow: hidden; background: var(--navy); }
.cta--production::before { content: ''; position: absolute; inset: 0; opacity: .22; background: radial-gradient(circle at 83% 20%, #8eb0ff, transparent 30%), repeating-radial-gradient(circle at 88% 50%, transparent 0 47px, rgba(255,255,255,.18) 48px 49px); }
.cta--production .cta__in { position: relative; min-height: 390px; padding-block: 74px; }
.cta--production .eyebrow { color: #b8cbff; margin-bottom: 18px; }
.cta--production h2 { max-width: 13ch; }
.cta--production .btn { min-width: 210px; }

/* Footer */
.site-footer__in { padding-top: 74px; }
.site-footer__logo { border-radius: 18px; }

/* Motion reveal: remains visible when JS is absent. */
.motion-ready [data-reveal] {
	opacity: 0; transform: translate3d(0, 28px, 0);
	transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);
	transition-delay: var(--reveal-delay, 0ms);
}
.motion-ready [data-reveal].is-visible { opacity: 1; transform: translate3d(0,0,0); }
.motion-ready .hero__proof[data-reveal] { transform: translate3d(28px,20px,0); }
.motion-ready .hero__proof[data-reveal].is-visible { transform: translate3d(0,0,0); }

/* Veterinary visual laboratory */
.vet-scope { position: relative; overflow: hidden; background: #fff; }
.vet-scope::before {
	content: ''; position: absolute; width: 850px; height: 850px; left: -520px; top: 90px;
	border: 1px solid rgba(23,62,159,.08); border-radius: 50%;
	box-shadow: 0 0 0 120px rgba(23,62,159,.025), 0 0 0 240px rgba(23,62,159,.018);
}
.vet-lab { position: relative; display: grid; grid-template-columns: minmax(0,1.52fr) minmax(330px,.72fr); grid-auto-rows: 690px; gap: 16px; }
.vet-art {
	position: relative; min-width: 0; overflow: hidden; isolation: isolate;
	border-radius: 28px; color: #fff; background: var(--navy-night);
	box-shadow: 0 24px 75px rgba(5,15,40,.16);
	transform: perspective(1200px) rotateX(var(--art-rx,0deg)) rotateY(var(--art-ry,0deg));
	transition: transform .35s ease, box-shadow .35s ease;
}
.vet-art:hover { box-shadow: 0 34px 95px rgba(5,15,40,.24); }
.vet-art__media {
	position: absolute; inset: -3%; z-index: 0;
	background: var(--art-image) center/cover no-repeat;
	transform: translate3d(var(--art-x,0px),calc(var(--art-y,0px) + var(--art-scroll,0px)),0) scale(1.045);
	transition: transform .28s ease-out; will-change: transform;
}
.vet-art::after {
	content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(90deg,rgba(5,15,40,.92) 0%,rgba(5,15,40,.58) 35%,transparent 70%),linear-gradient(0deg,rgba(5,15,40,.88),transparent 56%);
}
.vet-art--batch::after { background: linear-gradient(0deg,rgba(5,15,40,.96) 0%,rgba(5,15,40,.34) 58%,rgba(5,15,40,.06)); }
.vet-art__content { position: absolute; z-index: 4; left: 34px; right: 34px; bottom: 34px; display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.vet-art--species .vet-art__content { top: 36px; bottom: auto; max-width: 390px; }
.vet-art__tag { display: inline-flex; padding: 8px 11px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(5,15,40,.48); backdrop-filter: blur(12px); color: #9fb9ff; font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.vet-art h3 { margin: 0; color: #fff; font: 700 clamp(1.7rem,2.5vw,3.15rem)/1.02 'Onest',sans-serif; letter-spacing: -.055em; }
.vet-art p { max-width: 43ch; margin: 0; color: rgba(235,241,255,.68); font-size: 13px; line-height: 1.6; }
.vet-art__chips { display: flex; gap: 7px; flex-wrap: wrap; margin: 6px 0 0; padding: 0; list-style: none; }
.vet-art__chips li { padding: 8px 11px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(255,255,255,.055); color: rgba(235,241,255,.72); font-size: 10px; }
.vet-art__steps { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 14px; width: 100%; margin: 6px 0 0; padding: 17px 0 0; list-style: none; border-top: 1px solid rgba(255,255,255,.14); }
.vet-art__steps li { display: flex; align-items: center; gap: 8px; color: rgba(235,241,255,.7); font-size: 10px; }
.vet-art__steps i { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: #668fff; box-shadow: 0 0 0 5px rgba(102,143,255,.1); }
.vet-art__steps li:last-child i { background: #62dda1; box-shadow: 0 0 0 5px rgba(98,221,161,.1); }
.vet-art__beam { position: absolute; z-index: 3; top: 0; bottom: 0; width: 1px; background: linear-gradient(0deg,transparent,#83a5ff,transparent); box-shadow: 0 0 24px #5f89ff; opacity: .65; animation: vet-beam 7.5s ease-in-out infinite; }
@keyframes vet-beam { 0%,100% { left: 22%; opacity: 0; } 18%,82% { opacity: .65; } 50% { left: 88%; } }
.vet-art__signal { position: absolute; z-index: 4; width: 7px; height: 7px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 0 rgba(224,45,40,.42); animation: vet-signal 2.6s ease-out infinite; }
.vet-art__signal--one { right: 34%; top: 27%; }
.vet-art__signal--two { right: 14%; top: 55%; animation-delay: 1.15s; }
@keyframes vet-signal { 70%,100% { box-shadow: 0 0 0 16px rgba(224,45,40,0); } }
.vet-art__orbit { position: absolute; z-index: 3; top: 16%; left: 17%; width: 66%; aspect-ratio: 1; border: 1px solid rgba(122,160,255,.32); border-radius: 50%; animation: vet-orbit 16s linear infinite; }
.vet-art__orbit::before { content: ''; position: absolute; top: -4px; left: 50%; width: 7px; height: 7px; border-radius: 50%; background: #fff; box-shadow: 0 0 16px #6e95ff; }
@keyframes vet-orbit { to { transform: rotate(360deg); } }
.vet-ticker { position: relative; margin-top: 16px; overflow: hidden; border-block: 1px solid var(--line); }
.vet-ticker::before,.vet-ticker::after { content: ''; position: absolute; z-index: 2; top: 0; bottom: 0; width: 90px; pointer-events: none; }
.vet-ticker::before { left: 0; background: linear-gradient(90deg,#fff,transparent); }
.vet-ticker::after { right: 0; background: linear-gradient(-90deg,#fff,transparent); }
.vet-ticker__track { display: flex; align-items: center; gap: 26px; width: max-content; padding: 18px 0; animation: vet-ticker 26s linear infinite; }
.vet-ticker__track span { color: var(--steel); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.vet-ticker__track i { width: 5px; height: 5px; border-radius: 50%; background: var(--red); }
@keyframes vet-ticker { to { transform: translateX(-50%); } }
.vet-scope:not(.is-active) .vet-art__beam,.vet-scope:not(.is-active) .vet-art__signal,.vet-scope:not(.is-active) .vet-art__orbit,.vet-scope:not(.is-active) .vet-ticker__track { animation-play-state: paused; }
.motion-ready .vet-art[data-reveal] { clip-path: inset(0 0 100% 0 round 28px); transform: perspective(1200px) rotateX(var(--art-rx,0deg)) rotateY(var(--art-ry,0deg)); transition: opacity .85s ease,transform .35s ease,clip-path 1.05s cubic-bezier(.2,.7,.2,1); }
.motion-ready .vet-art[data-reveal].is-visible { clip-path: inset(0 0 0 0 round 28px); transform: perspective(1200px) rotateX(var(--art-rx,0deg)) rotateY(var(--art-ry,0deg)); }
@media (max-width: 1180px) {
	.vet-lab { grid-template-columns: minmax(0,1.25fr) minmax(310px,.75fr); grid-auto-rows: 610px; }
	.vet-art--species .vet-art__content { max-width: 330px; }
	.hero--production .hero__in { grid-template-columns: minmax(0,1fr) 280px; }
	.hero__proof { padding: 20px; }
	.feature { grid-column: span 6; min-height: 250px; }
	.feature:nth-child(even) { transform: none; }
	.feature:nth-child(even):hover { transform: translateY(-7px); }
	.spheres { grid-template-columns: repeat(2,1fr); grid-template-rows: 340px 260px; }
	.sphere:nth-child(1) { grid-row: auto; }
	.sphere:nth-child(2) { grid-column: auto; }
}

@media (max-width: 880px) {
	.vet-lab { grid-template-columns: 1fr; grid-auto-rows: auto; }
	.vet-art--species { min-height: 610px; }
	.vet-art--batch { min-height: 560px; }
	.vet-art--species .vet-art__content { max-width: 410px; }
	.vet-art__orbit { width: 54%; left: 23%; top: 7%; }
	.site-header__in { height: 70px; }
	.hero--production { min-height: auto; }
	.hero--production::before { background: linear-gradient(90deg,rgba(5,15,40,.98),rgba(5,15,40,.78)),linear-gradient(0deg,rgba(5,15,40,.7),transparent); }
	.hero--production .hero__media { inset: 0; opacity: .72; background-position: 58% center; }
	.hero--production .hero__in { min-height: 730px; display: flex; padding-top: 96px; padding-bottom: 125px; }
	.hero--production .hero__col { max-width: 700px; }
	.hero--production h1 { font-size: clamp(3.35rem,10vw,5.8rem); max-width: 12ch; }
	.hero__proof { display: none; }
	.hero__scroll { bottom: 88px; }
	.features { grid-template-columns: repeat(2,1fr); }
	.feature { grid-column: auto; }
	.science { min-height: 760px; }
	.science::after { background: linear-gradient(90deg,rgba(5,15,40,.96),rgba(5,15,40,.54)),linear-gradient(0deg,rgba(5,15,40,.75),transparent 58%); }
	.science__media { background-position: 58% center; opacity: .82; }
	.science__copy { width: min(680px,82%); }
	.spheres { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(2,300px); }
	.gallery { grid-template-columns: repeat(2,1fr); grid-auto-rows: 190px; }
	.shot, .shot--tall { grid-column: span 1; grid-row: span 1; }
	.shot--wide { grid-column: span 2; }
	.split--quality { grid-template-columns: 1fr; }
	.quality__media { min-height: 500px; }
	.timeline { gap: 26px; }
	.tl__dot { box-shadow: 0 0 0 8px #eef3fa; }
	.cta--production .cta__in { min-height: 0; }
}

@media (max-width: 620px) {
	/* Phone layout is composed independently: compact type, full touch targets, controlled art crops. */
	.site-header__in { height: 64px; padding-inline: 14px; gap: 8px; }
	.brand__logo { max-width: 88px; max-height: 43px; }
	.header__actions { gap: 6px; }
	.icon-btn { width: 42px; height: 42px; }
	.drawer__panel { width: min(100%,420px); padding: 18px; }
	.drawer .nav a { min-height: 48px; }
	.btn { min-height: 52px; width: 100%; justify-content: center; }
	.hero--production .hero__in { min-height: auto; padding-top: 56px; padding-bottom: 78px; }
	.hero--production h1 { width: 100%; max-width: none; font-size: clamp(2.05rem,10.5vw,2.65rem); line-height: .94; letter-spacing: -.052em; overflow-wrap: normal; word-break: normal; hyphens: none; }
	.hero--production .hero__col { gap: 19px; }
	.hero--production .hero__text { font-size: .98rem; line-height: 1.58; }
	.hero--production .hero__actions { width: 100%; gap: 9px; }
	.hero__scroll { display: none; }
	.hero--production .hero__trust { font-size: 11px; line-height: 1.35; }
	.hero--production .eyebrow { max-width: 100%; font-size: 9px; line-height: 1.45; letter-spacing: .12em; }
	.hero--production h1 em { margin-top: .12em; }
	.page-hero__in { min-height: 0; padding: 44px 20px 48px; gap: 14px; }
	.page-hero h1 { max-width: 100%; font-size: clamp(2.05rem,10.5vw,3rem); line-height: .98; overflow-wrap: anywhere; }
	.crumbs { font-size: 11px; gap: 6px; }
	.hero--production .rail__in { padding: 13px 20px 16px; }
	.hero--production .rail__label { flex-basis: 100%; font-size: 9px; }
	.hero--production .rail__step { font-size: 10px; }
	.band__head { margin-bottom: 32px; gap: 13px; }
	.band__head h2,.split__body h2,.science h2,.cta h2 { letter-spacing: -.052em; }
	.lead { font-size: 1rem; line-height: 1.58; }
	.stat__num { font-size: 3.1rem; }
	.stat__label { max-width: 30ch; }
	.feature { min-height: 240px; padding: 25px 23px; }
	.feature__ico { width: 52px; height: 52px; }
	.science__label { max-width: 100%; font-size: 8px; line-height: 1.4; }
	.science__copy { padding-top: 280px; }
	.sphere,.sphere:nth-child(n) { min-height: 300px; border-radius: 22px; }
	.sphere__body { padding: 23px; }
	.product-grid { gap: 14px; }
	.product-card { border-radius: 18px; }
	.product-card__body { padding: 18px; }
	.gallery { gap: 10px; grid-auto-rows: 215px; }
	.shot { border-radius: 18px; }
	.split--quality { gap: 34px; }
	.quality__media { min-height: 340px; }
	.quality__badge { left: 14px; right: 14px; bottom: 14px; font-size: 8px; }
	.quality-band .checklist li { padding: 14px 0; font-size: 13px; }
	.geo__scene { border-radius: 18px; }
	.timeline { gap: 22px; }
	.tl { grid-template-columns: 36px 1fr; gap: 13px; }
	.faq summary { min-height: 58px; padding: 16px 17px; font-size: 14px; }
	.faq__body { padding: 0 17px 17px; font-size: 14px; }
	.cta--production .cta__in { padding: 64px 20px; gap: 28px; }
	.site-footer__in { padding: 56px 20px 28px; gap: 28px; }
	.site-footer__bottom-inner { padding-inline: 20px; }
	.fm-chat { right: 10px; bottom: 10px; }
	.fm-chat__panel { width: calc(100vw - 20px); max-height: min(650px,calc(100svh - 82px)); }
	.vet-scope { padding-top: 72px; padding-bottom: 72px; }
	.vet-lab { gap: 12px; }
	.vet-art { border-radius: 22px; transform: none !important; }
	.vet-art--species { min-height: 570px; }
	.vet-art--species .vet-art__media { inset: 0 0 47%; background-image: var(--art-image-sm); background-size: contain; background-position: center top; transform: none; }
	.vet-art--species::after { background: linear-gradient(0deg,rgba(5,15,40,.99) 0%,rgba(5,15,40,.92) 44%,rgba(5,15,40,.08) 73%); }
	.vet-art--species .vet-art__content { top: auto; bottom: 24px; left: 22px; right: 22px; max-width: none; }
	.vet-art--batch { min-height: 510px; }
	.vet-art--batch .vet-art__media { inset: 0; background-image: var(--art-image-sm); background-position: center top; transform: none; }
	.vet-art__content { left: 22px; right: 22px; bottom: 23px; gap: 10px; }
	.vet-art h3 { font-size: clamp(1.75rem,8vw,2.35rem); }
	.vet-art__chips { gap: 5px; }
	.vet-art__chips li { padding: 7px 9px; font-size: 9px; }
	.vet-art__steps { gap: 9px; }
	.vet-art__orbit { width: 70%; left: 15%; top: 5%; }
	.vet-art__beam { display: none; }
	.vet-ticker { margin-top: 12px; }
	.vet-ticker__track { gap: 20px; padding: 15px 0; }
	.motion-ready .vet-art[data-reveal] { clip-path: inset(0 0 100% 0 round 22px); }
	.motion-ready .vet-art[data-reveal].is-visible { clip-path: inset(0 0 0 0 round 22px); }
	.wrap { padding-inline: 20px; }
	.band { padding-block: 74px; }
	.band__head h2,
	.split__body h2,
	.science h2,
	.cta h2 { font-size: clamp(2.25rem,11vw,3.5rem); }
	.hero--production .hero__in { min-height: auto; padding: 56px 20px 78px; }
	.hero--production h1 { width: 100%; max-width: none; font-size: clamp(2.05rem,10.5vw,2.65rem); line-height: .94; letter-spacing: -.052em; overflow-wrap: normal; word-break: normal; hyphens: none; }
	.hero--production .hero__text { font-size: 1rem; }
	.hero--production .hero__trust { gap: 2px 14px; }
	.hero__scroll { display: none; }
	.production-stats::before { width: 3px; }
	.stat { padding: 22px 0; }
	.features { grid-template-columns: 1fr; }
	.feature { min-height: 270px; }
	.science { min-height: 800px; }
	.science::after { background: linear-gradient(0deg,rgba(5,15,40,.98) 5%,rgba(5,15,40,.76) 68%,rgba(5,15,40,.44)); }
	.science__media { inset: 0; background-image: var(--science-img-sm); background-position: 66% top; background-size: auto 58%; background-repeat: no-repeat; opacity: .92; }
	.science__copy { width: 100%; align-self: flex-end; padding: 310px 0 70px; gap: 19px; }
	.science__flow { grid-template-columns: 1fr; }
	.science__flow li { padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
	.science__flow li::after { display: none; }
	.spheres { grid-template-columns: 1fr; grid-template-rows: none; }
	.sphere, .sphere:nth-child(n) { min-height: 330px; }
	.sphere::before { background-image: var(--sphere-img-sm); }
	.gallery { grid-template-columns: 1fr; grid-auto-rows: 230px; }
	.shot, .shot--wide, .shot--tall { grid-column: span 1; }
	.quality__media { min-height: 390px; border-radius: 22px; }
	.cta--production .cta__in { align-items: flex-start; }
}

@media (max-width: 420px) {
	.wrap { padding-inline: 16px; }
	.band { padding-block: 64px; }
	.eyebrow { font-size: 9px; letter-spacing: .13em; }
	.hero--production .hero__in { padding: 48px 16px 68px; min-height: auto; }
	.hero--production h1 { font-size: clamp(2rem,10.4vw,2.35rem); line-height: .95; }
	.hero__scroll { left: 16px; }
	.hero--production .hero__trust li { width: 100%; }
	.hero--production .hero__text { font-size: .94rem; }
	.hero--production .hero__actions .btn { font-size: 13px; padding-inline: 16px; }
	.page-hero__in { padding-inline: 16px; }
	.science { min-height: 760px; }
	.science__copy { padding-top: 245px; }
	.sphere,.sphere:nth-child(n) { min-height: 275px; }
	.vet-art--species { min-height: 545px; }
	.vet-art--batch { min-height: 485px; }
	.vet-art__steps { grid-template-columns: 1fr; gap: 8px; }
	.vet-art__orbit { width: 78%; left: 11%; }
	.quality__media { min-height: 310px; }
	.fm-chat__fab { width: 54px; height: 54px; }
}
@supports (padding: max(0px)) {
	.site-header__in { padding-left: max(clamp(14px,4vw,64px),env(safe-area-inset-left)); padding-right: max(clamp(14px,4vw,64px),env(safe-area-inset-right)); }
	.drawer__panel { padding-left: max(18px,env(safe-area-inset-left)); padding-right: max(18px,env(safe-area-inset-right)); padding-bottom: max(18px,env(safe-area-inset-bottom)); }
	.fm-chat { right: max(10px,env(safe-area-inset-right)); bottom: max(10px,env(safe-area-inset-bottom)); }
	.site-footer__bottom-inner { padding-bottom: max(18px,env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.hero__field, .hero__scroll { display: none; }
	.hero--production .hero__media, .science__media { transform: none !important; }
	.quality__scan,.vet-art__beam,.vet-art__orbit { display: none; }
	.vet-ticker__track,.vet-art__signal { animation: none; }
	.motion-ready [data-reveal], .motion-ready .hero__proof[data-reveal] { opacity: 1; transform: none; }
	.motion-ready .vet-art[data-reveal],.motion-ready .vet-art[data-reveal].is-visible { opacity: 1; transform: none; clip-path: none; }
}
/* ============================================================
 * Release 2.3 — mobile containment, living CGI, premium inner pages
 * ============================================================ */

/* Hard containment: a long Russian word must never determine the flex width. */
.site-main,
.hero,
.hero--production .hero__in,
.hero--production .hero__col,
.hero--production h1,
.hero--production .hero__text,
.hero--production .hero__actions,
.hero--production .hero__trust,
.rail,
.rail__in { min-width: 0; max-width: 100%; }
.hero--production .hero__col { width: 100%; }
.hero--production .hero__text { overflow-wrap: break-word; }
.hero--production .hero__actions .btn { max-width: 100%; }
.hero--production .hero__trust li { min-width: 0; white-space: normal; }
.rail { overflow: hidden; }
img, video, iframe, svg { max-width: 100%; }

/* Luminous material travels through the generated glass tube system. */
.science__flow-field {
	position: absolute; z-index: 2; top: 9%; right: 0; bottom: 10%; left: 48%;
	pointer-events: none; overflow: hidden; opacity: .92;
	mix-blend-mode: screen; filter: drop-shadow(0 0 8px rgba(86,151,255,.55));
}
.science__flow-field i {
	position: absolute; left: 2%; top: 20%; width: 8px; height: 8px; border-radius: 50%;
	background: #eefdff; box-shadow: 0 0 5px #fff,0 0 15px #4ea3ff,0 0 28px rgba(70,125,255,.85);
	animation: science-current-a 5.8s cubic-bezier(.45,.03,.35,1) infinite;
}
.science__flow-field i::after {
	content: ''; position: absolute; right: 4px; top: 3px; width: 38px; height: 2px;
	border-radius: 99px; background: linear-gradient(90deg,transparent,rgba(92,170,255,.58),#fff);
	transform: rotate(-4deg); transform-origin: right center;
}
.science__flow-field i:nth-child(2) { animation-name: science-current-b; animation-delay: -1.7s; animation-duration: 6.6s; background: #8cd5ff; }
.science__flow-field i:nth-child(3) { animation-name: science-current-c; animation-delay: -3.2s; animation-duration: 7.2s; }
.science__flow-field i:nth-child(4) { animation-name: science-current-a; animation-delay: -4.6s; animation-duration: 8.1s; width: 5px; height: 5px; background: #ff514c; box-shadow: 0 0 7px #ff7772,0 0 18px rgba(255,57,50,.9); }
.science__flow-field i:nth-child(5) { animation-name: science-current-b; animation-delay: -5.3s; animation-duration: 9s; width: 4px; height: 4px; }
.science__flow-field i:nth-child(6) { animation-name: science-current-c; animation-delay: -6.4s; animation-duration: 10.2s; width: 6px; height: 6px; }
@keyframes science-current-a {
	0% { left: 3%; top: 22%; opacity: 0; transform: scale(.45); }
	12% { opacity: 1; }
	48% { left: 55%; top: 24%; opacity: 1; }
	72% { left: 73%; top: 49%; }
	100% { left: 96%; top: 75%; opacity: 0; transform: scale(1.2); }
}
@keyframes science-current-b {
	0% { left: 8%; top: 43%; opacity: 0; transform: scale(.4); }
	18% { opacity: .9; }
	52% { left: 61%; top: 42%; opacity: 1; }
	78% { left: 80%; top: 28%; }
	100% { left: 98%; top: 14%; opacity: 0; transform: scale(1.1); }
}
@keyframes science-current-c {
	0% { left: 20%; top: 74%; opacity: 0; transform: scale(.5); }
	15% { opacity: .8; }
	46% { left: 59%; top: 70%; opacity: 1; }
	74% { left: 72%; top: 51%; }
	100% { left: 91%; top: 43%; opacity: 0; transform: scale(1.25); }
}

/* Crystalline diagnostic glints on the animal molecular lattice. */
.vet-art__stars { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.vet-art__stars i {
	position: absolute; width: 4px; height: 4px; border-radius: 50%; background: #fff;
	box-shadow: 0 0 5px #fff,0 0 14px #78b9ff,0 0 28px rgba(80,125,255,.72);
	animation: vet-twinkle 3.8s ease-in-out infinite;
}
.vet-art__stars i::before,.vet-art__stars i::after { content: ''; position: absolute; left: 50%; top: 50%; background: linear-gradient(90deg,transparent,#fff,transparent); transform: translate(-50%,-50%); }
.vet-art__stars i::before { width: 30px; height: 1px; }
.vet-art__stars i::after { width: 1px; height: 30px; background: linear-gradient(0deg,transparent,#fff,transparent); }
.vet-art__stars i:nth-child(1) { left: 46%; top: 29%; animation-delay: -.4s; }
.vet-art__stars i:nth-child(2) { left: 63%; top: 19%; animation-delay: -1.8s; animation-duration: 4.5s; }
.vet-art__stars i:nth-child(3) { left: 78%; top: 31%; animation-delay: -2.7s; }
.vet-art__stars i:nth-child(4) { left: 88%; top: 50%; animation-delay: -1.1s; animation-duration: 5.2s; }
.vet-art__stars i:nth-child(5) { left: 58%; top: 51%; animation-delay: -3.1s; }
.vet-art__stars i:nth-child(6) { left: 72%; top: 61%; animation-delay: -.9s; animation-duration: 4.8s; }
.vet-art__stars i:nth-child(7) { left: 91%; top: 24%; animation-delay: -2.2s; }
.vet-art__stars i:nth-child(8) { left: 52%; top: 68%; animation-delay: -3.5s; animation-duration: 5.6s; }
@keyframes vet-twinkle { 0%,100% { opacity: .12; transform: scale(.2) rotate(0); } 38% { opacity: .48; } 52% { opacity: 1; transform: scale(1.15) rotate(45deg); } 66% { opacity: .3; } }

/* Premium treatment shared by catalog, product, news and service pages. */
.page-hero {
	position: relative; overflow: hidden; isolation: isolate;
	background: radial-gradient(circle at 82% 28%,rgba(71,118,235,.32),transparent 32%),linear-gradient(122deg,#050f28 0%,#0a2055 58%,#163b8d 100%);
}
.page-hero::before {
	content: ''; position: absolute; inset: 0; z-index: -1; opacity: .12; pointer-events: none;
	background-image: linear-gradient(rgba(255,255,255,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.24) 1px,transparent 1px);
	background-size: 78px 78px;
	-webkit-mask-image: linear-gradient(90deg,transparent 15%,#000 70%); mask-image: linear-gradient(90deg,transparent 15%,#000 70%);
}
.page-hero::after {
	content: ''; position: absolute; z-index: -1; right: -9vw; top: -18vw; width: min(52vw,720px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.13); border-radius: 50%;
	box-shadow: 0 0 0 55px rgba(255,255,255,.025),0 0 0 120px rgba(255,255,255,.018);
}
.page-hero__in { position: relative; min-height: clamp(275px,25vw,390px); justify-content: center; padding-block: clamp(58px,7vw,100px); }
.page-hero h1 { max-width: 15ch; font-size: clamp(2.8rem,5.6vw,6.2rem); line-height: .94; letter-spacing: -.062em; text-wrap: balance; }
.page-hero__text { max-width: 62ch; font-size: clamp(1rem,1.35vw,1.25rem); line-height: 1.6; }
.crumbs { align-items: center; font-size: 11px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.crumbs a { text-decoration: none; }
.layout,.product-layout,.entry,.entry__content,.aside { min-width: 0; }
.layout { padding-top: clamp(48px,6vw,86px); }
.entry__content { color: #33415f; font-size: clamp(1rem,1.08vw,1.08rem); line-height: 1.76; }
.entry__content h2 { color: #091936; letter-spacing: -.045em; }
.entry__content h3 { color: #102653; letter-spacing: -.025em; }
.entry__content blockquote { margin-inline: 0; padding: 24px 28px; border: 1px solid #dce4f3; border-left: 4px solid var(--red); border-radius: 0 18px 18px 0; background: linear-gradient(120deg,#fff,#f4f7fc); }
.catalog-tools { padding: 18px; border: 1px solid #dce4f3; border-radius: 24px; background: rgba(255,255,255,.86); box-shadow: 0 18px 55px rgba(12,31,75,.07); backdrop-filter: blur(16px); }
.catalog-search input { min-height: 50px; border-color: #d7e0f0; box-shadow: inset 0 1px 0 rgba(13,31,79,.025); }
.chip { min-height: 44px; border-color: #d7e0f0; box-shadow: 0 6px 16px rgba(8,28,69,.04); transition: transform .2s ease,background .2s ease,border-color .2s ease; }
.chip:hover { transform: translateY(-2px); border-color: #aebddb; }
.product-card,.post-card { border-color: #dce4f1; border-radius: 22px; box-shadow: 0 16px 46px rgba(8,27,67,.065); }
.product-card:hover,.post-card:hover { transform: translateY(-7px); border-color: #bdcae0; box-shadow: 0 28px 70px rgba(8,27,67,.14); }
.product-card__media { height: 158px; background: radial-gradient(circle at 73% 25%,rgba(105,150,255,.46),transparent 34%),linear-gradient(145deg,#061431,#102d72); }
.product-card__media::after { content: ''; position: absolute; inset: 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; }
.product-card__body,.post-card__body { padding: 24px 25px 26px; }
.product-card__title,.post-card__title { letter-spacing: -.035em; }
.program details,.program-acc,.product-acc details,.product-acc.product-acc--legacy,.card { border-color: #dce4f1; border-radius: 18px; box-shadow: 0 12px 34px rgba(8,27,67,.055); }
.program details[open],.program-acc[open],.product-acc details[open] { border-color: #becbe2; box-shadow: 0 20px 48px rgba(8,27,67,.09); }
.program summary,.program-acc summary,.product-acc__head { min-height: 62px; padding-inline: 22px; }
.product-acc__num { border-radius: 50%; background: #e9effa; }
.card__head { padding: 18px 21px; background: linear-gradient(135deg,#f4f7fc,#eaf0f9); }
.card__body { padding: 22px; }
.aside .card { box-shadow: 0 22px 60px rgba(7,27,66,.09); }
.product-doc { min-height: 54px; border-radius: 14px; background: linear-gradient(135deg,#fff,#f8faff); }
.entry__disclaimer,.notice { border-radius: 0 16px 16px 0; background: linear-gradient(120deg,#f2f6fc,#fff); }
.fm-form { position: relative; overflow: hidden; border-color: #d8e1ef; border-radius: 24px; background: linear-gradient(145deg,#fff 0%,#f7f9fd 100%); box-shadow: 0 28px 80px rgba(7,27,66,.12); }
.fm-form::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg,var(--red),#ff7770 35%,#406bd2 76%,var(--navy)); }
.fm-input { min-height: 50px; border-color: #d5deed; background: rgba(255,255,255,.9); }
.fm-form__submit { min-height: 52px; box-shadow: 0 13px 30px rgba(226,35,26,.2); }
.pagination .page-numbers { border-radius: 999px; box-shadow: 0 7px 20px rgba(8,27,67,.055); }

@media (max-width: 620px) {
	.site-main,.hero,.hero--production .hero__in,.hero--production .hero__col { width: 100%; max-width: 100%; }
	.hero--production .hero__in { display: flex; flex-direction: column; padding: 48px 16px 68px; overflow: hidden; }
	.hero--production .hero__col { flex: 0 1 auto; gap: 18px; }
	.hero--production h1 { max-width: 100%; font-size: clamp(1.9rem,9.35vw,2.34rem); line-height: .96; letter-spacing: -.048em; overflow-wrap: break-word; hyphens: auto; text-wrap: pretty; }
	.hero--production .hero__text { width: 100%; max-width: 100%; font-size: .94rem; line-height: 1.56; overflow-wrap: anywhere; }
	.hero--production .hero__actions { display: grid; grid-template-columns: minmax(0,1fr); width: 100%; }
	.hero--production .hero__actions .btn { width: 100%; min-width: 0; max-width: 100%; padding-inline: 14px; white-space: normal; text-align: center; line-height: 1.22; }
	.hero--production .hero__trust { display: grid; grid-template-columns: minmax(0,1fr); width: 100%; gap: 10px; }
	.hero--production .hero__trust li { width: 100%; }
	.hero--production .eyebrow { width: 100%; overflow-wrap: anywhere; }
	.hero--production .rail__in { width: 100%; min-width: 0; overflow: hidden; }
	.hero--production .rail__steps { width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
	.hero--production .rail__steps::-webkit-scrollbar { display: none; }
	.hero--production .rail__step { flex: 0 0 auto; }
	.hero--production .rail__line { flex: 0 0 28px; min-width: 28px; }
	.science__flow-field { z-index: 2; top: 0; right: 0; bottom: auto; left: 18%; height: 310px; opacity: .74; }
	.vet-art__stars i:nth-child(n+7) { display: none; }
	.page-hero__in { min-height: 235px; padding: 46px 16px 50px; }
	.page-hero h1 { max-width: 100%; font-size: clamp(2.05rem,10vw,3rem); line-height: .98; overflow-wrap: anywhere; }
	.page-hero__text { font-size: .98rem; }
	.layout { width: 100%; max-width: 100%; padding: 32px 16px 64px; }
	.catalog-tools { align-items: stretch; padding: 14px; border-radius: 18px; }
	.catalog-search { flex-basis: 100%; width: 100%; max-width: none; }
	.catalog-search input,.fm-input,.interest-form input { font-size: 16px; }
	.chips { width: 100%; flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-inline: contain; padding: 2px 1px 7px; scrollbar-width: none; }
	.chips::-webkit-scrollbar { display: none; }
	.chip { flex: 0 0 auto; }
	.product-grid,.post-grid { grid-template-columns: minmax(0,1fr); }
	.product-layout { grid-template-columns: minmax(0,1fr); width: 100%; }
	.product-chips { display: grid; grid-template-columns: minmax(0,1fr); width: 100%; }
	.product-chip { min-width: 0; border-radius: 14px; overflow-wrap: anywhere; }
	.program summary,.program-acc summary,.product-acc__head { min-height: 58px; padding: 14px 16px; align-items: flex-start; overflow-wrap: anywhere; }
	.program__body,.program-acc__body { padding-inline: 16px; }
	.program__body ul,.program-acc__body ul { columns: 1; }
	.product-acc__body { padding: 0 16px 18px; overflow-wrap: anywhere; }
	.product-doc { flex-wrap: wrap; min-width: 0; padding: 13px; }
	.product-doc__meta { margin-left: 0; }
	.entry__content table { display: block; width: 100%; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.entry__content pre,.entry__content code { max-width: 100%; overflow-x: auto; }
	.card__head,.card__body { padding-inline: 17px; }
	.fm-form { width: 100%; max-width: 100%; padding: 23px 16px; border-radius: 19px; }
	.fm-form__grid { grid-template-columns: minmax(0,1fr); }
	.fm-form__submit { width: 100%; justify-content: center; }
	.product-card__body,.post-card__body { padding: 21px 20px 23px; }
}

@media (max-width: 380px) {
	.hero--production h1 { font-size: clamp(1.82rem,9.1vw,2.08rem); letter-spacing: -.043em; }
	.hero--production .hero__in { padding-inline: 14px; }
	.page-hero__in,.layout { padding-inline: 14px; }
}

@media (prefers-reduced-motion: reduce) {
	.science__flow-field,.vet-art__stars { display: none; }
}
/* ============================================================
 * Release 2.4 — premium product renders and geo command center
 * ============================================================ */

/* Sticky-header-safe section navigation on mobile and desktop. */
html { scroll-padding-top: calc(var(--header-h) + 28px); }
.band,.page-hero { scroll-margin-top: calc(var(--header-h) + 28px); }

/* Generated packshots with exact, live product names on the physical label. */
.product-card__media {
	height: 230px; isolation: isolate;
	background: #06132f;
}
.product-card__packshot {
	position: absolute; z-index: 1; left: 0; right: 0; top: 50%;
	aspect-ratio: 1; transform: translateY(-50%);
}
.product-card__render { position: absolute; inset: 0; display: block; }
.product-card__render img { width: 100%; height: 100%; object-fit: cover; }
.product-card__media::before {
	z-index: 2; opacity: .13; pointer-events: none;
	background: linear-gradient(115deg,transparent 32%,rgba(255,255,255,.2) 48%,transparent 64%);
	transform: translateX(-105%); transition: transform .85s cubic-bezier(.2,.7,.2,1);
}
.product-card:hover .product-card__media::before { transform: translateX(105%); }
.product-card__media::after { z-index: 3; pointer-events: none; border-color: rgba(255,255,255,.1); }
.product-card__pack-label {
	position: absolute; z-index: 4; left: 50%; top: 60.5%; width: 38%;
	transform: translate(-50%,-50%); text-align: center; color: #10234d;
	font-family: 'Onest',sans-serif; text-transform: uppercase; pointer-events: none;
}
.product-card__pack-label small,
.product-card__pack-label strong,
.product-card__pack-label em { display: block; margin: 0 auto; }
.product-card__pack-label small { color: #df312c; font-size: 6.5px; font-weight: 800; line-height: 1; letter-spacing: .11em; }
.product-card__pack-label strong {
	margin-top: 4px; max-width: 17ch; overflow: hidden;
	font-size: clamp(7px,.72vw,9.5px); font-weight: 800; line-height: 1.08; letter-spacing: -.025em;
}
.product-card__pack-label em {
	margin-top: 4px; color: #5b6680; font-size: 6px; font-style: normal; font-weight: 650;
	line-height: 1.1; letter-spacing: .015em; text-transform: none;
}
.product-card__form-tag {
	z-index: 5; left: 16px; bottom: 14px; padding: 6px 10px; border: 1px solid rgba(255,255,255,.16);
	border-radius: 999px; background: rgba(5,15,40,.68); color: rgba(255,255,255,.88);
	backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px);
}

/* Accurate geography, presented as a premium supply-network command center. */
.geo {
	position: relative; isolation: isolate;
	background:
		radial-gradient(circle at 85% 12%,rgba(65,106,205,.14),transparent 28%),
		linear-gradient(180deg,#f4f7fc 0%,#e9eff8 100%);
}
.geo::before {
	content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .34;
	background-image: linear-gradient(rgba(23,54,116,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(23,54,116,.08) 1px,transparent 1px);
	background-size: 76px 76px;
	-webkit-mask-image: linear-gradient(180deg,transparent,#000 22%,#000 72%,transparent); mask-image: linear-gradient(180deg,transparent,#000 22%,#000 72%,transparent);
}
.geo__box {
	position: relative; overflow: hidden; padding: clamp(14px,2.2vw,28px); border-radius: clamp(24px,3vw,38px);
	background:
		radial-gradient(circle at 76% 16%,rgba(77,119,229,.24),transparent 28%),
		linear-gradient(145deg,#07142f 0%,#0a2050 64%,#102f6d 100%);
	border: 1px solid rgba(255,255,255,.12);
	box-shadow: 0 38px 100px rgba(5,19,50,.24),inset 0 1px 0 rgba(255,255,255,.08);
}
.geo__box::before {
	content: 'FM PHARM  /  SUPPLY NETWORK'; position: absolute; right: clamp(20px,3vw,42px); top: clamp(20px,2.4vw,31px);
	color: rgba(199,214,248,.44); font: 700 9px/1 'Onest',sans-serif; letter-spacing: .18em;
}
.geo__filters { position: relative; z-index: 4; margin: 0 0 clamp(14px,1.8vw,22px); padding-right: min(34vw,340px); }
.geo__filters .chip {
	border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.075); color: rgba(234,240,255,.82);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.06); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.geo__filters .chip:hover { border-color: rgba(255,255,255,.32); color: #fff; }
.geo__filters .chip[aria-pressed="true"] { border-color: #fff; background: #fff; color: #102653; box-shadow: 0 10px 28px rgba(0,0,0,.2); }
.geo__scene {
	position: relative; z-index: 1; overflow: hidden; border-color: rgba(137,167,231,.25); border-radius: clamp(18px,2.2vw,28px);
	background:
		radial-gradient(circle at 56% 47%,rgba(52,103,222,.28),transparent 26%),
		radial-gradient(circle at 31% 68%,rgba(229,45,40,.12),transparent 20%),
		linear-gradient(155deg,#06132d,#0a1d45 64%,#102b62);
	box-shadow: inset 0 0 80px rgba(2,9,26,.62),0 24px 52px rgba(1,8,26,.3);
}
.geo__scene::before {
	content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .22;
	background-image: linear-gradient(rgba(136,166,232,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(136,166,232,.2) 1px,transparent 1px);
	background-size: 42px 42px;
	-webkit-mask-image: radial-gradient(circle at 58% 46%,#000,transparent 76%); mask-image: radial-gradient(circle at 58% 46%,#000,transparent 76%);
}
.geo__scene::after {
	content: ''; position: absolute; z-index: 2; left: -16%; top: -75%; width: 34%; height: 250%; pointer-events: none;
	background: linear-gradient(90deg,transparent,rgba(112,157,255,.1),transparent); transform: rotate(14deg);
	animation: geo-scan 9s ease-in-out infinite;
}
@keyframes geo-scan { 0%,14% { left: -26%; opacity: 0; } 35% { opacity: 1; } 70%,100% { left: 110%; opacity: 0; } }
.geo__svg { position: relative; z-index: 1; filter: drop-shadow(0 18px 32px rgba(0,0,0,.2)); }
.geo-country { fill: #1b315c; stroke: #4d6695; stroke-width: .72; opacity: .74; transition: fill .3s ease,opacity .3s ease; }
.geo-country--home { fill: #ed524c; stroke: #ffaaa5; opacity: .96; filter: drop-shadow(0 0 8px rgba(237,82,76,.5)); }
.geo-country--market { fill: #456bb9; stroke: #86a7ed; opacity: .92; }
.geo-route {
	stroke: #ff6a64; stroke-width: 3.1; stroke-dasharray: 3 11;
	filter: drop-shadow(0 0 4px #ff514b) drop-shadow(0 0 10px rgba(255,81,75,.72));
}
.geo-pin--factory { color: #ff5b55; }
.geo-pin--office { color: #79a2ff; }
.geo-pin--planned { color: #d7dfef; }
.geo-pin__ring { fill: #071a3e; stroke-width: 2.5; }
.geo-pin__dot { filter: drop-shadow(0 0 5px currentColor); }
.geo-pin__label { fill: #f4f7ff; stroke: #07142f; stroke-width: 5px; }
.geo-popup {
	background: rgba(6,19,47,.94); border-color: rgba(143,171,232,.3); color: #fff;
	box-shadow: 0 30px 70px rgba(0,0,0,.42); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
}
.geo-popup::after { background: #091c43; border-color: rgba(143,171,232,.3); }
.geo-popup__title { color: #fff; }
.geo-popup__text,.geo-popup__row { color: rgba(226,234,252,.76); }
.geo-popup__more { color: #9fbcff; }
.geo-popup__close { color: rgba(255,255,255,.62); }
.geo__legend {
	position: relative; z-index: 3; margin-top: clamp(14px,1.8vw,22px); padding: 0 4px;
	color: rgba(213,224,249,.72);
}
.geo__hint { margin-right: auto; }
.geo__key::before { box-shadow: 0 0 0 5px rgba(255,255,255,.045),0 0 18px currentColor; }
.geo__key--home::before { background: #ed524c; opacity: 1; }
.geo__key--market::before { background: #6488d6; }

@media (max-width: 880px) {
	.geo__filters { padding-right: 0; }
	.geo__box::before { display: none; }
	.geo-card {
		border-color: rgba(151,176,229,.24); background: rgba(255,255,255,.075); color: #fff;
		box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
	}
	.geo-card__title { color: #fff; }
	.geo-card__text,.geo-card__row { color: rgba(224,233,253,.72); }
}

@media (max-width: 620px) {
	html { scroll-padding-top: calc(64px + 22px + env(safe-area-inset-top)); }
	.band,.page-hero { scroll-margin-top: calc(64px + 22px + env(safe-area-inset-top)); }
	.product-card__media { height: 220px; }
	.product-card__pack-label strong { font-size: 8.5px; }
	.geo .band__head h2 { font-size: clamp(2.05rem,10vw,2.7rem); overflow-wrap: normal; word-break: normal; }
	.geo__box { margin-inline: -4px; padding: 12px; border-radius: 24px; }
	.geo__filters { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-inline: contain; padding: 2px 0 7px; scrollbar-width: none; }
	.geo__filters::-webkit-scrollbar { display: none; }
	.geo__filters .chip { flex: 0 0 auto; min-height: 44px; }
	.geo__scene { border-radius: 18px; }
	.geo__legend { display: grid; grid-template-columns: 1fr; gap: 12px; font-size: 13px; }
	.geo__cards { gap: 10px; }
	.geo-card { padding: 17px; border-radius: 17px; }
}

@media (prefers-reduced-motion: reduce) {
	.geo__scene::after { display: none; }
	.product-card__media::before { transition: none; transform: none; }
}
/* ============================================================
 * Release 2.5 — full-power mobile motion and quality containment
 * ============================================================ */

/* Every quality-section child must shrink inside the viewport. */
.quality-band .wrap,
.split--quality,
.quality__media,
.quality-band .split__body,
.quality-band .split__body > * {
	min-width: 0; width: 100%; max-width: 100%;
}
.quality-band h2,
.quality-band .lead,
.quality-band .checklist,
.quality-band .checklist li { overflow-wrap: anywhere; }

@media (max-width: 620px) {
	.quality-band { max-width: 100%; overflow: hidden; }
	.quality-band .wrap { padding-inline: 16px; }
	.split--quality {
		display: grid; grid-template-columns: minmax(0,1fr); gap: 34px;
		margin: 0; overflow: visible;
	}
	.quality__media {
		min-height: 0 !important; aspect-ratio: 4 / 3;
		border-radius: 22px; background-position: center; background-size: cover;
	}
	.quality__badge {
		left: 14px; right: 14px; bottom: 14px; max-width: calc(100% - 28px);
		white-space: normal; line-height: 1.35;
	}
	.quality-band .split__body { gap: 19px; }
	.quality-band .split__body h2 {
		font-size: clamp(1.95rem,9.65vw,2.55rem); line-height: 1.01;
		letter-spacing: -.05em; text-wrap: balance; word-break: normal;
	}
	.quality-band .lead { font-size: .98rem; line-height: 1.62; }
	.quality-band .checklist { width: 100%; }

	/* Phone hardware now runs the same continuous visual layer as desktop. */
	.vet-art { transform: perspective(1200px) rotateX(var(--art-rx,0deg)) rotateY(var(--art-ry,0deg)) !important; }
	.vet-art--species .vet-art__media,
	.vet-art--batch .vet-art__media {
		transform: translate3d(var(--art-x,0px),calc(var(--art-y,0px) + var(--art-scroll,0px)),0) scale(1.035);
		will-change: transform;
	}
	.vet-art__beam { display: block; }
	.vet-art__stars i:nth-child(n+7) { display: block; }
	.quality__scan { animation-duration: 7s; }
	.vet-art__beam { animation-duration: 7.5s; }
	.vet-art__orbit { animation-duration: 16s; }
	.vet-art__signal { animation-duration: 2.6s; }
	.vet-ticker__track { animation-duration: 26s; }
	.science__flow-field { opacity: .92; }
}

@media (max-width: 380px) {
	.quality-band .wrap { padding-inline: 14px; }
	.quality-band .split__body h2 { font-size: clamp(1.82rem,9.3vw,2.18rem); }
}
/* ============================================================
 * Release 2.7 — high-DPI continuous mane renderer
 * ============================================================ */
.brand { position: relative; isolation: isolate; }
.brand__motion {
	position: relative; display: inline-block; flex: 0 0 auto; line-height: 0;
	transform: translateZ(0); transform-origin: 68% 48%;
}
.brand__motion .brand__logo { position: relative; z-index: 2; transition: opacity .08s linear,filter .28s ease; }
.brand__canvas {
	position: absolute; z-index: 4; inset: 0; display: block; width: 100%; height: 100%;
	opacity: 0; pointer-events: none; image-rendering: auto;
	transform: translateZ(0); will-change: opacity,filter;
}
.brand__motion.is-rendering .brand__logo { opacity: 0; }
.brand__motion.is-rendering .brand__canvas {
	opacity: 1; filter: drop-shadow(-2px 2px 5px rgba(23,62,159,.13));
}

/* Lightweight fallback for browsers that cannot initialize the canvas renderer. */
.brand__mane-layer {
	position: absolute; inset: 0; z-index: 3; display: block; width: 100%; height: 100%;
	max-width: none; object-fit: fill; opacity: 0; pointer-events: none;
	transform-origin: 62% 39%; will-change: transform,opacity,filter;
}
.brand__motion.is-canvas-ready .brand__mane-layer { display: none; }
.brand__mane-layer--1 { clip-path: polygon(18% 5%,65% 3%,62% 37%,15% 39%); }
.brand__mane-layer--2 { clip-path: polygon(8% 23%,63% 16%,58% 53%,3% 57%); }
.brand__mane-layer--3 { clip-path: polygon(0 40%,53% 33%,45% 68%,0 68%); }

.brand__wind {
	position: absolute; z-index: 1; left: -15%; top: 10%; width: 72%; height: 55%;
	opacity: 0; pointer-events: none; transform: translate3d(16px,0,0) skewX(-13deg);
	background:
		linear-gradient(90deg,transparent 0 7%,rgba(69,94,164,.26) 22% 51%,transparent 73%) 0 8% / 100% 1px no-repeat,
		linear-gradient(90deg,transparent 0 14%,rgba(69,94,164,.33) 30% 62%,transparent 84%) 0 43% / 100% 1px no-repeat,
		linear-gradient(90deg,transparent 0 2%,rgba(69,94,164,.21) 18% 46%,transparent 68%) 0 78% / 100% 1px no-repeat;
	-webkit-mask-image: linear-gradient(90deg,transparent 0%,#000 22%,rgba(0,0,0,.88) 66%,transparent 100%);
	mask-image: linear-gradient(90deg,transparent 0%,#000 22%,rgba(0,0,0,.88) 66%,transparent 100%);
	will-change: transform,opacity;
}
.brand__wind::before,.brand__wind::after {
	content: ''; position: absolute; height: 1px; border-radius: 999px;
	background: linear-gradient(90deg,transparent,rgba(237,42,38,.47),transparent);
	box-shadow: 0 0 4px rgba(237,42,38,.12);
}
.brand__wind::before { left: 8%; top: 28%; width: 58%; }
.brand__wind::after { left: 23%; top: 64%; width: 42%; opacity: .7; }
.brand__motion.is-galloping .brand__wind { animation: brand-wind-run .42s linear infinite; }
.brand__motion.is-galloping:not(.is-canvas-ready) { animation: brand-horse-surge .58s cubic-bezier(.45,0,.55,1) infinite; }
.brand__motion.is-galloping:not(.is-canvas-ready) .brand__logo { filter: drop-shadow(-3px 2px 7px rgba(23,62,159,.18)); }
.brand__motion.is-galloping:not(.is-canvas-ready) .brand__mane-layer--1 { animation: brand-mane-top .54s ease-in-out infinite; }
.brand__motion.is-galloping:not(.is-canvas-ready) .brand__mane-layer--2 { animation: brand-mane-mid .45s ease-in-out infinite -.12s; }
.brand__motion.is-galloping:not(.is-canvas-ready) .brand__mane-layer--3 { animation: brand-mane-low .63s ease-in-out infinite -.25s; }

@keyframes brand-horse-surge {
	0%,100% { transform: translate3d(0,0,0) rotate(0deg); }
	28% { transform: translate3d(.7px,-.45px,0) rotate(-.12deg); }
	64% { transform: translate3d(1.35px,.28px,0) rotate(.1deg); }
}
@keyframes brand-wind-run {
	0% { opacity: 0; transform: translate3d(18px,0,0) skewX(-13deg) scaleX(.68); }
	16% { opacity: .7; }
	56% { opacity: .42; }
	100% { opacity: 0; transform: translate3d(-19px,0,0) skewX(-13deg) scaleX(1.18); }
}
@keyframes brand-mane-top {
	0%,100% { opacity: .3; transform: translate3d(0,0,0) skewY(0deg) scaleX(1); }
	24% { opacity: .58; transform: translate3d(-1.4px,-.55px,0) skewY(-1deg) scaleX(1.02); }
	56% { opacity: .42; transform: translate3d(-3.3px,.7px,0) skewY(1.6deg) scaleX(1.05); }
	82% { opacity: .18; transform: translate3d(-4.4px,-.2px,0) skewY(-.8deg) scaleX(1.07); }
}
@keyframes brand-mane-mid {
	0%,100% { opacity: .26; transform: translate3d(0,0,0) skewY(.2deg) scaleX(1); }
	38% { opacity: .54; transform: translate3d(-2.5px,.75px,0) skewY(1.7deg) scaleX(1.04); }
	72% { opacity: .16; transform: translate3d(-4.6px,-.6px,0) skewY(-1.4deg) scaleX(1.075); }
}
@keyframes brand-mane-low {
	0%,100% { opacity: .22; transform: translate3d(0,0,0) skewY(0deg) scaleX(1); }
	34% { opacity: .48; transform: translate3d(-2px,1px,0) skewY(2deg) scaleX(1.035); }
	74% { opacity: .14; transform: translate3d(-4.9px,-.3px,0) skewY(-1.1deg) scaleX(1.08); }
}

@media (hover: hover) and (pointer: fine) {
	.brand:hover .brand__motion:not(.is-canvas-ready) { animation: brand-horse-surge .58s cubic-bezier(.45,0,.55,1) infinite; }
	.brand:hover .brand__motion:not(.is-canvas-ready) .brand__wind { animation: brand-wind-run .42s linear infinite; }
	.brand:hover .brand__motion:not(.is-canvas-ready) .brand__mane-layer--1 { animation: brand-mane-top .54s ease-in-out infinite; }
	.brand:hover .brand__motion:not(.is-canvas-ready) .brand__mane-layer--2 { animation: brand-mane-mid .45s ease-in-out infinite -.12s; }
	.brand:hover .brand__motion:not(.is-canvas-ready) .brand__mane-layer--3 { animation: brand-mane-low .63s ease-in-out infinite -.25s; }
}
@media (max-width: 620px) {
	.brand__wind { left: -20%; width: 80%; }
}
@media (prefers-reduced-motion: reduce) {
	.brand__motion,.brand__motion.is-galloping,.brand__motion.is-rendering,
	.brand:hover .brand__motion,.brand:focus-visible .brand__motion { animation: none; transform: none; }
	.brand__canvas,.brand__mane-layer,.brand__wind { display: none; }
	.brand__logo { opacity: 1 !important; filter: none !important; }
}
