/* ============================================================================
   SPEEDCOPY 2026 · FOUNDATION / ETAPA 1
   Capa modular cargada después de los estilos legacy. Los tokens son la fuente
   de verdad de todos los componentes nuevos de esta identidad.
   ============================================================================ */

/* 01. Design tokens */
:root {
  --sc-color-brand: #aa151d;
  --sc-color-brand-hover: #871018;
  --sc-color-brand-soft: #f8e9e8;
  --sc-color-brand-pale: #f2b9b8;
  --sc-color-ink: #202224;
  --sc-color-ink-muted: #666568;
  --sc-color-surface: #f3f0ed;
  --sc-color-canvas: #fcfbf9;
  --sc-color-line: #dedbd7;
  --sc-color-white: #ffffff;
  --sc-font-sans: Inter, "Open Sans", Arial, sans-serif;
  --sc-space-1: 0.5rem;
  --sc-space-2: 0.75rem;
  --sc-space-3: 1rem;
  --sc-space-4: 1.5rem;
  --sc-space-5: 2rem;
  --sc-space-6: 3rem;
  --sc-space-7: 4.5rem;
  --sc-space-8: 6rem;
  --sc-space-9: 7.5rem;
  --sc-radius-sm: 0.5rem;
  --sc-radius-md: 0.875rem;
  --sc-radius-lg: 1.25rem;
  --sc-shadow-sm: 0 1px 2px rgba(32, 34, 36, 0.06);
  --sc-shadow-md: 0 18px 45px rgba(32, 34, 36, 0.08);
  --sc-transition-fast: 160ms ease;
  --sc-container: 1180px;
  --sc-type-section: clamp(2.8rem, 5vw, 4.8rem);
  --sc-type-card: clamp(1.65rem, 2.2vw, 2rem);
  --sc-type-body: 1.25rem;
  --sc-type-button: 1.075rem;
  --sc-leading-body: 1.72;
}

/* 02. Foundation */
body { background: var(--sc-color-canvas); color: var(--sc-color-ink); font-family: var(--sc-font-sans); text-rendering: optimizeLegibility; }
.sc-container { max-width: var(--sc-container); }

/* 03. Reusable actions */
.sc-action { align-items: center; border: 1px solid transparent; border-radius: var(--sc-radius-sm); display: inline-flex; font-size: var(--sc-type-button); font-weight: 700; gap: var(--sc-space-2); justify-content: center; letter-spacing: 0.01em; min-height: 3.5rem; padding: var(--sc-space-3) var(--sc-space-5); text-decoration: none; transition: background-color var(--sc-transition-fast), border-color var(--sc-transition-fast), box-shadow var(--sc-transition-fast), color var(--sc-transition-fast), transform var(--sc-transition-fast); }
.sc-action:hover, .sc-action:focus { text-decoration: none; transform: translateY(-1px); }
.sc-action:focus-visible { outline: 3px solid rgba(170, 21, 29, 0.24); outline-offset: 3px; }
.sc-action--brand { background: var(--sc-color-brand); box-shadow: 0 10px 24px rgba(170, 21, 29, 0.18); color: var(--sc-color-white); }
.sc-action--brand i { color: var(--sc-color-white) !important; }
.sc-action--brand:hover, .sc-action--brand:focus { background: var(--sc-color-brand-hover); color: var(--sc-color-white); }
.sc-action--ghost { background: rgba(255, 255, 255, 0.78); border-color: var(--sc-color-line); color: var(--sc-color-ink); }
.sc-action--ghost:hover, .sc-action--ghost:focus { background: var(--sc-color-white); border-color: var(--sc-color-ink); color: var(--sc-color-ink); }

/* 04. Header / navigation */
#mainHeader.sc-site-header { background: rgba(252, 251, 249, 0.94); border-bottom: 1px solid rgba(222, 219, 215, 0.86); box-shadow: var(--sc-shadow-sm); backdrop-filter: blur(14px); }
.sc-site-header .navbar { min-height: 76px; }
.sc-site-header .navbar-brand { align-items: center; display: flex; height: 76px; padding: var(--sc-space-2) 0; }
.sc-site-header .navbar-brand img { display: block; height: auto; max-height: 54px; object-fit: contain; object-position: left center; width: 216px; }
.sc-site-header .navbar-nav > li > a { background: transparent !important; color: var(--sc-color-ink) !important; font-size: 0.9rem; font-weight: 700; letter-spacing: 0.02em; padding: 27px var(--sc-space-3) 22px; position: relative; }
.sc-site-header .navbar-nav > li > a i { color: inherit !important; font-size: 14px; padding: 0 4px 0 0; }
.sc-site-header .navbar-nav > li > a .sc-nav-pickup-icon { font-style: normal; }
.sc-site-header .navbar-nav > .active > a, .sc-site-header .navbar-nav > li > a:hover, .sc-site-header .navbar-nav > li > a:focus { color: var(--sc-color-brand) !important; }
.sc-site-header .navbar-nav > .active > a::after, .sc-site-header .navbar-nav > li > a:hover::after { background: var(--sc-color-brand); bottom: 16px; content: ""; height: 2px; left: var(--sc-space-2); position: absolute; right: var(--sc-space-2); }
.sc-site-header .navbar-toggle { border-color: var(--sc-color-line); margin-top: 20px; }
.sc-site-header .navbar-toggle .icon-bar { background: var(--sc-color-ink); }

/* 05. Hero: temporary abstract production composition, no stock imagery */
#home.sc-hero { background-color: var(--sc-color-canvas) !important; isolation: isolate; overflow: hidden; padding: calc(var(--sc-space-8) + var(--sc-space-2)) 0 var(--sc-space-8); position: relative; }
#home.sc-hero::before { background-image: linear-gradient(rgba(222, 219, 215, 0.58) 1px, transparent 1px), linear-gradient(90deg, rgba(222, 219, 215, 0.58) 1px, transparent 1px); background-size: 32px 32px; content: ""; inset: 0 0 0 50%; mask-image: linear-gradient(90deg, transparent, black 25%, black 100%); opacity: 0.58; position: absolute; z-index: -2; }
#home.sc-hero::after { border: 1px solid rgba(170, 21, 29, 0.2); border-radius: 50%; content: ""; height: 440px; position: absolute; right: -185px; top: -155px; width: 440px; z-index: -1; }
.sc-hero .row { align-items: center; display: flex; }
.sc-hero__eyebrow { color: var(--sc-color-brand); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.15em; margin: 0 0 var(--sc-space-3); text-transform: uppercase; }
.sc-hero__title { color: var(--sc-color-ink); font-size: clamp(2.8rem, 5.2vw, 5.2rem); font-weight: 800; letter-spacing: -0.065em; line-height: 0.98; margin: 0; max-width: 760px; text-align: left !important; }
.sc-hero__title strong { color: var(--sc-color-brand); font-weight: inherit; }
.sc-hero__copy { color: var(--sc-color-ink-muted); font-size: 1.25rem; line-height: var(--sc-leading-body); margin: var(--sc-space-4) 0 var(--sc-space-5); max-width: 620px; }
.sc-hero__actions { display: flex; flex-wrap: wrap; gap: var(--sc-space-2); }
.sc-hero__panel { background: rgba(255, 255, 255, 0.8); border: 1px solid var(--sc-color-line); border-radius: var(--sc-radius-lg); box-shadow: var(--sc-shadow-md); margin-left: auto; max-width: 390px; overflow: hidden; padding: var(--sc-space-5); position: relative; }
.sc-hero__panel::before { background: var(--sc-color-brand); content: ""; height: 3px; left: 0; position: absolute; right: 0; top: 0; }
.sc-hero__panel-kicker { color: var(--sc-color-ink-muted); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.13em; margin: 0 0 var(--sc-space-4); text-transform: uppercase; }
.sc-hero__panel-graphic { align-items: center; background: var(--sc-color-brand); border: 1px solid var(--sc-color-brand); border-radius: var(--sc-radius-md); display: flex; height: 230px; justify-content: center; margin-bottom: var(--sc-space-4); overflow: hidden; padding: var(--sc-space-3); position: relative; }
.sc-hero__panel-graphic::before, .sc-hero__panel-graphic::after { display: none; }
.sc-hero__panel-graphic img { display: block; filter: drop-shadow(0 16px 16px rgba(32, 34, 36, 0.2)); height: auto; max-height: 100%; max-width: 112%; object-fit: contain; position: relative; transform: scale(1.08) translateY(3px); width: auto; z-index: 1; }
.sc-hero__panel-title { color: var(--sc-color-ink); font-size: 1.25rem; font-weight: 800; line-height: 1.18; margin: 0 0 var(--sc-space-1); }
.sc-hero__panel-copy { color: var(--sc-color-ink-muted); font-size: 0.9rem; line-height: 1.55; margin: 0; }
@keyframes sc-hero-enter { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: no-preference) { .sc-hero__title { animation: sc-hero-enter 560ms ease-out 60ms both; } .sc-hero__copy { animation: sc-hero-enter 560ms ease-out 180ms both; } .sc-hero__actions { animation: sc-hero-enter 500ms ease-out 300ms both; } }
.sc-reveal { opacity: 0; transform: translateY(16px); transition: opacity 520ms ease-out, transform 520ms ease-out; will-change: opacity, transform; }
.sc-reveal.sc-reveal--visible { opacity: 1; transform: translateY(0); }

/* 06. Footer */
#footerRights.sc-site-footer { background: var(--sc-color-ink); color: rgba(255, 255, 255, 0.7); padding: var(--sc-space-7) 0 var(--sc-space-4); }
.sc-site-footer a { color: var(--sc-color-white); transition: color var(--sc-transition-fast); }
.sc-site-footer a:hover, .sc-site-footer a:focus { color: var(--sc-color-brand-pale); text-decoration: none; }
.sc-footer__grid { display: grid; gap: var(--sc-space-5); grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr)); }
.sc-footer__brand img { background: var(--sc-color-white); border-radius: var(--sc-radius-sm); display: block; height: auto; max-width: 240px; padding: var(--sc-space-1) var(--sc-space-2); width: 100%; }
.sc-footer__brand p { font-size: 1.05rem; line-height: var(--sc-leading-body); margin: var(--sc-space-3) 0 0; max-width: 350px; }
.sc-footer__heading { color: var(--sc-color-white); font-size: 0.85rem; font-weight: 800; letter-spacing: 0.13em; margin: var(--sc-space-1) 0 var(--sc-space-3); text-transform: uppercase; }
.sc-footer__links { list-style: none; margin: 0; padding: 0; }
.sc-footer__links li { margin-bottom: var(--sc-space-2); }
.sc-footer__links a { font-size: 1rem; }
.sc-footer__bottom { align-items: center; border-top: 1px solid rgba(255, 255, 255, 0.16); display: flex; justify-content: space-between; margin-top: var(--sc-space-6); padding-top: var(--sc-space-3); }
.sc-footer__bottom small { font-size: 0.75rem; }
.sc-footer__afip img { background: var(--sc-color-white); border-radius: 2px; display: block; }

/* 07. Responsive */
@media (max-width: 991px) { .sc-site-header .navbar-nav > li > a { font-size: 0.72rem; padding-left: 6px; padding-right: 6px; } .sc-hero__panel { margin: var(--sc-space-5) 0 0; max-width: none; } .sc-footer__grid { grid-template-columns: 1.5fr 1fr; } .sc-footer__grid > :first-child { grid-column: 1 / -1; } }
@media (max-width: 767px) { .sc-site-header .navbar { min-height: 64px; } .sc-site-header .navbar-brand { height: 64px; } .sc-site-header .navbar-brand img { max-height: 45px; width: 185px; } .sc-site-header .navbar-toggle { margin-top: 14px; } .sc-site-header .navbar-collapse { background: var(--sc-color-canvas); border-color: var(--sc-color-line); box-shadow: var(--sc-shadow-md); } .sc-site-header .navbar-nav > li > a { padding: var(--sc-space-3) var(--sc-space-4); } .sc-site-header .navbar-nav > .active > a::after, .sc-site-header .navbar-nav > li > a:hover::after { bottom: 7px; left: var(--sc-space-4); right: auto; width: 24px; } #home.sc-hero { padding: 110px 0 var(--sc-space-6); } .sc-hero .row { display: block; } .sc-hero__title { font-size: 3.1rem; } .sc-hero__copy { font-size: 1rem; } .sc-hero__actions { display: grid; } .sc-action { width: 100%; } .sc-footer__grid { grid-template-columns: 1fr; } .sc-footer__grid > :first-child { grid-column: auto; } .sc-footer__bottom { align-items: flex-start; gap: var(--sc-space-3); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; scroll-behavior: auto !important; transition-duration: 0.01ms !important; } .sc-hero__title, .sc-hero__copy, .sc-hero__actions, .sc-reveal, .sc-pickup-step-reveal { animation: none !important; opacity: 1 !important; transform: none !important; } }

/* ============================================================================
   SPEEDCOPY 2026 · CONVERSION SURFACES / ETAPA 2
   Se reutilizan exclusivamente los tokens de Foundation. Sin lógica nueva.
   ============================================================================ */

/* 08. Shared section rhythm ------------------------------------------------ */
#services, #about, #howToSend, #contactSlice { position: relative; }
#services, #about, #howToSend { padding-bottom: var(--sc-space-9); padding-top: var(--sc-space-9); }
#howToSend::before { background-image: linear-gradient(90deg, transparent 49.8%, var(--sc-color-line) 50%, transparent 50.2%); content: ""; inset: 0; opacity: 0.32; pointer-events: none; position: absolute; }
#services > .container, #howToSend > .container { position: relative; }

/* Un único lenguaje de iconos: la identidad no admite azul heredado. */
#globalWrapper i[class^="icon-"], #globalWrapper i[class*=" icon-"] { color: var(--sc-color-brand) !important; }

/* 09. Services: primary conversion catalogue -------------------------------- */
#services { background: var(--sc-color-canvas) !important; }
#services > .container { margin-left: auto; margin-right: auto; }
#services h1 { color: var(--sc-color-ink); font-size: var(--sc-type-section); font-weight: 800; letter-spacing: -0.06em; line-height: 0.98; margin: 0 0 var(--sc-space-7) !important; text-align: left !important; }
#services h1::before { color: var(--sc-color-brand); content: "Capacidades de producción"; display: block; font-size: 0.9rem; font-weight: 800; letter-spacing: 0.15em; margin-bottom: var(--sc-space-4); text-transform: uppercase; }
#services h1::after { color: var(--sc-color-ink-muted); content: "Elegí un servicio y pedí asesoramiento o presupuesto directo."; display: block; font-size: var(--sc-type-body); font-weight: 400; letter-spacing: 0; line-height: var(--sc-leading-body); margin-top: var(--sc-space-4); max-width: 660px; }
.services-grid { display: grid; gap: var(--sc-space-2); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.service-card { background: var(--sc-color-white); border: 1px solid var(--sc-color-line); border-radius: var(--sc-radius-md); box-shadow: var(--sc-shadow-sm); display: flex; flex-direction: column; min-height: 365px; overflow: hidden; padding: var(--sc-space-7); position: relative; transition: border-color var(--sc-transition-fast), box-shadow var(--sc-transition-fast), transform var(--sc-transition-fast); }
.service-card::before { color: var(--sc-color-line); content: "00"; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.12em; position: absolute; right: var(--sc-space-4); top: var(--sc-space-4); }
.service-card:nth-child(1)::before { content: "01"; }.service-card:nth-child(2)::before { content: "02"; }.service-card:nth-child(3)::before { content: "03"; }.service-card:nth-child(4)::before { content: "04"; }.service-card:nth-child(5)::before { content: "05"; }.service-card:nth-child(6)::before { content: "06"; }.service-card:nth-child(7)::before { content: "07"; }.service-card:nth-child(8)::before { content: "08"; }.service-card:nth-child(9)::before { content: "09"; }.service-card:nth-child(10)::before { content: "10"; }.service-card:nth-child(11)::before { content: "11"; }.service-card:nth-child(12)::before { content: "12"; }
.service-card::after { background: var(--sc-color-brand); content: ""; height: 3px; left: 0; position: absolute; top: 0; transform: scaleX(0); transform-origin: left; transition: transform var(--sc-transition-fast); width: 100%; }
.service-card:hover { border-color: rgba(170, 21, 29, 0.35); box-shadow: var(--sc-shadow-md); transform: translateY(-4px); }
.service-card:hover::after, .service-card:focus-within::after { transform: scaleX(1); }
.service-icon { align-items: center; background: var(--sc-color-brand-soft); border: 1px solid rgba(170, 21, 29, 0.18); border-radius: var(--sc-radius-sm); color: var(--sc-color-brand); display: inline-flex; height: 68px; justify-content: center; margin: 0 0 var(--sc-space-5); width: 68px; }
.service-icon i { color: inherit !important; font-size: 1.9rem !important; line-height: 1; padding: 0 !important; }
.service-card h3 { color: var(--sc-color-ink); font-size: var(--sc-type-card); font-weight: 800; letter-spacing: -0.04em; line-height: 1.14; margin: 0 0 var(--sc-space-4); padding-right: var(--sc-space-5); }
.service-card p { color: var(--sc-color-ink-muted); display: -webkit-box; font-size: var(--sc-type-body); line-height: var(--sc-leading-body); margin: 0 0 var(--sc-space-6); overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.service-card .btn-action { align-items: center; align-self: flex-start; background: var(--sc-color-brand) !important; border: 1px solid var(--sc-color-brand) !important; border-radius: var(--sc-radius-sm); box-shadow: 0 9px 18px rgba(170, 21, 29, 0.16); color: var(--sc-color-white) !important; display: inline-flex; font-size: var(--sc-type-button); font-weight: 800; letter-spacing: 0.055em; margin: auto 0 0; padding: var(--sc-space-3) var(--sc-space-4) !important; position: relative; text-transform: uppercase; transition: background-color var(--sc-transition-fast), box-shadow var(--sc-transition-fast), transform var(--sc-transition-fast); }
.service-card .btn-action::after { content: "→"; font-size: 1.1rem; margin-left: var(--sc-space-1); transition: transform var(--sc-transition-fast); }
.service-card .btn-action:hover, .service-card .btn-action:focus { background: var(--sc-color-brand-hover) !important; box-shadow: 0 12px 22px rgba(170, 21, 29, 0.22); color: var(--sc-color-white) !important; transform: translateY(-1px); }
.service-card .btn-action:hover::after, .service-card .btn-action:focus::after { transform: translateX(3px); }

/* 09b. Services rebuilt: four production areas, not a card catalogue ------- */
#services.sc-services { background: var(--sc-color-canvas) !important; }
#services.sc-services h1::before, #services.sc-services h1::after { content: none; }
.sc-services__intro { margin-bottom: var(--sc-space-7); max-width: 850px; }
.sc-services__eyebrow { color: var(--sc-color-brand); font-size: 0.9rem; font-weight: 800; letter-spacing: 0.15em; margin: 0 0 var(--sc-space-4); text-transform: uppercase; }
#services.sc-services .sc-services__intro h1 { color: var(--sc-color-ink); font-size: var(--sc-type-section); letter-spacing: -0.065em; line-height: 0.98; margin: 0 0 var(--sc-space-4) !important; }
.sc-services__intro h1 span { color: var(--sc-color-brand); }
.sc-services__intro > p:last-child { color: var(--sc-color-ink-muted); font-size: var(--sc-type-body); line-height: var(--sc-leading-body); margin: 0; max-width: 720px; }
.sc-services__modules { display: grid; gap: var(--sc-space-4); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sc-service-module { background: var(--sc-color-white); border: 1px solid var(--sc-color-line); border-radius: var(--sc-radius-lg); box-shadow: var(--sc-shadow-sm); min-width: 0; overflow: hidden; position: relative; transition: box-shadow 240ms ease, transform 240ms ease; }
.sc-service-module::before { background: var(--sc-color-brand); content: ""; height: 4px; left: 0; position: absolute; top: 0; width: 100%; }
.sc-service-module__header { align-items: center; background: linear-gradient(135deg, var(--sc-color-surface), var(--sc-color-white)); border-bottom: 1px solid var(--sc-color-line); display: grid; gap: var(--sc-space-4); grid-template-columns: auto 72px minmax(0, 1fr); min-height: 160px; padding: var(--sc-space-5); }
.sc-service-module__index { align-self: start; color: var(--sc-color-brand); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.12em; }
.sc-service-module__icon { align-items: center; background: var(--sc-color-brand-soft); border: 1px solid rgba(170, 21, 29, 0.18); border-radius: var(--sc-radius-md); color: var(--sc-color-brand); display: flex; height: 72px; justify-content: center; width: 72px; }
.sc-service-module__icon i { color: inherit !important; font-size: 2rem; transition: transform 240ms ease; }
.sc-service-module__header p { color: var(--sc-color-brand); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.12em; margin: 0 0 var(--sc-space-1); text-transform: uppercase; }
.sc-service-module__header h2 { color: var(--sc-color-ink); font-size: clamp(1.75rem, 2.6vw, 2.45rem); font-weight: 800; letter-spacing: -0.045em; line-height: 1.05; margin: 0; }
.sc-service-module__items { padding: 0 var(--sc-space-5); }
.sc-service-module__items article { border-bottom: 1px solid var(--sc-color-line); display: grid; gap: var(--sc-space-3); grid-template-columns: minmax(160px, 0.9fr) minmax(0, 1.5fr) auto; padding: var(--sc-space-4) 0; }
.sc-service-module__items article:last-child { border-bottom: 0; }
.sc-service-module__items h3 { color: var(--sc-color-ink); font-size: 1.15rem; font-weight: 800; line-height: 1.25; margin: 0; }
.sc-service-module__items p { color: var(--sc-color-ink-muted); font-size: 0.95rem; line-height: 1.6; margin: 0; }
.sc-service-module__items :is(a, button) { align-self: start; background: transparent; border: 0; color: var(--sc-color-brand); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.06em; padding: 0; text-align: left; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.sc-service-module__items :is(a, button) span { display: inline-block; font-size: 1.15rem; margin-left: var(--sc-space-1); transition: transform var(--sc-transition-fast); }
.sc-service-module__items :is(a, button):hover, .sc-service-module__items :is(a, button):focus { color: var(--sc-color-brand-hover); }
.sc-service-module__items :is(a, button):hover span, .sc-service-module__items :is(a, button):focus span { transform: translateX(3px); }
@media (hover: hover) and (pointer: fine) { .sc-service-module:hover, .sc-service-module:focus-within { box-shadow: var(--sc-shadow-md); transform: translateY(-4px); } .sc-service-module:hover .sc-service-module__icon i, .sc-service-module:focus-within .sc-service-module__icon i { transform: scale(1.03); } }

@media (max-width: 1199px) { .sc-service-module__items article { grid-template-columns: minmax(145px, 0.85fr) minmax(0, 1.35fr); } .sc-service-module__items :is(a, button) { grid-column: 2; } }
@media (max-width: 767px) { .sc-services__intro { margin-bottom: var(--sc-space-6); } .sc-services__modules { grid-template-columns: 1fr; } .sc-service-module__header { gap: var(--sc-space-3); grid-template-columns: auto 56px minmax(0, 1fr); min-height: 0; padding: var(--sc-space-4); } .sc-service-module__icon { height: 56px; width: 56px; } .sc-service-module__icon i { font-size: 1.6rem; } .sc-service-module__header h2 { font-size: 1.65rem; } .sc-service-module__items { padding: 0 var(--sc-space-4); } .sc-service-module__items article { display: block; padding: var(--sc-space-4) 0; } .sc-service-module__items h3 { font-size: 1.2rem; margin-bottom: var(--sc-space-2); } .sc-service-module__items p { font-size: 1rem; margin-bottom: var(--sc-space-3); } .sc-service-module__items :is(a, button) { font-size: 0.78rem; } }

/* 09c. Pick up / take away ------------------------------------------------- */
#pickup { background: var(--sc-color-ink); color: var(--sc-color-white); padding: var(--sc-space-9) 0; position: relative; scroll-margin-top: 76px; }
#pickup::before { background-image: linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px); background-size: 32px 32px; content: ""; inset: 0; pointer-events: none; position: absolute; }
.sc-pickup__layout { display: grid; gap: var(--sc-space-7); grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); position: relative; }
.sc-pickup__intro { max-width: 610px; }
.sc-pickup__eyebrow { color: var(--sc-color-brand-pale); font-size: 0.9rem; font-weight: 800; letter-spacing: 0.15em; margin: 0 0 var(--sc-space-4); text-transform: uppercase; }
.sc-pickup__intro h2 { color: var(--sc-color-white); font-size: var(--sc-type-section); font-weight: 800; letter-spacing: -0.06em; line-height: 0.98; margin: 0 0 var(--sc-space-5); }
.sc-pickup__intro h2 span { color: var(--sc-color-brand-pale); }
.sc-pickup__intro > p { color: rgba(255, 255, 255, 0.72); font-size: var(--sc-type-body); line-height: var(--sc-leading-body); margin: 0 0 var(--sc-space-3); }
.sc-pickup__intro strong { color: var(--sc-color-white); }
.sc-pickup__steps { align-self: center; display: grid; gap: 0.65rem; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.sc-pickup__steps li { align-items: center; background: rgba(255, 255, 255, 0.055); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: var(--sc-radius-sm); display: flex; gap: 0.45rem; height: 68px; justify-content: center; min-width: 0; padding: 0.45rem 0.55rem; position: relative; text-align: center; }
.sc-pickup__steps li:not(:last-child)::after { color: rgba(242, 185, 184, 0.72); content: "\2192"; font-size: 0.95rem; position: absolute; right: -0.58rem; top: 50%; transform: translate(50%, -50%); z-index: 1; }
.sc-pickup__steps i { color: var(--sc-color-brand-pale) !important; flex: 0 0 auto; font-size: 2.15rem; line-height: 1; }
.sc-pickup__steps strong { color: var(--sc-color-white); font-size: 1.6rem; font-weight: 700; line-height: 1; min-width: 0; }
.sc-pickup-step-reveal { opacity: 0; transform: translateY(-76px); transition: opacity 1000ms ease-out, transform 1000ms ease-out; will-change: opacity, transform; }
.sc-pickup-step-reveal.sc-pickup-step-reveal--visible { opacity: 1; transform: translateY(0); }
@media (max-width: 991px) { .sc-pickup__layout { gap: var(--sc-space-5); grid-template-columns: 1fr; } }
@media (max-width: 767px) { #pickup { padding: var(--sc-space-7) 0; scroll-margin-top: 64px; } .sc-pickup__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sc-pickup__steps li { height: 62px; padding: 0.35rem 0.45rem; } .sc-pickup__steps i { font-size: 2rem; } .sc-pickup__steps strong { font-size: 1.45rem; } .sc-pickup__steps li:nth-child(2)::after { bottom: -0.58rem; left: 50%; right: auto; top: auto; transform: translate(-50%, 50%) rotate(90deg); } }

/* 10. Story / trust --------------------------------------------------------- */
#about { background: var(--sc-color-surface); }
#about .row:first-child { margin-bottom: var(--sc-space-5); }
#about .about-title { color: var(--sc-color-ink); font-size: var(--sc-type-section); font-weight: 800; letter-spacing: -0.06em; margin: 0 0 var(--sc-space-3); }
#about .about-title::before, #about .about-title::after { content: none !important; display: none !important; }
#about .subTitle { color: var(--sc-color-brand); font-size: 0.95rem; font-weight: 800; letter-spacing: 0.13em; margin: 0; text-transform: uppercase; }
#about .subTitle::before, #about .subTitle::after { content: none !important; display: none !important; }
#about .img-responsive { background: var(--sc-color-white); border: 1px solid var(--sc-color-line); border-radius: var(--sc-radius-md); box-shadow: var(--sc-shadow-md); padding: var(--sc-space-2); }
#about p { color: var(--sc-color-ink-muted); font-size: var(--sc-type-body); line-height: var(--sc-leading-body); margin-bottom: var(--sc-space-4); }
#about strong { color: var(--sc-color-ink); }
#about .btn-success { background: var(--sc-color-brand) !important; border-color: var(--sc-color-brand) !important; border-radius: var(--sc-radius-sm); box-shadow: 0 9px 18px rgba(170, 21, 29, 0.16); font-size: var(--sc-type-button) !important; min-height: 3.25rem; padding: var(--sc-space-3) var(--sc-space-4) !important; }
#about .btn-success:hover, #about .btn-success:focus { background: var(--sc-color-brand-hover) !important; border-color: var(--sc-color-brand-hover) !important; }

/* 11. Consultation band ---------------------------------------------------- */
#paralaxSlice3 { background: transparent !important; border: 0; min-height: 0; position: relative; }
#paralaxSlice3::before { content: none; }
#paralaxSlice3 .maskParent, #paralaxSlice3 .paralaxMask { background: transparent !important; }
#paralaxSlice3 .paralaxText { display: flex; justify-content: center; padding: var(--sc-space-5) var(--sc-space-3); position: relative; }
#paralaxSlice3 blockquote { background: #e9eced; border-radius: var(--sc-radius-md); color: var(--sc-color-ink); display: inline-block; font-size: clamp(2.4rem, 4vw, 3.75rem); font-weight: 800; letter-spacing: -0.05em; margin: 0; padding: var(--sc-space-4) var(--sc-space-5); width: fit-content; }
#paralaxSlice3 blockquote::after { color: var(--sc-color-brand); content: "Respuesta directa para convertir tu idea en producción."; display: block; font-size: var(--sc-type-body); font-weight: 600; letter-spacing: 0; margin-top: var(--sc-space-3); }

/* 12. File preparation ----------------------------------------------------- */
#howToSend { background: var(--sc-color-canvas); }
.section-title-modern { color: var(--sc-color-ink) !important; font-size: var(--sc-type-section) !important; font-weight: 800 !important; letter-spacing: -0.06em; margin: 0 0 var(--sc-space-3) !important; }
.section-subtitle-modern { color: var(--sc-color-ink-muted) !important; font-size: var(--sc-type-body) !important; line-height: var(--sc-leading-body); margin: 0 auto var(--sc-space-6) !important; max-width: 760px; text-align: center !important; }
.tips-container { display: grid; gap: var(--sc-space-3); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tip-item-card { background: var(--sc-color-white); border: 1px solid var(--sc-color-line); border-radius: var(--sc-radius-md); box-shadow: var(--sc-shadow-sm); min-height: 260px; padding: var(--sc-space-5); }
.tip-item-card .tip-icon-box { align-items: center; background: var(--sc-color-brand-soft); border: 1px solid rgba(170, 21, 29, 0.18); border-radius: 50%; color: var(--sc-color-brand); display: flex; height: 52px; justify-content: center; margin-bottom: var(--sc-space-4); width: 52px; }
.tip-item-card .tip-icon-box i { color: inherit !important; font-size: 1.35rem; }
.tip-item-card h4 { color: var(--sc-color-ink) !important; font-size: 1.25rem !important; font-weight: 800 !important; margin: 0 0 var(--sc-space-3) !important; }
.tip-item-card p { color: var(--sc-color-ink-muted) !important; font-size: 1rem !important; line-height: var(--sc-leading-body); margin: 0 !important; }
.critical-alert-box { background: var(--sc-color-brand-soft) !important; border: 1px solid rgba(170, 21, 29, 0.25) !important; border-left: 4px solid var(--sc-color-brand) !important; border-radius: var(--sc-radius-sm); box-shadow: none !important; margin-top: var(--sc-space-4) !important; padding: var(--sc-space-4) !important; }
.critical-alert-box p { color: var(--sc-color-ink) !important; font-size: 0.94rem !important; }

/* 13. Contact conversion surface ------------------------------------------ */
#contactSlice { background: var(--sc-color-surface); padding: var(--sc-space-9) 0; }
.contact-title { color: var(--sc-color-ink) !important; font-size: clamp(1.4rem, 2.5vw, 2.4rem) !important; font-weight: 800 !important; letter-spacing: -0.06em; margin: 0 0 var(--sc-space-6) !important; text-align: left !important; }
.whatsapp-channels { display: grid; gap: var(--sc-space-3); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.whatsapp-card { background: var(--sc-color-white) !important; border: 1px solid var(--sc-color-line) !important; border-radius: var(--sc-radius-md) !important; box-shadow: var(--sc-shadow-sm); margin: 0 !important; padding: var(--sc-space-6) !important; position: relative; }
.whatsapp-card::before { background: var(--sc-color-brand); border-radius: 50%; content: ""; height: 9px; left: var(--sc-space-5); position: absolute; top: var(--sc-space-4); width: 9px; }
.whatsapp-card h3 { color: var(--sc-color-ink) !important; font-size: 1.45rem !important; font-weight: 800 !important; line-height: 1.25; margin: var(--sc-space-4) 0 var(--sc-space-3) !important; }
.whatsapp-card p { color: var(--sc-color-ink-muted) !important; font-size: var(--sc-type-body) !important; line-height: var(--sc-leading-body); }
.btn-whatsapp-split { background: var(--sc-color-ink) !important; border-radius: var(--sc-radius-sm) !important; box-shadow: none !important; font-size: var(--sc-type-button) !important; font-weight: 800 !important; letter-spacing: 0.02em; padding: var(--sc-space-3) var(--sc-space-5) !important; transition: background-color var(--sc-transition-fast), transform var(--sc-transition-fast) !important; }
.btn-whatsapp-split:hover, .btn-whatsapp-split:focus { background: var(--sc-color-brand) !important; transform: translateY(-1px); }
.local-info-box { background: transparent !important; border: 0 !important; border-top: 1px solid var(--sc-color-line) !important; box-shadow: none !important; display: grid; gap: var(--sc-space-2); grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--sc-space-5) !important; padding: var(--sc-space-4) 0 0 !important; }
.local-info-box .info-item { color: var(--sc-color-ink-muted); font-size: 1rem; line-height: var(--sc-leading-body); }
.local-info-box .info-item strong, .local-info-box .info-item strong i { color: var(--sc-color-brand) !important; }

.sc-human-care { align-items: center; background: transparent; border: 0; border-radius: 0; box-shadow: none; display: grid; gap: var(--sc-space-4); grid-template-columns: auto minmax(0, 1fr); isolation: isolate; margin-bottom: var(--sc-space-7); padding: var(--sc-space-6) 0; position: relative; }
/* Keep the full-width decorative stripe from overflowing the page scrollbar. */
#contactSlice { overflow-x: clip; }
.sc-human-care::before { background: var(--sc-color-line); content: ""; inset: 0 auto; left: 50%; position: absolute; transform: translateX(-50%); width: 100vw; z-index: -1; }
.sc-human-care__icon { align-items: center; background: var(--sc-color-brand-soft); border-radius: 50%; display: flex; height: 58px; justify-content: center; width: 58px; }
.sc-human-care__icon i { color: var(--sc-color-brand) !important; font-size: 1.5rem; }
.sc-human-care h2 { color: var(--sc-color-ink); font-size: clamp(1.55rem, 2.4vw, 2.15rem); font-weight: 800; letter-spacing: -0.04em; line-height: 1.15; margin: 0 0 var(--sc-space-2); }
.sc-human-care p { color: var(--sc-color-ink-muted); font-size: var(--sc-type-body); line-height: var(--sc-leading-body); margin: 0; max-width: 940px; }

/* 14. Stage 2 responsive --------------------------------------------------- */
@media (max-width: 991px) { .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .service-card { min-height: 330px; padding: var(--sc-space-6); } .local-info-box { grid-template-columns: 1fr; } }
@media (max-width: 767px) { #services, #about, #howToSend, #contactSlice { padding-bottom: var(--sc-space-7); padding-top: var(--sc-space-7); } #services h1 { margin-bottom: var(--sc-space-6) !important; } .services-grid, .tips-container, .whatsapp-channels { grid-template-columns: 1fr; } .service-card { min-height: 0; padding: var(--sc-space-5); } .service-card h3 { font-size: 1.55rem; } .service-card p { -webkit-line-clamp: initial; } .tip-item-card { min-height: 0; } .contact-title { margin-bottom: var(--sc-space-5) !important; } }

@media (max-width: 767px) { .sc-human-care { align-items: start; grid-template-columns: 1fr; margin-bottom: var(--sc-space-6); padding: var(--sc-space-5) 0; } }

/* 15. Legibility pass: enlarge interface and body copy, preserving headings */
body { font-size: 1.125rem; }
.sc-site-header .navbar-nav > li > a { font-size: 1rem; }
.sc-hero__eyebrow, .sc-hero__panel-kicker { font-size: 0.875rem; }
.sc-hero__panel-copy { font-size: 1.025rem; }
.sc-footer__brand p { font-size: 1.175rem; }
.sc-footer__links a, .local-info-box .info-item { font-size: 1.125rem; }
.sc-footer__bottom small { font-size: 0.875rem; }
.sc-services__eyebrow, #about .subTitle { font-size: 1.025rem; }
.sc-service-module__index { font-size: 1.1rem; }
.sc-service-module__header p { font-size: 1.2rem; }
.sc-service-module__items h3 { font-size: 1.9rem; line-height: 1.25; }
.sc-service-module__items p { font-size: 1.6rem; line-height: 1.6; overflow-wrap: anywhere; }
.sc-service-module__items button { font-size: 1.2rem; }
.tip-item-card p { font-size: 1.125rem !important; }
.critical-alert-box p { font-size: 1.075rem !important; }

/* Services: compact type scale ------------------------------------------------ */
#services .sc-services__eyebrow { font-size: 0.9609375rem; }
#services.sc-services .sc-services__intro h1 { font-size: clamp(1.75rem, 3.125vw, 3rem); }
#services .sc-services__intro > p:last-child { font-size: 1.171875rem; }
#services .sc-service-module__index { font-size: 0.790625rem; }
#services .sc-service-module__icon i { font-size: 1.4375rem; }
#services .sc-service-module__header p { font-size: 0.8625rem; }
#services .sc-service-module__header h2 { font-size: clamp(1.2578125rem, 1.86875vw, 1.7609375rem); }
#services .sc-service-module__items h3 { font-size: 1.365625rem; }
#services .sc-service-module__items p { font-size: 1.15rem; }
#services .sc-service-module__items :is(a, button) { font-size: 0.8625rem; }
#services .sc-service-module__items :is(a, button) span { font-size: 0.8265625rem; }

@media (max-width: 991px) {
  .sc-site-header .navbar-nav > li > a { font-size: 0.82rem; }
  .sc-service-module__items :is(a, button) { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  .sc-site-header .navbar-nav > li > a { font-size: 1rem; }
  .sc-hero__copy { font-size: 1.125rem; }
  #services .sc-service-module__icon i { font-size: 1.15rem; }
  #services .sc-service-module__header h2 { font-size: 1.1859375rem; }
  #services .sc-service-module__items h3 { font-size: 1.365625rem; }
  #services .sc-service-module__items p { font-size: 1.15rem; }
  #services .sc-service-module__items :is(a, button) { font-size: 0.8625rem; }
}
