/* ==========================================================================
   Amazon Guía — estilos del tema
   Índice: 1 Base · 2 Utilidades · 3 Header · 4 Botones/enlaces · 5 Secciones
   6 Hero · 7 Tarjetas · 8 Pasos · 9 Split/listas · 10 Portfolio/galería
   11 FAQ · 12 CTA · 13 Visuales · 14 Footer · 15 Páginas · 16 Diálogo
   17 Animaciones · 18 Movimiento reducido
   ========================================================================== */

@font-face {
	font-family: "Bricolage Grotesque";
	font-style: normal;
	font-display: swap;
	font-weight: 200 800;
	src: url(../fonts/bricolage-grotesque-latin-wght-normal.woff2) format("woff2");
}
@font-face {
	font-family: "Figtree";
	font-style: normal;
	font-display: swap;
	font-weight: 300 900;
	src: url(../fonts/figtree-latin-wght-normal.woff2) format("woff2");
}

:root {
	--ag-white: #FFFFFF;
	--ag-black: #000000;
	--ag-yellow: #F8D500;
	--ag-orange: #EF6A1E;
	--ag-font-fallback: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--ag-font-head: "Bricolage Grotesque", var(--ag-font-fallback);
	--ag-font-body: "Figtree", var(--ag-font-fallback);
	--ag-head-scale: 1;
	--ag-container: 1200px;
	--ag-gutter: clamp(16px, 4vw, 32px);
	--ag-section: clamp(64px, 8vw, 120px);
	--ag-radius-sm: 12px;
	--ag-radius: 18px;
	--ag-radius-lg: 28px;
	--ag-ease: cubic-bezier(.22, .61, .36, 1);
	--ag-ease-out: cubic-bezier(.16, 1, .3, 1);
}

/* Colores derivados: se recalculan en cada bloque para seguir a los colores de Elementor (globales o por widget). */
body, .ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block, .agc {
	--ag-ink: var(--ag-black);
	--ag-ink-2: rgba(0, 0, 0, .72);
	--ag-ink-3: rgba(0, 0, 0, .55);
	--ag-line: rgba(0, 0, 0, .12);
	--ag-line-2: rgba(0, 0, 0, .2);
	--ag-soft: #F7F7F4;
	--ag-skel: #E8E8E2;
	--ag-tint: #FFF9D9;
	--ag-tint: color-mix(in srgb, var(--ag-yellow) 15%, var(--ag-white));
	--ag-tint-o: #FDEBE0;
	--ag-tint-o: color-mix(in srgb, var(--ag-orange) 14%, var(--ag-white));
	--ag-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 10px 28px -14px rgba(0, 0, 0, .16);
	--ag-shadow-lift: 0 2px 6px rgba(0, 0, 0, .05), 0 22px 40px -18px rgba(0, 0, 0, .25);
	--ag-shadow-big: 0 2px 8px rgba(0, 0, 0, .05), 0 40px 80px -36px rgba(0, 0, 0, .35);
}

/* ---------- 1. Base (limitada a los bloques de Amazon Guía para no alterar el resto del tema) ---------- */
:where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block), :where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) *, :where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) *::before, :where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) *::after { box-sizing: border-box; }
html:has(> body.ag-full) { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 96px; }
body.ag-full {
	margin: 0;
	background: var(--ag-white);
	overflow-x: clip;
}
body.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block {
	color: var(--ag-ink);
	font-family: var(--ag-font-body);
	font-size: clamp(1rem, .96rem + .15vw, 1.0625rem);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
:where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) img, :where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) svg, :where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) video { max-width: 100%; height: auto; }
:where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) img { display: block; }
:where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) h1, :where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) h2, :where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) h3, :where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) h4 {
	font-family: var(--ag-font-head);
	line-height: 1.08;
	letter-spacing: -.02em;
	margin: 0 0 .5em;
	padding: 0;
	font-weight: 700;
	color: inherit;
	text-transform: none;
	overflow-wrap: break-word;
	hyphens: auto;
}
:where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) p { margin: 0 0 1em; }
:where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
:where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) mark {
	background: linear-gradient(transparent 58%, var(--ag-yellow) 58%, var(--ag-yellow) 92%, transparent 92%) no-repeat 0 0 / 100% 100%;
	color: inherit;
	padding: 0 .06em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
:where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) button, :where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) input, :where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) select, :where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) textarea { font: inherit; color: inherit; letter-spacing: inherit; text-transform: none; }
:where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) ::selection { background: var(--ag-yellow); color: var(--ag-black); }

:where(.ag-full, .ag-section, .ag-header, .ag-footer, .ag-dialog, .ag-visual-block) :focus-visible, .ag-skip:focus-visible {
	outline: 3px solid var(--ag-black);
	outline-offset: 3px;
	box-shadow: 0 0 0 7px var(--ag-yellow);
	border-radius: 6px;
}

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important;
	width: 1px; word-wrap: normal !important;
}
.ag-skip {
	position: absolute; left: 12px; top: -60px; z-index: 1000;
	background: var(--ag-black); color: var(--ag-white);
	padding: 12px 18px; border-radius: 10px; font-weight: 700; text-decoration: none;
	transition: top .2s var(--ag-ease);
}
.ag-skip:focus { top: 12px; }
.ag-main:focus { outline: none; box-shadow: none; }

/* ---------- 2. Utilidades ---------- */
.ag-container {
	width: 100%;
	max-width: calc(var(--ag-container) + var(--ag-gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--ag-gutter);
}
.ag-section { position: relative; padding-block: var(--ag-section); overflow-x: clip; }
.ag-section + .ag-section:not(.ag-bg-tint):not(.ag-cta),
:is(.e-con, .elementor-section, .elementor-element):has(.ag-section) + :is(.e-con, .elementor-section, .elementor-element) .ag-section:not(.ag-bg-tint):not(.ag-cta):not(.ag-hero) { padding-top: calc(var(--ag-section) * .55); }
.ag-bg-tint { background: linear-gradient(180deg, var(--ag-tint), var(--ag-white) 85%); }
.ag-bg-line { border-top: 1px solid var(--ag-line); }

.ag-eyebrow {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--ag-font-body);
	font-size: .8125rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	margin: 0 0 18px;
}
.ag-eyebrow::before {
	content: ""; width: 26px; height: 3px; border-radius: 3px;
	background: linear-gradient(90deg, var(--ag-yellow) 50%, var(--ag-orange) 50%);
}
.ag-head { max-width: 760px; margin-bottom: clamp(32px, 4vw, 56px); }
.ag-head--center { margin-inline: auto; text-align: center; }
.ag-title { font-size: calc(clamp(1.9rem, 1.3rem + 2.4vw, 3.1rem) * var(--ag-head-scale)); margin-bottom: .45em; }
.ag-lead { font-size: clamp(1.05rem, 1rem + .3vw, 1.2rem); color: var(--ag-ink-2); max-width: 64ch; }
.ag-lead p:last-child, .ag-prose p:last-child { margin-bottom: 0; }
.ag-prose { color: var(--ag-ink-2); }
.ag-prose strong { color: var(--ag-ink); }

.ag-badge {
	display: inline-flex; align-items: center; gap: 6px;
	font-size: .75rem; font-weight: 700; letter-spacing: .02em;
	padding: 5px 10px; border-radius: 999px;
	background: var(--ag-tint); border: 1px solid var(--ag-yellow);
}
.ag-alert {
	padding: 14px 18px; border-radius: var(--ag-radius-sm);
	background: var(--ag-soft); border: 1px solid var(--ag-line);
}
.ag-alert--warn { background: var(--ag-tint-o); border-color: var(--ag-orange); }

.ag-note {
	display: flex; gap: 14px; align-items: flex-start;
	margin-top: 28px; padding: 18px 20px;
	border-radius: var(--ag-radius);
	background: var(--ag-soft);
	border-left: 4px solid var(--ag-orange);
	color: var(--ag-ink-2); font-size: .97rem;
}
.ag-note > .ag-icon { flex: 0 0 22px; color: var(--ag-orange); margin-top: 2px; }
.ag-note p:last-child { margin: 0; }

.ag-icon { width: 24px; height: 24px; flex: 0 0 auto; }

/* ---------- 3. Header ---------- */
.ag-header {
	position: sticky; top: 0; z-index: 100;
	background: rgba(255, 255, 255, .92);
	background: color-mix(in srgb, var(--ag-white) 92%, transparent);
	-webkit-backdrop-filter: saturate(1.4) blur(12px);
	backdrop-filter: saturate(1.4) blur(12px);
	border-bottom: 1px solid transparent;
	transition: border-color .3s var(--ag-ease), box-shadow .3s var(--ag-ease);
	animation: agHeaderIn .6s var(--ag-ease-out) both;
}
.admin-bar .ag-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ag-header { top: 0; } }
.ag-header.is-scrolled { border-color: var(--ag-line); box-shadow: 0 8px 24px -20px rgba(0, 0, 0, .3); }
.ag-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 76px; }

.ag-logo {
	display: inline-flex; align-items: center; gap: 10px;
	text-decoration: none; color: var(--ag-ink);
	font-family: var(--ag-font-head); font-size: 1.375rem; letter-spacing: -.03em; line-height: 1;
	min-height: 44px;
}
.ag-logo__mark { width: 40px; height: 40px; display: block; }
.ag-logo__mark svg { width: 40px; height: 40px; display: block; overflow: visible; }
.ag-logo__bg { fill: var(--ag-yellow); }
.ag-logo__needle { fill: var(--ag-black); transform-origin: 20px 20px; animation: agNeedle 1.4s var(--ag-ease-out) .2s both; }
.ag-logo__pin { fill: var(--ag-orange); }
.ag-logo:hover .ag-logo__needle, .ag-logo:focus-visible .ag-logo__needle { animation: agNeedleHover .9s var(--ag-ease) both; }
.ag-logo__text { white-space: nowrap; }
.ag-logo__a { font-weight: 500; }
.ag-logo__b { font-weight: 800; position: relative; display: inline-block; }
.ag-logo__b::after {
	content: ""; position: absolute; left: -2px; right: -2px; bottom: .02em; height: .32em; z-index: -1;
	background: var(--ag-yellow); border-radius: 3px;
	transform-origin: left; animation: agWipe .7s var(--ag-ease-out) .5s both;
}
.custom-logo-link { display: inline-flex; min-height: 44px; align-items: center; }
.custom-logo, .ag-logo--img img { max-height: 52px; width: auto; }

.ag-nav { position: relative; }
.ag-nav__list { list-style: none; margin: 0; padding: 0; display: flex; gap: clamp(8px, 2vw, 28px); align-items: center; }
.ag-nav__list a {
	position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px;
	font-weight: 600; text-decoration: none; color: var(--ag-ink);
}
.ag-nav__list a::after {
	content: ""; position: absolute; left: 4px; right: 4px; bottom: 8px; height: 3px; border-radius: 3px;
	background: var(--ag-yellow); transform: scaleX(0); transform-origin: right;
	transition: transform .35s var(--ag-ease);
}
.ag-nav__list a:hover::after, .ag-nav__list a:focus-visible::after,
.ag-nav__list .current-menu-item > a::after, .ag-nav__list .current-menu-ancestor > a::after,
.ag-nav__list .current_page_item > a::after, .ag-nav__list .current_page_parent > a::after {
	transform: scaleX(1); transform-origin: left;
}
.ag-nav__list .current-menu-item > a::after, .ag-nav__list .current-menu-ancestor > a::after { background: var(--ag-orange); }
.ag-nav__toggle { display: none; }

@media (max-width: 899px) {
	.ag-js .ag-nav__toggle {
		display: inline-flex; align-items: center; gap: 10px;
		min-height: 44px; min-width: 44px; padding: 0 14px;
		border: 1px solid var(--ag-line-2); border-radius: 999px;
		background: var(--ag-white); cursor: pointer; font-weight: 700;
		transition: background .25s var(--ag-ease), border-color .25s var(--ag-ease);
	}
	.ag-js .ag-nav__toggle[aria-expanded="true"] { background: var(--ag-yellow); border-color: var(--ag-yellow); }
	.ag-nav__burger { display: grid; gap: 4px; width: 18px; }
	.ag-nav__burger i { display: block; height: 2px; border-radius: 2px; background: currentColor; transition: transform .3s var(--ag-ease), opacity .2s; }
	.ag-nav__toggle[aria-expanded="true"] .ag-nav__burger i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
	.ag-nav__toggle[aria-expanded="true"] .ag-nav__burger i:nth-child(2) { opacity: 0; }
	.ag-nav__toggle[aria-expanded="true"] .ag-nav__burger i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

	.ag-js .ag-nav__panel {
		position: fixed; left: 0; right: 0; top: var(--ag-header-h, 76px);
		background: var(--ag-white); border-bottom: 1px solid var(--ag-line);
		box-shadow: 0 24px 40px -24px rgba(0, 0, 0, .3);
		padding: 8px var(--ag-gutter) 24px;
		opacity: 0; visibility: hidden; transform: translateY(-10px);
		transition: opacity .28s var(--ag-ease), transform .28s var(--ag-ease), visibility 0s linear .28s;
		max-height: calc(100vh - var(--ag-header-h, 76px)); overflow-y: auto;
	}
	.ag-js .ag-nav__panel.is-open { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
	.ag-js .ag-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
	.ag-js .ag-nav__list li { border-bottom: 1px solid var(--ag-line); opacity: 0; transform: translateY(-6px); transition: opacity .3s var(--ag-ease), transform .3s var(--ag-ease); }
	.ag-js .ag-nav__panel.is-open li { opacity: 1; transform: none; }
	.ag-js .ag-nav__panel.is-open li:nth-child(2) { transition-delay: .05s; }
	.ag-js .ag-nav__panel.is-open li:nth-child(3) { transition-delay: .1s; }
	.ag-js .ag-nav__list a { min-height: 56px; font-size: 1.15rem; width: 100%; }
	.ag-js .ag-nav__list a::after { bottom: 12px; right: auto; width: 40px; }
	/* Sin JavaScript: enlaces visibles en línea. */
	html:not(.ag-js) .ag-header__inner { flex-wrap: wrap; }
	html:not(.ag-js) .ag-nav__list { flex-wrap: wrap; }
}
@media (max-width: 380px) {
	.ag-logo { font-size: 1.15rem; gap: 8px; }
	.ag-logo__mark, .ag-logo__mark svg { width: 34px; height: 34px; }
	.ag-nav__toggle-text { display: none; }
}

/* ---------- 4. Botones y enlaces ---------- */
.ag-actions { display: flex; flex-wrap: wrap; gap: 12px 14px; align-items: center; margin-top: 30px; }
.ag-btn {
	--btn-bg: var(--ag-yellow);
	position: relative; isolation: isolate; overflow: hidden;
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 52px; padding: 12px 24px;
	border-radius: 999px; border: 2px solid var(--btn-bg);
	background: var(--btn-bg); color: var(--ag-black);
	font-weight: 700; font-size: 1rem; line-height: 1.2; text-decoration: none; text-align: center;
	cursor: pointer;
	transition: transform .25s var(--ag-ease), box-shadow .25s var(--ag-ease), background .25s var(--ag-ease);
}
.ag-btn::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: rgba(255, 255, 255, .28);
	transform: translateX(-101%); transition: transform .45s var(--ag-ease);
}
.ag-btn:hover, .ag-btn:focus-visible { transform: translateY(-2px); box-shadow: 0 10px 22px -12px rgba(0, 0, 0, .45); }
.ag-btn:hover::before, .ag-btn:focus-visible::before { transform: translateX(0); }
.ag-btn:active { transform: translateY(0); }
.ag-btn--orange { --btn-bg: var(--ag-orange); }
.ag-btn--outline { --btn-bg: transparent; border-color: var(--ag-black); }
.ag-btn--outline::before { background: var(--ag-yellow); }
.ag-btn--link { --btn-bg: transparent; border-color: transparent; padding-inline: 4px; }
.ag-btn__arrow { width: 20px; height: 20px; transition: transform .3s var(--ag-ease); }
.ag-btn:hover .ag-btn__arrow, .ag-btn:focus-visible .ag-btn__arrow { transform: translateX(4px); }
.ag-btn[disabled], .ag-btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }

.ag-link {
	display: inline-flex; align-items: center; gap: 8px;
	font-weight: 700; text-decoration: none; color: var(--ag-ink);
	min-height: 44px;
}
.ag-link > span {
	background: linear-gradient(var(--ag-ink), var(--ag-ink)) no-repeat 0 100% / 0 2px;
	transition: background-size .35s var(--ag-ease);
	padding-bottom: 2px;
}
.ag-link:hover > span, .ag-link:focus-visible > span { background-size: 100% 2px; }
.ag-link .ag-icon { width: 20px; height: 20px; transition: transform .3s var(--ag-ease); }
.ag-link:hover .ag-icon, .ag-link:focus-visible .ag-icon { transform: translateX(4px); }
.ag-link--yellow > span { background-image: linear-gradient(var(--ag-yellow), var(--ag-yellow)); background-size: 100% 6px; background-position: 0 88%; }
.ag-link--yellow:hover > span, .ag-link--yellow:focus-visible > span { background-size: 100% 100%; }
.ag-link--yellow .ag-icon { color: var(--ag-black); }

/* ---------- 6. Hero ---------- */
.ag-hero { padding-block: clamp(40px, 6vw, 96px) clamp(64px, 8vw, 120px); }
.ag-hero__grid { display: grid; gap: clamp(40px, 6vw, 72px); align-items: center; }
.ag-hero__content { position: relative; z-index: 2; max-width: 640px; }
.ag-hero__title {
	font-size: calc(clamp(2.3rem, 1.2rem + 4.4vw, 4.5rem) * var(--ag-head-scale));
	line-height: 1.02; letter-spacing: -.035em; margin-bottom: .35em;
}
.ag-hero--page .ag-hero__title { font-size: calc(clamp(2.1rem, 1.2rem + 3.6vw, 3.9rem) * var(--ag-head-scale)); }
.ag-hero__subtitle { font-size: clamp(1.1rem, 1rem + .45vw, 1.35rem); color: var(--ag-ink-2); max-width: 56ch; }
.ag-hero__subtitle p:last-child { margin-bottom: 0; }
.ag-hero__note { margin-top: 18px; font-size: .9rem; color: var(--ag-ink-3); }
.ag-hero__visual { position: relative; z-index: 1; min-width: 0; }
.ag-hero__deco { position: absolute; pointer-events: none; border-radius: 50%; z-index: 0; }
.ag-hero__deco--a {
	width: clamp(260px, 40vw, 560px); aspect-ratio: 1; right: -8%; top: -12%;
	background: radial-gradient(circle at 40% 40%, var(--ag-tint) 0, rgba(255, 255, 255, 0) 68%);
	animation: agFloat 12s ease-in-out infinite alternate;
}
.ag-hero__deco--b {
	width: 90px; height: 90px; left: 4%; bottom: 10%;
	border: 2px dashed var(--ag-orange); opacity: .35;
	animation: agSpin 40s linear infinite;
}
@media (min-width: 960px) {
	.ag-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); }
	.ag-hero__grid--solo { grid-template-columns: minmax(0, 1fr); }
	.ag-hero--page .ag-hero__grid, .ag-hero--compact .ag-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.ag-hero--page .ag-hero__grid--solo { grid-template-columns: minmax(0, 1fr); }
}
.ag-hero__grid--solo .ag-hero__content { max-width: 820px; }
.ag-hero--compact { padding-bottom: clamp(24px, 3vw, 48px); }
.ag-hero--compact .ag-hero__title { font-size: calc(clamp(2rem, 1.2rem + 3.2vw, 3.5rem) * var(--ag-head-scale)); }
.ag-hero--compact .ag-visual--contact { max-width: 420px; margin-inline: auto; }
@media (min-width: 960px) { .ag-hero--compact .ag-hero__grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); } }

/* ---------- 7. Tarjetas ---------- */
.ag-cards__wrap { display: grid; gap: clamp(28px, 4vw, 48px); }
.ag-cards__intro .ag-head { margin-bottom: 12px; }
.ag-cards__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(14px, 2vw, 22px); grid-template-columns: minmax(0, 1fr); }
.ag-card-item { display: flex; min-width: 0; }
.ag-card {
	position: relative; display: flex; flex-direction: column; align-items: flex-start; width: 100%;
	padding: clamp(22px, 2.4vw, 30px);
	background: var(--ag-white); border: 1px solid var(--ag-line); border-radius: var(--ag-radius);
	box-shadow: var(--ag-shadow);
	text-decoration: none; color: var(--ag-ink);
	transition: transform .35s var(--ag-ease), box-shadow .35s var(--ag-ease), border-color .35s var(--ag-ease);
}
.ag-card::after {
	content: ""; position: absolute; left: 22px; right: 22px; top: -1px; height: 3px; border-radius: 0 0 3px 3px;
	background: linear-gradient(90deg, var(--ag-yellow), var(--ag-orange));
	transform: scaleX(0); transform-origin: left; transition: transform .45s var(--ag-ease);
}
.ag-card--link:hover, .ag-card--link:focus-visible { transform: translateY(-5px); box-shadow: var(--ag-shadow-lift); border-color: var(--ag-line-2); }
.ag-card--link:hover::after, .ag-card--link:focus-visible::after { transform: scaleX(1); }
.ag-card--link:focus-visible { border-radius: var(--ag-radius); }
.ag-card__icon, .ag-card__check {
	display: inline-grid; place-items: center; width: 52px; height: 52px; margin-bottom: 20px;
	border-radius: 15px; background: var(--ag-yellow); color: var(--ag-black);
	transition: transform .45s var(--ag-ease), background .3s var(--ag-ease);
}
.ag-card-item:nth-child(even) .ag-card__icon { background: var(--ag-orange); }
.ag-card--link:hover .ag-card__icon, .ag-card--link:focus-visible .ag-card__icon { transform: rotate(-8deg) scale(1.06); }
.ag-card__check { width: 36px; height: 36px; border-radius: 50%; margin-bottom: 14px; }
.ag-card__check .ag-icon { width: 20px; height: 20px; }
.ag-card__num {
	font-family: var(--ag-font-head); font-weight: 800; font-size: 2.4rem; line-height: 1;
	color: transparent; -webkit-text-stroke: 1.5px var(--ag-black); margin-bottom: 18px;
}
.ag-card__tag { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--ag-ink-3); margin-bottom: 6px; }
.ag-card__title { font-size: clamp(1.2rem, 1.1rem + .35vw, 1.4rem); margin-bottom: .45em; letter-spacing: -.015em; }
.ag-card__text { color: var(--ag-ink-2); font-size: .98rem; }
.ag-card__text p:last-child { margin-bottom: 0; }
.ag-card__text ul { padding-left: 1.1em; margin: .4em 0 0; }
.ag-card__more {
	margin-top: auto; padding-top: 20px;
	display: inline-flex; align-items: center; gap: 8px; font-weight: 700;
}
.ag-card__more > span { background: linear-gradient(var(--ag-yellow), var(--ag-yellow)) no-repeat 0 92% / 100% 5px; transition: background-size .35s var(--ag-ease); }
.ag-card--link:hover .ag-card__more > span, .ag-card--link:focus-visible .ag-card__more > span { background-size: 100% 100%; }
.ag-card__more .ag-icon { width: 20px; height: 20px; transition: transform .3s var(--ag-ease); }
.ag-card--link:hover .ag-card__more .ag-icon, .ag-card--link:focus-visible .ag-card__more .ag-icon { transform: translateX(5px); }
.ag-card .ag-link { margin-top: auto; padding-top: 14px; }

.ag-cards--checklist .ag-card { box-shadow: none; background: var(--ag-soft); border-color: transparent; }
.ag-cards--numbered .ag-card { box-shadow: none; }

@media (min-width: 600px) {
	.ag-cards--split .ag-cards__grid, .ag-cards--grid-4 .ag-cards__grid,
	.ag-cards--grid-2 .ag-cards__grid, .ag-cards--grid-3 .ag-cards__grid,
	.ag-cards--checklist .ag-cards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.ag-cards--grid-4 .ag-cards__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.ag-cards--grid-3 .ag-cards__grid, .ag-cards--checklist .ag-cards__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ag-cards--split .ag-cards__wrap { grid-template-columns: minmax(0, 4.2fr) 1px minmax(0, 7.8fr); align-items: start; gap: clamp(32px, 4vw, 64px); }
	.ag-cards--split .ag-cards__intro { position: sticky; top: 120px; }
	.ag-cards__divider { align-self: stretch; width: 1px; background: linear-gradient(var(--ag-line), var(--ag-line-2) 40%, var(--ag-line)); }
}
.ag-cards__divider { display: none; }
@media (min-width: 1024px) { .ag-cards--split .ag-cards__divider { display: block; } }

/* ---------- 8. Pasos ---------- */
.ag-steps__wrap { display: grid; gap: clamp(40px, 5vw, 72px); align-items: center; }
.ag-steps__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; counter-reset: none; }
.ag-step { position: relative; display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 18px; padding-bottom: 26px; }
.ag-step:not(:last-child)::before {
	content: ""; position: absolute; left: 25px; top: 54px; bottom: 2px; width: 2px;
	background: repeating-linear-gradient(var(--ag-line-2) 0 6px, transparent 6px 12px);
}
.ag-step__num {
	display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%;
	font-family: var(--ag-font-head); font-weight: 800; font-size: 1.2rem;
	background: var(--ag-white); border: 2px solid var(--ag-black);
	transition: background .35s var(--ag-ease), transform .35s var(--ag-ease);
}
.ag-step:hover .ag-step__num { transform: scale(1.06); }
html:not(.ag-js) .ag-step:nth-child(1) .ag-step__num { background: var(--ag-yellow); border-color: var(--ag-yellow); }

/* Progreso ligado al scroll: la línea amarilla baja (o sube) y activa 1 → 2 → 3 → 4. */
.ag-steps__list { position: relative; }
.ag-step__num { position: relative; z-index: 2; transition: background .35s var(--ag-ease), border-color .35s var(--ag-ease), transform .35s var(--ag-ease), box-shadow .35s var(--ag-ease); }
.ag-step.is-active .ag-step__num { background: var(--ag-yellow); border-color: var(--ag-yellow); box-shadow: 0 0 0 6px var(--ag-tint); }
.ag-step.is-active .ag-step__num { animation: agStepPop .45s var(--ag-ease-out); }
.ag-step .ag-step__title { transition: color .35s var(--ag-ease); }
.ag-steps__track {
	position: absolute; z-index: 1; pointer-events: none;
	left: var(--ag-track-x, 26px); top: var(--ag-track-y, 26px); height: var(--ag-track-h, 0);
	width: 4px; margin-left: -2px; border-radius: 4px; overflow: hidden;
}
.ag-steps__track { background: repeating-linear-gradient(var(--ag-line-2) 0 6px, transparent 6px 12px) center / 2px 100% no-repeat; }
.ag-steps__track[hidden] { display: none; }
/* Con JS la línea discontinua la dibuja la pista; los pasos quedan por encima (círculos tapan la línea). */
.ag-js .ag-steps__list:has(> .ag-steps__track:not([hidden])) > .ag-step::before { display: none; }
.ag-js .ag-steps__list > .ag-step { z-index: 2; }
.ag-steps__fill {
	display: block; width: 100%; height: 100%; border-radius: 4px;
	background: linear-gradient(var(--ag-yellow), var(--ag-yellow) 85%, var(--ag-orange));
	transform-origin: top; transform: scaleY(var(--ag-progress, 0));
	will-change: transform;
}
@keyframes agStepPop { 0% { transform: scale(1); } 50% { transform: scale(1.14); } 100% { transform: scale(1); } }
.ag-step__title { font-size: clamp(1.15rem, 1.05rem + .3vw, 1.35rem); margin: 10px 0 6px; }
.ag-step__text { color: var(--ag-ink-2); }
.ag-step__text p:last-child { margin: 0; }
.ag-steps--row .ag-steps__list { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) {
	.ag-steps--row .ag-steps__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 32px; }
	.ag-steps--row .ag-step::before { display: none; }
}
@media (min-width: 1100px) {
	.ag-steps--row .ag-steps__list { grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); }
	.ag-steps--row .ag-step { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 22px; border: 1px solid var(--ag-line); border-radius: var(--ag-radius); }
}
@media (min-width: 1024px) {
	.ag-steps--split .ag-steps__wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
}

/* ---------- 9. Split y listas ---------- */
.ag-split__grid { display: grid; gap: clamp(36px, 5vw, 80px); align-items: center; }
.ag-split__content { min-width: 0; }
.ag-split__content .ag-head { margin-bottom: 18px; }
.ag-split__visual { min-width: 0; }
@media (min-width: 960px) {
	.ag-split__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); }
	.ag-split--reverse .ag-split__content { order: 2; }
	.ag-split--solo .ag-split__grid { grid-template-columns: minmax(0, 1fr); max-width: 860px; }
}
.ag-listbox { margin-top: 22px; }
.ag-listbox__title { font-weight: 800; font-family: var(--ag-font-head); font-size: 1.05rem; margin-bottom: 10px; }
.ag-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ag-list li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 10px; align-items: start; }
.ag-list .ag-icon {
	width: 26px; height: 26px; padding: 5px; border-radius: 50%;
	background: var(--ag-yellow); color: var(--ag-black); stroke-width: 2.4;
}
.ag-list--dot .ag-icon { background: var(--ag-tint-o); }
.ag-list--cross .ag-icon { background: var(--ag-soft); color: var(--ag-ink-3); }
.ag-listbox--cross { padding: 18px; border-radius: var(--ag-radius); border: 1px dashed var(--ag-line-2); }
@media (min-width: 600px) { .ag-list--check.ag-list { grid-template-columns: 1fr; } }

/* ---------- 10. Portfolio ---------- */
.ag-portfolio__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(18px, 2.4vw, 28px); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 600px) { .ag-portfolio__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) { .ag-portfolio__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ag-pf {
	position: relative; display: flex; flex-direction: column; min-width: 0;
	border: 1px solid var(--ag-line); border-radius: var(--ag-radius-lg); overflow: hidden;
	background: var(--ag-white); box-shadow: var(--ag-shadow);
	transition: transform .4s var(--ag-ease), box-shadow .4s var(--ag-ease);
}
.ag-pf:hover, .ag-pf:focus-within { transform: translateY(-5px); box-shadow: var(--ag-shadow-lift); }
.ag-pf__media { position: relative; aspect-ratio: 4 / 3; background: var(--ag-soft); overflow: hidden; }
.ag-pf__img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ag-ease); }
.ag-pf:hover .ag-pf__img, .ag-pf:focus-within .ag-pf__img { transform: scale(1.04); }
.ag-pf__count {
	position: absolute; right: 12px; bottom: 12px; display: inline-flex; gap: 6px; align-items: center;
	padding: 5px 10px; border-radius: 999px; background: var(--ag-white); font-size: .8rem; font-weight: 700;
	box-shadow: var(--ag-shadow);
}
.ag-pf__count .ag-icon { width: 16px; height: 16px; }
.ag-pf__body { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 20px 22px 22px; flex: 1; }
.ag-pf__cat { margin: 0; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ag-ink-3); }
.ag-pf__title { font-size: 1.25rem; margin: 0 0 6px; }
.ag-pf__open {
	margin-top: auto; padding: 12px 0 0; min-height: 44px; border: 0; background: none; cursor: pointer;
	display: inline-flex; align-items: center; gap: 8px; font-weight: 700;
}
.ag-pf__open::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.ag-pf__open:focus-visible { box-shadow: none; outline: none; }
.ag-pf:has(.ag-pf__open:focus-visible) { outline: 3px solid var(--ag-black); outline-offset: 3px; box-shadow: 0 0 0 7px var(--ag-yellow); }
.ag-pf__open > span:first-child { background: linear-gradient(var(--ag-yellow), var(--ag-yellow)) no-repeat 0 92% / 100% 5px; transition: background-size .35s var(--ag-ease); }
.ag-pf:hover .ag-pf__open > span:first-child { background-size: 100% 100%; }
.ag-pf__open .ag-icon { width: 20px; height: 20px; transition: transform .3s var(--ag-ease); }
.ag-pf:hover .ag-pf__open .ag-icon { transform: translateX(5px); }

/* ---------- 11. FAQ ---------- */
.ag-faq__wrap { display: grid; gap: 28px; }
@media (min-width: 1024px) {
	.ag-faq__wrap { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 64px; align-items: start; }
	.ag-faq__intro { position: sticky; top: 120px; }
}
.ag-faq__list { display: grid; gap: 12px; }
.ag-acc { border: 1px solid var(--ag-line); border-radius: var(--ag-radius); background: var(--ag-white); transition: border-color .3s var(--ag-ease), box-shadow .3s var(--ag-ease); }
.ag-acc.is-open { border-color: var(--ag-black); box-shadow: 4px 4px 0 var(--ag-yellow); }
.ag-acc__h { margin: 0; font-size: inherit; letter-spacing: 0; }
.ag-acc__btn {
	width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 16px;
	min-height: 64px; padding: 16px 20px; border: 0; background: none; cursor: pointer; text-align: left;
	font-family: var(--ag-font-head); font-weight: 700; font-size: clamp(1.02rem, 1rem + .2vw, 1.15rem); line-height: 1.3;
	border-radius: var(--ag-radius);
}
.ag-acc__sign {
	position: relative; flex: 0 0 36px; height: 36px; border-radius: 50%;
	display: grid; place-items: center; background: var(--ag-soft);
	transition: background .3s var(--ag-ease), transform .4s var(--ag-ease);
}
.ag-acc__sign .ag-icon { position: absolute; width: 20px; height: 20px; transition: opacity .25s var(--ag-ease), transform .35s var(--ag-ease); }
.ag-acc__minus { opacity: 0; transform: rotate(-90deg); }
.ag-acc__btn[aria-expanded="true"] .ag-acc__sign { background: var(--ag-yellow); transform: rotate(180deg); }
.ag-acc__btn[aria-expanded="true"] .ag-acc__plus { opacity: 0; transform: rotate(90deg); }
.ag-acc__btn[aria-expanded="true"] .ag-acc__minus { opacity: 1; transform: none; }
.ag-acc__panel { display: grid; grid-template-rows: 1fr; transition: grid-template-rows .4s var(--ag-ease); }
.ag-acc__panel[data-collapsed] { grid-template-rows: 0fr; }
.ag-acc__inner { overflow: hidden; padding: 0 20px; color: var(--ag-ink-2); }
.ag-acc__inner > :first-child { margin-top: 0; }
.ag-acc__inner > :last-child { margin-bottom: 20px; }
.ag-acc__panel[data-collapsed] .ag-acc__inner { visibility: hidden; transition: visibility 0s linear .4s; }

/* ---------- 12. CTA ---------- */
.ag-cta__box {
	position: relative; overflow: hidden; isolation: isolate;
	display: grid; gap: 24px; align-items: center;
	padding: clamp(28px, 5vw, 64px);
	border-radius: var(--ag-radius-lg);
	background: var(--ag-black); color: var(--ag-white);
}
.ag-cta__box .ag-title { color: var(--ag-white); margin-bottom: .3em; }
.ag-cta__box .ag-lead { color: rgba(255, 255, 255, .8); }
.ag-cta__box .ag-actions { margin-top: 0; }
.ag-cta__box .ag-btn--outline { border-color: var(--ag-white); color: var(--ag-white); }
.ag-cta__deco {
	position: absolute; z-index: -1; right: -60px; top: -80px; width: 260px; height: 260px; border-radius: 50%;
	background: conic-gradient(from 90deg, var(--ag-yellow), var(--ag-orange), var(--ag-yellow));
	opacity: .9; filter: blur(.5px);
	animation: agFloat 9s ease-in-out infinite alternate;
	-webkit-mask: radial-gradient(circle, transparent 54%, #000 55%);
	mask: radial-gradient(circle, transparent 54%, #000 55%);
}
@media (min-width: 900px) { .ag-cta__box { grid-template-columns: minmax(0, 1.4fr) auto; } }

/* ---------- 13. Visuales ---------- */
.ag-visual { position: relative; margin: 0; }
.ag-visual--image img, .ag-visual__img { width: 100%; border-radius: var(--ag-radius-lg); box-shadow: var(--ag-shadow-big); }
.ag-visual__label {
	position: absolute; z-index: 4; top: -12px; left: 18px;
	display: inline-flex; align-items: center; gap: 6px;
	padding: 5px 11px; border-radius: 999px;
	background: var(--ag-black); color: var(--ag-white);
	font-size: .72rem; font-weight: 700; letter-spacing: .03em; line-height: 1.2;
	max-width: calc(100% - 36px);
}
.ag-visual__label::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ag-yellow); flex: 0 0 auto; }
.ag-visual__label--static, .ag-visual__label--real { position: static; max-width: none; }
.ag-visual__label--real::before { background: #3BB54A; }
.ag-skel { display: block; height: 9px; width: var(--w, 80%); border-radius: 6px; background: var(--ag-skel); margin: 7px 0; }
.ag-skel--title { height: 13px; background: #D6D6CF; }
.ag-skel--light { background: rgba(255, 255, 255, .35); }
.ag-skel--kpi { height: 16px; margin: 6px 0 0; background: #DADAD3; }
.ag-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.ag-chips i { font-style: normal; font-size: .72rem; font-weight: 600; padding: 2px 8px; border-radius: 999px; background: var(--ag-tint); border: 1px solid rgba(0, 0, 0, .08); white-space: nowrap; }
.ag-card-mini { position: relative; background: var(--ag-white); border: 1px solid var(--ag-line); border-radius: 16px; box-shadow: var(--ag-shadow); overflow: hidden; }
.ag-deco { position: absolute; pointer-events: none; z-index: 0; }
.ag-deco--ring { width: 150px; height: 150px; border-radius: 50%; border: 2px dashed var(--ag-orange); opacity: .5; left: -14px; top: -20px; animation: agSpin 50s linear infinite; }
.ag-deco--dot { width: 18px; height: 18px; border-radius: 50%; background: var(--ag-yellow); right: 30%; top: -6px; animation: agFloat 5s ease-in-out infinite alternate; }
.ag-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--ag-yellow); flex: 0 0 auto; }
.ag-product { width: auto; height: 100%; max-height: 100%; }

/* Hero: ficha de producto */
.ag-visual--product { padding: 30px 26px 40px 34px; max-width: 620px; margin-inline: auto; }
.ag-mock { position: relative; z-index: 1; background: var(--ag-white); border: 1px solid var(--ag-line); border-radius: 22px; box-shadow: var(--ag-shadow-big); overflow: hidden; }
.ag-mock__bar { display: flex; align-items: center; gap: 6px; height: 38px; padding: 0 14px; background: var(--ag-soft); border-bottom: 1px solid var(--ag-line); }
.ag-mock__bar i { width: 9px; height: 9px; border-radius: 50%; background: #D9D9D2; }
.ag-mock__bar i:first-child { background: var(--ag-orange); }
.ag-mock__bar i:nth-child(2) { background: var(--ag-yellow); }
.ag-mock__url { flex: 1; height: 18px; margin-left: 10px; border-radius: 999px; background: var(--ag-white); border: 1px solid var(--ag-line); }
.ag-mock__product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(12px, 2.4vw, 22px); padding: clamp(14px, 2.6vw, 24px); }
.ag-mock__main { aspect-ratio: 1; display: grid; place-items: center; padding: 12%; border-radius: 14px; background: var(--ag-soft); }
.ag-mock__main .ag-product { height: 100%; }
.ag-mock__thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 8px; }
.ag-mock__thumbs span { aspect-ratio: 1; border-radius: 7px; background: var(--ag-soft); border: 2px solid transparent; }
.ag-mock__thumbs .is-active { border-color: var(--ag-yellow); }
.ag-mock__info { min-width: 0; padding-top: 2px; }
.ag-mock__brand { display: inline-block; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; background: linear-gradient(transparent 60%, var(--ag-yellow) 60%); margin-bottom: 4px; }
.ag-mock__divider { display: block; height: 1px; background: var(--ag-line); margin: 12px 0; }
.ag-mock__bullets { list-style: none; margin: 0; padding: 0; }
.ag-mock__bullets li { display: flex; align-items: center; gap: 8px; }
.ag-mock__bullets li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ag-orange); flex: 0 0 auto; }
.ag-mock__bullets .ag-skel { margin: 6px 0; }
.ag-mock__btn { display: block; width: 72%; height: 34px; margin-top: 16px; border-radius: 999px; background: var(--ag-black); }
.ag-float {
	position: absolute; z-index: 3;
	display: flex; align-items: center; gap: 10px;
	padding: 10px 14px 10px 10px; border-radius: 16px;
	background: var(--ag-white); border: 1px solid var(--ag-line); box-shadow: var(--ag-shadow-lift);
	font-size: .8rem; line-height: 1.2; max-width: 230px;
	animation: agFloat 6s ease-in-out infinite alternate;
}
.ag-float strong { display: block; font-family: var(--ag-font-head); font-size: .95rem; margin-bottom: 4px; }
.ag-float__icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: var(--ag-yellow); flex: 0 0 auto; }
.ag-float__icon .ag-icon { width: 22px; height: 22px; }
.ag-float--seo { top: 4px; right: -4px; animation-delay: -1s; }
.ag-float--ppc { left: -8px; bottom: 30%; animation-duration: 7s; animation-delay: -3s; }
.ag-float--ppc .ag-float__icon { background: var(--ag-orange); }
.ag-float--design { right: 14px; bottom: 0; animation-duration: 8s; animation-delay: -5s; }
.ag-float--design .ag-float__icon { background: var(--ag-black); color: var(--ag-yellow); }
.ag-mini-tree { display: grid; gap: 4px; }
.ag-mini-tree i { display: block; height: 6px; border-radius: 4px; background: var(--ag-skel); width: 90px; }
.ag-mini-tree i:nth-child(2) { width: 70px; margin-left: 10px; background: var(--ag-tint-o); }
.ag-mini-tree i:nth-child(3) { width: 56px; margin-left: 20px; }
.ag-mini-thumbs { display: flex; gap: 4px; }
.ag-mini-thumbs i { width: 22px; height: 22px; border-radius: 6px; background: var(--ag-soft); border: 1px solid var(--ag-line); }
.ag-mini-thumbs i:nth-child(2) { background: var(--ag-tint); }
.ag-visual--product > .ag-visual__label { top: auto; bottom: 2px; left: 34px; }
@media (max-width: 520px) {
	.ag-visual--product { padding: 22px 6px 52px; }
	.ag-float { font-size: .72rem; padding: 7px 10px 7px 7px; gap: 8px; max-width: 170px; }
	.ag-float__icon { width: 30px; height: 30px; border-radius: 9px; }
	.ag-float strong { font-size: .82rem; }
	.ag-float--seo { right: 0; top: 0; }
	.ag-float--seo .ag-chips i:nth-child(3) { display: none; }
	.ag-float--ppc { left: 0; bottom: 64px; }
	.ag-float--design { right: 0; bottom: 6px; }
	.ag-mini-tree i { width: 64px; }
	.ag-visual--product > .ag-visual__label { left: 6px; bottom: 14px; }
	.ag-deco--ring { width: 100px; height: 100px; }
}

/* Galería de diseño */
.ag-visual--design { padding: 16px 8px 34px; }
.ag-dg { display: grid; grid-template-columns: 1.15fr 1fr; grid-template-rows: auto auto; gap: 12px; }
.ag-dg__main { grid-row: span 2; display: grid; place-items: center; padding: 14% 10%; background: var(--ag-soft); min-height: 260px; }
.ag-dg__main .ag-product { height: 220px; }
.ag-dg__cap { position: absolute; left: 10px; bottom: 10px; padding: 3px 9px; border-radius: 999px; background: var(--ag-white); border: 1px solid var(--ag-line); font-size: .7rem; font-weight: 700; }
.ag-dg__info { display: flex; gap: 10px; padding: 14px 14px 40px; align-items: center; }
.ag-dg__info-prod { height: 96px; flex: 0 0 auto; }
.ag-dg__info ul { list-style: none; margin: 0; padding: 0; flex: 1; min-width: 0; }
.ag-dg__info li { display: flex; align-items: center; gap: 6px; }
.ag-dg__info li .ag-dot { width: 8px; height: 8px; }
.ag-dg__info li:nth-child(2) .ag-dot { background: var(--ag-orange); }
.ag-dg__life { min-height: 150px; background: linear-gradient(180deg, var(--ag-tint) 0%, var(--ag-white) 100%); }
.ag-dg__sun { position: absolute; width: 38px; height: 38px; border-radius: 50%; background: var(--ag-orange); top: 14px; right: 20px; opacity: .85; }
.ag-dg__hill { position: absolute; left: -20%; right: 30%; bottom: -40px; height: 90px; border-radius: 50%; background: var(--ag-yellow); opacity: .55; }
.ag-dg__hill--b { left: 30%; right: -20%; bottom: -50px; background: var(--ag-orange); opacity: .3; }
.ag-dg__life-prod { position: absolute; left: 50%; bottom: 14px; height: 90px; transform: translateX(-50%) rotate(-8deg); }
.ag-dg__aplus { grid-column: 1 / -1; padding: 14px 14px 40px; }
.ag-dg__banner { display: block; height: 46px; border-radius: 10px; background: linear-gradient(90deg, var(--ag-black) 60%, var(--ag-yellow) 60%); }
.ag-dg__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 8px; }
.ag-dg__cols i { height: 36px; border-radius: 8px; background: var(--ag-soft); }
.ag-dg__cols i:nth-child(2) { background: var(--ag-tint-o); }
.ag-float--palette { right: 4px; top: -6px; padding: 8px 12px; gap: 6px; }
.ag-float--palette small { font-weight: 700; margin-left: 4px; }
.ag-swatch { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--ag-white); box-shadow: 0 0 0 1px var(--ag-line); }
.ag-visual--design > .ag-visual__label { top: auto; bottom: 0; }
@media (max-width: 520px) {
	.ag-dg { grid-template-columns: 1fr 1fr; }
	.ag-dg__main { grid-row: auto; grid-column: 1 / -1; min-height: 200px; }
	.ag-dg__main .ag-product { height: 160px; }
	.ag-dg__info { flex-direction: column; align-items: flex-start; }
	.ag-dg__info-prod { height: 64px; }
}

/* A+ */
.ag-visual--aplus { padding-top: 14px; }
.ag-aplus { background: var(--ag-white); border: 1px solid var(--ag-line); border-radius: 22px; padding: 14px; box-shadow: var(--ag-shadow-big); display: grid; gap: 12px; }
.ag-aplus__hero { display: grid; grid-template-columns: 1.4fr 1fr; align-items: center; gap: 14px; padding: 20px; border-radius: 14px; background: var(--ag-black); min-height: 150px; }
.ag-aplus__hero .ag-product { height: 130px; justify-self: center; }
.ag-aplus__kicker { display: block; color: var(--ag-yellow); font-weight: 800; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 4px; }
.ag-aplus__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ag-aplus__col { padding: 8px; border-radius: 12px; background: var(--ag-soft); }
.ag-aplus__pic { display: block; aspect-ratio: 4 / 3; border-radius: 9px; background: var(--ag-tint); }
.ag-aplus__pic--1 { background: var(--ag-tint-o); }
.ag-aplus__pic--2 { background: #ECECE6; }
.ag-aplus__table { display: grid; gap: 6px; padding: 10px; border: 1px solid var(--ag-line); border-radius: 12px; }
.ag-aplus__row { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 8px; align-items: center; }
.ag-aplus__row i { height: 8px; border-radius: 5px; background: var(--ag-skel); }
.ag-aplus__row b { justify-self: center; width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--ag-line-2); }
.ag-aplus__row b.is-yes { background: var(--ag-yellow); border-color: var(--ag-yellow); }

/* Listing anotado */
.ag-visual--listing { padding-top: 14px; }
.ag-listing { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 18px; padding: 20px; background: var(--ag-white); border: 1px solid var(--ag-line); border-radius: 22px; box-shadow: var(--ag-shadow-big); }
.ag-listing__img { display: grid; place-items: center; background: var(--ag-soft); border-radius: 14px; padding: 12px; height: 150px; }
.ag-listing__img .ag-product { height: 120px; }
.ag-listing__title { font-weight: 700; font-size: .98rem; line-height: 1.45; margin-bottom: 12px; }
.ag-listing__bullets { margin: 0 0 12px; padding-left: 1.1em; font-size: .88rem; color: var(--ag-ink-2); display: grid; gap: 6px; }
.ag-listing__terms { font-size: .85rem; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ag-listing__terms code { font-size: .8rem; padding: 2px 8px; border-radius: 6px; background: var(--ag-soft); }
.ag-hl { position: relative; background: var(--ag-tint); box-shadow: inset 0 -3px 0 var(--ag-yellow); padding: 1px 3px; border-radius: 3px; color: var(--ag-ink); font-weight: 700; }
.ag-hl--o { background: var(--ag-tint-o); box-shadow: inset 0 -3px 0 var(--ag-orange); }
.ag-hl::after {
	content: attr(data-n); position: absolute; top: -11px; right: -10px;
	width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center;
	background: var(--ag-black); color: var(--ag-white); font-size: .68rem; font-weight: 800; line-height: 1;
}
.ag-notes { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 8px; }
.ag-notes li { display: flex; gap: 10px; align-items: flex-start; font-size: .9rem; color: var(--ag-ink-2); }
.ag-notes b { flex: 0 0 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--ag-yellow); color: var(--ag-black); font-size: .75rem; }
@media (max-width: 520px) {
	.ag-listing { grid-template-columns: 1fr; }
	.ag-listing__img { height: 120px; }
}

/* Palabras clave */
.ag-visual--keywords { padding-top: 14px; }
.ag-kw { display: grid; gap: 12px; padding: 20px; border: 1px solid var(--ag-line); border-radius: 22px; background: var(--ag-white); box-shadow: var(--ag-shadow-big); }
.ag-kw__group { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 12px; align-items: start; padding-bottom: 12px; border-bottom: 1px dashed var(--ag-line); }
.ag-kw__head { font-size: .78rem; font-weight: 800; padding: 6px 10px; border-radius: 10px; text-align: center; background: var(--ag-soft); }
.is-y .ag-kw__head { background: var(--ag-yellow); }
.is-o .ag-kw__head { background: var(--ag-orange); }
.is-w .ag-kw__head { background: var(--ag-white); border: 1px solid var(--ag-line-2); }
.ag-kw__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ag-kw__chips i { font-style: normal; font-size: .82rem; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--ag-line); background: var(--ag-white); }
.is-x .ag-kw__chips i { text-decoration: line-through; color: var(--ag-ink-3); background: var(--ag-soft); }
.ag-kw__map { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.ag-kw__map span { position: relative; text-align: center; font-size: .75rem; font-weight: 700; padding: 8px 4px; border-radius: 10px; background: var(--ag-black); color: var(--ag-white); }
@media (max-width: 520px) {
	.ag-kw__group { grid-template-columns: 1fr; gap: 8px; }
	.ag-kw__head { justify-self: start; }
	.ag-kw__map { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Antes / después */
.ag-visual--compare { padding-top: 14px; }
.ag-compare { display: grid; grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr); gap: 10px; align-items: center; }
.ag-compare__col { padding: 20px; border-radius: 20px; height: 100%; }
.ag-compare__col p { font-size: .92rem; line-height: 1.5; margin-bottom: 12px; }
.ag-compare__col ul { margin: 0; padding-left: 1.1em; font-size: .82rem; color: var(--ag-ink-2); }
.ag-compare__col--before { background: var(--ag-soft); border: 1px solid var(--ag-line); }
.ag-compare__col--before p { color: var(--ag-ink-3); word-break: break-word; }
.ag-compare__col--after { background: var(--ag-white); border: 2px solid var(--ag-black); box-shadow: 6px 6px 0 var(--ag-yellow); }
.ag-compare__col--after p { font-weight: 600; }
.ag-compare__tag { display: inline-block; margin-bottom: 10px; padding: 3px 10px; border-radius: 999px; font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; background: var(--ag-white); border: 1px solid var(--ag-line-2); }
.ag-compare__col--after .ag-compare__tag { background: var(--ag-yellow); border-color: var(--ag-yellow); }
.ag-compare__arrow { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--ag-orange); }
.ag-compare__arrow .ag-icon { animation: agNudge 2.4s var(--ag-ease) infinite; }
@media (max-width: 640px) {
	.ag-compare { grid-template-columns: 1fr; justify-items: stretch; }
	.ag-compare__arrow { justify-self: center; transform: rotate(90deg); }
}

/* Estructura de campañas */
.ag-visual--campaigns { padding-top: 14px; }
.ag-tree { padding: 22px; border: 1px solid var(--ag-line); border-radius: 22px; background: var(--ag-white); box-shadow: var(--ag-shadow-big); display: grid; justify-items: center; gap: 22px; }
.ag-tree__root { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 12px; background: var(--ag-black); color: var(--ag-white); font-weight: 700; font-size: .9rem; position: relative; }
.ag-tree__root .ag-icon { color: var(--ag-yellow); }
.ag-tree__root::after { content: ""; position: absolute; left: 50%; top: 100%; width: 2px; height: 12px; background: var(--ag-line-2); }
.ag-tree__cols { width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; position: relative; padding-top: 12px; border-top: 2px solid var(--ag-line-2); }
.ag-tree__col { display: grid; gap: 6px; align-content: start; position: relative; }
.ag-tree__col::before { content: ""; position: absolute; left: 50%; top: -12px; width: 2px; height: 12px; background: var(--ag-line-2); }
.ag-tree__camp { text-align: center; font-weight: 800; font-size: .8rem; padding: 8px 6px; border-radius: 10px; background: var(--ag-yellow); }
.ag-tree__col:nth-child(even) .ag-tree__camp { background: var(--ag-orange); }
.ag-tree__group { text-align: center; font-size: .74rem; padding: 6px 4px; border-radius: 8px; border: 1px solid var(--ag-line); background: var(--ag-soft); }
@media (max-width: 600px) {
	.ag-tree__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 0; row-gap: 18px; }
	.ag-tree__col::before { display: none; }
}

/* Anuncios */
.ag-visual--ads { padding-top: 14px; }
.ag-ads { display: grid; gap: 12px; }
.ag-ads__banner { position: relative; display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 16px; border-radius: 18px; background: var(--ag-tint); border: 1px solid var(--ag-line); }
.ag-ads__logo { width: 54px; height: 54px; border-radius: 14px; background: var(--ag-black); }
.ag-ads__row { display: flex; gap: 6px; height: 70px; }
.ag-ads__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ag-ads__card { position: relative; padding: 14px 12px 12px; border-radius: 16px; background: var(--ag-white); border: 1px solid var(--ag-line); box-shadow: var(--ag-shadow); }
.ag-ads__card .ag-product { height: 96px; display: block; margin: 0 auto 10px; }
.ag-ads__card.is-sponsored { border: 2px solid var(--ag-orange); }
.ag-ads__tag { position: absolute; top: -10px; left: 10px; padding: 2px 8px; border-radius: 999px; font-size: .66rem; font-weight: 800; background: var(--ag-black); color: var(--ag-white); white-space: nowrap; }
.ag-ads__banner .ag-ads__tag { background: var(--ag-orange); color: var(--ag-black); }
@media (max-width: 520px) {
	.ag-ads__banner { grid-template-columns: 44px minmax(0, 1fr); }
	.ag-ads__row { grid-column: 1 / -1; justify-content: center; }
	.ag-ads__logo { width: 44px; height: 44px; }
	.ag-ads__card .ag-product { height: 70px; }
}

/* Dashboard */
.ag-visual--dashboard { display: grid; gap: 14px; }
.ag-dash { padding: 16px; border-radius: 22px; background: var(--ag-white); border: 1px solid var(--ag-line); box-shadow: var(--ag-shadow-big); display: grid; gap: 14px; }
.ag-dash__top { display: flex; align-items: center; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--ag-line); }
.ag-dash__top .ag-skel { flex: 1; margin: 0; }
.ag-dash__logo { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--ag-black); color: var(--ag-yellow); }
.ag-dash__logo .ag-icon { width: 20px; height: 20px; }
.ag-dash__pill { width: 70px; height: 24px; border-radius: 999px; background: var(--ag-tint); border: 1px solid var(--ag-yellow); }
.ag-dash__kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.ag-dash__kpi { padding: 10px; border-radius: 12px; background: var(--ag-soft); }
.ag-dash__kpi small { display: block; font-size: .72rem; font-weight: 700; color: var(--ag-ink-2); }
.ag-dash__kpi:nth-child(1) { box-shadow: inset 0 3px 0 var(--ag-yellow); }
.ag-dash__kpi:nth-child(4) { box-shadow: inset 0 3px 0 var(--ag-orange); }
.ag-dash__chart { border-radius: 14px; border: 1px solid var(--ag-line); padding: 8px; }
.ag-dash__chart svg { display: block; width: 100%; height: 140px; }
.ag-dash__grid { stroke: var(--ag-line); stroke-width: 1; fill: none; vector-effect: non-scaling-stroke; }
.ag-dash__area { fill: var(--ag-yellow); opacity: .22; }
.ag-dash__line { fill: none; stroke: var(--ag-orange); stroke-width: 2.5; vector-effect: non-scaling-stroke; stroke-linecap: round; }
.ag-dash__line--b { stroke: var(--ag-black); stroke-dasharray: 5 5; stroke-width: 1.5; }
.ag-dash__rows { display: grid; gap: 6px; }
.ag-dash__rows > span { display: grid; grid-template-columns: 26px minmax(0, 1fr) 60px; gap: 10px; align-items: center; padding: 6px 8px; border-radius: 10px; background: var(--ag-soft); }
.ag-dash__rows i { width: 26px; height: 26px; border-radius: 8px; background: var(--ag-white); border: 1px solid var(--ag-line); }
.ag-dash__rows b { height: 8px; border-radius: 5px; background: var(--ag-skel); }
.ag-dash__rows .ag-skel { margin: 0; }
.ag-dash-cap { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; font-size: .88rem; color: var(--ag-ink-2); }
.ag-dash-shot { position: relative; }
.ag-dash-shot__img { width: 100%; border-radius: 18px; border: 1px solid var(--ag-line); box-shadow: var(--ag-shadow-big); }
.ag-zoom-btn {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 14px;
	border-radius: 999px; border: 1px solid var(--ag-line-2); background: var(--ag-white);
	font-weight: 700; font-size: .88rem; cursor: pointer;
	transition: background .25s var(--ag-ease), transform .25s var(--ag-ease);
}
.ag-zoom-btn:hover { background: var(--ag-yellow); transform: translateY(-2px); }
.ag-dash-shot .ag-zoom-btn { position: absolute; right: 12px; bottom: 12px; box-shadow: var(--ag-shadow); }
.ag-zoom-btn .ag-icon { width: 18px; height: 18px; }
html:not(.ag-js) .ag-zoom-btn { display: none; }
@media (max-width: 520px) {
	.ag-dash__kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ag-dash__chart svg { height: 110px; }
}

/* Planificación */
.ag-visual--planning { padding-top: 14px; }
.ag-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 16px; border-radius: 22px; background: var(--ag-soft); border: 1px solid var(--ag-line); }
.ag-board__col { display: grid; gap: 8px; align-content: start; }
.ag-board__head { font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; padding: 4px 2px; }
.ag-board__card { display: grid; gap: 6px; padding: 12px; border-radius: 12px; background: var(--ag-white); border: 1px solid var(--ag-line); font-size: .84rem; font-weight: 600; line-height: 1.35; box-shadow: var(--ag-shadow); }
.ag-board__card em { font-style: normal; justify-self: start; font-size: .68rem; font-weight: 800; padding: 2px 8px; border-radius: 999px; background: var(--ag-yellow); }
.ag-board__col:nth-child(2) .ag-board__card em { background: var(--ag-orange); }
.ag-board__col:nth-child(3) .ag-board__card em { background: var(--ag-black); color: var(--ag-white); }
@media (max-width: 600px) { .ag-board { grid-template-columns: 1fr; } }

/* Informe */
.ag-visual--report { padding-top: 14px; }
.ag-report { padding: 22px; border-radius: 20px; background: var(--ag-white); border: 1px solid var(--ag-line); box-shadow: var(--ag-shadow-big); display: grid; gap: 14px; max-width: 520px; margin-inline: auto; transform: rotate(-1.2deg); }
.ag-report__head { display: flex; gap: 12px; align-items: center; padding-bottom: 12px; border-bottom: 2px solid var(--ag-black); }
.ag-report__head small { display: block; color: var(--ag-ink-3); font-size: .78rem; }
.ag-report__icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--ag-yellow); }
.ag-report__sec b { display: block; font-size: .85rem; margin-bottom: 4px; }
.ag-report__check { display: flex; gap: 8px; align-items: center; }
.ag-report__check .ag-icon { width: 18px; height: 18px; color: var(--ag-orange); stroke-width: 2.5; }
.ag-report__check .ag-skel { margin: 4px 0; }
.ag-report__bars { display: flex; align-items: flex-end; gap: 8px; height: 70px; padding: 8px; border-radius: 10px; background: var(--ag-soft); }
.ag-report__bars i { flex: 1; height: var(--h); border-radius: 6px 6px 2px 2px; background: var(--ag-skel); }
.ag-report__bars i:nth-child(4) { background: var(--ag-yellow); }

/* Servicios coordinados (órbita) */
.ag-orbit { position: relative; aspect-ratio: 1; max-width: 460px; margin-inline: auto; }
.ag-orbit__ring { position: absolute; inset: 9%; border-radius: 50%; border: 2px dashed var(--ag-line-2); animation: agSpin 60s linear infinite; }
.ag-orbit__ring--b { inset: 25%; border-color: var(--ag-orange); opacity: .45; animation-direction: reverse; animation-duration: 45s; }
.ag-orbit__core { position: absolute; inset: 35%; border-radius: 50%; background: var(--ag-yellow); display: grid; place-items: center; align-content: center; gap: 4px; text-align: center; box-shadow: 0 0 0 10px var(--ag-tint); }
.ag-orbit__core .ag-icon { width: 34px; height: 34px; }
.ag-orbit__core b { font-family: var(--ag-font-head); font-size: clamp(.85rem, 2.4vw, 1.05rem); }
.ag-orbit__item {
	position: absolute; display: inline-flex; align-items: center; gap: 8px;
	padding: 9px 14px 9px 9px; border-radius: 999px; background: var(--ag-white); border: 1px solid var(--ag-line);
	box-shadow: var(--ag-shadow-lift); font-weight: 700; font-size: clamp(.75rem, 2.2vw, .9rem); white-space: nowrap;
	animation: agFloat 6s ease-in-out infinite alternate;
}
.ag-orbit__item .ag-icon { width: 30px; height: 30px; padding: 6px; border-radius: 50%; background: var(--ag-yellow); }
.ag-orbit__item--1 { top: 2%; left: 50%; translate: -50% 0; }
.ag-orbit__item--2 { top: 46%; right: -2%; animation-delay: -2s; }
.ag-orbit__item--2 .ag-icon, .ag-orbit__item--4 .ag-icon { background: var(--ag-orange); }
.ag-orbit__item--3 { bottom: 2%; left: 50%; translate: -50% 0; animation-delay: -4s; }
.ag-orbit__item--4 { top: 46%; left: -2%; animation-delay: -1s; }

/* Contacto */
.ag-visual--contact { padding: 30px 10px; }
.ag-chat { position: relative; z-index: 1; display: grid; gap: 14px; max-width: 420px; margin-inline: auto; }
.ag-chat__bubble { display: block; padding: 14px 16px; border-radius: 20px; background: var(--ag-white); border: 1px solid var(--ag-line); box-shadow: var(--ag-shadow); width: 82%; animation: agFloat 7s ease-in-out infinite alternate; }
.ag-chat__bubble--a { border-bottom-left-radius: 6px; }
.ag-chat__bubble--b { justify-self: end; background: var(--ag-yellow); border-color: var(--ag-yellow); border-bottom-right-radius: 6px; animation-delay: -2s; }
.ag-chat__bubble--b .ag-skel { background: rgba(0, 0, 0, .18); }
.ag-chat__icon { position: absolute; right: -6px; top: -26px; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 18px; background: var(--ag-orange); box-shadow: var(--ag-shadow-lift); animation: agFloat 5s ease-in-out infinite alternate; }
.ag-chat__icon .ag-icon { width: 28px; height: 28px; }
.ag-visual-block { max-width: 760px; margin-inline: auto; }

/* ---------- 14. Footer ---------- */
.ag-footer { position: relative; margin-top: clamp(40px, 6vw, 80px); padding-top: clamp(48px, 6vw, 80px); background: var(--ag-white); border-top: 1px solid var(--ag-line); }
.ag-footer__line { position: absolute; top: -1px; left: 0; width: 100%; height: 4px; background: linear-gradient(90deg, var(--ag-yellow) 0 50%, var(--ag-orange) 50% 100%); transform-origin: left; transform: scaleX(.18); transition: transform 1.2s var(--ag-ease-out); }
.ag-footer.is-in .ag-footer__line { transform: scaleX(1); }
.ag-footer__grid { display: grid; gap: 36px 28px; grid-template-columns: minmax(0, 1fr); padding-bottom: 40px; }
@media (min-width: 640px) { .ag-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .ag-footer__grid { grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); } }
.ag-footer__claim { margin-top: 16px; color: var(--ag-ink-2); max-width: 32ch; }
.ag-footer__title { font-family: var(--ag-font-body); font-size: .8rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 14px; }
.ag-footer__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.ag-footer__list a { display: inline-flex; align-items: center; gap: 10px; min-height: 40px; text-decoration: none; color: var(--ag-ink); }
.ag-footer__list a > span, .ag-footer__list a:not(:has(span)) {
	background: linear-gradient(var(--ag-yellow), var(--ag-yellow)) no-repeat 0 100% / 0 3px;
	transition: background-size .35s var(--ag-ease);
}
.ag-footer__list a:hover > span, .ag-footer__list a:focus-visible > span,
.ag-footer__list a:not(:has(span)):hover, .ag-footer__list a:not(:has(span)):focus-visible { background-size: 100% 3px; }
.ag-footer__list .ag-icon { width: 20px; height: 20px; color: var(--ag-orange); }
.ag-footer__socials { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ag-footer__socials a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; border: 1px solid var(--ag-line); color: var(--ag-ink); transition: background .25s var(--ag-ease), transform .25s var(--ag-ease); }
.ag-footer__socials a:hover, .ag-footer__socials a:focus-visible { background: var(--ag-yellow); transform: translateY(-3px); }
.ag-footer__bottom { display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; align-items: center; padding-block: 20px; border-top: 1px solid var(--ag-line); font-size: .9rem; }
.ag-footer__bottom p { margin: 0; }
.ag-footer__bottom .ag-footer__list { display: flex; flex-wrap: wrap; gap: 0 6px; }
.ag-footer__bottom .ag-footer__list li + li::before { content: "·"; margin-right: 6px; color: var(--ag-ink-3); }
.ag-footer__bottom .ag-footer__list li { display: inline-flex; align-items: center; }
.ag-footer__disclaimer { font-size: .78rem; color: var(--ag-ink-3); padding-bottom: 28px; margin: 0 auto; }

/* ---------- 15. Páginas de contenido ---------- */
.ag-page { padding-block: clamp(48px, 7vw, 96px); }
.ag-page--narrow { max-width: calc(800px + var(--ag-gutter) * 2); }
.ag-page__title { font-size: calc(clamp(2rem, 1.3rem + 2.8vw, 3.3rem) * var(--ag-head-scale)); }
.ag-entry { color: var(--ag-ink); }
.ag-entry h2 { font-size: 1.6rem; margin-top: 1.6em; }
.ag-entry h3 { font-size: 1.25rem; margin-top: 1.4em; }
.ag-entry a { text-decoration-color: var(--ag-orange); text-decoration-thickness: 2px; }
.ag-entry ul, .ag-entry ol { padding-left: 1.3em; }
.ag-entry .wp-block-group.is-style-ag-draft, .ag-draft-notice { padding: 16px 18px; border-radius: 14px; background: var(--ag-tint-o); border: 1px solid var(--ag-orange); }
.ag-postlist { display: grid; gap: 18px; }
.ag-postcard { padding: 24px; border: 1px solid var(--ag-line); border-radius: var(--ag-radius); }
.ag-postcard__title a { text-decoration: none; }
.ag-landing-content > :first-child.ag-section:not(.ag-hero) { padding-top: clamp(48px, 6vw, 88px); }

/* Elementor: secciones del tema a ancho completo dentro de contenedores. */
.elementor-widget[class*="elementor-widget-ag-"] > .elementor-widget-container { margin: 0; padding: 0; }
.elementor-widget[class*="elementor-widget-ag-"] { width: 100%; }

/* ---------- 16. Diálogo (galería / ampliar) ---------- */
.ag-dialog {
	width: min(1040px, calc(100vw - 24px)); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px);
	padding: 0; border: 0; border-radius: 24px; background: var(--ag-white); color: var(--ag-ink);
	box-shadow: 0 40px 100px -20px rgba(0, 0, 0, .5);
	overflow: hidden;
}
.ag-dialog::backdrop { background: rgba(0, 0, 0, .55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.ag-dialog[open] { animation: agDialogIn .35s var(--ag-ease-out) both; }
.ag-dialog[open]::backdrop { animation: agFade .3s var(--ag-ease) both; }
.ag-dialog__inner { position: relative; max-height: inherit; overflow-y: auto; overscroll-behavior: contain; padding: clamp(18px, 3vw, 36px); }
.ag-dialog__close {
	position: sticky; top: 0; float: right; z-index: 5; margin: -6px -6px 0 12px;
	display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%;
	border: 1px solid var(--ag-line-2); background: var(--ag-white); cursor: pointer;
	transition: background .25s var(--ag-ease), transform .3s var(--ag-ease);
}
.ag-dialog__close:hover { background: var(--ag-yellow); transform: rotate(90deg); }
.ag-gallery__head { margin-bottom: 18px; padding-right: 50px; }
.ag-gallery__title { font-size: clamp(1.4rem, 1.2rem + 1vw, 2rem); margin: 4px 0 10px; }
.ag-gallery__stage { position: relative; }
.ag-gallery__slide { margin: 0; display: none; }
.ag-gallery__slide.is-active { display: block; animation: agFade .35s var(--ag-ease) both; }
.ag-gallery__slide img { width: 100%; max-height: 62vh; object-fit: contain; border-radius: 16px; background: var(--ag-soft); }
.ag-gallery__slide figcaption { margin-top: 10px; font-size: .9rem; color: var(--ag-ink-2); text-align: center; }
html:not(.ag-js) .ag-gallery__slide, .ag-gallery--static .ag-gallery__slide { display: block; margin-bottom: 16px; }
.ag-gallery--compare .ag-gallery__stage { display: grid; gap: 16px; }
@media (min-width: 760px) { .ag-gallery--compare .ag-gallery__stage { grid-template-columns: 1fr 1fr; } }
.ag-gallery--compare .ag-gallery__slide { display: block; }
.ag-gallery__nav { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 14px; }
.ag-gallery__nav button { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--ag-line-2); background: var(--ag-white); cursor: pointer; transition: background .25s var(--ag-ease); }
.ag-gallery__nav button:hover { background: var(--ag-yellow); }
.ag-gallery__nav .is-prev .ag-icon { transform: scaleX(-1); }
.ag-gallery__dots { font-weight: 700; font-size: .9rem; min-width: 60px; text-align: center; }
.ag-gallery__text { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--ag-line); color: var(--ag-ink-2); }
.ag-zoom-view { display: grid; gap: 14px; }
.ag-zoom-view img { width: 100%; height: auto; border-radius: 14px; }
.ag-zoom-view .ag-visual--dashboard { max-width: 920px; margin-inline: auto; }
.ag-zoom-view .ag-dash__chart svg { height: 240px; }
.ag-zoom-view .ag-zoom-btn { display: none; }
body.ag-dialog-open { overflow: hidden; }

/* ---------- 17. Animaciones ---------- */
.ag-anim-in { animation: agIn .9s var(--ag-ease-out) both; animation-delay: calc(var(--d, 0) * 110ms + 60ms); }
.ag-js .ag-reveal {
	opacity: 0; transform: translate3d(0, 26px, 0);
	transition: opacity .8s var(--ag-ease-out), transform .8s var(--ag-ease-out);
	transition-delay: calc(var(--d, 0) * 90ms);
}
.ag-js .ag-reveal--side { transform: translate3d(28px, 0, 0); }
.ag-js .ag-split--reverse .ag-reveal--side { transform: translate3d(-28px, 0, 0); }
.ag-js .ag-reveal--soft { transform: translate3d(0, 14px, 0) scale(.985); }
.ag-js .ag-reveal.is-in, .ag-reveal-all .ag-reveal, .elementor-editor-active .ag-reveal { opacity: 1; transform: none; }
.ag-js mark { background-size: 0 100%; transition: background-size 1s var(--ag-ease-out) .5s; }
.ag-js .is-in mark, .ag-js .ag-anim-in mark, .ag-js .is-in.ag-title mark, .ag-reveal-all mark { background-size: 100% 100%; }
.ag-js .ag-hero__title mark { animation: agMark 1s var(--ag-ease-out) .7s both; background-size: 100% 100%; }

@keyframes agIn { from { opacity: 0; transform: translate3d(0, 22px, 0); } to { opacity: 1; transform: none; } }
@keyframes agFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes agFloat { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(0, -10px, 0); } }
@keyframes agSpin { to { transform: rotate(360deg); } }
@keyframes agNudge { 0%, 70%, 100% { transform: translateX(0); } 80% { transform: translateX(4px); } 90% { transform: translateX(-1px); } }
@keyframes agWipe { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes agMark { from { background-size: 0 100%; } to { background-size: 100% 100%; } }
@keyframes agNeedle { from { transform: rotate(-120deg); } 70% { transform: rotate(12deg); } to { transform: rotate(0); } }
@keyframes agNeedleHover { 0% { transform: rotate(0); } 40% { transform: rotate(25deg); } 70% { transform: rotate(-8deg); } 100% { transform: rotate(0); } }
@keyframes agHeaderIn { from { opacity: 0; transform: translate3d(0, -12px, 0); } to { opacity: 1; transform: none; } }
@keyframes agDialogIn { from { opacity: 0; transform: translate3d(0, 18px, 0) scale(.98); } to { opacity: 1; transform: none; } }

/* Nivel discreto (Personalizador): solo fundidos, sin desplazamientos ni flotación. */
.ag-motion-subtle .ag-float, .ag-motion-subtle .ag-deco, .ag-motion-subtle .ag-orbit__item,
.ag-motion-subtle .ag-orbit__ring, .ag-motion-subtle .ag-hero__deco, .ag-motion-subtle .ag-chat__bubble,
.ag-motion-subtle .ag-chat__icon, .ag-motion-subtle .ag-cta__deco { animation: none; }
.ag-js .ag-motion-subtle .ag-reveal { transform: none; }
.ag-motion-subtle .ag-anim-in { animation-name: agFade; }

/* ---------- 18. Movimiento reducido ---------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		animation-delay: 0s !important;
		transition-duration: .01ms !important;
		transition-delay: 0s !important;
	}
	.ag-js .ag-reveal { opacity: 1; transform: none; }
	.ag-js mark { background-size: 100% 100%; }
}
.ag-motion-off *, .ag-motion-off *::before, .ag-motion-off *::after {
	animation: none !important; transition: none !important;
}
.ag-motion-off .ag-reveal { opacity: 1 !important; transform: none !important; }
.ag-motion-off mark { background-size: 100% 100% !important; }

@media print {
	.ag-header, .ag-footer, .ag-dialog, .ag-hero__deco { display: none !important; }
	.ag-reveal { opacity: 1 !important; transform: none !important; }
}

/* ---------- 19. Mockups estilo marketplace (genéricos, sin marcas de terceros) ---------- */
.ag-mk { font-family: var(--ag-font-body); }
.ag-mk-top {
	display: flex; align-items: center; gap: clamp(6px, 1.2vw, 12px);
	padding: 8px clamp(8px, 1.4vw, 14px); background: #121212; color: #fff; font-size: .62rem; line-height: 1.15;
}
.ag-mk-top small { display: block; color: rgba(255, 255, 255, .7); font-size: .56rem; }
.ag-mk-top b { font-weight: 700; white-space: nowrap; }
.ag-mk-burger { display: grid; gap: 3px; width: 14px; flex: 0 0 14px; }
.ag-mk-burger i { display: block; height: 2px; border-radius: 2px; background: currentColor; }
.ag-mk-search {
	flex: 1; min-width: 0; display: flex; align-items: stretch; height: 26px;
	border-radius: 7px; overflow: hidden; background: #fff; color: #111;
}
.ag-mk-search__cat { display: grid; place-items: center; padding: 0 7px; background: #E9E9E4; font-size: .56rem; border-right: 1px solid #d5d5cf; }
.ag-mk-search__q { flex: 1; min-width: 0; display: flex; align-items: center; padding: 0 8px; font-size: .62rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ag-mk-search__btn { display: grid; place-items: center; width: 30px; background: var(--ag-yellow); }
.ag-mk-search__btn .ag-icon { width: 15px; height: 15px; stroke-width: 2.4; }
.ag-mk-cart { position: relative; display: grid; place-items: center; }
.ag-mk-cart .ag-icon { width: 20px; height: 20px; }
.ag-mk-cart em { position: absolute; top: -6px; right: -5px; font-style: normal; font-weight: 800; font-size: .58rem; color: var(--ag-orange); }
.ag-mk-nav { display: flex; gap: 12px; padding: 5px clamp(8px, 1.4vw, 14px); background: #2A2A2A; color: #fff; font-size: .58rem; white-space: nowrap; overflow: hidden; }
.ag-mk-crumbs { margin: 0; padding: 7px 14px 0; font-size: .58rem; color: #6b6b6b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.ag-mk-pdp { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.2fr) minmax(0, .82fr); gap: clamp(8px, 1.4vw, 14px); padding: 10px 14px 16px; }
.ag-mk-gal { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 6px; }
.ag-mk-gal__thumbs { display: grid; gap: 5px; align-content: start; }
.ag-mk-gal__thumbs span { aspect-ratio: 1; border-radius: 4px; border: 1px solid #ddd; background: var(--ag-soft); }
.ag-mk-gal__thumbs .is-active { border-color: var(--ag-orange); box-shadow: 0 0 0 1px var(--ag-orange); }
.ag-mk-gal__main { aspect-ratio: 3 / 4; display: grid; place-items: center; padding: 10%; border-radius: 6px; background: #fff; }
.ag-mk-gal__main .ag-product { height: 100%; }
.ag-mk-info { min-width: 0; display: grid; gap: 4px; align-content: start; }
.ag-mk-brand { font-size: .58rem; color: #2F6FB0; }
.ag-mk-title { margin: 0; font-size: clamp(.68rem, .55rem + .35vw, .82rem); line-height: 1.3; font-weight: 600; color: #111; }
.ag-mk-stars { display: inline-flex; gap: 1px; }
.ag-mk-stars i { width: 11px; height: 11px; background: #D9D9D2; clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
.ag-mk-stars i.is-full { background: var(--ag-orange); }
.ag-mk-stars i.is-half { background: linear-gradient(90deg, var(--ag-orange) 50%, #D9D9D2 50%); }
.ag-mk-badge { justify-self: start; padding: 2px 7px; border-radius: 3px; background: #1d1d1d; color: #fff; font-size: .55rem; font-weight: 700; }
.ag-mk-badge::first-letter { color: var(--ag-yellow); }
.ag-mk-price { font-size: 1.35rem; font-weight: 500; line-height: 1; color: #111; padding-top: 4px; border-top: 1px solid #e5e5e0; }
.ag-mk-price sup { font-size: .5em; top: -.6em; position: relative; vertical-align: baseline; }
.ag-mk-price--sm { font-size: 1.1rem; border: 0; padding: 0; }
.ag-mk-price--xs { font-size: .9rem; border: 0; padding: 0; }
.ag-mk-about { margin: 2px 0 0; font-size: .62rem; font-weight: 800; }
.ag-mk-bullets { margin: 0; padding-left: 1.1em; font-size: .58rem; line-height: 1.35; color: #333; display: grid; gap: 2px; }
.ag-mk-buy { display: grid; gap: 5px; align-content: start; padding: 9px; border: 1px solid #ddd; border-radius: 8px; font-size: .58rem; }
.ag-mk-buy small { color: #333; }
.ag-mk-stock { color: #1E7B34; font-size: .7rem; }
.ag-mk-qty { padding: 3px 6px; border-radius: 6px; background: #F0F0EC; border: 1px solid #d5d5cf; }
.ag-mk-btn { display: grid; place-items: center; min-height: 22px; border-radius: 999px; font-weight: 700; font-size: .58rem; color: #111; text-align: center; padding: 3px 4px; }
.ag-mk-btn--cart { background: var(--ag-yellow); }
.ag-mk-btn--buy { background: var(--ag-orange); }
.ag-visual--product { max-width: 680px; }
.ag-visual--product .ag-mock { border-radius: 14px; }
@media (max-width: 560px) {
	.ag-mk-pdp { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
	.ag-mk-buy { display: none; }
	.ag-mk-place, .ag-mk-acc, .ag-mk-search__cat { display: none; }
	.ag-mk-nav span:nth-child(n+4) { display: none; }
}

/* Listing con marco de tienda */
.ag-listing.ag-mk { grid-template-columns: 110px minmax(0, 1fr); padding: 0 20px 20px; overflow: hidden; }
.ag-listing__frame { grid-column: 1 / -1; margin: 0 -20px 4px; }
.ag-listing__body { display: grid; gap: 4px; align-content: start; }
.ag-listing__body .ag-listing__title { margin-bottom: 4px; }
.ag-listing__body .ag-listing__bullets { margin-top: 2px; }
@media (max-width: 520px) { .ag-listing.ag-mk { grid-template-columns: 1fr; } .ag-mk-place, .ag-mk-acc, .ag-mk-search__cat { display: none; } }

/* Resultados de búsqueda con anuncios */
.ag-ads.ag-mk { background: #fff; border: 1px solid var(--ag-line); border-radius: 20px; overflow: hidden; box-shadow: var(--ag-shadow-big); gap: 10px; padding-bottom: 14px; }
.ag-ads__frame { margin: 0; }
.ag-mk-results { margin: 0; padding: 0 14px; font-size: .66rem; color: #444; }
.ag-mk-results b { color: #B4541A; }
.ag-ads.ag-mk .ag-ads__banner { margin: 6px 14px 0; background: #FAFAF7; }
.ag-ads__logo { display: grid; place-items: center; color: var(--ag-yellow); font-family: var(--ag-font-head); font-weight: 800; font-size: .62rem; text-align: center; line-height: 1.1; padding: 4px; }
.ag-ads__headline { display: block; font-size: .78rem; line-height: 1.25; }
.ag-ads__shop { display: block; margin-top: 4px; font-size: .62rem; color: #2F6FB0; }
.ag-ads.ag-mk .ag-ads__grid { padding: 6px 14px 0; }
.ag-ads.ag-mk .ag-ads__card { display: grid; gap: 4px; align-content: start; padding: 10px; box-shadow: none; }
.ag-ads.ag-mk .ag-ads__card .ag-product { height: 82px; margin-bottom: 4px; }
.ag-ads__sp { font-size: .58rem; color: #666; }
.ag-ads__title { font-size: .66rem; line-height: 1.3; font-weight: 600; color: #111; }
.ag-ads__ship { font-size: .56rem; color: #444; }
.ag-ads.ag-mk .ag-ads__card.is-sponsored { border: 2px solid var(--ag-orange); }
@media (max-width: 520px) { .ag-ads.ag-mk .ag-ads__card:nth-child(3) { display: none; } .ag-ads.ag-mk .ag-ads__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Panel del vendedor */
.ag-dash.ag-sc { padding: 0; gap: 0; overflow: hidden; }
.ag-sc__top { display: flex; align-items: center; gap: 12px; padding: 9px 14px; background: #121212; color: #fff; font-size: .68rem; }
.ag-sc__name { font-family: var(--ag-font-head); font-size: .8rem; white-space: nowrap; }
.ag-sc__name::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 6px; border-radius: 50%; background: var(--ag-yellow); vertical-align: middle; }
.ag-sc__market { padding: 3px 8px; border-radius: 6px; background: #2A2A2A; white-space: nowrap; font-size: .62rem; }
.ag-sc__search { margin-left: auto; min-width: 80px; padding: 4px 10px; border-radius: 6px; background: #fff; color: #777; font-size: .6rem; }
.ag-sc__body { display: grid; grid-template-columns: 42px minmax(0, 1fr); }
.ag-sc__side { display: grid; gap: 6px; align-content: start; padding: 10px 6px; background: #F3F3EF; border-right: 1px solid var(--ag-line); }
.ag-sc__side span { display: grid; place-items: center; height: 30px; border-radius: 8px; color: #555; }
.ag-sc__side span.is-active { background: var(--ag-yellow); color: #111; }
.ag-sc__side .ag-icon { width: 17px; height: 17px; }
.ag-sc__main { display: grid; gap: 12px; padding: 12px; min-width: 0; }
.ag-sc__tabs { display: flex; gap: 14px; border-bottom: 1px solid var(--ag-line); font-size: .66rem; font-weight: 700; color: #666; white-space: nowrap; overflow: hidden; }
.ag-sc__tabs span { padding-bottom: 7px; }
.ag-sc__tabs .is-active { color: #111; box-shadow: inset 0 -3px 0 var(--ag-orange); }
.ag-sc__legend { display: flex; align-items: center; gap: 6px; margin: 0 0 4px 4px; font-size: .58rem; color: #555; }
.ag-sc__legend i { width: 14px; height: 3px; border-radius: 2px; background: var(--ag-orange); }
.ag-sc__legend i.is-b { margin-left: 8px; background: repeating-linear-gradient(90deg, #111 0 4px, transparent 4px 7px); }
.ag-sc__table { display: grid; gap: 4px; font-size: .62rem; }
.ag-sc__th, .ag-sc__tr { display: grid; grid-template-columns: minmax(0, 2fr) 70px 1fr 1fr; gap: 8px; align-items: center; padding: 6px 8px; border-radius: 8px; }
.ag-sc__th { color: #666; font-size: .56rem; text-transform: uppercase; letter-spacing: .04em; }
.ag-sc__tr { background: var(--ag-soft); }
.ag-sc__tr span { font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; }
.ag-sc__tr em { justify-self: start; font-style: normal; font-weight: 700; font-size: .56rem; padding: 2px 7px; border-radius: 999px; background: #E3F4E7; color: #1E7B34; }
.ag-sc__tr em.is-paused { background: #F0F0EC; color: #666; }
.ag-sc__tr i { height: 8px; border-radius: 5px; background: var(--ag-skel); }
@media (max-width: 520px) {
	.ag-sc__market, .ag-sc__search { display: none; }
	.ag-sc__body { grid-template-columns: 34px minmax(0, 1fr); }
	.ag-sc__th, .ag-sc__tr { grid-template-columns: minmax(0, 1.6fr) 62px 1fr; }
	.ag-sc__th b:nth-child(4), .ag-sc__tr i:last-child { display: none; }
}
/* Posición de las tarjetas flotantes sobre la ficha de marketplace */
.ag-visual--product .ag-float--seo { top: -6px; right: -10px; }
.ag-visual--product .ag-float--ppc { left: -12px; bottom: 10%; }
@media (max-width: 560px) {
	.ag-visual--product { padding: 34px 4px 78px; }
	.ag-visual--product .ag-float--seo { top: 0; right: 0; }
	.ag-visual--product .ag-float--ppc { left: 0; bottom: 30px; }
	.ag-visual--product .ag-float--design { right: 0; bottom: 30px; }
	.ag-visual--product > .ag-visual__label { left: 4px; bottom: 0; }
}
