/* Shared navigation and service pages use Ambiente's palette and type. */
:root { --sand-dim: rgb(239 231 218 / .66); --sand-faint: rgb(239 231 218 / .14); --prisma: #2b8af0; }
.bar { position: fixed; z-index: 10; inset: 0 0 auto 0; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: max(14px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) 14px max(24px, env(safe-area-inset-left));
  background: rgb(13 12 10 / .62); backdrop-filter: blur(12px) saturate(120%); -webkit-backdrop-filter: blur(12px) saturate(120%);
  border-bottom: 1px solid rgb(239 231 218 / .07); }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; font-weight: 600; font-size: 17px; letter-spacing: -.01em; }
.brand img { width: 30px; height: auto; }
.bar nav { display: flex; align-items: center; gap: 24px; font-size: 14px; }
.bar nav a { color: var(--sand-dim); text-decoration: none; transition: color .2s; }
.bar nav a:hover, .bar nav a:focus-visible { color: var(--sand); }
.bar nav a.access { color: var(--sand); border: 1px solid rgb(239 231 218 / .28); padding: 7px 14px; border-radius: 999px; transition: border-color .2s, background .2s; }
.bar nav a.access:hover, .bar nav a.access:focus-visible { border-color: var(--sand); background: rgb(239 231 218 / .07); }

.bar { height: auto; }
.bar button { font: inherit; color: var(--sand-dim); background: none; border: 0; cursor: pointer; }
.bar a:focus-visible, .bar button:focus-visible { outline: 2px solid var(--prisma); outline-offset: 4px; }
.bar .menu-toggle { display: none; }
.service-menu { position: relative; }
.service-toggle { display: inline-flex; align-items: center; gap: 7px; padding: 8px 0; }
.service-toggle svg { width: 10px; height: 10px; flex: none; transition: transform .2s ease; }
.service-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.bar a[aria-current="page"] { color: var(--sand); text-decoration: underline; text-decoration-color: var(--sand-faint); text-underline-offset: 5px; }
.service-links { position: absolute; top: 100%; left: -18px; width: 280px; padding: 10px 18px; background: var(--ink); border: 1px solid var(--sand-faint); display: none; }
.bar .service-links a { display: block; padding: 10px 0; }
.service-menu.open .service-links { display: block; }
html:not(.nav-ready) .service-menu:hover .service-links, html:not(.nav-ready) .service-menu:focus-within .service-links { display: block; }
.prices-page .bar { position: relative; inset: auto; }
@media (min-width: 761px) and (max-width: 1050px) { .bar nav { gap: 12px; font-size: 12px; } .brand { font-size: 15px; } }
@media (max-width: 760px) {
  .bar { flex-wrap: wrap; gap: 10px; padding: 12px 20px; }
  .bar .brand { font-size: 15px; }
  .bar .brand img { width: 24px; }
  .bar .menu-toggle { display: block; margin-left: auto; padding: 6px 0; }
  .bar nav { display: contents; font-size: 13px; }
  .bar nav > a:not(.access), .bar nav > .service-menu { display: none; }
  .bar nav > a.access { display: block; padding: 6px 9px; }
  .bar.menu-open { max-height: 100svh; overflow-y: auto; background: var(--ink); }
  .bar.menu-open nav { display: flex; flex-direction: column; align-items: stretch; gap: 8px; flex-basis: 100%; }
  .bar.menu-open nav > a, .bar.menu-open nav > .service-menu { display: block; }
  .bar.menu-open nav > a { padding: 8px 0; }
  .bar .service-links { position: static; width: 100%; border: 0; border-left: 1px solid var(--sand-faint); margin: 4px 0 10px; }
  .bar.menu-open nav .service-links a { display: block; }
  .bar.menu-open .service-links { display: block; }
  .prices-page .bar.menu-open { position: absolute; inset: 0 0 auto; }
}

.service-page { --ink: #0d0c0a; --sand: #efe7da; --sans: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; --wrap: 76rem; --nav: 62px;
  margin: 0; background: var(--ink); color: var(--sand); font: 16px/1.55 var(--sans); -webkit-font-smoothing: antialiased; }
.service-page * { box-sizing: border-box; }
.service-page img { display: block; max-width: 100%; }
.service-page a { color: inherit; text-underline-offset: 4px; }
.service-page .wrap { max-width: var(--wrap); margin: 0 auto; padding-inline: max(24px, env(safe-area-inset-left)); }
.service-page main.wrap { position: relative; --rail-x: 18px; --rail-pad: max(48px, calc(env(safe-area-inset-left) + 48px)); padding-left: var(--rail-pad); }
.service-page h1, .service-page h2, .service-page h3 { margin: 0; font-weight: 650; letter-spacing: -.03em; line-height: 1.08; text-wrap: balance; }
.service-page h1 { font-size: clamp(40px, 6vw, 76px); max-width: 58rem; }
.service-page h2 { font-size: clamp(28px, 3.6vw, 44px); }
.service-page h3 { font-size: clamp(22px, 2.4vw, 30px); }
.service-page p { margin: 0; }
.service-page main { padding-top: 120px; }
.service-page section { padding-block: clamp(44px, 7vw, 90px); }
.service-page .service-app-heading { padding-bottom: 28px; }
.service-page .service-demo { padding-top: 0; padding-bottom: clamp(44px, 6vw, 64px); }
.service-page .service-demo .links a { padding: 10px 20px; border: 1px solid var(--sand-dim); border-radius: 999px; }
.service-page .pd li + li { margin-top: 0; }
.service-page .service-heading { max-width: 56rem; }
.service-page .service-photo { margin: 0 0 clamp(44px, 7vw, 90px); }
.service-page .service-photo img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 3px; }
.service-page .service-story { max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.service-page .service-story .lead { margin-top: 0; }
.service-page .service-story .service-photo { margin: 0; }
.service-page .service-heading > img { width: 60px; margin-bottom: 24px; }
.service-page .lead { margin-top: 28px; color: var(--sand-dim); font-size: clamp(18px, 2vw, 23px); }
.service-page .service-audience { margin-top: 32px; max-width: 42rem; color: var(--sand-dim); }
.service-page .service-audience h2 { font-size: 22px; margin-bottom: 12px; color: var(--sand); }
.service-page .service-includes { display: grid; grid-template-columns: 1fr 1.65fr; gap: clamp(28px, 6vw, 90px); border-top: 1px solid var(--sand-faint); }
.service-page .service-groups article { border-top: 1px solid var(--sand-faint); padding: 28px 0; }
.service-page .service-groups article:first-child { border-top: 0; padding-top: 0; }
.service-page ul { padding-left: 20px; margin: 20px 0 0; color: var(--sand-dim); }
.service-page li + li { margin-top: 10px; }
.service-page .service-working { max-width: 46rem; margin-left: auto; }
.service-page .service-working p, .service-page .service-close p { margin-top: 24px; color: var(--sand-dim); }
.service-page .service-close { border-top: 1px solid var(--sand-faint); }
.service-page .links { display: flex; flex-wrap: wrap; gap: 16px 28px; margin-top: 28px; }
.service-page .links a { font-weight: 600; }
.service-page .reveal { transition: opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1); }
.service-page.js .reveal { opacity: 0; transform: translateY(18px); }
.service-page.js .reveal.seen { opacity: 1; transform: none; }
@media (max-width: 900px) { .service-page .service-story, .service-page .service-includes { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .service-toggle svg { transition: none; } .service-page .reveal { transition: none; } .service-page.js .reveal { opacity: 1; transform: none; } }

/* Service scenes share the palette, but keep their own geometry. */
.service-page { --guide: #ef4444; isolation: isolate; background: radial-gradient(ellipse at 80% 8%, #241e15, transparent 40%), var(--ink); }
.service-page .service-grain { position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .035; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E"); }
.service-page .service-glow { position: fixed; inset: 0; z-index: -2; pointer-events: none; overflow: hidden; }
.service-page .service-glow::before { content: ""; position: absolute; width: 650px; height: 650px; background: radial-gradient(circle, rgb(168 124 62 / .10), transparent 68%); transform: translate3d(calc(var(--glow-x, 55vw) - 325px), calc(var(--glow-y, 35vh) - 325px), 0); }
.service-page main { padding-top: 108px; }
.service-page .service-guide { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; overflow: visible; opacity: 0; }
.service-page.guide-ready .service-guide { opacity: 1; }
.service-page .guide-track, .service-page .guide-fill { fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.service-page .guide-track { display: none; }
.service-page .guide-fill { stroke: var(--prisma); filter: drop-shadow(0 0 6px rgb(43 138 240 / .45)); }
.service-page .guide-halo { fill: none; stroke: var(--halo-color, #76b7fa); stroke-width: 2; opacity: 0; transform-box: fill-box; transform-origin: center; pointer-events: none; }
.service-page .guide-halo.flash { animation: guide-halo-flash .75s cubic-bezier(.16, 1, .3, 1) forwards; }
.service-page .guide-node { fill: var(--ink); stroke: rgb(239 231 218 / .3); stroke-width: 1.5; transform-box: fill-box; transform-origin: center; transition: transform .25s ease, fill .25s ease, stroke .25s ease, filter .25s ease; }
.service-page:not(.motion-ready) .guide-node, .service-page .guide-node.active { fill: #76b7fa; stroke: #94caff; filter: drop-shadow(0 0 6px rgb(43 138 240 / .65)); transform: scale(1.22); }
.service-page .guide-tip { fill: #94caff; filter: drop-shadow(0 0 6px var(--prisma)) drop-shadow(0 0 14px rgb(43 138 240 / .65)); opacity: 0; will-change: transform; }
.service-page.motion-ready .guide-tip { opacity: 1; }
.service-page main > :not(.service-guide) { position: relative; z-index: 1; }
.service-page .service-hero { position: relative; display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: clamp(28px, 5vw, 70px); padding-block: 40px 86px; isolation: isolate; }
.service-page .service-hero::before { content: ""; position: absolute; inset: 0 -15px; pointer-events: none; z-index: -2; opacity: .13; mask-image: linear-gradient(#000, transparent); background: repeating-linear-gradient(0deg, transparent 0 23px, #858078 24px 25px), repeating-linear-gradient(90deg, transparent 0 11px, #858078 12px 13px); }
.service-page[data-service="microsoft-365"] .service-hero::before { background: linear-gradient(90deg, #858078 1px, transparent 1px), linear-gradient(#858078 1px, transparent 1px); background-size: 70px 64px; }
.service-page[data-service="soporte-remoto"] .service-hero::before { background: radial-gradient(circle, #c4b9a6 1px, transparent 2px); background-size: 26px 26px; }
.service-page[data-service="ciberseguridad"] .service-hero::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='104' viewBox='0 0 60 104'%3E%3Cpath d='M30 0 60 17v35L30 69 0 52V17z M0 52v35l30 17 30-17V52' fill='none' stroke='%23b7ac98'/%3E%3C/svg%3E"); }
.service-page[data-service="app"] .service-hero::before { background: url('simbolo.svg') right center / 60% auto no-repeat; }
.service-page .hero-prisma { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.service-page .hero-prisma img { width: 260px; position: absolute; left: 35%; top: 12%; opacity: .09; filter: blur(7px); transform: rotate(-16deg); }
.service-page .hero-prisma i { position: absolute; width: 150px; height: 160px; background: var(--prisma); clip-path: polygon(0 100%, 100% 70%, 35% 0); opacity: .06; filter: blur(3px); left: 3%; top: 18%; }
.service-page .hero-prisma i:last-child { left: 74%; top: 58%; width: 220px; transform: rotate(50deg); }
.service-page .service-heading { padding: 0; min-width: 0; }
.service-page h1 { font-size: clamp(40px, 4.8vw, 68px); }
.service-page .lead { font-size: clamp(18px, 1.6vw, 21px); }
.service-page .service-audience { padding-left: 20px; border-left: 2px solid var(--prisma); }
.service-page .service-audience h2 { font-size: 18px; }
.service-page .service-photo { margin: 0; position: relative; padding: 7px; background: linear-gradient(140deg, var(--sand-faint), transparent 42%, var(--prisma)); clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 0 100%); transform: perspective(1100px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)); }
.service-page .service-photo img { border-radius: 0; clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 0 100%); }
.service-page .service-icon { width: 25px; height: 25px; flex: none; vertical-align: middle; color: #76b7fa; }
.service-page .service-groups h3 { display: flex; align-items: center; gap: 15px; }
.service-page .service-groups h3 .service-icon { width: 35px; height: 35px; }
.service-page .service-includes { display: block; }
.service-page .service-includes > h2 { margin-bottom: 48px; }
.service-page .service-groups { display: grid; grid-template-columns: 1.15fr .85fr; gap: 24px 70px; }
.service-page .service-groups article { padding: 28px 0; min-width: 0; }
.service-page .service-groups article:first-child { padding-top: 28px; border-top: 2px solid var(--prisma); }
.service-page.motion-ready .service-groups article:first-child { border-top-color: transparent; transition: border-top-color .25s ease, box-shadow .25s ease; }
.service-page.motion-ready .service-groups article:first-child.accent-lit { border-top-color: var(--prisma); box-shadow: 0 -2px 10px -2px rgb(43 138 240 / .5); }
.service-page .service-groups article:nth-child(2) { margin-top: 64px; }
.service-page .service-groups article:nth-child(3) { grid-column: 1 / -1; width: 80%; margin-left: auto; display: grid; grid-template-columns: .8fr 1.2fr; gap: 32px; }
.service-page .service-groups ul { list-style: none; padding: 0; }
.service-page .service-groups li { display: flex; align-items: flex-start; gap: 14px; padding: 14px 8px; border-bottom: 1px solid var(--sand-faint); margin: 0; scroll-margin-top: 110px; transition: color .2s, background .2s; }
.service-page .service-groups li .service-icon { width: 21px; height: 21px; margin-top: 2px; opacity: .7; }
.service-page .service-groups li:is(:hover, :focus-visible, :target, .connected) { color: var(--sand); background: rgb(43 138 240 / .09); }
.service-page :is(a, button, [tabindex]):focus-visible { outline: 2px solid #76b7fa; outline-offset: 5px; }
.service-page :is(li, h3, .capability-strip span, .network-node, .security-layer):is(:hover, :focus-visible) .service-icon { opacity: 1; }
.service-page :is(li, h3, .capability-strip span, .network-node, .security-layer):is(:hover, :focus-visible) .service-icon path { animation: service-ink .6s ease both; }
.service-page :is(li, .capability-strip span):is(:hover, :focus-visible) .icon-key { animation: service-key .55s ease; }
.service-page :is(li, .network-node):is(:hover, :focus-visible) .icon-wifi { animation: service-wave .7s ease; }
.service-page :is(li, .security-layer):is(:hover, :focus-visible) .icon-lock { animation: service-lock .5s ease; }
.service-page .service-working { max-width: none; margin: 0; display: grid; grid-template-columns: minmax(150px, 210px) minmax(0, 44rem); gap: 28px 56px; align-items: start; border-top: 1px solid var(--sand-faint); }
.service-page .service-working > h2 { grid-column: 1 / -1; }
.service-page .service-working > p { max-width: 44rem; margin: 0; align-self: center; }
.service-page .service-journey { display: flex; flex-direction: column; gap: 20px; margin: 0; }
.service-page .service-journey span { position: relative; font-size: 16px; font-weight: 500; color: var(--sand); transition: opacity .35s ease, transform .35s cubic-bezier(.2,.7,.2,1); }
.service-page:not(.guide-ready):not(.motion-ready) .service-journey span::before { content: ""; position: absolute; left: calc(var(--rail-x) - var(--rail-pad)); top: 50%; width: 7px; height: 7px; border-radius: 50%; background: #76b7fa; border: 1.5px solid #94caff; transform: translate(-50%, -50%); }
.service-page.motion-ready .service-journey span { opacity: 0; transform: translate3d(-8px, 0, 0); }
.service-page.motion-ready .service-journey span.active { opacity: 1; transform: translate3d(0, 0, 0); }
.service-page .service-close .links a { position: relative; display: inline-flex; gap: 20px; padding-block: 14px; font-size: 20px; text-decoration: none; }
.service-page .service-close .links a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 4px; height: 1px; background: var(--sand); transform: scaleX(.3); transform-origin: left; transition: transform .3s; }
.service-page.motion-ready .service-close .links a::after { opacity: 0; }
.service-page .service-close .links a span { transition: transform .3s; color: #76b7fa; }
.service-page.motion-ready .service-close .links a.guide-complete span { animation: guide-arrow-hop .55s cubic-bezier(.22, 1.3, .36, 1) both; }
.service-page .service-close .links a:is(:hover, :focus-visible)::after { transform: scaleX(1); }
.service-page .service-close .links a:is(:hover, :focus-visible) span { transform: translate(5px, -5px); }
.service-page .service-scene, .service-page .service-demo, .service-page .capability-strip { padding-right: 118px; }
.service-page .service-scene { border-top: 1px solid var(--sand-faint); padding-block: 42px 64px; overflow-x: clip; }
.service-page .scene-caption { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 36px; }
.service-page .scene-caption h2 { max-width: 26rem; }
.service-page .scene-caption p { max-width: 23rem; color: var(--sand-dim); }
.service-page .network-board { position: relative; aspect-ratio: 1000 / 500; background: radial-gradient(ellipse at 52% 48%, rgb(43 138 240 / .07), transparent 65%); }
.service-page .network-wires { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.service-page .network-wires--mobile { display: none; }
.service-page .network-wires path { fill: none; stroke: #4d555d; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; transition: stroke .2s, stroke-width .2s; }
.service-page .network-wires path.wire-vpn { stroke: #3b76a8; stroke-dasharray: 6 5; }
.service-page .network-wires path.wire-trunk { stroke: #607182; stroke-width: 2.3; }
.service-page .network-wires path.wire-backup { stroke: #c48329; stroke-width: 1.8; }
.service-page .network-wires path.connected { stroke: #76b7fa; stroke-width: 2.4; }
.service-page .network-wires path.wire-backup.connected { stroke: #fbbf24; }
.service-page .network-packets { transition: opacity .4s ease; }
.service-page.motion-ready .network-scene:not(.wires-drawn) .network-packets { opacity: 0; }
.service-page .network-wires .network-flow-defs path { stroke: none; pointer-events: none; }
.service-page .network-wires .wire-lock circle { fill: #141615; stroke: #4d88bd; stroke-width: 1.3; }
.service-page .network-wires .wire-lock path { fill: none; stroke: #8ec5fc; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; vector-effect: none; }
.service-page .packet { fill: #60a5fa; color: #3b82f6; filter: drop-shadow(0 0 4px currentColor); pointer-events: none; }
.service-page .packet--backup { fill: #fbbf24; color: #f59e0b; }
.service-page .packet--identity { fill: #c084fc; color: #a855f7; }
.service-page .packet--guest { fill: #34d399; color: #10b981; }
.service-page .packet--vpn { fill: #7dd3fc; color: #38bdf8; }
.service-page .packet--attack { fill: #f87171; color: #ef4444; }
.service-page .network-node { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 9px 11px; background: #141615; border: 1px solid #51534f; text-decoration: none; font-size: 13px; line-height: 1.2; text-align: center; min-width: 108px; max-width: 162px; transition: border-color .22s ease, background-color .22s ease, box-shadow .22s ease; }
.service-page .network-node span { font-weight: 500; color: var(--sand); }
.service-page .network-node small { font-size: 11px; color: var(--sand-dim); font-weight: 400; }
.service-page .network-node[data-node="firewall"] { border-color: var(--prisma); border-radius: 50% 50% 8px 8px; }
.service-page .network-node.pulse { border-color: var(--pulse-color, #76b7fa); box-shadow: 0 0 14px -2px var(--pulse-color, #76b7fa); background: #171e24; }
.service-page .network-node:is(:hover, :focus-visible) { border-color: #76b7fa; background: #17252f; }
.service-page .network-key { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 14px; margin-top: 22px; font-size: 12.5px; color: var(--sand-dim); }
.service-page .network-key span { display: inline-flex; align-items: center; gap: 6px; }
.service-page .network-key span + span::before { content: "·"; margin-right: 8px; opacity: .45; }
.service-page .network-key i { width: 7px; height: 7px; border-radius: 50%; display: inline-block; }
.service-page .network-key .dot-daily { background: #60a5fa; }
.service-page .network-key .dot-backup { background: #fbbf24; }
.service-page .network-key .dot-identity { background: #c084fc; }
.service-page .network-key .dot-guest { background: #34d399; }
.service-page .network-key .dot-vpn { background: #7dd3fc; }
.service-page .security-layout { display: grid; grid-template-columns: 1.15fr 1fr; gap: 60px; align-items: center; }
.service-page .security-orbit { aspect-ratio: 1; position: relative; }
.service-page .security-ring { position: absolute; width: var(--ring); height: var(--ring); left: 50%; top: 50%; transform: translate(-50%, -50%); border: 1px solid rgb(118 183 250 / .35); border-radius: 50%; pointer-events: none; transition: border-color .2s, background .2s, box-shadow .2s; }
.service-page.motion-ready .security-ring { -webkit-mask: conic-gradient(from var(--ring-from, 0deg), #000 calc(var(--draw, 1) * 1turn), transparent 0); mask: conic-gradient(from var(--ring-from, 0deg), #000 calc(var(--draw, 1) * 1turn), transparent 0); }
.service-page .security-ring.active { border-color: #94caff; background: rgb(43 138 240 / .06); }
.service-page .security-ring.ring-hit { border-color: rgb(248 113 113 / .82); background: rgb(239 68 68 / .05); box-shadow: 0 0 12px rgb(239 68 68 / .22); }
.service-page .security-data { position: absolute; inset: 43% 0 auto; text-align: center; font-size: 22px; color: var(--sand); }
.service-page .scan-line { position: absolute; width: 47%; height: 1px; background: linear-gradient(90deg, transparent, #76b7fa); top: 50%; left: 50%; transform-origin: left; transform: rotate(-30deg); z-index: 2; }
.service-page .radar-dot { position: absolute; left: var(--x); top: var(--y); width: 6px; height: 6px; margin: -3px 0 0 -3px; border-radius: 50%; background: #60a5fa; box-shadow: 0 0 7px #3b82f6; pointer-events: none; z-index: 2; will-change: transform, opacity; }
.service-page .radar-dot.flash { background: #bfdbfe; box-shadow: 0 0 10px #94caff, 0 0 18px #3b82f6; }
.service-page .attack-dot { position: absolute; left: var(--x, 86.6%); top: var(--y, 64.8%); width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: var(--guide); box-shadow: 0 0 9px var(--guide); font-style: normal; pointer-events: none; z-index: 3; will-change: transform, opacity; }
.service-page.motion-ready .attack-dot { opacity: 0; }
.service-page .attack-ring { position: absolute; left: 50%; top: 50%; width: 20px; height: 20px; margin: -10px 0 0 -10px; border: 1.5px solid #f87171; border-radius: 50%; opacity: .85; will-change: transform, opacity; }
.service-page .attack-label { position: absolute; top: 50%; right: calc(100% + 9px); transform: translateY(-50%); padding: 2px 6px; background: rgb(13 12 10 / .84); border: 1px solid rgb(248 113 113 / .42); border-radius: 3px; color: #fca5a5; font: 600 11px/1.2 "IBM Plex Mono", ui-monospace, monospace; letter-spacing: .01em; white-space: nowrap; }
.service-page .attack-dot--left .attack-label { right: auto; left: calc(100% + 9px); }
.service-page .security-layer { display: block; width: 100%; text-align: left; padding: 17px 0; border: 0; border-bottom: 1px solid var(--sand-faint); color: var(--sand); background: none; font: inherit; cursor: pointer; }
.service-page .security-layer > span { display: flex; align-items: center; gap: 14px; font-size: 20px; }
.service-page .security-layer small { display: block; color: var(--sand-dim); margin: 7px 0 0 39px; font-size: 14px; }
.service-page .security-layer:is(:hover, :focus-visible, [aria-pressed="true"]) { border-color: #76b7fa; }
.service-page .security-layer:is(:hover, :focus-visible, [aria-pressed="true"]) small { color: var(--sand); }
.service-page .admin-board { max-width: 950px; margin-left: auto; border: 1px solid #504a40; background: #151410; border-radius: 8px 8px 0 0; }
.service-page .admin-top { display: flex; justify-content: space-between; gap: 16px; padding: 18px 26px; border-bottom: 1px solid var(--sand-faint); }
.service-page .admin-top span { color: var(--sand-dim); }
.service-page .admin-content { display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px; padding: 30px; }
.service-page .admin-board h3 { font-size: 18px; margin-bottom: 20px; }
.service-page .admin-user { display: flex; align-items: center; gap: 12px; padding: 16px 0; border-top: 1px solid var(--sand-faint); font-size: 14px; }
.service-page .admin-user > span:first-of-type { flex: 1; }
.service-page .admin-user small { font-size: 12px; color: var(--sand-dim); }
.service-page .mfa-switch { width: 30px; height: 18px; border-radius: 12px; border: 1px solid #76b7fa; flex: none; }
.service-page .mfa-switch::before { content: ""; display: block; width: 10px; height: 10px; background: #76b7fa; border-radius: 50%; margin: 3px; transform: translateX(12px); }
.service-page .license-meter { border-left: 1px solid var(--sand-faint); padding-left: 28px; }
.service-page .license-meter > div { display: flex; gap: 6px; margin-block: 22px; }
.service-page .license-meter i { width: 25%; height: 5px; background: var(--prisma); }
.service-page .license-meter i:last-child { background: var(--sand-faint); }
.service-page .license-meter small { color: var(--sand-dim); }
.service-page .dns-records { display: flex; border-top: 1px solid var(--sand-faint); padding: 20px 30px; gap: 30px; }
.service-page .dns-record { flex: 1; display: grid; grid-template-columns: 1fr; gap: 6px; font-size: 14px; }
.service-page .dns-record > span { grid-area: 2 / 1; }
.service-page .dns-pending { opacity: 0; color: var(--sand-dim); }
.service-page .dns-done { display: flex; align-items: center; gap: 7px; }
.service-page .dns-done svg { width: 17px; height: 17px; }
.service-page .ticket-board { max-width: 760px; margin: auto; background: #181610; border: 1px solid #504a40; border-top: 3px solid var(--prisma); }
.service-page .ticket-heading { display: flex; align-items: center; gap: 16px; padding: 24px; }
.service-page .ticket-timeline { display: flex; justify-content: space-between; padding: 20px 24px; border-block: 1px solid var(--sand-faint); }
.service-page .ticket-timeline span { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.service-page .ticket-timeline span::before { content: ""; width: 7px; height: 7px; background: #76b7fa; border-radius: 50%; }
.service-page .ticket-chat { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 28px; }
.service-page .chat-bubble { background: #302a20; border-radius: 0 16px 16px; padding: 14px 18px; max-width: 85%; }
.service-page .chat-bubble.reply { align-self: flex-end; background: #192c3a; border-radius: 16px 0 16px 16px; }
.service-page .remote-cursor { position: absolute; right: 12%; top: 40%; width: 24px; fill: var(--guide); stroke: var(--sand); stroke-width: 1; }
.service-page .typing-dots { display: flex; gap: 4px; height: 5px; opacity: 0; }
.service-page .typing-dots i { width: 5px; height: 5px; border-radius: 50%; background: var(--sand-dim); }
.service-page .capability-strip { display: flex; flex-wrap: wrap; gap: 18px 28px; padding-block: 24px; border-block: 1px solid var(--sand-faint); margin-bottom: 32px; }
.service-page .capability-strip span { display: inline-flex; align-items: center; gap: 9px; font-size: 14px; }
.service-page .service-demo { position: relative; isolation: isolate; }
.service-page .service-demo::before { content: ""; position: absolute; inset: -70px 0; z-index: -1; opacity: .05; pointer-events: none; background: url('simbolo.svg') center / contain no-repeat; }
.service-page .reveal { transition-delay: var(--reveal-delay, 0ms); }
@keyframes service-drift { to { translate: 24px -20px; rotate: 8deg; } }
@keyframes service-scan { to { rotate: 360deg; } }
@keyframes service-mfa { 0%, 15% { transform: translateX(0); opacity: .3; } 35%, 100% { transform: translateX(12px); opacity: 1; } }
@keyframes service-confirm { 0%, 20% { opacity: 0; transform: translateY(4px); } 35%, 100% { opacity: 1; transform: none; } }
@keyframes service-pending { 0%, 20% { opacity: 1; } 35%, 100% { opacity: 0; } }
@keyframes service-chat { 0%, 8% { opacity: 0; transform: translateY(8px); } 18%, 100% { opacity: 1; transform: none; } }
@keyframes service-cursor { 0%, 100% { transform: translate(0, 0); } 35% { transform: translate(-70px, 22px); } 70% { transform: translate(20px, 65px); } }
@keyframes service-status { 0%, 15% { opacity: .35; } 30%, 100% { opacity: 1; } }
@keyframes service-ink { from { stroke-dasharray: 80; stroke-dashoffset: 80; } to { stroke-dasharray: 80; stroke-dashoffset: 0; } }
@keyframes service-key { 50% { transform: rotate(-30deg); } }
@keyframes service-wave { 50% { transform: scale(1.17); opacity: .5; } }
@keyframes service-lock { 50% { transform: translateY(-3px); } }
@keyframes guide-halo-flash { 0% { opacity: .88; transform: scale(.75); } 100% { opacity: 0; transform: scale(1.65); } }
@keyframes guide-arrow-hop { 0% { transform: translate(0, 0); } 45% { transform: translate(7px, -7px) scale(1.15); } 100% { transform: translate(3px, -3px); } }
@media (prefers-reduced-motion: no-preference) {
  .service-page.motion-ready .hero-prisma > * { animation: service-drift 12s ease-in-out infinite alternate; }
  .service-page.motion-ready .hero-prisma i:last-child { animation-delay: -6s; }
  .service-page.motion-ready .scan-line { animation: service-scan 18s linear infinite; }
  .service-page.motion-ready .mfa-switch::before { animation: service-mfa 9s var(--delay) both; }
  .service-page.motion-ready .dns-done { animation: service-confirm 6s var(--delay) both; }
  .service-page.motion-ready .dns-pending { animation: service-pending 6s var(--delay) both; }
  .service-page.motion-ready .chat-bubble { animation: service-chat 10s var(--delay) both; }
  .service-page.motion-ready .typing-dots { animation: service-pending 8s both; }
  .service-page.motion-ready .remote-cursor { animation: service-cursor 10s ease-in-out infinite; }
  .service-page.motion-ready .ticket-timeline span { animation: service-status 4s both; }
  .service-page.motion-ready .ticket-timeline span:nth-child(2) { animation-delay: 2s; }
  .service-page.motion-ready .ticket-timeline span:nth-child(3) { animation-delay: 6s; }
  .service-page.motion-ready .motion-zone:not(.in-view) *, .service-page.motion-ready .motion-zone:not(.in-view) *::before,
  .service-page.motion-paused *, .service-page.motion-paused *::before { animation-play-state: paused !important; }
}
@media (max-width: 900px) {
  .service-page .service-hero { grid-template-columns: 1fr; padding-top: 22px; gap: 36px; }
  .service-page .service-photo { max-width: 640px; width: 100%; justify-self: end; }
  .service-page .service-scene, .service-page .service-demo, .service-page .capability-strip { padding-right: 108px; }
  .service-page .service-groups { gap: 20px 32px; }
  .service-page .service-groups article:nth-child(3) { width: 100%; }
  .service-page .scene-caption { display: block; }
  .service-page .scene-caption p { margin-top: 18px; }
  .service-page .security-layout { gap: 28px; }
  .service-page .network-node { min-width: 88px; max-width: 136px; padding: 7px 8px; font-size: 11.5px; }
  .service-page .network-node small { font-size: 9.5px; }
  .service-page .admin-content { gap: 24px; padding: 24px; }
}
@media (max-width: 700px) {
  .service-page main.wrap { --rail-x: 12px; --rail-pad: 28px; padding-right: 18px; }
  .service-page .guide-track, .service-page .guide-fill { stroke-width: 1.25; }
  .service-page .service-hero { padding-bottom: 68px; }
  .service-page .service-scene, .service-page .service-demo, .service-page .capability-strip { padding-right: 0; }
  .service-page .service-includes { padding-top: 88px; }
  .service-page .service-groups, .service-page .service-groups article:nth-child(3) { display: block; }
  .service-page .service-groups article:nth-child(2) { margin-top: 0; }
  .service-page .service-working { grid-template-columns: 1fr; gap: 22px; }
  .service-page .network-board { aspect-ratio: 400 / 700; }
  .service-page .network-wires--desktop { display: none; }
  .service-page .network-wires--mobile { display: block; }
  .service-page .network-node { left: var(--mx); top: var(--my); min-width: 0; width: 118px; max-width: 42%; padding: 7px 6px; gap: 4px; font-size: 11px; }
  .service-page .network-node .service-icon { width: 19px; height: 19px; }
  .service-page .network-node small { display: none; }
  .service-page .network-key { font-size: 11.5px; gap: 4px 12px; }
  .service-page .network-key span + span::before { margin-right: 6px; }
  .service-page .radar-dot--desktop { display: none; }
  .service-page .attack-label { font-size: 10px; padding: 2px 5px; }
}
@media (max-width: 600px) {
  .service-page main { padding-top: 100px; }
  .service-page .service-includes > h2 { margin-bottom: 24px; }
  .service-page .security-layout, .service-page .admin-content { grid-template-columns: 1fr; }
  .service-page .security-orbit { max-width: 340px; width: 100%; margin: auto; }
  .service-page .security-layer { padding-block: 12px; }
  .service-page .admin-top { padding: 18px; font-size: 13px; }
  .service-page .admin-content { padding: 20px; }
  .service-page .admin-user { gap: 8px; font-size: 12px; }
  .service-page .admin-user .service-icon { width: 18px; }
  .service-page .license-meter { border-left: 0; border-top: 1px solid var(--sand-faint); padding: 20px 0 0; }
  .service-page .dns-records { padding: 20px; gap: 12px; }
  .service-page .dns-record { font-size: 12px; }
  .service-page .ticket-heading { padding: 18px; font-size: 14px; }
  .service-page .ticket-timeline { padding: 16px; }
  .service-page .ticket-timeline span { font-size: 12px; }
  .service-page .ticket-chat { padding: 18px; font-size: 14px; }
  .service-page .capability-strip { gap: 18px 22px; }
  .service-page .capability-strip span { flex-basis: calc(50% - 12px); }
}
@media (prefers-reduced-motion: reduce) {
  .service-page *, .service-page *::before, .service-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .service-page .service-photo { transform: none; }
  .service-page .reveal { opacity: 1 !important; transform: none !important; }
  .service-page .guide-fill { stroke-dashoffset: 0 !important; }
  .service-page .guide-tip, .service-page .guide-halo, .service-page .scan-line { display: none; }
  .service-page .service-journey span { opacity: 1 !important; transform: none !important; }
  .service-page .network-packets { display: none; }
  .service-page .radar-dot { opacity: .78 !important; transform: none !important; }
  .service-page .attack-dot { opacity: 1 !important; transform: none !important; }
  .service-page .attack-ring { opacity: .85 !important; transform: none !important; }
}

/* Asset label printer and card (app.html) */
.service-page .price-tag-station { --pt-mm: 1.05mm; margin-top: 32px; display: flex; flex-wrap: wrap; align-items: flex-start; gap: 14px 22px; }
.service-page .price-tag-unit { width: calc(96 * var(--pt-mm)); max-width: 100%; display: flex; flex-direction: column; align-items: center; position: relative; }
.service-page .price-tag-printer { position: relative; z-index: 2; width: 100%; color: rgb(239 231 218 / .54); user-select: none; }
.service-page .price-tag-printer-svg { display: block; width: 100%; height: auto; }
.service-page .price-tag-shell { fill: #14120e; }
.service-page .price-tag-window { fill: #090806; }
.service-page .price-tag-meta { position: absolute; right: calc(4.5 * var(--pt-mm)); top: calc(5.2 * var(--pt-mm)); display: inline-flex; align-items: center; gap: 6px; font: 600 calc(2.35 * var(--pt-mm))/1 "IBM Plex Mono", ui-monospace, monospace; letter-spacing: .06em; color: var(--sand-dim); }
.service-page .price-tag-led { width: calc(1.7 * var(--pt-mm)); height: calc(1.7 * var(--pt-mm)); border-radius: 50%; background: rgb(239 231 218 / .38); transition: background .2s; }
.service-page .price-tag-slot { position: relative; width: calc(90 * var(--pt-mm)); height: calc(2.2 * var(--pt-mm)); margin: -2px auto 0; background: #050504; border: 1px solid rgb(239 231 218 / .24); border-radius: 2px; box-shadow: 0 6px 14px rgb(0 0 0 / .85); }
.service-page .price-tag-slot::after { content: ""; position: absolute; left: 3%; right: 3%; top: 50%; height: 1px; background: rgb(239 231 218 / .18); transform: translateY(-50%); }
.service-page .price-tag-tray { position: relative; z-index: 1; display: flex; justify-content: center; width: 100%; margin-top: calc(-1 * var(--pt-mm)); padding-bottom: calc(2 * var(--pt-mm)); }
.service-page .price-tag { --iv-brand: #2b8af0; --iv-ink: #17171a; --iv-muted: #6b6b75; --iv-line: #e4e4ea; position: relative; box-sizing: border-box; width: calc(85.6 * var(--pt-mm)); height: calc(54 * var(--pt-mm)); display: flex; flex-direction: column; overflow: hidden; text-decoration: none; background: linear-gradient(180deg, #f2eee4 0%, #fcfbf8 9%, #ffffff 42%, #faf8f2 100%); color: var(--iv-ink); border-radius: calc(3.2 * var(--pt-mm)); border: calc(0.2 * var(--pt-mm)) solid var(--iv-line); font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "IBM Plex Sans", "Segoe UI", Roboto, sans-serif; line-height: 1.2; box-shadow: 0 1px 0 rgb(255 255 255 / .75) inset, 0 16px 30px -12px rgb(0 0 0 / .82), 0 3px 7px rgb(0 0 0 / .45); transform-origin: 50% 0; transform: translate3d(0, calc(1.2 * var(--pt-mm)), 0) rotate(-1.5deg); transition: transform .28s cubic-bezier(.22, 1, .36, 1), box-shadow .28s ease; }
.service-page .price-tag:is(:hover, :focus-visible) { z-index: 3; transform: translate3d(0, calc(-1.2 * var(--pt-mm)), 0) rotate(0deg); box-shadow: 0 1px 0 rgb(255 255 255 / .9) inset, 0 24px 38px -12px rgb(0 0 0 / .9), 0 6px 14px rgb(0 0 0 / .55); }
.service-page .price-tag:focus-visible { outline: 2px solid var(--prisma); outline-offset: 5px; }
.service-page .price-tag-head { display: flex; align-items: center; gap: calc(2.4 * var(--pt-mm)); padding: calc(2.6 * var(--pt-mm)) calc(3.2 * var(--pt-mm)) calc(2.2 * var(--pt-mm)); border-top: calc(1.4 * var(--pt-mm)) solid var(--iv-brand); }
.service-page .price-tag-logo { flex: none; width: calc(9 * var(--pt-mm)); height: calc(9 * var(--pt-mm)); display: grid; place-items: center; }
.service-page .price-tag-logo-img { width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; }
.service-page .price-tag-company { min-width: 0; }
.service-page .price-tag-company-name { font-weight: 700; font-size: calc(3.3 * var(--pt-mm)); color: var(--iv-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.service-page .price-tag-owner { font-size: calc(2.1 * var(--pt-mm)); color: var(--iv-muted); margin-top: calc(0.4 * var(--pt-mm)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.service-page .price-tag-body { flex: 1; display: flex; align-items: center; gap: calc(3 * var(--pt-mm)); padding: 0 calc(3.2 * var(--pt-mm)); min-height: 0; }
.service-page .price-tag-qr { flex: none; width: calc(27 * var(--pt-mm)); height: calc(27 * var(--pt-mm)); padding: calc(1.2 * var(--pt-mm)); border: calc(0.2 * var(--pt-mm)) solid var(--iv-line); border-radius: calc(1.6 * var(--pt-mm)); background: #fff; }
.service-page .price-tag-qr-img { display: block; width: 100%; height: 100%; image-rendering: pixelated; }
.service-page .price-tag-asset { min-width: 0; flex: 1; display: flex; flex-direction: column; justify-content: center; }
.service-page .price-tag-asset-name { font-weight: 700; font-size: calc(4.5 * var(--pt-mm)); letter-spacing: -.015em; color: var(--iv-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.service-page .price-tag-rows { margin: calc(1.6 * var(--pt-mm)) 0 0; }
.service-page .price-tag-row { display: flex; gap: calc(1.5 * var(--pt-mm)); font-size: calc(2.3 * var(--pt-mm)); margin-top: calc(0.75 * var(--pt-mm)); }
.service-page .price-tag-row:first-child { margin-top: 0; }
.service-page .price-tag-row dt { color: var(--iv-muted); font-weight: 400; flex: none; }
.service-page .price-tag-row dd { margin: 0; color: var(--iv-ink); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
.service-page .price-tag-foot { display: flex; gap: calc(2.4 * var(--pt-mm)); align-items: center; padding: calc(1.6 * var(--pt-mm)) calc(3.2 * var(--pt-mm)); margin-top: calc(1.8 * var(--pt-mm)); background: var(--iv-brand); color: #fff; font-size: calc(2.1 * var(--pt-mm)); font-weight: 600; min-height: calc(6 * var(--pt-mm)); }
.service-page .price-tag-contact-item { display: inline-flex; align-items: center; gap: calc(0.8 * var(--pt-mm)); min-width: 0; white-space: nowrap; }
.service-page .price-tag-contact-item > span { overflow: hidden; text-overflow: ellipsis; }
.service-page .price-tag-ico { display: inline-block; width: calc(2.6 * var(--pt-mm)); height: calc(2.6 * var(--pt-mm)); background: currentColor; flex: none; }
.service-page .price-tag-ico--mail { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E") center / contain no-repeat; }
.service-page .price-tag-reprint { appearance: none; background: none; border: 0; padding: 6px 0; margin-top: calc(9 * var(--pt-mm)); font: 500 13px/1.3 var(--sans); color: var(--sand-dim); text-decoration: underline; text-decoration-color: var(--sand-faint); text-underline-offset: 4px; cursor: pointer; transition: color .2s, text-decoration-color .2s; }
.service-page .price-tag-reprint:is(:hover, :focus-visible) { color: var(--sand); text-decoration-color: var(--sand); }
.service-page:not(.motion-ready) .price-tag-reprint { display: none; }
@keyframes price-tag-led-blink { 0%, 100% { background: rgb(239 231 218 / .25); } 50% { background: var(--sand); } }
@keyframes price-tag-rumble { 0%, 100% { transform: translate3d(0, 0, 0); } 25% { transform: translate3d(-.5px, .6px, 0); } 50% { transform: translate3d(.5px, -.4px, 0); } 75% { transform: translate3d(-.4px, -.5px, 0); } }
@keyframes price-tag-feed {
  0% { opacity: 0; transform: translate3d(0, calc(-16 * var(--pt-mm)), 0) rotate(0deg); clip-path: inset(0 -14px 100% -14px); }
  6% { opacity: 1; transform: translate3d(0, calc(-14 * var(--pt-mm)), 0) rotate(0deg); clip-path: inset(0 -14px 92% -14px); }
  68% { opacity: 1; transform: translate3d(0, calc(-2.2 * var(--pt-mm)), 0) rotate(0deg); clip-path: inset(0 -14px -18px -14px); }
  80% { opacity: 1; transform: translate3d(0, calc(-2 * var(--pt-mm)), 0) rotate(0deg); clip-path: inset(0 -14px -18px -14px); }
  94% { opacity: 1; transform: translate3d(0, calc(1.8 * var(--pt-mm)), 0) rotate(-1.85deg); clip-path: inset(-14px -14px -24px -14px); }
  100% { opacity: 1; transform: translate3d(0, calc(1.2 * var(--pt-mm)), 0) rotate(-1.5deg); clip-path: inset(-14px -14px -24px -14px); }
}
@keyframes price-tag-qr-feed {
  0%, 38% { clip-path: inset(0 0 100% 0); opacity: .2; }
  74%, 100% { clip-path: inset(0 0 0% 0); opacity: 1; }
}
@media (prefers-reduced-motion: no-preference) {
  .service-page.motion-ready .price-tag-station:not(.is-printed):not(.is-printing) .price-tag { opacity: 0; transform: translate3d(0, calc(-16 * var(--pt-mm)), 0) rotate(0deg); clip-path: inset(0 -14px 100% -14px); pointer-events: none; }
  .service-page.motion-ready .price-tag-station:not(.is-printed):not(.is-printing) .price-tag-qr-img { clip-path: inset(0 0 100% 0); }
  .service-page.motion-ready .price-tag-station.is-printing .price-tag-led { animation: price-tag-led-blink .2s steps(2) 6; }
  .service-page.motion-ready .price-tag-station.is-printing .price-tag-printer { animation: price-tag-rumble .085s linear 13; }
  .service-page.motion-ready .price-tag-station.is-printing .price-tag { animation: price-tag-feed 1.55s cubic-bezier(.22, 1, .36, 1) forwards; }
  .service-page.motion-ready .price-tag-station.is-printing .price-tag-qr-img { animation: price-tag-qr-feed 1.55s steps(14) forwards; }
}
@media (max-width: 700px) {
  .service-page .price-tag-station { --pt-mm: min(0.92mm, calc((100vw - 56px) / 96)); gap: 10px 18px; }
  .service-page .price-tag-reprint { margin-top: 4px; font-size: 12.5px; }
}
