@charset "UTF-8";

/* =========================================================
   GRUPO SEINTO · SECTOR DESGUACES Y CAT
   Fondo blanco · humano · tecnológico · continuidad Home/360
   ========================================================= */

.gsdc-page {
    --gsdc-blue: #0872be;
    --gsdc-blue-dark: #065f9e;
    --gsdc-orange: #ff9418;
    --gsdc-ink: #111827;
    --gsdc-muted: #64748b;
    --gsdc-line: rgba(17, 24, 39, .14);
    --gsdc-soft: #f7f9fb;
    overflow: clip;
    color: var(--gsdc-ink);
    background: #fff;
}

.gsdc-page * { box-sizing: border-box; }

.gsdc-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--gsdc-blue);
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.gsdc-eyebrow > span {
    width: 5px;
    height: 5px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--gsdc-blue);
    box-shadow: 0 0 0 4px rgba(8, 114, 190, .10);
}

.gsdc-separator {
    position: relative;
    left: 50%;
    z-index: 20;
    width: 100vw;
    height: 0;
    margin: 0;
    transform: translateX(-50%);
    border-top: 1px dashed rgba(17, 24, 39, .14);
    pointer-events: none;
}

[data-gsdc-reveal] {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .72s ease, transform .72s cubic-bezier(.2, .75, .2, 1);
    transition-delay: calc(var(--gsdc-index, 0) * 65ms);
}

[data-gsdc-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ---------------------------------------------------------
   HERO · full width / split editorial / imagen horizontal
   --------------------------------------------------------- */

.gsdc-hero {
    position: relative;
    width: 100%;
    margin: 0;
    padding: var(--gs-header-height) 0 0;
    overflow: hidden;
    background: #fff;
}

/* Guías sutiles solo en la zona de texto: el hero sigue siendo full-bleed. */
.gsdc-hero__guides {
    position: absolute;
    top: var(--gs-header-height);
    bottom: 0;
    left: 0;
    z-index: 0;
    width: 45%;
    pointer-events: none;
    border-right: 1px dashed rgba(17, 24, 39, .10);
    background-image: radial-gradient(circle, rgba(8, 114, 190, .10) .7px, transparent .85px);
    background-size: 12px 12px;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.18) 10%, rgba(0,0,0,.08) 70%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.18) 10%, rgba(0,0,0,.08) 70%, transparent 100%);
    opacity: .42;
}

.gsdc-hero__guides::before,
.gsdc-hero__guides::after {
    content: none;
}

.gsdc-hero__inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 45%) minmax(0, 55%);
    align-items: stretch;
    width: 100%;
    height: 600px;
    min-height: 0;
    max-height: 600px;
    margin: 0;
    background: #fff;
    border-top: 1px solid rgba(17, 24, 39, .08);
    border-bottom: 1px solid rgba(17, 24, 39, .08);
}

.gsdc-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding-top: 42px;
    padding-right: clamp(42px, 4.5vw, 86px);
    padding-bottom: 42px;
    padding-left: max(48px, calc((100vw - 1440px) / 2));
    background: #fff;
}

.gsdc-hero__copy h1 {
    max-width: 680px;
    margin: 16px 0 18px;
    color: var(--gsdc-ink);
    font-size: clamp(2.75rem, 3.65vw, 4rem);
    font-weight: 560;
    line-height: .96;
    letter-spacing: -.052em;
    text-wrap: balance;
}

.gsdc-hero__intro {
    max-width: 620px;
    margin: 0;
    color: #5c6b80;
    font-size: clamp(.98rem, .96vw, 1.08rem);
    line-height: 1.55;
}

.gsdc-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.gsdc-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 48px;
    padding: 0 20px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 680;
    line-height: 1;
    text-decoration: none;
    transition: transform .18s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.gsdc-button:hover,
.gsdc-button:focus-visible { transform: translateY(-1px); }

.gsdc-button--primary {
    color: #fff;
    background: var(--gsdc-blue);
    box-shadow: 0 12px 30px rgba(8, 114, 190, .18);
}

.gsdc-button--primary:hover,
.gsdc-button--primary:focus-visible { background: var(--gsdc-blue-dark); }

.gsdc-button--secondary {
    color: var(--gsdc-ink);
    border-color: rgba(17, 24, 39, .14);
    background: #fff;
}

.gsdc-button--secondary:hover,
.gsdc-button--secondary:focus-visible {
    border-color: rgba(8, 114, 190, .30);
    background: #f9fbfd;
}

.gsdc-hero__scope {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 24px;
    color: #7a8798;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .02em;
}

.gsdc-hero__scope span {
    position: relative;
    padding-right: 17px;
    margin-right: 14px;
}

.gsdc-hero__scope span:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--gsdc-orange);
    transform: translateY(-50%);
}

.gsdc-hero__media {
    position: relative;
    min-width: 0;
    height: 600px;
    min-height: 0;
    max-height: 600px;
    margin: 0;
    overflow: hidden;
    border-left: 1px solid rgba(17, 24, 39, .08);
    background: #eef2f5;
}

.gsdc-hero__image-wrap {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background: #eef2f5;
}

.gsdc-hero__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    filter: saturate(.96) contrast(1.01);
    transform: scale(1.012);
    transition: transform 1.15s cubic-bezier(.2, .75, .2, 1);
}

.gsdc-hero__media.is-visible .gsdc-hero__image { transform: scale(1); }

.gsdc-hero__image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(8, 114, 190, .015), transparent 64%, rgba(9, 18, 32, .12));
}

/* Retícula extremadamente sutil para conservar el lenguaje tecnológico sin teñir la foto. */
.gsdc-hero__image-grid {
    position: absolute;
    inset: 0;
    z-index: 2;
    opacity: .08;
    pointer-events: none;
    background-image: radial-gradient(circle, rgba(255, 255, 255, .92) .7px, transparent .9px);
    background-size: 14px 14px;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.24) 68%, #000 100%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.24) 68%, #000 100%);
}

.gsdc-hero__media-tag {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 4;
    display: flex;
    flex-direction: column;
    min-width: 238px;
    padding: 17px 22px;
    color: #fff;
    background: var(--gsdc-blue);
}

.gsdc-hero__media-tag::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 44px;
    height: 3px;
    background: var(--gsdc-orange);
}

.gsdc-hero__media-tag span {
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.gsdc-hero__media-tag small {
    margin-top: 3px;
    color: rgba(255,255,255,.78);
    font-size: 10px;
    letter-spacing: .035em;
}

.gsdc-hero__media figcaption {
    position: absolute;
    right: 22px;
    bottom: 20px;
    z-index: 4;
    width: min(280px, calc(100% - 310px));
    margin: 0;
    color: rgba(255,255,255,.90);
    font-size: 10px;
    line-height: 1.45;
    text-align: right;
}

/* ---------------------------------------------------------
   Shared sections
   --------------------------------------------------------- */

.gsdc-section {
    position: relative;
    width: 100%;
    margin: 0;
    background: #fff;
}

.gsdc-guided {
    position: relative;
    width: min(1560px, calc(100% - 48px));
    margin: 0 auto;
    padding: 108px 0 116px;
    overflow: hidden;
    background: #fff;
}

.gsdc-guided::before,
.gsdc-guided::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 0;
    width: 1px;
    border-left: 1px dashed rgba(8, 114, 190, .16);
    pointer-events: none;
}

.gsdc-guided::before { left: max(24px, calc((100% - 1200px) / 2)); }
.gsdc-guided::after { right: max(24px, calc((100% - 1200px) / 2)); }

.gsdc-guided__dots {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 0;
    width: 145px;
    opacity: .42;
    pointer-events: none;
    background-image: radial-gradient(circle, rgba(8,114,190,.13) .7px, transparent .85px);
    background-size: 12px 12px;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 10%, #000 90%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 10%, #000 90%, transparent 100%);
}

.gsdc-guided__dots--left { left: 0; }
.gsdc-guided__dots--right { right: 0; }

.gsdc-section__inner {
    position: relative;
    z-index: 2;
    width: min(1200px, calc(100% - 96px));
    margin: 0 auto;
}

.gsdc-section-head {
    max-width: 900px;
    margin: 0 auto 66px;
    text-align: center;
}

.gsdc-section-head--wide { max-width: 980px; }

.gsdc-section-head h2,
.gsdc-platform__copy h2,
.gsdc-ai__copy h2 {
    margin: 21px 0 18px;
    color: var(--gsdc-ink);
    font-size: clamp(2.8rem, 5vw, 4.75rem);
    font-weight: 540;
    line-height: .98;
    letter-spacing: -.046em;
    text-wrap: balance;
}

.gsdc-section-head p,
.gsdc-platform__copy > p,
.gsdc-ai__copy > p {
    max-width: 800px;
    margin: 0 auto;
    color: #607087;
    font-size: 1.05rem;
    line-height: 1.68;
}

/* ---------------------------------------------------------
   Process
   --------------------------------------------------------- */

.gsdc-process {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(17, 24, 39, .10);
    border-left: 1px solid rgba(17, 24, 39, .10);
}

.gsdc-process__step {
    position: relative;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 18px;
    min-height: 220px;
    padding: 30px 28px 34px;
    border-right: 1px solid rgba(17, 24, 39, .10);
    border-bottom: 1px solid rgba(17, 24, 39, .10);
    background: #fff;
    transition: background-color .2s ease, transform .2s ease;
}

.gsdc-process__step:hover { background: #fbfcfd; }

.gsdc-process__step::before {
    content: "";
    position: absolute;
    left: -1px;
    top: 28px;
    width: 3px;
    height: 28px;
    background: linear-gradient(var(--gsdc-blue), var(--gsdc-orange));
    opacity: 0;
    transition: opacity .2s ease;
}

.gsdc-process__step:hover::before { opacity: 1; }

.gsdc-process__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 28px;
    border: 1px solid rgba(8, 114, 190, .20);
    border-radius: 999px;
    color: var(--gsdc-blue);
    background: rgba(8, 114, 190, .05);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .08em;
}

.gsdc-process__step h3 {
    margin: 1px 0 11px;
    color: var(--gsdc-ink);
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.28;
    letter-spacing: -.02em;
}

.gsdc-process__step p {
    margin: 0;
    color: #66758a;
    font-size: .9rem;
    line-height: 1.62;
}

/* ---------------------------------------------------------
   Platform visual
   --------------------------------------------------------- */

.gsdc-platform__layout,
.gsdc-ai__layout {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(560px, 1.22fr);
    align-items: center;
    gap: 92px;
}

.gsdc-platform__copy h2,
.gsdc-ai__copy h2 { margin-top: 22px; }

.gsdc-platform__copy > p,
.gsdc-ai__copy > p { margin-left: 0; }

.gsdc-text-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 28px;
    color: var(--gsdc-blue);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.gsdc-text-link span { transition: transform .2s ease; }
.gsdc-text-link:hover span { transform: translate(2px, -2px); }

.gsdc-platform__visual {
    position: relative;
    min-height: 560px;
    border: 1px solid rgba(17, 24, 39, .11);
    background:
        radial-gradient(circle at 50% 50%, rgba(8, 114, 190, .06), transparent 32%),
        radial-gradient(circle, rgba(17,24,39,.08) .7px, transparent .85px);
    background-size: auto, 14px 14px;
    overflow: hidden;
}

.gsdc-platform__visual::before,
.gsdc-platform__visual::after {
    content: "";
    position: absolute;
    z-index: 0;
    background: rgba(8, 114, 190, .12);
}

.gsdc-platform__visual::before { left: 50%; top: 34px; bottom: 34px; width: 1px; }
.gsdc-platform__visual::after { top: 50%; left: 34px; right: 34px; height: 1px; }

.gsdc-platform__core {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 150px;
    border: 1px solid rgba(8, 114, 190, .28);
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 20px 60px rgba(8, 114, 190, .10);
    transform: translate(-50%, -50%);
}

.gsdc-platform__core-mark {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin-bottom: 8px;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(135deg, var(--gsdc-blue), #0d8bd8 62%, var(--gsdc-orange));
    font-size: 12px;
    font-weight: 780;
}

.gsdc-platform__core strong { font-size: 15px; letter-spacing: -.02em; }
.gsdc-platform__core small { margin-top: 2px; color: #8490a0; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }

.gsdc-platform__node {
    position: absolute;
    z-index: 3;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    column-gap: 12px;
    align-items: center;
    width: 205px;
    min-height: 82px;
    padding: 14px 16px;
    border: 1px solid rgba(17, 24, 39, .11);
    background: rgba(255,255,255,.96);
    box-shadow: 0 12px 34px rgba(17, 24, 39, .055);
}

.gsdc-platform__node > span {
    grid-row: 1 / span 2;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    color: var(--gsdc-blue);
    background: rgba(8, 114, 190, .08);
}

.gsdc-platform__node strong { align-self: end; font-size: 12px; line-height: 1.2; }
.gsdc-platform__node small { align-self: start; margin-top: 3px; color: #8090a2; font-size: 9px; line-height: 1.3; }

.gsdc-platform__node--1 { left: 42px; top: 52px; }
.gsdc-platform__node--2 { right: 42px; top: 52px; }
.gsdc-platform__node--3 { left: 32px; top: 50%; transform: translateY(-50%); }
.gsdc-platform__node--4 { right: 32px; top: 50%; transform: translateY(-50%); }
.gsdc-platform__node--5 { left: 42px; bottom: 52px; }
.gsdc-platform__node--6 { right: 42px; bottom: 52px; }

.gsdc-platform__line { position: absolute; z-index: 1; pointer-events: none; opacity: .5; }
.gsdc-platform__line--h { top: 50%; left: 22%; right: 22%; height: 1px; background: linear-gradient(90deg, transparent, var(--gsdc-blue), var(--gsdc-orange), transparent); }
.gsdc-platform__line--v { left: 50%; top: 20%; bottom: 20%; width: 1px; background: linear-gradient(transparent, var(--gsdc-blue), var(--gsdc-orange), transparent); }

/* ---------------------------------------------------------
   Commerce
   --------------------------------------------------------- */

.gsdc-commerce__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
    gap: 52px;
    align-items: stretch;
}

.gsdc-search-demo {
    min-height: 520px;
    padding: 26px;
    border: 1px solid rgba(17, 24, 39, .11);
    background:
        linear-gradient(#fff, #fff) padding-box,
        radial-gradient(circle at 82% 8%, rgba(8,114,190,.08), transparent 32%);
    box-shadow: 0 24px 70px rgba(17, 24, 39, .06);
}

.gsdc-search-demo__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 22px;
    color: #8a96a5;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gsdc-search-demo__status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #4f6178;
    letter-spacing: .05em;
}

.gsdc-search-demo__status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--gsdc-blue);
    box-shadow: 0 0 0 4px rgba(8, 114, 190, .10);
}

.gsdc-search-demo__query {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 68px;
    padding: 0 18px;
    border: 1px solid rgba(17, 24, 39, .12);
    background: #fff;
}

.gsdc-search-demo__query > i { color: var(--gsdc-blue); }
.gsdc-search-demo__query > span { color: var(--gsdc-ink); font-size: 15px; font-weight: 620; transition: opacity .18s ease, transform .18s ease; }
.gsdc-search-demo__query > span.is-changing { opacity: 0; transform: translateY(4px); }
.gsdc-search-demo__query kbd { min-width: 30px; padding: 5px 7px; border: 1px solid rgba(17,24,39,.10); border-radius: 6px; color: #8390a0; background: #f8fafc; font: inherit; font-size: 10px; text-align: center; }

.gsdc-search-demo__filters {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 16px;
    border-top: 1px solid rgba(17,24,39,.09);
    border-left: 1px solid rgba(17,24,39,.09);
}

.gsdc-search-demo__filters span {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px;
    border-right: 1px solid rgba(17,24,39,.09);
    border-bottom: 1px solid rgba(17,24,39,.09);
    color: #8995a3;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.gsdc-search-demo__filters strong { color: #3c4b5d; font-size: 10px; letter-spacing: 0; text-transform: none; }

.gsdc-search-demo__result {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    margin-top: 24px;
    padding: 18px;
    border: 1px solid rgba(8, 114, 190, .14);
    background: rgba(8, 114, 190, .035);
}

.gsdc-search-demo__thumb {
    display: grid;
    place-items: center;
    width: 82px;
    height: 72px;
    color: var(--gsdc-blue);
    background: #fff;
    border: 1px dashed rgba(8,114,190,.20);
    font-size: 26px;
}

.gsdc-search-demo__result > div:nth-child(2) { display: flex; flex-direction: column; min-width: 0; }
.gsdc-search-demo__result small { color: var(--gsdc-blue); font-size: 9px; font-weight: 720; text-transform: uppercase; letter-spacing: .06em; }
.gsdc-search-demo__result strong { margin-top: 5px; color: var(--gsdc-ink); font-size: 13px; }
.gsdc-search-demo__result span:not(.gsdc-search-demo__match) { margin-top: 3px; color: #7b8795; font-size: 10px; }
.gsdc-search-demo__match { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; color: var(--gsdc-blue); background: #fff; border: 1px solid rgba(8,114,190,.20); font-size: 11px; font-weight: 780; }

.gsdc-commerce__benefits {
    display: grid;
    grid-template-columns: 1fr;
    border-top: 1px solid rgba(17,24,39,.10);
}

.gsdc-benefit {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    padding: 27px 0;
    border-bottom: 1px solid rgba(17,24,39,.10);
}

.gsdc-benefit__icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(8,114,190,.16);
    border-radius: 12px;
    color: var(--gsdc-blue);
    background: rgba(8,114,190,.04);
}

.gsdc-benefit h3 { margin: 1px 0 8px; font-size: 1.02rem; font-weight: 700; letter-spacing: -.02em; }
.gsdc-benefit p { margin: 0; color: #67768a; font-size: .9rem; line-height: 1.6; }

/* ---------------------------------------------------------
   People / roles
   --------------------------------------------------------- */

.gsdc-people__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid rgba(17,24,39,.10);
    border-left: 1px solid rgba(17,24,39,.10);
}

.gsdc-role-card {
    position: relative;
    min-height: 330px;
    padding: 34px 32px 38px;
    border-right: 1px solid rgba(17,24,39,.10);
    border-bottom: 1px solid rgba(17,24,39,.10);
    background: #fff;
    transition: background-color .2s ease;
}

.gsdc-role-card:hover { background: #fbfcfd; }

.gsdc-role-card__number {
    display: block;
    margin-bottom: 70px;
    color: #9ca7b5;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
}

.gsdc-role-card__role {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--gsdc-blue);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.gsdc-role-card h3 {
    max-width: 300px;
    margin: 0 0 14px;
    color: var(--gsdc-ink);
    font-size: clamp(1.5rem, 2.1vw, 2.05rem);
    font-weight: 560;
    line-height: 1.05;
    letter-spacing: -.035em;
}

.gsdc-role-card p { margin: 0; color: #66758a; font-size: .92rem; line-height: 1.64; }

.gsdc-role-card::after {
    content: "";
    position: absolute;
    right: 24px;
    top: 26px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gsdc-orange);
    box-shadow: 0 0 0 5px rgba(255,148,24,.10);
}

/* ---------------------------------------------------------
   AI
   --------------------------------------------------------- */

.gsdc-ai__matrix {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(17,24,39,.10);
    border-left: 1px solid rgba(17,24,39,.10);
}

.gsdc-ai__matrix article {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    min-height: 170px;
    padding: 26px;
    border-right: 1px solid rgba(17,24,39,.10);
    border-bottom: 1px solid rgba(17,24,39,.10);
    background: #fff;
}

.gsdc-ai__matrix article > span {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    color: var(--gsdc-orange);
    background: rgba(255,148,24,.08);
}

.gsdc-ai__matrix article div { display: flex; flex-direction: column; }
.gsdc-ai__matrix strong { font-size: .98rem; line-height: 1.28; }
.gsdc-ai__matrix small { margin-top: 8px; color: #6f7d90; font-size: .82rem; line-height: 1.55; }

/* Final CTA stays exactly on the approved Home component. */
.gsdc-final-cta { background: #fff; }

/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 1180px) {
    .gsdc-hero__inner {
        grid-template-columns: minmax(0, 47%) minmax(0, 53%);
        height: 560px;
        min-height: 0;
        max-height: 560px;
    }

    .gsdc-hero__guides { width: 47%; }
    .gsdc-hero__copy {
        padding-top: 36px;
        padding-right: 38px;
        padding-bottom: 36px;
        padding-left: 40px;
    }
    .gsdc-hero__media { height: 560px; min-height: 0; max-height: 560px; }

    .gsdc-platform__layout,
    .gsdc-ai__layout {
        grid-template-columns: 1fr;
        gap: 58px;
    }

    .gsdc-platform__copy,
    .gsdc-ai__copy { max-width: 820px; }
    .gsdc-platform__visual { min-height: 540px; }
}

@media (max-width: 980px) {
    .gsdc-hero { padding-top: var(--gs-header-height); }

    .gsdc-hero__guides { display: none; }

    .gsdc-hero__inner {
        grid-template-columns: 1fr;
        width: 100%;
        height: auto;
        min-height: 0;
        max-height: none;
        border-top: 1px solid rgba(17,24,39,.08);
    }

    .gsdc-hero__copy {
        padding: 54px 32px 48px;
    }
    .gsdc-hero__copy h1 { max-width: 790px; }
    .gsdc-hero__intro { max-width: 720px; }

    .gsdc-hero__media {
        height: auto;
        min-height: 0;
        max-height: none;
        aspect-ratio: 16 / 10;
        border-left: 0;
        border-top: 1px dashed rgba(17,24,39,.12);
    }

    .gsdc-hero__image-wrap { position: absolute; inset: 0; }
    .gsdc-hero__image {
        width: 100%;
        height: 100%;
        aspect-ratio: auto;
    }

    .gsdc-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .gsdc-commerce__layout { grid-template-columns: 1fr; }
    .gsdc-search-demo { min-height: 0; }

    .gsdc-people__grid { grid-template-columns: 1fr; }
    .gsdc-role-card { min-height: 250px; }
    .gsdc-role-card__number { margin-bottom: 44px; }
}

@media (max-width: 767px) {
    .gsdc-hero {
        padding: var(--gs-header-height) 0 0;
    }

    .gsdc-guided {
        width: calc(100% - 24px);
    }

    .gsdc-guided__dots { display: none; }

    .gsdc-hero__inner { width: 100%; }
    .gsdc-section__inner { width: calc(100% - 32px); }

    .gsdc-hero__copy { padding: 38px 16px 38px; }
    .gsdc-hero__copy h1 {
        margin: 18px 0 20px;
        font-size: clamp(2.65rem, 13.3vw, 4.15rem);
        line-height: .96;
    }

    .gsdc-hero__intro { font-size: .98rem; line-height: 1.58; }
    .gsdc-hero__actions { display: grid; grid-template-columns: 1fr; }
    .gsdc-button { width: 100%; }
    .gsdc-hero__scope { margin-top: 30px; row-gap: 8px; }

    .gsdc-hero__media { aspect-ratio: 4 / 3; }
    .gsdc-hero__image { object-position: center center; }
    .gsdc-hero__media-tag { min-width: 0; padding: 14px 16px; }
    .gsdc-hero__media figcaption { display: none; }

    .gsdc-guided { padding: 78px 0 84px; }
    .gsdc-guided::before { left: 0; }
    .gsdc-guided::after { right: 0; }

    .gsdc-section-head { margin-bottom: 46px; }
    .gsdc-section-head h2,
    .gsdc-platform__copy h2,
    .gsdc-ai__copy h2 {
        font-size: clamp(2.45rem, 12vw, 3.65rem);
        line-height: .98;
    }

    .gsdc-section-head p,
    .gsdc-platform__copy > p,
    .gsdc-ai__copy > p { font-size: .96rem; line-height: 1.62; }

    .gsdc-process { grid-template-columns: 1fr; }
    .gsdc-process__step { min-height: 0; padding: 24px 20px 28px; }

    .gsdc-platform__visual { min-height: 680px; }
    .gsdc-platform__visual::before,
    .gsdc-platform__visual::after,
    .gsdc-platform__line { display: none; }
    .gsdc-platform__core { top: 50%; width: 132px; height: 132px; }

    .gsdc-platform__node { width: calc(50% - 30px); min-height: 92px; grid-template-columns: 36px minmax(0,1fr); column-gap: 9px; padding: 12px; }
    .gsdc-platform__node > span { width: 36px; height: 36px; }
    .gsdc-platform__node--1 { left: 14px; top: 24px; }
    .gsdc-platform__node--2 { right: 14px; top: 24px; }
    .gsdc-platform__node--3 { left: 14px; top: 180px; transform: none; }
    .gsdc-platform__node--4 { right: 14px; top: 180px; transform: none; }
    .gsdc-platform__node--5 { left: 14px; bottom: 24px; }
    .gsdc-platform__node--6 { right: 14px; bottom: 24px; }

    .gsdc-search-demo { padding: 18px; }
    .gsdc-search-demo__top { align-items: flex-start; }
    .gsdc-search-demo__top > span:last-child { display: none; }
    .gsdc-search-demo__filters { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .gsdc-search-demo__result { grid-template-columns: 60px minmax(0,1fr); gap: 14px; }
    .gsdc-search-demo__thumb { width: 60px; height: 60px; }
    .gsdc-search-demo__match { display: none; }

    .gsdc-role-card { padding: 28px 24px 32px; }
    .gsdc-role-card__number { margin-bottom: 38px; }

    .gsdc-ai__matrix { grid-template-columns: 1fr; }
    .gsdc-ai__matrix article { min-height: 0; padding: 22px 20px; }
}

@media (max-width: 460px) {
    .gsdc-platform__visual { min-height: 750px; }
    .gsdc-platform__node {
        width: calc(100% - 28px);
        left: 14px !important;
        right: auto !important;
    }
    .gsdc-platform__node--1 { top: 20px; }
    .gsdc-platform__node--2 { top: 120px; }
    .gsdc-platform__node--3 { top: 220px; }
    .gsdc-platform__node--4 { top: auto; bottom: 220px; }
    .gsdc-platform__node--5 { bottom: 120px; }
    .gsdc-platform__node--6 { bottom: 20px; }
    .gsdc-platform__core { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    [data-gsdc-reveal] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .gsdc-hero__image { transform: none !important; transition: none !important; }
}

/* =========================================================
   AJUSTE 1.5.6 · SISTEMA DE SECCIONES APROBADO
   Recupera el frame de 1440px, respiración, márgenes y
   retícula lateral de la Home sin tocar el hero full-width.
   ========================================================= */

/* Separadores entre bloques: misma respiración visual que la Home. */
.gsdc-separator {
    left: auto;
    width: min(var(--gs-container), calc(100% - 48px));
    height: 64px;
    margin: -1px auto;
    transform: none;
    border-top: 1px dashed rgba(17, 24, 39, .10);
    border-right: 1px dashed rgba(17, 24, 39, .10);
    border-bottom: 1px dashed rgba(17, 24, 39, .10);
    border-left: 1px dashed rgba(17, 24, 39, .10);
    background: #fff;
}

.gsdc-separator::before,
.gsdc-separator::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 92px;
    opacity: .12;
    pointer-events: none;
    background-image: radial-gradient(circle, rgba(17, 24, 39, .20) .7px, transparent .8px);
    background-size: 8px 8px;
}

.gsdc-separator::before {
    right: calc(100% + 1px);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 100%);
}

.gsdc-separator::after {
    left: calc(100% + 1px);
    -webkit-mask-image: linear-gradient(270deg, transparent 0%, #000 100%);
    mask-image: linear-gradient(270deg, transparent 0%, #000 100%);
}

/* Cada sección vuelve a vivir dentro del frame maestro de 1440px. */
.gsdc-section.gsdc-guided {
    width: min(var(--gs-container), calc(100% - 48px));
    margin: -1px auto 0;
    padding: 72px 0;
    overflow: visible;
    border-left: 1px dashed rgba(17, 24, 39, .10);
    border-right: 1px dashed rgba(17, 24, 39, .10);
    background: #fff;
}

/* Eliminamos las dos guías interiores que comprimían visualmente la sección. */
.gsdc-section.gsdc-guided::before,
.gsdc-section.gsdc-guided::after {
    content: none;
}

/* Puntos laterales fuera del frame, igual que en los bloques aprobados de Home. */
.gsdc-guided__dots {
    top: 0;
    bottom: 0;
    width: 110px;
    opacity: .12;
    background-image: radial-gradient(circle, rgba(17, 24, 39, .18) .7px, transparent .8px);
    background-size: 8px 8px;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 14%, #000 86%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 14%, #000 86%, transparent 100%);
}

.gsdc-guided__dots--left {
    left: auto;
    right: calc(100% + 1px);
}

.gsdc-guided__dots--right {
    right: auto;
    left: calc(100% + 1px);
}

/* Inner aprobado: 1200px con aire real a ambos lados. */
.gsdc-section__inner {
    width: min(1200px, calc(100% - 96px));
    margin: 0 auto;
}

.gsdc-section-head {
    max-width: 850px;
    margin: 0 auto 52px;
    padding: 0;
}

.gsdc-section-head--wide {
    max-width: 900px;
}

.gsdc-section-head h2,
.gsdc-platform__copy h2,
.gsdc-ai__copy h2 {
    margin: 18px 0 0;
    font-size: clamp(2.1rem, 3.2vw, 3.6rem);
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: -.05em;
}

.gsdc-section-head p,
.gsdc-platform__copy > p,
.gsdc-ai__copy > p {
    max-width: 760px;
    margin: 22px auto 0;
    font-size: 14px;
    line-height: 1.65;
}

.gsdc-platform__copy > p,
.gsdc-ai__copy > p {
    margin-left: 0;
    margin-right: 0;
}

/* Ajustes de ritmo de los layouts para que no queden pegados a las guías. */
.gsdc-platform__layout,
.gsdc-ai__layout {
    gap: 72px;
}

.gsdc-commerce__layout {
    gap: 48px;
}

/* Los grids mantienen su lenguaje técnico, pero con la línea del sistema general. */
.gsdc-process,
.gsdc-people__grid,
.gsdc-ai__matrix {
    border-color: rgba(17, 24, 39, .11);
}

.gsdc-process__step,
.gsdc-role-card,
.gsdc-ai__matrix article,
.gsdc-commerce__benefits,
.gsdc-benefit {
    border-color: rgba(17, 24, 39, .11);
}

.gsdc-process__step {
    min-height: 205px;
    padding: 30px 30px 34px;
}

.gsdc-role-card {
    padding: 34px 32px 38px;
}

/* CTA final: enlaza directamente con el frame anterior sin margen duplicado. */
.gsdc-final-cta .gs-home-final-cta__container {
    margin-top: 0;
}

@media (max-width: 980px) {
    .gsdc-section.gsdc-guided {
        padding: 64px 0;
    }

    .gsdc-section__inner {
        width: min(1080px, calc(100% - 72px));
    }
}

@media (max-width: 767px) {
    .gsdc-separator {
        width: calc(100% - 24px);
        height: 42px;
    }

    .gsdc-separator::before,
    .gsdc-separator::after {
        width: 48px;
    }

    .gsdc-section.gsdc-guided {
        width: calc(100% - 24px);
        padding: 54px 0 58px;
    }

    .gsdc-guided__dots {
        width: 48px;
        opacity: .10;
    }

    .gsdc-section__inner {
        width: calc(100% - 32px);
    }

    .gsdc-section-head {
        margin-bottom: 40px;
    }

    .gsdc-section-head h2,
    .gsdc-platform__copy h2,
    .gsdc-ai__copy h2 {
        font-size: clamp(2.2rem, 10.8vw, 3.35rem);
    }

    .gsdc-process__step {
        min-height: 0;
        padding: 24px 20px 28px;
    }
}
