/* Yendo Verde — capa de sitio ("Terreno") sobre el sistema base de ds-industry.css
   (no se toca ese archivo). Registro editorial/orgánico: tarjetas redondeadas,
   sombras suaves, con la voz tipográfica técnica (Barlow Condensed + JetBrains
   Mono en kickers/mono) del diseño original. Paleta "Esmeralda": blanco puro +
   verde esmeralda saturado y presente (incluso las superficies de tarjeta
   llevan un tinte verde visible, no sólo los acentos). */

/* ── identidad: blanco puro + verde esmeralda (más saturado y presente) ── */
:root{
  --color-bg:#ffffff;
  --color-surface:linear-gradient(180deg,var(--color-accent-800) 0%,var(--color-accent-600) 100%);
  --color-text:#0e1f16;
  --color-divider:color-mix(in srgb,#0e1f16 13%,transparent);

  --color-neutral-100:#f2f8f4; --color-neutral-200:#e0ece4; --color-neutral-300:#c3d6c9;
  --color-neutral-400:#9bb5a2; --color-neutral-500:#75937e; --color-neutral-600:#54705d;
  --color-neutral-700:#3c5442; --color-neutral-800:#243830; --color-neutral-900:#0e1f16;

  /* verde esmeralda — acento principal, más saturado */
  --color-accent:#0e8a52;
  --color-accent-100:#e6f7ee; --color-accent-200:#bdeccf; --color-accent-300:#83d6a5;
  --color-accent-400:#45bd7c; --color-accent-500:#189f5f; --color-accent-600:#0e8a52;
  --color-accent-700:#0a6d41; --color-accent-800:#075131; --color-accent-900:#053722;

  /* mismo verde, paso más profundo (jade) — numerales y kickers */
  --color-accent-2:#0a4d2c;
  --color-accent-2-100:#e3f1e8; --color-accent-2-200:#b9dcc5; --color-accent-2-300:#82bd97;
  --color-accent-2-400:#4f9c6d; --color-accent-2-500:#2c7f4f; --color-accent-2-600:#146238;
  --color-accent-2-700:#0a4d2c; --color-accent-2-800:#073a21; --color-accent-2-900:#052717;

  --font-heading:"Barlow Condensed",system-ui,sans-serif;
  --font-body:"Barlow",system-ui,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --gutter:48px;
  --maxw:1360px;

  --radius-sm:8px; --radius-md:14px; --radius-lg:26px;
  --shadow-sm:0 1px 3px color-mix(in srgb,#0e1f16 10%,transparent);
  --shadow-md:0 8px 22px color-mix(in srgb,#0e1f16 12%,transparent);
  --shadow-lg:0 20px 48px color-mix(in srgb,#0e1f16 18%,transparent);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}
#nosotros,#servicios,#clientes,#casos,#contacto,[id^="servicio-"]{scroll-margin-top:96px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
img{display:block;max-width:100%}
a{color:var(--color-accent-700);text-decoration:none}
a:hover{color:var(--color-accent)}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}
p{margin:0}

/* anular el radio 0 "blueprint" del sistema base para componentes compartidos */
.card,.btn,.input,.tag,.seg,.dialog{border-radius:var(--radius-md)}

/* apagar las escuadras de registro del sistema Industry: acá los bordes son
   sombras suaves, no marcas técnicas */
.blueprint{border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}
.blueprint.duotone,.blueprint.figure{overflow:hidden}
.blueprint > .corner{display:none}
.duotone::after{display:none} /* también se retira el velo verde sobre fotos reales */

/* ── utilidades ── */
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}
.kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;color:var(--color-accent-2-700)}
.mono{font-family:var(--font-mono);letter-spacing:.1em}
.h-xl{font-family:var(--font-heading);font-weight:600;font-size:clamp(36px,5vw,76px);line-height:1;letter-spacing:-.01em}
.h-lg{font-family:var(--font-heading);font-weight:600;font-size:clamp(32px,3.8vw,58px);line-height:1.03;letter-spacing:-.01em}
.h-md{font-family:var(--font-heading);font-weight:600;font-size:clamp(28px,2.8vw,42px);line-height:1.06}
.h-sm{font-family:var(--font-heading);font-weight:600;font-size:clamp(21px,1.7vw,23px);line-height:1.14}
.lead{font-size:17px;line-height:1.65;color:var(--color-neutral-800)}
.body{font-size:15px;line-height:1.65;color:var(--color-neutral-800)}
.section{padding-block:clamp(48px,6vw,84px)}
.rule{border-bottom:1px solid var(--color-divider)}

/* botones: píldora sólida, sin voz mono técnica */
.btn{font-family:var(--font-body);font-weight:600;letter-spacing:.01em;text-transform:none;font-size:14.5px;padding:13px 24px;border-radius:999px}
.btn-lg{padding:16px 30px;font-size:16px}
.btn-primary{background:var(--color-surface);color:#fff;border-color:var(--color-accent-700)}
.btn-primary:hover{background:var(--color-accent-800)}
.btn-secondary{border-radius:999px}
.btn-on-dark{color:#fff;border-color:rgba(255,255,255,.5);background:transparent;border-radius:999px}
.btn-on-dark:hover{background:rgba(255,255,255,.14)}
.btn-invert{background:#fff;color:var(--color-accent-800);border-color:#fff;border-radius:999px}
.btn-invert:hover{background:var(--color-accent-100);color:var(--color-accent-900)}

/* ── barra superior + nav ── */
.topbar{background:var(--color-surface);color:#eef3e9}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:38px;font-size:12.5px}
.topbar-meta{display:flex;gap:22px;align-items:center;font-size:11.5px;letter-spacing:.04em;font-weight:500}
.topbar-social{display:flex;gap:18px}
.topbar-social a{color:rgba(255,255,255,.8)}
.topbar-social a:hover{color:#fff}

.site-nav{border-bottom:1px solid var(--color-divider);background:color-mix(in srgb,var(--color-bg) 92%,transparent);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}
.site-nav-in{display:flex;align-items:center;gap:36px;min-height:80px}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto;color:inherit}
.brand:hover{color:inherit}
.brand-mark{width:48px;height:48px;object-fit:contain;flex:none;border-radius:10px}
.brand-name{font-family:var(--font-heading);font-weight:600;font-size:23px;letter-spacing:-.005em;line-height:1}
.brand-sub{display:block;font-family:var(--font-body);font-weight:600;font-size:9.5px;letter-spacing:.13em;color:var(--color-neutral-600);margin-top:5px}
.site-menu{display:flex;gap:30px;font-size:14.5px;font-weight:500}
.site-menu a{color:var(--color-text)}
.site-menu a:hover{color:var(--color-accent-700)}
.site-menu a[aria-current="page"]{color:var(--color-accent-700);border-bottom:2px solid var(--color-accent);padding-bottom:3px}
.nav-toggle{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;padding:0;place-items:center}
.nav-toggle span{display:block;width:20px;height:1.5px;background:var(--color-text);margin:4px auto}

/* ── hero ── */
.hero{position:relative;background:var(--color-accent-900);overflow:hidden;min-height:660px;display:flex;align-items:flex-end}
.hero-photo{position:absolute;inset:0}
.hero-photo .ph{height:100%}
.hero-photo video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(95deg,rgba(32,43,25,.92) 0%,rgba(32,43,25,.68) 48%,rgba(32,43,25,.18) 80%)}
.hero-in{position:relative;width:100%;padding-block:clamp(44px,5vw,58px);display:flex;align-items:flex-end;justify-content:space-between;gap:56px}
.hero-copy{max-width:780px}
.hero-copy .kicker{color:#e2c7a8;display:block;margin-bottom:22px}
.hero-copy h1{color:#fff;margin-bottom:24px;text-wrap:pretty}
.hero-copy p{color:#e4ead9;font-size:18.5px;line-height:1.6;max-width:60ch;margin-bottom:32px;font-weight:400}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.hero-facts{flex:none;width:300px;display:flex;flex-direction:column;gap:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-lg);padding:20px;backdrop-filter:blur(6px)}
.hero-facts div{padding:0}
.hero-facts div + div{padding-top:14px;border-top:1px solid rgba(255,255,255,.16)}
.hero-facts dt{font-family:var(--font-body);font-weight:700;font-size:9.5px;letter-spacing:.13em;color:#e2c7a8;margin-bottom:5px}
.hero-facts dd{margin:0;font-size:13.5px;color:#eef3e9;line-height:1.4}

/* ── placa de cifras: de spec-sheet a tarjetas cálidas ── */
.plate{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;background:transparent}
.plate > div{padding:26px 24px;border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-neutral-100)}
.plate b{display:block;font-family:var(--font-heading);font-weight:600;font-size:clamp(36px,3.8vw,52px);line-height:.95;color:#fff}
.plate b i{font-style:normal;font-size:.55em;color:rgba(255,255,255,.8)}
.plate > div > span{display:block;font-family:var(--font-body);font-weight:600;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-neutral-300);margin-top:10px}

/* ── grillas ── */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.media-row{display:flex;gap:16px;align-items:flex-start}
.media-row > .ph{flex:1 1 0;min-width:0;aspect-ratio:16/9;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.cells{display:grid;gap:14px;background:transparent;border:0}
.cells > *{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:18px 20px;color:var(--color-neutral-100)}
.cells-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cells-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cell-title{font-family:var(--font-heading);font-weight:600;font-size:19px;margin-bottom:4px}
.cell-text{font-size:13px;color:var(--color-neutral-300);line-height:1.5}

/* ── placeholder de foto: rayado cálido, cantos redondeados ── */
.ph{position:relative;display:grid;place-items:center;min-height:120px;border-radius:inherit;overflow:hidden;
  background:
    repeating-linear-gradient(135deg,color-mix(in srgb,var(--color-accent-2) 14%,transparent) 0 8px,transparent 8px 16px),
    var(--color-surface);
  color:var(--color-accent-800)}
.ph::after{content:attr(data-label);font-family:var(--font-body);font-weight:600;font-size:11px;letter-spacing:.06em;
  padding:7px 12px;background:color-mix(in srgb,var(--color-bg) 90%,transparent);border-radius:999px;max-width:80%;text-align:center;line-height:1.4}
.ph > img,.ph > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph:has(img)::after,.ph:has(video)::after{display:none}
.ph > video:fullscreen,.ph > video:-webkit-full-screen{object-fit:contain;background:#000}
.figure{border:1px solid var(--color-divider);border-radius:var(--radius-lg);display:grid;overflow:hidden;box-shadow:var(--shadow-sm)}
.figure > .ph{min-height:100%;border-radius:0}

/* ── servicios (grilla home, no usada en la home de una sola página pero se mantiene por si se reactiva) ── */
.svc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.svc{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);color:var(--color-neutral-100)}
.svc .ph{height:150px;border-bottom:1px solid var(--color-divider);border-radius:0}
.svc-body{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
.svc-n{font-family:var(--font-body);font-weight:700;font-size:10.5px;letter-spacing:.1em;color:var(--color-accent-300);margin-bottom:12px}
.svc h3{font-family:var(--font-heading);font-weight:600;font-size:20px;line-height:1.1;margin-bottom:10px;text-wrap:pretty}
.svc p{font-size:13.5px;line-height:1.5;color:var(--color-neutral-300);flex:1;margin-bottom:16px}
.svc-more{font-family:var(--font-body);font-weight:600;font-size:13px;letter-spacing:.02em;color:var(--color-accent-300)}
.svc:hover{box-shadow:var(--shadow-md)}

/* ── clientes ── */
.field-dark{background:var(--color-accent-900);color:#fff;border-radius:var(--radius-lg)}
.field-dark .kicker{color:#e2c7a8}
.client-carousel{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.client-track{display:flex;align-items:center;gap:20px;width:max-content;animation:client-scroll 32s linear infinite}
.client-track:hover{animation-play-state:paused}
.client-logo{flex:none;width:220px;height:150px;position:relative;background:#fff;border:1px solid var(--color-divider);border-radius:var(--radius-md)}
.client-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:16px;filter:grayscale(1);opacity:.68;transition:filter .35s ease,opacity .35s ease}
.client-logo:hover img{filter:grayscale(0);opacity:1}
@keyframes client-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.client-track{animation:none}}
.logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;background:transparent;border:0}
.logos > div{background:var(--color-accent-900);height:104px;border-radius:var(--radius-md);display:grid;place-items:center;padding:0 14px;
  font-family:var(--font-heading);font-weight:600;font-size:17px;letter-spacing:.02em;color:rgba(255,255,255,.7);text-align:center}

/* ── razones ── */
.reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.reason{border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-surface);padding:30px 28px 32px;box-shadow:var(--shadow-sm);color:var(--color-neutral-100)}
.reason b{display:block;font-family:var(--font-heading);font-weight:600;font-size:38px;line-height:1;color:var(--color-accent-300);margin-bottom:18px}
.reason h3{font-family:var(--font-heading);font-weight:600;font-size:27px;line-height:1.1;margin-bottom:14px;text-wrap:pretty}
.reason .body{color:var(--color-neutral-300)}

/* ── caso destacado ── */
.case-teaser{display:grid;grid-template-columns:1.15fr minmax(0,1fr);border:1px solid var(--color-divider);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.case-teaser .ph{min-height:400px;border-radius:0}
.case-teaser-body{padding:42px 42px 40px;border-left:1px solid var(--color-divider)}
.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;background:transparent;border:0}
.metrics > div{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:16px 18px 18px;color:var(--color-neutral-100)}
.metrics b{display:block;font-family:var(--font-heading);font-weight:600;font-size:32px;line-height:1;color:var(--color-accent-300)}
.metrics span{display:block;font-family:var(--font-body);font-weight:600;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-300);margin-top:8px}

/* ── CTA ── */
.cta{background:var(--color-accent-900);color:#fff;border-radius:var(--radius-lg);padding:clamp(38px,4vw,58px) clamp(28px,3vw,52px);display:flex;align-items:center;justify-content:space-between;gap:48px}
.cta h2{font-family:var(--font-heading);font-weight:600;font-size:clamp(30px,3.4vw,48px);line-height:1.03;margin-bottom:14px;max-width:26ch;text-wrap:pretty}
.cta p{font-size:16.5px;color:#d3ddc7}
.cta-actions{display:flex;flex-direction:column;gap:12px;flex:none}

/* ── footer ── */
.site-footer{border-top:1px solid var(--color-divider);padding-block:48px 34px}
.site-footer-in{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:36px}
.site-footer h4{font-family:var(--font-body);font-weight:700;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-neutral-600);margin-bottom:14px}
.site-footer .cell-text{color:var(--color-neutral-600)}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:14px}
.site-footer ul a{color:var(--color-neutral-800)}
.legal{border-top:1px solid var(--color-divider)}
.legal-in{display:flex;justify-content:space-between;gap:20px;padding-block:16px;font-size:11px;letter-spacing:.03em;color:var(--color-neutral-600)}

/* ── índice de servicios ── */
.filters{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-block:24px}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chips .tag{padding:8px 17px;font-size:12.5px;cursor:pointer;border-radius:999px}
.tag[aria-pressed="true"]{background:var(--color-surface);color:#fff;border-color:var(--color-accent-700)}
.idx-row{display:grid;grid-template-columns:74px 150px minmax(0,1fr) 300px 150px;gap:26px;align-items:center;padding-block:22px;border-bottom:1px solid var(--color-divider)}
.idx-n{font-family:var(--font-heading);font-weight:600;font-size:30px;color:var(--color-accent-2-400)}
.idx-row .ph{height:92px;border:1px solid var(--color-divider);border-radius:var(--radius-md)}
.idx-row h3{font-family:var(--font-heading);font-weight:600;font-size:24px;line-height:1.08;margin:7px 0 6px}
.idx-row p{font-size:14px;line-height:1.5;color:var(--color-neutral-700)}
.idx-label{font-family:var(--font-body);font-weight:700;font-size:9.5px;letter-spacing:.1em;color:var(--color-neutral-600);margin-bottom:7px}

/* ── ficha de servicio ── */
.crumbs{padding-block:20px;border-bottom:1px solid var(--color-divider);font-size:11px;letter-spacing:.03em;color:var(--color-neutral-600)}
.detail-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.detail-hero-copy{padding:clamp(38px,4vw,58px) var(--gutter)}
.detail-hero .ph{aspect-ratio:16/9;min-height:0;border-left:0;margin:clamp(20px,3vw,40px) var(--gutter) 0 0;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.detail-hero + section.wrap{padding-top:clamp(32px,4vw,48px)}
.spec-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid var(--color-divider);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-divider)}
.spec-2 > div{padding:18px 22px;background:var(--color-surface);color:var(--color-neutral-100)}
.spec-2 dt{font-family:var(--font-body);font-weight:700;font-size:9.5px;letter-spacing:.1em;color:var(--color-neutral-300);margin-bottom:6px}
.spec-2 dd{margin:0;font-family:var(--font-heading);font-weight:600;font-size:20px}
.lists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;background:transparent;border:0}
.lists > div{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:30px 28px 34px;color:var(--color-neutral-100)}
.lists .kicker{color:var(--color-neutral-300)}
.lists ul{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:11px;font-size:14.5px;line-height:1.5;color:var(--color-neutral-200)}
.lists li{display:flex;gap:10px}
.lists li::before{content:"·";color:var(--color-accent-300);flex:none;font-weight:700}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.step{border-top:2px solid var(--color-accent-2-400);padding-top:18px}
.step-n{font-family:var(--font-body);font-weight:700;font-size:10.5px;letter-spacing:.1em;color:var(--color-accent-2-600);margin-bottom:12px}
.step h3{font-family:var(--font-heading);font-weight:600;font-size:23px;line-height:1.08;margin-bottom:9px}
.step p{font-size:14px;line-height:1.6;color:var(--color-neutral-700)}
.related{background:var(--color-accent-900);color:#fff;border-radius:var(--radius-lg);padding:44px;display:flex;align-items:center;justify-content:space-between;gap:44px;flex-wrap:wrap}
.related-links{display:flex;flex-wrap:wrap;gap:22px;font-family:var(--font-heading);font-weight:600;font-size:22px}
.related-links a{color:#fff}
.related-links a:hover{color:#e2c7a8}

/* ── caso de estudio ── */
.case-hero{position:relative;min-height:560px;background:var(--color-accent-900);display:flex;flex-direction:column}
.case-hero .hero-scrim{background:linear-gradient(180deg,rgba(32,43,25,.78) 0%,rgba(32,43,25,.3) 42%,rgba(32,43,25,.9) 100%)}
.case-hero-in{position:relative;display:flex;flex-direction:column;justify-content:flex-end;flex:1;width:100%;padding-block:36px 100px;gap:20px}
.case-hero-copy{max-width:640px;display:flex;flex-direction:column;gap:20px}
.case-hero h2{color:#fff;max-width:24ch;text-wrap:pretty}
.case-hero-copy .kicker{color:rgba(255,255,255,.7)}
.tag-on-dark{border:1px solid rgba(255,255,255,.55);border-radius:999px;color:#fff;font-size:11px;letter-spacing:.04em}
.case-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(28px,4vw,56px);align-items:start}
.stack{display:flex;flex-direction:column;gap:14px;background:transparent;border:0}
.stack > div{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:22px 26px;display:grid;grid-template-columns:60px minmax(0,1fr);gap:20px;color:var(--color-neutral-100)}
.stack b{font-family:var(--font-heading);font-weight:600;font-size:26px;color:var(--color-accent-300)}
.stack h3{font-family:var(--font-heading);font-weight:600;font-size:21px;margin-bottom:6px}
.stack p{font-size:14.5px;line-height:1.6;color:var(--color-neutral-300)}
.result{border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-accent-100);padding:34px 36px 36px;box-shadow:var(--shadow-sm)}
.result p:first-child{font-family:var(--font-heading);font-weight:500;font-size:27px;line-height:1.28;color:var(--color-accent-900);max-width:44ch;margin-bottom:18px}
.result p:last-child{font-size:15px;line-height:1.65;color:var(--color-accent-800)}
.sheet{border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-surface);padding:26px;box-shadow:var(--shadow-sm);color:var(--color-neutral-100)}
.sheet dl{margin:14px 0 0;display:flex;flex-direction:column;gap:14px}
.sheet dt{font-size:12px;color:var(--color-neutral-300);margin-bottom:3px}
.sheet dd{margin:0;font-family:var(--font-heading);font-weight:600;font-size:17px}
.quote{border-top:2px solid var(--color-accent-2-400);padding-top:18px}
.quote blockquote{margin:0 0 14px;font-family:var(--font-heading);font-size:18px;line-height:1.5;font-style:italic;font-weight:500;color:var(--color-neutral-800)}

/* ── contacto ── */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.contact-form-col{padding:clamp(38px,4vw,58px) var(--gutter) 60px;border-right:1px solid var(--color-divider)}
.form{display:flex;flex-direction:column;gap:20px;max-width:560px}
.form .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form .input{min-height:46px;background:var(--color-neutral-100)}
.form-note{font-size:13px;color:var(--color-neutral-600);max-width:26ch;line-height:1.5}
.form-submit{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.contact-aside{display:flex;flex-direction:column}
.contact-aside .ph{height:150px;border-radius:var(--radius-lg)}
.contact-data{padding:44px var(--gutter) 0;display:flex;flex-direction:column;gap:14px;background:transparent}
.contact-data > div{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:20px 22px;color:var(--color-neutral-100)}
.contact-data dt{font-family:var(--font-body);font-weight:700;font-size:9.5px;letter-spacing:.1em;color:var(--color-neutral-300);margin-bottom:7px}
.contact-data dd{margin:0;font-family:var(--font-heading);font-weight:600;font-size:clamp(21px,2vw,28px)}
.contact-data dd a{color:var(--color-accent-300)}
.contact-data .tag-outline{border-color:var(--color-accent-300);color:var(--color-accent-300)}
.notice{border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-accent-100);padding:26px 28px;margin:32px var(--gutter) 0;box-shadow:var(--shadow-sm)}
.notice p{font-size:15px;line-height:1.6;color:var(--color-accent-800)}

/* ── pila diagonal de capturas de plataforma (entregables) ── */
.dash-stack{position:relative;width:100%;aspect-ratio:19/9;margin-bottom:26px}
.dash-card{position:absolute;top:0;left:0;width:79%;height:79%;overflow:hidden;display:block;border-radius:var(--radius-md);background:var(--color-bg);cursor:pointer;--r:0deg;--lift:0px;transform:rotate(var(--r)) translateY(var(--lift));transition:top .4s cubic-bezier(.2,.8,.2,1),left .4s cubic-bezier(.2,.8,.2,1),transform .25s ease,filter .25s ease,box-shadow .25s ease}
.dash-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.dash-card span{position:absolute;left:0;right:0;bottom:0;padding:7px 11px 8px;font-family:var(--font-body);font-weight:600;font-size:10px;line-height:1.3;color:#fff;background:linear-gradient(0deg,rgba(32,43,25,.78),rgba(32,43,25,0));opacity:0;transition:opacity .2s ease}
.dash-card[data-pos="0"]{top:0;left:0;--r:0deg;z-index:4;box-shadow:var(--shadow-md)}
.dash-card[data-pos="0"] span{opacity:1}
.dash-card[data-pos="1"]{top:7%;left:7%;--r:2deg;z-index:3;filter:brightness(.94)}
.dash-card[data-pos="2"]{top:14%;left:14%;--r:4deg;z-index:2;filter:brightness(.88)}
.dash-card[data-pos="3"]{top:21%;left:21%;--r:6deg;z-index:1;filter:brightness(.82)}
.dash-card:hover{--lift:-5px;filter:brightness(1);box-shadow:var(--shadow-lg)}
.dash-card:hover img{transform:scale(1.045)}
.dash-stack-next{position:absolute;right:-14px;bottom:-14px;z-index:5;width:36px;height:36px;border-radius:999px;border:0;background:var(--color-accent-700);color:#fff;cursor:pointer;font-size:16px;line-height:1;display:grid;place-items:center;padding:0;box-shadow:var(--shadow-sm)}
.dash-stack-next:hover{background:var(--color-accent-800)}

/* ── lightbox: agranda una captura sin navegar ni ocupar toda la pantalla ── */
.lightbox{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:6vh 6vw;background:rgba(14,31,22,.78)}
.lightbox.is-open{display:flex}
.lightbox img{display:block;max-width:min(880px,88vw);max-height:80vh;width:auto;height:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:#fff}
.lightbox-close{position:absolute;top:24px;right:24px;width:40px;height:40px;border-radius:999px;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center}
.lightbox-close:hover{background:rgba(255,255,255,.28)}
.lightbox-nav{position:absolute;top:50%;translate:0 -50%;width:48px;height:48px;border-radius:999px;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:26px;line-height:1;cursor:pointer;display:grid;place-items:center}
.lightbox-nav:hover{background:rgba(255,255,255,.28)}
.lightbox-prev{left:16px}
.lightbox-next{right:16px}
@media (max-width:640px){
  .lightbox-nav{width:40px;height:40px;font-size:22px}
  .lightbox-prev{left:6px}
  .lightbox-next{right:6px}
}

/* ── modal de confirmación de envío del formulario de contacto ── */
.confirm-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:6vh 6vw;background:rgba(14,31,22,.78)}
.confirm-modal.is-open{display:flex}
.confirm-modal-card{position:relative;background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:44px 36px 36px;max-width:420px;width:100%;text-align:center}
.confirm-modal-icon{width:56px;height:56px;border-radius:999px;background:var(--color-accent-700);color:#fff;display:grid;place-items:center;font-size:26px;margin:0 auto 18px}
.confirm-modal-card h3{margin-bottom:10px}
.confirm-modal-card p{color:var(--color-neutral-700);margin-bottom:26px}
.confirm-modal-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:999px;border:0;background:var(--color-neutral-100);color:var(--color-text);font-size:18px;line-height:1;cursor:pointer;display:grid;place-items:center}
.confirm-modal-close:hover{background:var(--color-neutral-200)}
.form-error{color:#b3261e;font-size:13.5px;line-height:1.5;margin:0}

/* ── revelado al hacer scroll (site.js marca .reveal/.is-visible por estructura,
   sin tocar el HTML) + lift de hover en tarjetas y botones ── */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s cubic-bezier(.22,.61,.36,1),transform .65s cubic-bezier(.22,.61,.36,1)}
.reveal.is-visible{opacity:1;transform:none}

.reason,.cells > *,.lists > div,.plate > div,.metrics > div,.svc,.sheet,.contact-data > div{transition:transform .3s ease,box-shadow .3s ease}
.reason:hover,.cells > *:hover,.lists > div:hover,.plate > div:hover,.metrics > div:hover,.svc:hover,.sheet:hover,.contact-data > div:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.btn{transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.client-logo img{transition:filter .35s ease,opacity .35s ease,transform .35s ease}
.client-logo:hover img{transform:scale(1.06)}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .reason,.cells > *,.lists > div,.plate > div,.metrics > div,.svc,.sheet,.contact-data > div,.btn,.client-logo img{transition:none}
  .reason:hover,.cells > *:hover,.lists > div:hover,.plate > div:hover,.metrics > div:hover,.svc:hover,.sheet:hover,.contact-data > div:hover,.btn:hover{transform:none}
}

/* ── responsive ── */
@media (max-width:1180px){
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plate{grid-template-columns:repeat(2,minmax(0,1fr))}
  .logos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .steps,.lists,.reasons{grid-template-columns:repeat(2,minmax(0,1fr))}
  .idx-row{grid-template-columns:56px 120px minmax(0,1fr);row-gap:14px}
  .idx-row > *:nth-child(4),.idx-row > *:nth-child(5){grid-column:3}
  .case-body{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
  :root{--gutter:20px}
  .media-row{flex-direction:column;align-items:stretch}
  .media-row > .ph{flex:none}
  .topbar-social,.site-menu{display:none}
  .nav-toggle{display:grid}
  .site-nav-in{min-height:64px;gap:14px}
  .brand{gap:10px}
  .brand-mark{width:38px;height:38px}
  .brand-name{font-size:18px}
  .brand-sub{display:none}
  .site-nav-in .btn{padding:11px 18px;font-size:13.5px}
  .hero{min-height:470px}
  .hero-in{flex-direction:column;align-items:flex-start;gap:26px}
  .hero-facts{width:100%}
  .hero-scrim{background:linear-gradient(180deg,rgba(32,43,25,.5) 0%,rgba(32,43,25,.92) 62%)}
  .split,.contact,.detail-hero,.case-teaser,.lists,.steps,.reasons,.cells-3{grid-template-columns:minmax(0,1fr)}
  .detail-hero .ph{aspect-ratio:16/9;margin:0;border-radius:0;box-shadow:none;border-top:1px solid var(--color-divider)}
  .case-teaser-body{border-left:0;border-top:1px solid var(--color-divider);padding:28px 22px}
  .contact-form-col{border-right:0;border-bottom:1px solid var(--color-divider)}
  .cta{flex-direction:column;align-items:flex-start;gap:26px}
  .cta-actions{width:100%}
  .cta-actions .btn{width:100%}
  .site-footer-in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form .row{grid-template-columns:minmax(0,1fr)}
  .logos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-track{gap:14px}
  .client-logo{width:160px;height:110px}
  .logos > div{height:76px;font-size:14px}
  .svc-grid{grid-template-columns:minmax(0,1fr)}
  .related{padding:30px 22px}
  .btn{min-height:48px}
}
@media (max-width:520px){
  .plate{grid-template-columns:minmax(0,1fr)}
  .metrics{grid-template-columns:minmax(0,1fr)}
  .idx-row{grid-template-columns:minmax(0,1fr)}
  .idx-row > *:nth-child(4),.idx-row > *:nth-child(5){grid-column:1}
  .stack > div{grid-template-columns:minmax(0,1fr);gap:8px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
