/* Propuesta E · «Contraste» (thesocialshepherd.com): hero negro con tipografía enorme en líneas desplazadas y la hoja del logo girando
   en 3D; secciones crema con servicios en filas numeradas. Archivo (ancha) + DM Mono. */
body.jg-e {
	--bg: #000000; --bg2: #141414; --panel: #0F0F0F; --ink: #F4F4EB; --mute: #A3A39C; --dim: rgba(244, 244, 235, .3);
	--line: rgba(244, 244, 235, .13); --line-2: rgba(244, 244, 235, .25); --acc: #CDB07A; --acc-ink: #000; --acc-soft: rgba(205, 176, 122, .18);
	--soft: rgba(244, 244, 235, .08); --row-hover: rgba(244, 244, 235, .04); --hdr-bg: rgba(0, 0, 0, .78); --nav-bg: rgba(244, 244, 235, .06); --err: #FF8A7A;
	--fd: 'Archivo', system-ui, sans-serif; --fb: 'Archivo', system-ui, sans-serif; --fm: 'DM Mono', ui-monospace, monospace;
	--h1s: clamp(56px, 10.2vw, 186px); --h1w: 800; --h1lh: .86; --h1ls: -.045em; --h2s: clamp(30px, 5.6vw, 96px); --h2w: 800; --h2ls: -.04em;
	--logo-f: brightness(0) invert(1); --r-md: 6px; --r-lg: 8px; --r-xl: 14px; --ftr-bg: #000; --ftr-ink: #F4F4EB; --veil-bg: #000;
	--diag-img: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F4F4EB' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E");
}
body.jg-e .jg-t-h1 .elementor-heading-title, body.jg-e .jg-t-h2 .elementor-heading-title, body.jg-e .jg-efila__t .elementor-heading-title, body.jg-e .jg-ftr__big .elementor-heading-title, body.jg-e .jg-ftr__word .elementor-heading-title { text-transform: uppercase; font-stretch: 112%; }
body.jg-e .jg-hdr__nav .elementor-icon-list-items { border: 0; background: none; }
body.jg-e .jg-hdr__nav .elementor-icon-list-item > a { text-transform: uppercase; font-size: 12px; font-weight: 700; letter-spacing: .04em; }
body.jg-e .jg-hdr__cta .elementor-button { background: #2A2A2A; color: #fff; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
/* Hero */
body.jg-site .e-con.jg-hero--e { min-height: 100svh; justify-content: flex-end; padding-block: 130px 60px; overflow: hidden; isolation: isolate; perspective: 1200px; }
body.jg-site .jg-hoja3d { position: absolute !important; left: 50%; top: 14%; width: clamp(240px, 30vw, 520px) !important; margin-left: calc(clamp(240px, 30vw, 520px) / -2); z-index: 1; transform-style: preserve-3d; will-change: transform; }
body.jg-site .jg-hoja3d img { width: 100%; filter: drop-shadow(0 40px 70px rgba(205, 176, 122, .35)) drop-shadow(0 0 2px rgba(255, 255, 255, .3)); animation: jg-gira 14s linear infinite; transform-style: preserve-3d; }
@keyframes jg-gira { to { transform: rotateY(360deg); } }
body.jg-site .e-con.jg-hero--e .jg-hero__in { position: relative; z-index: 2; }
body.jg-e .jg-h1--e .ln--in { padding-left: 14vw; }
body.jg-e .jg-h1--e .ln--in2 { padding-left: 26vw; }
/* Móvil: con la sangría de escritorio «BUSCANDO» se salía del hero */
@media (max-width: 760px) { body.jg-e { --h1s: clamp(38px, 11vw, 186px); } body.jg-e .jg-h1--e .ln--in { padding-left: 6vw; } body.jg-e .jg-h1--e .ln--in2 { padding-left: 12vw; } }
body.jg-site .jg-hero--e .jg-hero__side { margin-top: 30px; }
/* Secciones crema */
body.jg-site .e-con.jg-crema { background: #F4F4EB; color: #111; --bg: #F4F4EB; --ink: #111111; --mute: #55554F; --dim: rgba(17, 17, 17, .3); --line: rgba(17, 17, 17, .12); --line-2: rgba(17, 17, 17, .24); --panel: #fff; --acc: #8C6B42; --acc-ink: #fff; --row-hover: rgba(17, 17, 17, .03);
	--diag-img: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E"); }
body.jg-site .e-con.jg-somos--e .jg-somos__in { display: block; }
body.jg-site .jg-somos--e .jg-somos__ps p:nth-child(-n+2) { font: 700 clamp(26px, 3.2vw, 54px)/1.08 var(--fd); letter-spacing: -.035em; max-width: 26ch; font-stretch: 105%; }
body.jg-site .jg-somos--e .jg-somos__ps { columns: 1; }
/* Servicios en filas numeradas (como «(03) PAID») */
body.jg-site .e-con.jg-efilas { border-top: 1px solid var(--line); }
body.jg-site .e-con.jg-efila { display: grid; grid-template-columns: clamp(70px, 9vw, 140px) clamp(150px, 16vw, 250px) minmax(0, 1fr); gap: clamp(18px, 3vw, 48px); align-items: start; padding: clamp(20px, 2.4vw, 32px) 0; border-bottom: 1px solid var(--line); transition: background .35s; }
body.jg-site .e-con.jg-efila:hover { background: var(--row-hover); }
body.jg-site .jg-efila__n .elementor-heading-title { font: 700 clamp(22px, 2.2vw, 34px)/1 var(--fd); letter-spacing: -.03em; }
body.jg-site .jg-efila__img { overflow: hidden; border-radius: var(--r-md); }
body.jg-site .jg-efila__img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: scale 1s var(--ease); }
body.jg-site .e-con.jg-efila:hover .jg-efila__img img { scale: 1.07; }
body.jg-site .e-con.jg-efila__txt { gap: 12px; }
body.jg-site .jg-efila__t .elementor-heading-title { font: 800 clamp(36px, 4.6vw, 80px)/.9 var(--fd); letter-spacing: -.04em; transition: color .3s; }
body.jg-site .e-con.jg-efila:hover .jg-efila__t .elementor-heading-title { color: var(--acc); }
body.jg-site .jg-efila__d { color: var(--mute); max-width: 62ch; }
body.jg-site .jg-efila__ver .elementor-heading-title { font: 600 12px/1 var(--fm); letter-spacing: .14em; display: inline-flex; gap: 8px; align-items: center; }
body.jg-site .jg-efila__ver .elementor-heading-title::before { content: ""; width: 14px; height: 14px; background: var(--acc); -webkit-mask: var(--diag) center/contain no-repeat; mask: var(--diag) center/contain no-repeat; }
@media (max-width: 760px) { body.jg-site .e-con.jg-efila { grid-template-columns: 56px minmax(0, 1fr); } body.jg-site .jg-efila__img { grid-column: 2; } body.jg-site .e-con.jg-efila__txt { grid-column: 1 / -1; } }
/* Marcas en banda negra, proyectos en dos columnas */
body.jg-site .e-con.jg-marcas--e { --sec: clamp(60px, 7vw, 100px); }
body.jg-site .e-con.jg-pgrid--e { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.jg-site .jg-pgrid--e .jg-pg img { aspect-ratio: 4 / 3; }
/* Son 9: la primera ocupa las dos columnas y no queda un hueco al final */
body.jg-site .jg-pgrid--e > .jg-pg:first-child { grid-column: 1 / -1; }
body.jg-site .jg-pgrid--e > .jg-pg:first-child img { aspect-ratio: 21 / 9; }
/* Contacto: en Archivo ancha y mayúsculas «CONSTRUCCIÓN.» no cabía en su columna */
body.jg-e .jg-brief .jg-brief__h .elementor-heading-title { font-size: clamp(30px, 3.9vw, 60px); }
body.jg-e .jg-enfoque__p .elementor-heading-title { font-weight: 600; }
body.jg-e .jg-ftr__word .elementor-heading-title { -webkit-text-stroke-color: rgba(205, 176, 122, .3); font-size: clamp(64px, 18vw, 300px); letter-spacing: -.04em; }
