/* ==========================================================================
   NHE — Cinematic motion layer
   Black stage hero, light streaks, self-drawing car, scroll reveals,
   counters, marquee, card spotlights, glowing CTAs, uniform footer.
   Everything is transform/opacity based and disabled for reduced motion.
   ========================================================================== */

@property --spin { syntax: "<angle>"; inherits: false; initial-value: 0deg; }

/* ---------------- Cinematic stage (shared) ---------------- */
.hero--cine, .page-hero--cine, .nf { background: #000; }
.cine { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.cine__road {
	position: absolute; left: -50%; right: -50%; bottom: -10%; height: 70%;
	background-image:
		linear-gradient(rgba(108, 194, 74, .22) 1px, transparent 1px),
		linear-gradient(90deg, rgba(108, 194, 74, .14) 1px, transparent 1px);
	background-size: 80px 80px;
	transform: perspective(520px) rotateX(72deg);
	transform-origin: 50% 100%;
	-webkit-mask-image: linear-gradient(to top, #000 10%, transparent 85%);
	mask-image: linear-gradient(to top, #000 10%, transparent 85%);
	animation: road 1.6s linear infinite;
}
@keyframes road { to { background-position: 0 80px, 0 0; } }
.cine__streaks { position: absolute; inset: 0; -webkit-mask-image: linear-gradient(90deg, transparent 0, rgba(0,0,0,.25) 30%, #000 55%); mask-image: linear-gradient(90deg, transparent 0, rgba(0,0,0,.25) 30%, #000 55%); }
.page-hero--cine .cine__streaks, .nf .cine__streaks { -webkit-mask-image: linear-gradient(90deg, transparent, #000 40%); mask-image: linear-gradient(90deg, transparent, #000 40%); }
.cine__streaks i {
	position: absolute; left: 0; top: var(--t); width: var(--w); height: 2px; border-radius: 2px;
	background: linear-gradient(90deg, transparent, rgba(143, 212, 111, .9), #fff);
	filter: drop-shadow(0 0 6px rgba(108, 194, 74, .9));
	opacity: 0; transform: translateX(-60vw);
	animation: streak var(--s) cubic-bezier(.6, 0, .4, 1) var(--d) infinite;
}
.cine__streaks i:nth-child(3n) { background: linear-gradient(90deg, transparent, rgba(255, 90, 78, .8), #ffd6d2); filter: drop-shadow(0 0 6px rgba(255, 90, 78, .7)); height: 1px; }
.cine__streaks i:nth-child(4n) { height: 1px; opacity: .6; }
@keyframes streak { 0% { transform: translateX(-60vw); opacity: 0; } 15% { opacity: 1; } 70% { opacity: .9; } 100% { transform: translateX(140vw); opacity: 0; } }
.cine__orb { position: absolute; border-radius: 50%; filter: blur(60px); opacity: .55; }
.cine__orb--a { width: 520px; height: 520px; right: -120px; top: -160px; background: radial-gradient(circle, rgba(108, 194, 74, .55), transparent 65%); animation: drift 14s ease-in-out infinite alternate; }
.cine__orb--b { width: 420px; height: 420px; left: -160px; bottom: -180px; background: radial-gradient(circle, rgba(43, 122, 29, .5), transparent 65%); animation: drift 18s ease-in-out infinite alternate-reverse; }
@keyframes drift { from { transform: translate(0, 0) scale(1); } to { transform: translate(-80px, 60px) scale(1.15); } }
.cine__grain {
	position: absolute; inset: -50%; opacity: .07; mix-blend-mode: screen;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	animation: grain .9s steps(6) infinite;
}
@keyframes grain { 0% { transform: translate(0, 0); } 20% { transform: translate(-5%, 3%); } 40% { transform: translate(4%, -6%); } 60% { transform: translate(-3%, 5%); } 80% { transform: translate(6%, 2%); } 100% { transform: translate(0, 0); } }
.cine__vignette { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 45%, transparent 40%, rgba(0, 0, 0, .85) 100%); }
.cine__bars span { position: absolute; left: 0; right: 0; height: 14vh; background: #000; z-index: 5; transform-origin: top; animation: barOpen 1.2s cubic-bezier(.7, 0, .2, 1) .15s forwards; }
.cine__bars span:first-child { top: 0; }
.cine__bars span:last-child { bottom: 0; transform-origin: bottom; }
@keyframes barOpen { to { transform: scaleY(0); } }

/* ---------------- Home hero ---------------- */
.hero--cine { color: #e9efec; min-height: min(92vh, 860px); display: flex; flex-direction: column; justify-content: center; }
.hero--cine .hero__in { width: 100%; padding-top: 56px; padding-bottom: 140px; }
.hero--cine .hero__grid-bg { display: none; }
.hero__title { text-shadow: 0 0 40px rgba(108, 194, 74, .15); }
.hero__title .w, .page-hero__title .w { display: inline-block; overflow: hidden; vertical-align: bottom; padding-bottom: .08em; margin-bottom: -.08em; }
.hero__title .w > span, .page-hero__title .w > span { display: inline-block; transform: translateY(110%); animation: wordUp .9s cubic-bezier(.2, .8, .2, 1) forwards; animation-delay: calc(.7s + var(--i) * .08s); }
.page-hero__title .w > span { animation-delay: calc(.15s + var(--i) * .06s); }
@keyframes wordUp { to { transform: none; } }
.hero__title .w:last-child > span { background: linear-gradient(90deg, #fff 0%, #8fd46f 40%, #fff 80%); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: wordUp .9s cubic-bezier(.2, .8, .2, 1) forwards, shine 5s linear 2s infinite; animation-delay: calc(.7s + var(--i) * .08s), 2s; }
@keyframes shine { to { background-position: -200% 0; } }
.hero__kicker, .hero__sub, .hero__ctas, .hero__wa, .hero__chips { opacity: 0; transform: translateY(18px); animation: fadeUp .9s cubic-bezier(.2, .8, .2, 1) forwards; }
.hero__kicker { animation-delay: .55s; }
.hero__sub { animation-delay: 1.15s; }
.hero__ctas { animation-delay: 1.3s; }
.hero__wa { animation-delay: 1.45s; }
.hero__chips { animation-delay: 1.6s; }
@keyframes fadeUp { to { opacity: 1; transform: none; } }
.hero__chips li { background: rgba(255, 255, 255, .04); backdrop-filter: blur(6px); }

.stage { position: relative; padding: 40px 0 80px; opacity: 0; animation: fadeUp 1.2s cubic-bezier(.2, .8, .2, 1) .9s forwards; transform-style: preserve-3d; }
.stage--photo { padding: 0; border-radius: var(--r-lg); overflow: hidden; box-shadow: 0 30px 80px rgba(0, 0, 0, .6), 0 0 0 1px #1f2a26; }
.stage__photo { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.stage__ring { position: absolute; left: 50%; top: 52%; width: 92%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; border: 1px solid rgba(108, 194, 74, .18); box-shadow: inset 0 0 80px rgba(108, 194, 74, .08); }
.stage__ring::before, .stage__ring::after { content: ""; position: absolute; inset: 9%; border-radius: 50%; border: 1px dashed rgba(200, 208, 205, .14); animation: rot 40s linear infinite; }
.stage__ring::after { inset: 22%; border: 1px solid transparent; border-top-color: rgba(108, 194, 74, .7); border-right-color: rgba(108, 194, 74, .2); animation-duration: 6s; }
@keyframes rot { to { transform: rotate(360deg); } }
.car { position: relative; width: 112%; margin-left: -6%; display: block; overflow: visible; animation: carIn 1.6s cubic-bezier(.2, .8, .2, 1) 1s both, bob 3.2s ease-in-out 2.6s infinite; }
@keyframes carIn { from { transform: translateX(-30%); opacity: 0; filter: blur(6px); } to { transform: none; opacity: 1; filter: none; } }
@keyframes bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
.car .draw { stroke-dasharray: 1; stroke-dashoffset: 1; animation: draw 2.2s cubic-bezier(.6, 0, .2, 1) 1.2s forwards; }
.car .draw.d2 { animation-delay: 1.9s; }
.car .draw.d3 { animation-delay: 2.4s; }
@keyframes draw { to { stroke-dashoffset: 0; } }
.car__beam { opacity: 0; transform-origin: 58px 165px; animation: beamOn .4s steps(2) 3s forwards, beamPulse 3s ease-in-out 3.4s infinite; }
@keyframes beamOn { 0% { opacity: 0; } 50% { opacity: .9; } 100% { opacity: 1; } }
@keyframes beamPulse { 0%, 100% { opacity: 1; } 50% { opacity: .7; } }
.car__under { animation: underglow 2.4s ease-in-out infinite; transform-origin: center; transform-box: fill-box; }
@keyframes underglow { 0%, 100% { opacity: .7; transform: scaleX(1); } 50% { opacity: 1; transform: scaleX(1.06); } }
.car__tail { filter: drop-shadow(0 0 6px #ff5a4e); animation: tail 1.6s ease-in-out infinite; }
@keyframes tail { 50% { opacity: .45; } }
.wheel__spin { animation: rot .55s linear infinite; transform-box: fill-box; transform-origin: center; }
.car__chev path { animation: chev 1.2s ease-in-out infinite; }
.car__chev path:nth-child(2) { animation-delay: .15s; }
.car__chev path:nth-child(3) { animation-delay: .3s; }
@keyframes chev { 0%, 100% { opacity: .25; transform: translateX(0); } 50% { opacity: 1; transform: translateX(8px); } }
.car__scan { animation: scanX 3.6s cubic-bezier(.6, 0, .4, 1) 3.2s infinite; opacity: 0; }
@keyframes scanX { 0% { transform: translateX(-90px); opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { transform: translateX(700px); opacity: 0; } }
.stage__note { position: absolute; right: 6px; bottom: 6px; font-size: .6875rem; color: #55625d; letter-spacing: .04em; }
.stage .hud { opacity: 0; animation: hudIn .8s cubic-bezier(.2, .8, .2, 1) forwards, float 5s ease-in-out infinite; }
.stage .hud--a { left: 0; bottom: 0; animation-delay: 2.6s, 3.4s; }
.stage .hud--b { right: 0; top: 0; animation-delay: 3s, 3.8s; }
.stage .hud--c { display: none; right: 4%; bottom: 18%; padding: 10px 14px; align-items: center; gap: 10px; animation-delay: 3.3s, 4.1s; }
.hud--c .ic { color: var(--amber); }
.hud--c strong { display: block; color: #fff; }
.hud--c span { color: #9fb0a9; font-size: .75rem; }
@keyframes hudIn { from { opacity: 0; transform: translateY(16px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }
.hud { background: rgba(10, 14, 13, .72); border-color: rgba(108, 194, 74, .25); box-shadow: 0 0 0 1px rgba(255, 255, 255, .03), 0 18px 40px rgba(0, 0, 0, .55), 0 0 30px rgba(108, 194, 74, .08); }
.hud__bar i { width: 0; animation: barFill 1.4s cubic-bezier(.2, .8, .2, 1) 3.2s forwards; }
@keyframes barFill { to { width: var(--w); } }
.pulse-dot { position: relative; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--green); flex: none; }
.pulse-dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--green); animation: ping 1.6s cubic-bezier(0, 0, .2, 1) infinite; }
@keyframes ping { 75%, 100% { transform: scale(2.6); opacity: 0; } }
.hero__wa { gap: 10px; }
.hero__scroll { position: absolute; left: 50%; bottom: 96px; width: 26px; height: 42px; border: 2px solid rgba(255, 255, 255, .35); border-radius: 14px; transform: translateX(-50%); display: none; z-index: 2; }
.hero__scroll span { position: absolute; left: 50%; top: 8px; width: 4px; height: 8px; margin-left: -2px; border-radius: 2px; background: var(--green); animation: wheelDot 1.8s ease-in-out infinite; }
@keyframes wheelDot { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(14px); } }

/* Glow / shine buttons */
.btn--primary { position: relative; overflow: hidden; isolation: isolate; }
.btn--primary::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .55) 50%, transparent 70%); transform: translateX(-120%); transition: transform .7s cubic-bezier(.2, .8, .2, 1); }
.btn--primary:hover::after { transform: translateX(120%); }
.btn--glow { animation: glow 2.6s ease-in-out infinite; }
@keyframes glow { 0%, 100% { box-shadow: 0 6px 18px rgba(108, 194, 74, .3), 0 0 0 0 rgba(108, 194, 74, .45); } 50% { box-shadow: 0 6px 24px rgba(108, 194, 74, .5), 0 0 0 10px rgba(108, 194, 74, 0); } }

/* Inner page hero */
.page-hero--cine .page-hero__in { padding-top: 44px; padding-bottom: 64px; position: relative; }
.page-hero--cine .hero__grid-bg { display: none; }
.cine--lite .cine__road { height: 80%; opacity: .7; }
.page-hero--cine .page-hero__sub, .page-hero--cine .breadcrumb, .page-hero--cine .kicker, .page-hero--cine .hero__ctas { opacity: 0; animation: fadeUp .8s cubic-bezier(.2, .8, .2, 1) .35s forwards; }
.page-hero--cine .breadcrumb, .page-hero--cine .kicker { animation-delay: .05s; }
.page-hero--cine .hero__ctas { animation-delay: .5s; }

/* ---------------- Scroll reveals ---------------- */
html.js .rv { opacity: 0; transform: translateY(34px); transition: opacity .9s cubic-bezier(.2, .8, .2, 1), transform .9s cubic-bezier(.2, .8, .2, 1); transition-delay: calc(var(--d, 0) * 90ms); }
html.js .rv--left { transform: translateX(-40px); }
html.js .rv--right { transform: translateX(40px); }
html.js .rv--zoom { transform: scale(.92); }
html.js .rv.is-in { opacity: 1; transform: none; }
.sec-head.is-in .kicker__mark { animation: markRun 1.2s ease-out; }
@keyframes markRun { from { background-position: -24px 0; opacity: 0; } to { background-position: 0 0; opacity: .95; } }
.sec-title { background-image: linear-gradient(transparent 88%, rgba(108, 194, 74, .35) 88%); background-repeat: no-repeat; background-size: 0 100%; transition: background-size 1.2s cubic-bezier(.2, .8, .2, 1) .3s; }
.sec-head.is-in .sec-title { background-size: 100% 100%; }

/* Scroll progress */
.scroll-progress { position: fixed; left: 0; right: 0; top: 0; height: 3px; z-index: 200; pointer-events: none; }
.scroll-progress span { display: block; height: 100%; width: 100%; transform-origin: 0 50%; transform: scaleX(var(--p, 0)); background: linear-gradient(90deg, #2b7a1d, #6cc24a, #c9f2b4); box-shadow: 0 0 10px rgba(108, 194, 74, .8); }
body.admin-bar .scroll-progress { top: 32px; }

/* ---------------- Cards ---------------- */
.svc-card__link, .why, .rev, .post-card, .offer, .member, .ccard, .trust__item { --mx: 50%; --my: 50%; }
.svc-card__link::before, .why::before, .post-card::before, .offer::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .3s; background: radial-gradient(260px circle at var(--mx) var(--my), rgba(108, 194, 74, .16), transparent 60%); }
.why, .post-card, .offer { position: relative; }
.svc-card__link:hover::before, .why:hover::before, .post-card:hover::before, .offer:hover::before { opacity: 1; }
.svc-card__ic, .why__ic, .step__ic, .ccard__ic, .trust__ic { transition: transform .5s cubic-bezier(.34, 1.56, .64, 1), box-shadow .3s; }
.svc-card__link:hover .svc-card__ic { transform: translateY(-4px) rotate(-8deg) scale(1.08); box-shadow: 0 10px 24px rgba(108, 194, 74, .35); }
.why:hover .why__ic, .step:hover .step__ic, .ccard:hover .ccard__ic, .trust__item:hover .trust__ic { transform: translateY(-3px) scale(1.08) rotate(6deg); }
.why, .step, .trust__item, .member, .rev { transition: transform .4s cubic-bezier(.2, .8, .2, 1), box-shadow .4s, border-color .3s; }
.why:hover, .rev:hover, .member:hover, .trust__item:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.step:hover { transform: translateY(-4px); border-color: rgba(108, 194, 74, .45); box-shadow: 0 0 30px rgba(108, 194, 74, .12); }
.js-tilt { transform-style: preserve-3d; will-change: transform; }

/* Featured package — animated border */
.pkg--featured { border: 0; isolation: isolate; }
.pkg--featured::before { content: ""; position: absolute; inset: -2px; z-index: -1; border-radius: calc(var(--r-lg) + 2px); background: conic-gradient(from var(--spin), #6cc24a, transparent 25%, transparent 50%, #8fd46f 75%, #6cc24a); animation: spinB 4s linear infinite; }
.pkg--featured::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: var(--r-lg); background: var(--ink); }
@keyframes spinB { to { --spin: 360deg; } }
.pkg { transition: transform .4s cubic-bezier(.2, .8, .2, 1), box-shadow .4s; }
.pkg:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.pkg__flag { animation: bounceY 2.4s ease-in-out infinite; }
@keyframes bounceY { 50% { transform: translateY(-4px); } }

/* Brands marquee */
.marquee { display: flex; overflow: hidden; gap: 10px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.marquee__track { flex: none; display: flex; flex-wrap: nowrap; gap: 10px; padding: 6px 0; animation: marq 32s linear infinite; }
.marquee:hover .marquee__track { animation-play-state: paused; }
@keyframes marq { to { transform: translateX(calc(-100% - 10px)); } }
.marquee .brands li { white-space: nowrap; padding: 14px 26px; font-size: 1.05rem; transition: color .2s, border-color .2s, background-color .2s; }
.marquee .brands li:hover { color: var(--green-deep); border-color: var(--green); background: var(--green-tint); }

/* Process line */
.steps { position: relative; }
@media (min-width: 1024px) {
	.steps::before { content: ""; position: absolute; left: 4%; right: 4%; top: 46px; height: 2px; background: linear-gradient(90deg, transparent, rgba(108, 194, 74, .6), transparent); transform: scaleX(0); transform-origin: left; transition: transform 1.6s cubic-bezier(.6, 0, .2, 1) .2s; }
	.steps.is-in::before { transform: scaleX(1); }
}
.process-sec, .finder { isolation: isolate; }
.process-sec { background: #000; }
.finder { background: #000; }

/* CTA band — moving light */
.cta-band { position: relative; overflow: hidden; isolation: isolate; }
.cta-band__fx { position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(115deg, rgba(255, 255, 255, 0) 0 40px, rgba(255, 255, 255, .12) 40px 80px); background-size: 200% 100%; animation: stripes 12s linear infinite; }
@keyframes stripes { to { background-position: -400px 0; } }

/* Floating contact buttons (desktop) */
.float-cta { position: fixed; right: 22px; bottom: 26px; z-index: 70; display: none; flex-direction: column; gap: 12px; }
.float-cta a { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; color: #fff; box-shadow: 0 12px 30px rgba(0, 0, 0, .3); transition: transform .3s cubic-bezier(.34, 1.56, .64, 1); position: relative; }
.float-cta a:hover { transform: scale(1.1); color: #fff; }
.float-cta__wa { background: var(--wa); }
.float-cta__wa::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid rgba(31, 168, 85, .55); animation: ring 2s ease-out infinite; }
@keyframes ring { from { transform: scale(.85); opacity: 1; } to { transform: scale(1.35); opacity: 0; } }
.float-cta__call { background: linear-gradient(135deg, #f2a227, #e8590c); }

/* ---------------- Uniform footer ---------------- */
.site-footer { position: relative; overflow: hidden; background: #050807; }
.footer-glow { position: absolute; width: 700px; height: 700px; left: -250px; bottom: -420px; border-radius: 50%; background: radial-gradient(circle, rgba(108, 194, 74, .16), transparent 65%); pointer-events: none; }
.site-footer .footer-grid { grid-template-columns: 1fr; gap: 34px; padding-top: 64px; padding-bottom: 34px; position: relative; }
.footer-brand__logo { display: inline-block; }
.site-footer .footer-logo { max-height: 96px; width: auto; height: auto; margin-bottom: 14px; }
.footer-brand__desc { max-width: 360px; color: #b3bfba; }
.site-footer .footer-h { text-transform: none; letter-spacing: 0; font-size: 1.05rem; margin-bottom: 16px; }
.site-footer .footer-links a, .site-footer .footer-contact li, .site-footer .footer-contact a { color: #c3ceca; }
.site-footer .footer-links a { transition: color .2s, padding-left .25s; }
.site-footer .footer-links a:hover { color: var(--green); padding-left: 6px; }
.site-footer .footer-contact { gap: 10px; }
.site-footer .footer-contact li { display: block; line-height: 1.55; }
.site-footer .socials a { background: rgba(255, 255, 255, .04); padding: 10px 16px; }
.footer-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding-top: 18px; padding-bottom: 18px; border-top: 1px solid #1a2421; position: relative; }
.footer-policies { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: .875rem; }
.footer-policies a { color: #9fb0a9; text-decoration: none; }
.footer-policies a:hover { color: var(--green); }
.site-footer .footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding-top: 20px; padding-bottom: 24px; border-top: 1px solid #1a2421; position: relative; }
.footer-copy { margin: 0; color: #9fb0a9; font-size: .875rem; }
.dev-pill { display: inline-flex; align-items: center; gap: 12px; padding: 8px 18px 8px 8px; border-radius: 999px; background: #171a1c; border: 1px solid #2a2e31; color: #fff; text-decoration: none; transition: border-color .3s, transform .3s, box-shadow .3s; }
.dev-pill:hover { color: #fff; border-color: #3d4448; transform: translateY(-2px); box-shadow: 0 10px 30px rgba(0, 0, 0, .4); }
.dev-pill__badge { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; font-weight: 800; font-size: .95rem; color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, .35); background: conic-gradient(from var(--spin), #ff3d6e, #ff9a3d, #ffe14d, #3ddc84, #3dc6ff, #7b5cff, #ff3d6e); animation: spinB 6s linear infinite; }
.dev-pill__txt { display: grid; line-height: 1.2; }
.dev-pill__txt small { color: #b9c0c4; font-size: .78rem; font-weight: 600; }
.dev-pill__txt strong { font-size: 1.05rem; font-weight: 800; letter-spacing: -.01em; }

@media (min-width: 640px) {
	.site-footer .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
	.site-footer .footer-grid { grid-template-columns: 1.35fr .9fr 1fr 1.25fr; }
	.float-cta { display: flex; }
	.hero__scroll { display: block; }
	.stage .hud--c { display: flex; }
	.hero--cine .hero__in { grid-template-columns: 1fr 1.05fr; }
}
@media (max-width: 559.98px) {
	.stage { padding: 20px 0 0; }
	.stage .hud--a { position: relative; left: auto; bottom: auto; width: 100%; margin-top: 8px; }
	.stage .hud--b { display: none; }
	.hero--cine { min-height: 0; }
	.hero--cine .hero__in { padding-bottom: 110px; }
	.car { width: 104%; margin-left: -2%; }
}

/* ---------------- Reduced motion ---------------- */
@media (prefers-reduced-motion: reduce) {
	.cine__road, .cine__streaks i, .cine__orb, .cine__grain, .wheel__spin, .car, .car__chev path, .car__scan, .car__beam, .car__under, .car__tail, .stage__ring::before, .stage__ring::after,
	.btn--glow, .pkg__flag, .pkg--featured::before, .dev-pill__badge, .marquee__track, .cta-band__fx, .float-cta__wa::after, .pulse-dot::after, .hero__title .w:last-child > span { animation: none !important; }
	.cine__streaks i { display: none; }
	.cine__bars { display: none; }
	.car .draw { stroke-dashoffset: 0; animation: none; }
	.hero__title .w > span, .page-hero__title .w > span { transform: none; animation: none; }
	.hero__kicker, .hero__sub, .hero__ctas, .hero__wa, .hero__chips, .stage, .stage .hud, .page-hero--cine .page-hero__sub, .page-hero--cine .breadcrumb, .page-hero--cine .kicker, .page-hero--cine .hero__ctas { opacity: 1; transform: none; animation: none; }
	.hud__bar i { width: var(--w); animation: none; }
	.car__beam { opacity: 1; }
	html.js .rv { opacity: 1; transform: none; transition: none; }
	.marquee { flex-wrap: wrap; justify-content: center; -webkit-mask-image: none; mask-image: none; }
	.marquee__track[aria-hidden="true"] { display: none; }
	.marquee__track { flex-wrap: wrap; justify-content: center; }
}
.js-tilt.rv.is-in, .js-tilt { transition: transform .18s ease-out, opacity .9s cubic-bezier(.2, .8, .2, 1), box-shadow .4s; }
.lang-switch { flex-wrap: nowrap; }
@media (max-width: 420px) { .lang-switch__item { padding: 3px 7px; } }
.footer-meta, .site-footer .footer-bottom { border-top: 0 !important; background: linear-gradient(#1a2421, #1a2421) no-repeat center top / calc(100% - 2 * var(--gut)) 1px; }
