/* =========================================================
   GRUPO SEINTO · NOTICIAS / BLOG
   Índice editorial blanco inspirado en publicaciones técnicas.
   ========================================================= */

.gsn-page {
    --gsn-text: #101820;
    --gsn-muted: #61707e;
    --gsn-line: rgba(31, 58, 76, .12);
    --gsn-dash: rgba(43, 73, 94, .16);
    --gsn-blue: var(--gs-blue, #0872be);
    --gsn-orange: var(--gs-orange, #ff9418);
    position: relative;
    overflow: clip;
    background: #fff;
    color: var(--gsn-text);
    font-family: var(--gs-font);
}

/* Guías laterales continuas en toda la página. */
.gsn-page::before,
.gsn-page::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    z-index: 5;
    pointer-events: none;
    background: repeating-linear-gradient(
        to bottom,
        var(--gsn-dash) 0 5px,
        transparent 5px 11px
    );
}

.gsn-page::before { left: max(24px, calc((100% - var(--gs-container)) / 2)); }
.gsn-page::after { right: max(24px, calc((100% - var(--gs-container)) / 2)); }

.gsn-container {
    position: relative;
    width: min(var(--gs-container), calc(100% - 48px));
    margin: 0 auto;
}

.gsn-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--gsn-blue);
    font-size: 10px;
    font-weight: 680;
    letter-spacing: .14em;
    line-height: 1.2;
    text-transform: uppercase;
}

.gsn-eyebrow i {
    width: 4px;
    height: 4px;
    flex: 0 0 4px;
    border-radius: 50%;
    background: var(--gsn-orange);
    box-shadow: 0 0 0 3px rgba(255, 148, 24, .08);
}

/* Hero ---------------------------------------------------- */
.gsn-hero {
    padding-top: var(--gs-header-height, 78px);
}

.gsn-hero__inner {
    min-height: 370px;
    display: flex;
    align-items: flex-end;
    padding: 76px 72px 58px;
    border-bottom: 1px dashed var(--gsn-dash);
    background:
        radial-gradient(circle at 91% 16%, rgba(255,148,24,.055), transparent 19%),
        radial-gradient(circle at 8% 86%, rgba(8,114,190,.055), transparent 23%);
}

.gsn-hero__inner::before,
.gsn-hero__inner::after {
    content: "";
    position: absolute;
    top: 28px;
    bottom: 28px;
    width: 140px;
    opacity: .38;
    pointer-events: none;
    background-image: radial-gradient(circle, rgba(57, 88, 108, .24) .7px, transparent .8px);
    background-size: 11px 11px;
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 15%, #000 85%, transparent);
    mask-image: linear-gradient(to bottom, transparent, #000 15%, #000 85%, transparent);
}

.gsn-hero__inner::before { left: 0; }
.gsn-hero__inner::after { right: 0; }

.gsn-hero__copy {
    position: relative;
    z-index: 1;
    width: 100%;
}

.gsn-hero h1 {
    max-width: 1180px;
    margin: 18px 0 0;
    color: var(--gsn-text);
    font-size: clamp(3.2rem, 5.2vw, 5.85rem);
    font-weight: 610;
    line-height: .96;
    letter-spacing: -.06em;
    text-wrap: balance;
}

.gsn-hero p {
    max-width: 1050px;
    margin: 28px 0 0;
    color: var(--gsn-muted);
    font-size: clamp(1rem, 1.15vw, 1.18rem);
    line-height: 1.65;
    letter-spacing: -.015em;
}

/* Categorías ---------------------------------------------- */
.gsn-topics {
    border-bottom: 1px dashed var(--gsn-dash);
}

.gsn-topics__inner {
    display: flex;
    align-items: center;
    gap: 0;
    overflow-x: auto;
    scrollbar-width: none;
    padding: 0 52px;
}

.gsn-topics__inner::-webkit-scrollbar { display: none; }

.gsn-topics__link {
    position: relative;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 54px;
    padding: 0 20px;
    color: #60707c;
    font-size: 11px;
    font-weight: 600;
    text-decoration: none;
    transition: color .2s ease, background .2s ease;
}

.gsn-topics__link + .gsn-topics__link {
    border-left: 1px dashed var(--gsn-dash);
}

.gsn-topics__link:hover,
.gsn-topics__link.is-active {
    color: var(--gsn-blue);
    background: rgba(8,114,190,.025);
}

/* Noticia destacada --------------------------------------- */
.gsn-featured__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
    min-height: 500px;
    border-bottom: 1px dashed var(--gsn-dash);
}

.gsn-featured__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 58px 72px;
    border-right: 1px dashed var(--gsn-dash);
}

.gsn-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    align-items: center;
    color: #788691;
    font-size: 9px;
    font-weight: 680;
    letter-spacing: .1em;
    line-height: 1.4;
    text-transform: uppercase;
}

.gsn-meta > * {
    position: relative;
}

.gsn-meta > *:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -12px;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--gsn-orange);
    transform: translateY(-50%);
}

.gsn-featured h2 {
    max-width: 760px;
    margin: 20px 0 0;
    font-size: clamp(2.5rem, 3.75vw, 4.5rem);
    font-weight: 610;
    line-height: 1;
    letter-spacing: -.055em;
    text-wrap: balance;
}

.gsn-featured h2 a,
.gsn-card h3 a {
    color: inherit;
    text-decoration: none;
}

.gsn-featured__content > p {
    max-width: 720px;
    margin: 24px 0 0;
    color: var(--gsn-muted);
    font-size: 15px;
    line-height: 1.72;
}

.gsn-read {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    width: fit-content;
    margin-top: 28px;
    color: var(--gsn-text);
    font-size: 11px;
    font-weight: 680;
    text-decoration: none;
    border-bottom: 1px solid rgba(16,24,32,.28);
    padding-bottom: 3px;
    transition: color .2s ease, border-color .2s ease;
}

.gsn-read:hover {
    color: var(--gsn-blue);
    border-color: var(--gsn-blue);
}

.gsn-featured__media {
    display: block;
    min-height: 500px;
    overflow: hidden;
    background: #f6f8fa;
    text-decoration: none;
}

.gsn-featured__image {
    width: 100%;
    height: 100%;
    min-height: 500px;
    display: block;
    object-fit: cover;
    transition: transform .55s cubic-bezier(.2,.7,.2,1);
}

.gsn-featured__media:hover .gsn-featured__image { transform: scale(1.018); }

.gsn-placeholder {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 500px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: var(--gsn-blue);
    background:
        radial-gradient(circle at 80% 18%, rgba(255,148,24,.12), transparent 24%),
        radial-gradient(circle at 17% 78%, rgba(8,114,190,.11), transparent 29%),
        linear-gradient(rgba(35,67,89,.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(35,67,89,.07) 1px, transparent 1px),
        #fbfcfd;
    background-size: auto, auto, 44px 44px, 44px 44px, auto;
}

.gsn-placeholder span {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
}

.gsn-placeholder b {
    color: var(--gsn-text);
    font-size: clamp(2rem, 4vw, 4rem);
    font-weight: 610;
    letter-spacing: -.05em;
}

/* Listado ------------------------------------------------- */
.gsn-list__head {
    padding: 54px 72px 42px;
    border-bottom: 1px dashed var(--gsn-dash);
}

.gsn-list__head h2 {
    max-width: 920px;
    margin: 14px 0 0;
    font-size: clamp(2.25rem, 3.2vw, 3.75rem);
    font-weight: 610;
    line-height: 1.02;
    letter-spacing: -.052em;
    text-wrap: balance;
}

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

.gsn-card {
    min-width: 0;
    min-height: 315px;
    display: flex;
    flex-direction: column;
    padding: 42px 48px 38px;
    border-bottom: 1px dashed var(--gsn-dash);
    background: #fff;
    transition: background-color .2s ease;
}

.gsn-card:nth-child(odd) { border-right: 1px dashed var(--gsn-dash); }
.gsn-card:hover { background: rgba(8,114,190,.018); }

.gsn-card h3 {
    max-width: 640px;
    margin: 18px 0 0;
    font-size: clamp(1.55rem, 2.2vw, 2.45rem);
    font-weight: 610;
    line-height: 1.08;
    letter-spacing: -.04em;
    text-wrap: balance;
}

.gsn-card > p {
    max-width: 620px;
    margin: 18px 0 0;
    color: var(--gsn-muted);
    font-size: 13px;
    line-height: 1.7;
}

.gsn-card .gsn-read { margin-top: auto; padding-top: 28px; }

.gsn-empty {
    padding: 70px 72px;
    border-bottom: 1px dashed var(--gsn-dash);
}

.gsn-empty > span {
    color: var(--gsn-blue);
    font-size: 10px;
    font-weight: 680;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.gsn-empty h2 {
    margin: 12px 0 0;
    font-size: clamp(2rem, 3vw, 3.4rem);
    font-weight: 610;
    letter-spacing: -.05em;
}

.gsn-empty p {
    max-width: 720px;
    margin: 18px 0 0;
    color: var(--gsn-muted);
}

/* Pagination ---------------------------------------------- */
.gsn-pagination {
    padding: 34px 48px;
    border-bottom: 1px dashed var(--gsn-dash);
}

.gsn-pagination ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gsn-pagination a,
.gsn-pagination span.page-numbers {
    min-width: 38px;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 11px;
    border: 1px solid rgba(31,58,76,.12);
    border-radius: 999px;
    color: #5f6e79;
    font-size: 11px;
    text-decoration: none;
}

.gsn-pagination span.current,
.gsn-pagination a:hover {
    border-color: rgba(8,114,190,.28);
    color: var(--gsn-blue);
    background: rgba(8,114,190,.045);
}

.gsn-separator {
    width: 100%;
    height: 0;
    border-top: 1px dashed var(--gsn-dash);
}

/* Article ------------------------------------------------- */
.gsn-article__hero {
    padding-top: var(--gs-header-height, 78px);
}

.gsn-article__hero-inner {
    padding: 54px 72px 58px;
    border-bottom: 1px dashed var(--gsn-dash);
}

.gsn-article__backrow {
    margin-bottom: 38px;
}

.gsn-article__backrow a {
    color: #667681;
    font-size: 11px;
    font-weight: 600;
    text-decoration: none;
}

.gsn-article__backrow a:hover { color: var(--gsn-blue); }

.gsn-meta--article a { color: inherit; text-decoration: none; }

.gsn-article h1 {
    max-width: 1180px;
    margin: 22px 0 0;
    font-size: clamp(3rem, 5.1vw, 5.7rem);
    font-weight: 610;
    line-height: .98;
    letter-spacing: -.06em;
    text-wrap: balance;
}

.gsn-article__lead {
    max-width: 980px;
    margin: 28px 0 0;
    color: var(--gsn-muted);
    font-size: clamp(1.05rem, 1.4vw, 1.32rem);
    line-height: 1.62;
}

.gsn-article__cover {
    padding: 48px 72px;
    border-bottom: 1px dashed var(--gsn-dash);
}

.gsn-article__cover-image {
    width: 100%;
    max-height: 760px;
    display: block;
    object-fit: cover;
    border-radius: 8px;
}

.gsn-article__body-frame {
    padding: 0 72px;
    border-bottom: 1px dashed var(--gsn-dash);
}

.gsn-article__content {
    width: min(900px, 100%);
    margin: 0 auto;
    padding: 70px 0 76px;
    color: #263642;
    font-size: 17px;
    line-height: 1.82;
}

.gsn-article__content > *:first-child { margin-top: 0; }
.gsn-article__content > *:last-child { margin-bottom: 0; }

.gsn-article__content h2,
.gsn-article__content h3,
.gsn-article__content h4 {
    color: var(--gsn-text);
    font-weight: 610;
    line-height: 1.08;
    letter-spacing: -.04em;
}

.gsn-article__content h2 {
    margin: 64px 0 22px;
    font-size: clamp(2rem, 3vw, 3.25rem);
}

.gsn-article__content h3 {
    margin: 46px 0 18px;
    font-size: clamp(1.55rem, 2.2vw, 2.25rem);
}

.gsn-article__content h4 {
    margin: 36px 0 14px;
    font-size: 1.3rem;
}

.gsn-article__content p,
.gsn-article__content ul,
.gsn-article__content ol,
.gsn-article__content blockquote,
.gsn-article__content figure,
.gsn-article__content table {
    margin-top: 0;
    margin-bottom: 28px;
}

.gsn-article__content a {
    color: var(--gsn-blue);
    text-underline-offset: 3px;
}

.gsn-article__content img {
    height: auto;
    border-radius: 6px;
}

.gsn-article__content blockquote {
    margin-left: 0;
    margin-right: 0;
    padding: 22px 0 22px 28px;
    border-left: 3px solid var(--gsn-orange);
    color: #394b58;
    font-size: 1.15em;
}

.gsn-article__content code {
    border-radius: 4px;
    background: #f3f6f8;
    padding: .12em .38em;
    font-size: .92em;
}

.gsn-article__content pre {
    overflow-x: auto;
    padding: 22px;
    border-radius: 6px;
    background: #101820;
    color: #f7fafc;
}

.gsn-article__footer {
    padding: 26px 72px 34px;
    border-bottom: 1px dashed var(--gsn-dash);
}

.gsn-article__footer .gsn-read { margin: 0; }

.gsn-related .gsn-list__head { border-bottom: 1px dashed var(--gsn-dash); }
.gsn-list__head--related { padding-top: 50px; }
.gsn-grid--related .gsn-card { min-height: 290px; }

/* CTA global: que quede conectado al índice. */
.gsn-page .gs-home-final-cta {
    margin: 0;
}

/* Responsive --------------------------------------------- */
@media (max-width: 1100px) {
    .gsn-hero__inner,
    .gsn-featured__content,
    .gsn-list__head,
    .gsn-article__hero-inner,
    .gsn-article__cover,
    .gsn-article__body-frame,
    .gsn-article__footer {
        padding-left: 48px;
        padding-right: 48px;
    }

    .gsn-featured__grid {
        grid-template-columns: minmax(0, 1fr) minmax(340px, .8fr);
    }

    .gsn-card { padding-left: 36px; padding-right: 36px; }
}

@media (max-width: 820px) {
    .gsn-page::before { left: 16px; }
    .gsn-page::after { right: 16px; }
    .gsn-container { width: calc(100% - 32px); }

    .gsn-hero__inner {
        min-height: 330px;
        padding: 58px 28px 44px;
    }

    .gsn-hero__inner::before,
    .gsn-hero__inner::after { width: 76px; opacity: .28; }

    .gsn-topics__inner { padding: 0 10px; }

    .gsn-featured__grid { grid-template-columns: 1fr; }
    .gsn-featured__content {
        padding: 42px 28px 40px;
        border-right: 0;
        border-bottom: 1px dashed var(--gsn-dash);
    }

    .gsn-featured__media,
    .gsn-featured__image,
    .gsn-placeholder { min-height: 360px; }

    .gsn-list__head,
    .gsn-empty,
    .gsn-article__hero-inner,
    .gsn-article__cover,
    .gsn-article__body-frame,
    .gsn-article__footer {
        padding-left: 28px;
        padding-right: 28px;
    }

    .gsn-grid { grid-template-columns: 1fr; }
    .gsn-card { min-height: 0; padding: 36px 28px 34px; }
    .gsn-card:nth-child(odd) { border-right: 0; }

    .gsn-article__cover { padding-top: 28px; padding-bottom: 28px; }
    .gsn-article__body-frame { padding-left: 28px; padding-right: 28px; }
    .gsn-article__content { padding: 52px 0 58px; font-size: 16px; }
}

@media (max-width: 560px) {
    .gsn-hero { padding-top: var(--gs-header-height, 70px); }
    .gsn-hero__inner { min-height: 290px; padding: 48px 20px 38px; }
    .gsn-hero h1 { font-size: clamp(2.7rem, 13vw, 4rem); }
    .gsn-hero p { margin-top: 22px; }

    .gsn-topics__link { min-height: 50px; padding: 0 14px; }

    .gsn-featured__content,
    .gsn-list__head,
    .gsn-empty,
    .gsn-article__hero-inner,
    .gsn-article__cover,
    .gsn-article__body-frame,
    .gsn-article__footer {
        padding-left: 20px;
        padding-right: 20px;
    }

    .gsn-featured h2 { font-size: clamp(2.1rem, 10vw, 3.2rem); }
    .gsn-featured__media,
    .gsn-featured__image,
    .gsn-placeholder { min-height: 260px; }
    .gsn-card { padding: 32px 20px; }

    .gsn-pagination { padding: 28px 16px; }
    .gsn-pagination a span,
    .gsn-pagination .prev span,
    .gsn-pagination .next span { display: none; }

    .gsn-article__hero-inner { padding-top: 42px; padding-bottom: 42px; }
    .gsn-article__backrow { margin-bottom: 28px; }
    .gsn-article h1 { font-size: clamp(2.55rem, 12.5vw, 4rem); }
    .gsn-article__lead { margin-top: 22px; }
    .gsn-article__content { padding: 44px 0 50px; }
}
