/*
-------------------------------------------------------
Proyecto : Instituto Técnico Superior Santa Rosa
Sprint   : Web 2.0
Archivo  : home-premium.css
Versión  : 2.0.0
Fecha    : 04/08/2026
-------------------------------------------------------
*/

.sr-home-hero {
    position: relative;
    min-height: 760px;
    display: flex;
    align-items: center;
    overflow: hidden;
    color: #fff;
    background: #071f38;
}

.sr-home-photo,
.sr-home-overlay,
.sr-home-grid {
    position: absolute;
    inset: 0;
}

.sr-home-photo {
    background:
        linear-gradient(90deg, rgba(7,31,56,.12), rgba(7,31,56,.1)),
        url('../img/fachada-santa-rosa.webp') center/cover no-repeat;
    transform: scale(1.02);
}

.sr-home-overlay {
    background:
        linear-gradient(90deg, rgba(4,22,40,.97) 0%, rgba(7,31,56,.88) 45%, rgba(7,31,56,.46) 100%),
        linear-gradient(0deg, rgba(7,31,56,.38), transparent 40%);
}

.sr-home-grid {
    opacity: .12;
    background-image:
        linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px);
    background-size: 60px 60px;
}

.sr-home-hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(360px, .65fr);
    gap: 80px;
    align-items: center;
    padding-top: 120px;
    padding-bottom: 90px;
}

.sr-home-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 25px;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .14em;
    color: rgba(255,255,255,.78);
}

.sr-home-kicker i {
    width: 26px;
    height: 2px;
    background: #4cb9ca;
}

.sr-home-copy h1 {
    margin: 0;
    max-width: 940px;
    font-size: clamp(3rem, 6vw, 6.6rem);
    line-height: .98;
    letter-spacing: -.055em;
    color: #fff;
}

.sr-home-copy h1 em {
    color: #8eddea;
    font-family: 'Playfair Display', serif;
    font-weight: 600;
}

.sr-home-copy > p {
    max-width: 720px;
    margin: 30px 0 0;
    font-size: clamp(1.06rem, 1.45vw, 1.28rem);
    line-height: 1.8;
    color: rgba(255,255,255,.8);
}

.sr-home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: center;
    margin-top: 36px;
}

.sr-home-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
}

.sr-home-link span {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.18);
}

.sr-home-link svg {
    width: 20px;
    height: 20px;
}

.sr-home-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 28px;
    overflow: hidden;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(16px);
    box-shadow: 0 30px 70px rgba(0,0,0,.22);
}

.sr-home-stats article {
    min-height: 155px;
    padding: 25px;
    border-right: 1px solid rgba(255,255,255,.14);
    border-bottom: 1px solid rgba(255,255,255,.14);
}

.sr-home-stats article:nth-child(2n) {
    border-right: 0;
}

.sr-home-stats article:nth-last-child(-n+2) {
    border-bottom: 0;
}

.sr-home-stats article > span {
    display: block;
    width: 42px;
    height: 42px;
    margin-bottom: 18px;
    padding: 10px;
    border-radius: 13px;
    background: rgba(255,255,255,.1);
}

.sr-home-stats svg {
    width: 100%;
    height: 100%;
}

.sr-home-stats strong,
.sr-home-stats small {
    display: block;
}

.sr-home-stats strong {
    font-size: 1.5rem;
    color: #fff;
}

.sr-home-stats small {
    margin-top: 4px;
    line-height: 1.45;
    color: rgba(255,255,255,.64);
}

.sr-home-values {
    position: relative;
    z-index: 3;
    margin-top: -36px;
}

.sr-home-values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 25px 60px rgba(7,31,56,.12);
}

.sr-home-values-grid article {
    display: flex;
    gap: 15px;
    padding: 26px;
    border-right: 1px solid rgba(14,58,102,.1);
}

.sr-home-values-grid article:last-child {
    border-right: 0;
}

.sr-value-icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    padding: 10px;
    border-radius: 14px;
    background: #eef7fa;
    color: #258da2;
}

.sr-value-icon svg {
    width: 100%;
    height: 100%;
}

.sr-home-values-grid strong,
.sr-home-values-grid small {
    display: block;
}

.sr-home-values-grid strong {
    margin-bottom: 5px;
    color: #071f38;
}

.sr-home-values-grid small {
    line-height: 1.5;
    color: #687786;
}

.sr-home-section-title {
    max-width: 850px;
    margin-bottom: 42px;
}

.sr-home-section-title > span {
    display: inline-block;
    margin-bottom: 12px;
    color: #4cb9ca;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.sr-home-section-title h2 {
    margin: 0 0 18px;
    font-size: clamp(2.25rem, 4.2vw, 4.5rem);
    line-height: 1.05;
    letter-spacing: -.045em;
    color: #071f38;
}

.sr-home-section-title h2 em {
    color: #0e3a66;
    font-family: 'Playfair Display', serif;
}

.sr-home-section-title p {
    margin: 0;
    max-width: 720px;
    font-size: 1.08rem;
    line-height: 1.75;
    color: #687786;
}

.sr-area-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.sr-area-card {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 20px;
    align-items: start;
    min-height: 220px;
    padding: 30px;
    border: 1px solid rgba(14,58,102,.12);
    border-radius: 24px;
    background: #fff;
    text-decoration: none;
    transition: .25s ease;
}

.sr-area-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 50px rgba(7,31,56,.1);
}

.sr-area-emoji {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: #eef5fb;
    font-size: 1.7rem;
}

.sr-area-card small {
    color: #4cb9ca;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.sr-area-card h3 {
    margin: 7px 0 10px;
    font-size: 1.5rem;
    color: #071f38;
}

.sr-area-card p {
    margin: 0;
    line-height: 1.65;
    color: #687786;
}

.sr-area-arrow {
    color: #0e3a66;
    font-size: 1.6rem;
}

.sr-home-programs {
    background: #f6f9fc;
}

.sr-home-program-list {
    display: grid;
    gap: 14px;
}

.sr-home-program {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr) minmax(390px, .8fr) 54px;
    gap: 24px;
    align-items: center;
    padding: 22px;
    border: 1px solid rgba(14,58,102,.11);
    border-radius: 20px;
    background: #fff;
    transition: .25s ease;
}

.sr-home-program:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 45px rgba(7,31,56,.08);
}

.sr-home-program-mark {
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    background: #eef5fb;
    color: #0e3a66;
    position: relative;
}

.sr-home-program-mark strong {
    font-size: 1rem;
    z-index: 2;
}

.sr-home-program-mark span {
    position: absolute;
    opacity: .08;
}

.sr-home-program-mark svg {
    width: 46px;
    height: 46px;
}

.sr-home-program-copy > span {
    color: #4cb9ca;
    font-size: .75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.sr-home-program-copy h3 {
    margin: 5px 0 7px;
    color: #071f38;
    font-size: 1.32rem;
}

.sr-home-program-copy p {
    margin: 0;
    color: #687786;
    line-height: 1.55;
}

.sr-home-program-meta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.sr-home-program-meta > div {
    display: flex;
    gap: 9px;
    align-items: flex-start;
}

.sr-home-program-meta svg {
    width: 20px;
    height: 20px;
    color: #4cb9ca;
}

.sr-home-program-meta small,
.sr-home-program-meta strong {
    display: block;
}

.sr-home-program-meta small {
    color: #7b8996;
    font-size: .72rem;
}

.sr-home-program-meta strong {
    margin-top: 2px;
    color: #17212b;
    font-size: .84rem;
    line-height: 1.4;
}

.sr-home-program-arrow {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #eef5fb;
    color: #0e3a66;
    text-decoration: none;
    font-size: 1.35rem;
}

.sr-home-more {
    margin-top: 32px;
    text-align: center;
}

.sr-home-vocation {
    color: #fff;
    background:
        radial-gradient(circle at 10% 20%, rgba(76,185,202,.23), transparent 30%),
        linear-gradient(145deg, #071f38, #0e3a66);
}

.sr-home-vocation-grid {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 70px;
    align-items: start;
}

.sr-home-vocation-copy h2 {
    margin: 12px 0 18px;
    color: #fff;
    font-size: clamp(2.35rem, 4vw, 4rem);
    line-height: 1.08;
}

.sr-home-vocation-copy p {
    margin: 0;
    color: rgba(255,255,255,.72);
    line-height: 1.75;
}

.sr-vocation-options {
    display: grid;
    gap: 12px;
}

.sr-vocation-choice {
    display: grid;
    grid-template-columns: 44px 1fr auto;
    gap: 15px;
    align-items: center;
    min-height: 74px;
    padding: 15px 18px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 17px;
    background: rgba(255,255,255,.07);
    color: #fff;
    text-decoration: none;
    transition: .2s ease;
}

.sr-vocation-choice:hover {
    background: rgba(255,255,255,.13);
    transform: translateX(4px);
}

.sr-vocation-choice > span {
    color: #8eddea;
    font-weight: 900;
}

.sr-vocation-choice strong {
    font-size: .98rem;
    line-height: 1.45;
}

.sr-vocation-choice i {
    font-style: normal;
    font-size: 1.2rem;
}

.sr-home-story-grid,
.sr-home-documents-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
}

.sr-home-story-photo {
    position: relative;
    min-height: 500px;
    border-radius: 26px;
    overflow: hidden;
    background: #071f38;
}

.sr-home-story-photo > div {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(0deg, rgba(7,31,56,.68), transparent 55%),
        url('../img/historia-santa-rosa.jpeg') center/cover no-repeat;
}

.sr-home-story-photo > span {
    position: absolute;
    left: 26px;
    bottom: 24px;
    color: #fff;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .11em;
}

.sr-home-story-copy h2,
.sr-home-documents h2 {
    margin: 12px 0 22px;
    font-size: clamp(2.25rem, 4vw, 4.2rem);
    line-height: 1.08;
    letter-spacing: -.04em;
    color: #071f38;
}

.sr-home-story-copy p,
.sr-home-documents p {
    color: #687786;
    line-height: 1.8;
}

.sr-home-documents {
    background: #f6f9fc;
}

.sr-home-document-cards {
    display: grid;
    gap: 14px;
}

.sr-home-document-cards article {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 15px;
    padding: 22px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(14,58,102,.1);
}

.sr-home-document-cards article > span {
    grid-row: span 2;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #eef5fb;
    color: #0e3a66;
    font-weight: 900;
}

.sr-home-document-cards strong,
.sr-home-document-cards small {
    display: block;
}

.sr-home-document-cards strong {
    color: #071f38;
}

.sr-home-document-cards small {
    color: #687786;
    line-height: 1.5;
}

@media (max-width: 1120px) {
    .sr-home-hero-inner,
    .sr-home-vocation-grid,
    .sr-home-story-grid,
    .sr-home-documents-grid {
        grid-template-columns: 1fr;
    }

    .sr-home-stats {
        max-width: 700px;
    }

    .sr-home-values-grid {
        grid-template-columns: 1fr 1fr;
    }

    .sr-home-values-grid article:nth-child(2) {
        border-right: 0;
    }

    .sr-home-values-grid article:nth-child(-n+2) {
        border-bottom: 1px solid rgba(14,58,102,.1);
    }

    .sr-home-program {
        grid-template-columns: 80px minmax(0, 1fr) 54px;
    }

    .sr-home-program-meta {
        grid-column: 2 / 3;
    }

    .sr-home-program-arrow {
        grid-column: 3;
        grid-row: 1 / 3;
    }
}

@media (max-width: 820px) {
    .sr-home-hero {
        min-height: auto;
    }

    .sr-home-hero-inner {
        padding-top: 110px;
        padding-bottom: 85px;
        gap: 50px;
    }

    .sr-home-values {
        margin-top: 0;
    }

    .sr-area-grid {
        grid-template-columns: 1fr;
    }

    .sr-home-program {
        grid-template-columns: 70px 1fr 46px;
        gap: 16px;
    }

    .sr-home-program-meta {
        grid-template-columns: 1fr;
    }

    .sr-home-story-photo {
        min-height: 380px;
    }
}

@media (max-width: 620px) {
    .sr-home-copy h1 {
        font-size: 3rem;
    }

    .sr-home-actions {
        display: grid;
    }

    .sr-home-actions .btn,
    .sr-home-link {
        width: 100%;
        justify-content: center;
    }

    .sr-home-stats,
    .sr-home-values-grid {
        grid-template-columns: 1fr;
    }

    .sr-home-stats article {
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.14);
    }

    .sr-home-stats article:nth-last-child(-n+2) {
        border-bottom: 1px solid rgba(255,255,255,.14);
    }

    .sr-home-stats article:last-child {
        border-bottom: 0;
    }

    .sr-home-values-grid article {
        border-right: 0;
        border-bottom: 1px solid rgba(14,58,102,.1);
    }

    .sr-home-values-grid article:last-child {
        border-bottom: 0;
    }

    .sr-area-card {
        grid-template-columns: 1fr auto;
    }

    .sr-area-emoji {
        grid-column: 1;
    }

    .sr-area-card > div {
        grid-column: 1 / 3;
    }

    .sr-area-arrow {
        grid-column: 2;
        grid-row: 1;
    }

    .sr-home-program {
        grid-template-columns: 58px 1fr;
    }

    .sr-home-program-mark {
        width: 58px;
        height: 58px;
    }

    .sr-home-program-meta {
        grid-column: 1 / 3;
    }

    .sr-home-program-arrow {
        grid-column: 1 / 3;
        grid-row: auto;
        width: 100%;
        border-radius: 13px;
    }

    .sr-vocation-choice {
        grid-template-columns: 35px 1fr auto;
    }
}
/* ==========================================================
   WEB 2.1 · HOME LIMPIO E INSTITUCIONAL
========================================================== */
.sr-home-areas.section,.sr-home-programs.section,.sr-home-story.section,.sr-home-documents.section,.sr-home-location-contrast.section{padding-top:5.5rem;padding-bottom:5.5rem}
.sr-home-areas{position:relative;overflow:hidden;background:radial-gradient(circle at 92% 8%,rgba(76,185,202,.11),transparent 25%),linear-gradient(180deg,#fff 0%,#f7fbfd 100%)}
.sr-home-areas::before{content:"";position:absolute;left:-160px;top:110px;width:340px;height:340px;border-radius:50%;border:1px solid rgba(14,58,102,.08)}
.sr-home-section-title-split{max-width:none;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr);gap:70px;align-items:end;margin-bottom:34px}
.sr-home-section-title-split>p{padding-bottom:6px}
.sr-area-card{min-height:190px;padding:26px;border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(247,251,253,.96));box-shadow:0 10px 30px rgba(7,31,56,.045)}
.sr-area-card:hover{box-shadow:0 24px 55px rgba(7,31,56,.11)}
.sr-area-emoji{width:52px;height:52px;border-radius:15px}

.sr-home-programs{position:relative;overflow:hidden;background:linear-gradient(145deg,#061b30 0%,#092b49 57%,#0e4563 100%);color:#fff}
.sr-home-programs::before{content:"";position:absolute;inset:0;opacity:.075;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:52px 52px}
.sr-home-programs-orb{position:absolute;border-radius:50%;pointer-events:none}
.sr-home-programs-orb-a{width:520px;height:520px;right:-210px;top:-260px;background:rgba(76,185,202,.13)}
.sr-home-programs-orb-b{width:390px;height:390px;left:-180px;bottom:-220px;background:rgba(58,135,193,.1)}
.sr-home-programs-head,.sr-featured-grid{position:relative;z-index:2}
.sr-home-programs-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.65fr);gap:70px;align-items:end;margin-bottom:34px}
.sr-home-programs-head>div:first-child>span{display:inline-block;margin-bottom:12px;color:#7fd4df;font-size:.76rem;font-weight:800;letter-spacing:.14em}
.sr-home-programs-head h2{margin:0;color:#fff;font-size:clamp(2.6rem,5vw,5.3rem);line-height:.98;letter-spacing:-.05em}
.sr-home-programs-head h2 em{color:#8eddea;font-family:'Playfair Display',serif;font-style:italic;font-weight:600}
.sr-home-programs-head-copy p{margin:0 0 18px;color:rgba(255,255,255,.68);line-height:1.75}
.sr-home-programs-all{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800}
.sr-home-programs-all span{color:#8eddea;font-size:1.2rem}

.sr-featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sr-featured-card{overflow:hidden;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.97);color:#071f38;box-shadow:0 20px 55px rgba(0,0,0,.16);transition:transform .28s ease,box-shadow .28s ease}
.sr-featured-card:hover{transform:translateY(-5px);box-shadow:0 32px 70px rgba(0,0,0,.24)}
.sr-featured-card-large{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr)}
.sr-featured-photo{position:relative;display:block;min-height:360px;overflow:hidden;background:#0d3556;text-decoration:none}
.sr-featured-card-large .sr-featured-photo{min-height:485px}
.sr-featured-photo img{width:100%;height:100%;min-height:inherit;object-fit:cover;transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.sr-featured-card:hover .sr-featured-photo img{transform:scale(1.045)}
.sr-featured-placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:12px;background:radial-gradient(circle at 80% 15%,rgba(142,221,234,.2),transparent 28%),linear-gradient(145deg,#0a2b47,#145c75);color:rgba(255,255,255,.92)}
.sr-featured-placeholder strong{z-index:2;font-size:2rem}.sr-featured-placeholder span{position:absolute;opacity:.11}.sr-featured-placeholder svg{width:180px;height:180px}
.sr-featured-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,18,31,.18) 0%,rgba(3,18,31,.02) 36%,rgba(3,18,31,.88) 100%)}
.sr-featured-top{position:absolute;top:18px;left:18px;right:18px;display:flex;justify-content:space-between;gap:12px}
.sr-featured-top span,.sr-featured-top b{padding:7px 10px;background:rgba(4,25,42,.72);backdrop-filter:blur(8px);color:#fff;font-size:.62rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.sr-featured-top b{background:rgba(76,185,202,.88)}
.sr-featured-title{position:absolute;left:24px;right:24px;bottom:22px;color:#fff}
.sr-featured-title small{color:#8eddea;font-size:.62rem;font-weight:800;letter-spacing:.13em}
.sr-featured-title h3{max-width:640px;margin:6px 0 0;color:#fff;font-size:clamp(1.7rem,2.7vw,3.1rem);line-height:1.03;letter-spacing:-.035em}
.sr-featured-info{padding:22px 24px 24px}
.sr-featured-card-large .sr-featured-info{display:flex;flex-direction:column;justify-content:center;padding:42px}
.sr-featured-info>p{margin:0;color:#687786;line-height:1.65}
.sr-featured-meta{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px;padding:18px 0;border-top:1px solid rgba(14,58,102,.1);border-bottom:1px solid rgba(14,58,102,.1)}
.sr-featured-meta small,.sr-featured-meta strong{display:block}.sr-featured-meta small{color:#8592a0;font-size:.65rem;text-transform:uppercase;letter-spacing:.07em}.sr-featured-meta strong{margin-top:4px;color:#071f38}
.sr-featured-link{display:flex;justify-content:space-between;align-items:center;margin-top:18px;color:#0e3a66;text-decoration:none;font-weight:850}.sr-featured-link span{color:#42a9b8;font-size:1.3rem}

.sr-home-impact{position:relative;overflow:hidden;padding:5.2rem 0;background:radial-gradient(circle at 10% 20%,rgba(76,185,202,.18),transparent 25%),linear-gradient(130deg,#0b3154,#0e5571);color:#fff}
.sr-home-impact-grid{position:absolute;inset:0;opacity:.08;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:48px 48px}
.sr-home-impact-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(350px,.65fr);gap:70px;align-items:center}
.sr-home-impact-inner>div:first-child>span{color:#8eddea;font-size:.72rem;font-weight:850;letter-spacing:.13em}
.sr-home-impact h2{margin:10px 0 0;max-width:760px;color:#fff;font-size:clamp(2.5rem,4.6vw,4.8rem);line-height:1.03;letter-spacing:-.04em}
.sr-home-impact p{margin:0;color:rgba(255,255,255,.72);line-height:1.75}
.sr-home-impact-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:24px}.sr-home-impact-link{color:#fff;text-decoration:none;font-weight:800}

.sr-home-story-contrast{background:radial-gradient(circle at 95% 0%,rgba(76,185,202,.08),transparent 22%),#fff}
.sr-home-story-photo{box-shadow:0 28px 70px rgba(7,31,56,.12)}
.sr-home-documents-contrast{background:linear-gradient(180deg,#eef5f8 0%,#f8fbfc 100%)}
.sr-home-document-cards article{border-radius:14px;box-shadow:0 10px 30px rgba(7,31,56,.035)}
.sr-home-location-contrast{background:#fff;border-top:1px solid rgba(14,58,102,.08)}

@media(max-width:1120px){
 .sr-home-section-title-split,.sr-home-programs-head,.sr-home-impact-inner{grid-template-columns:1fr;gap:28px}
 .sr-featured-card-large{grid-template-columns:1fr}
 .sr-featured-card-large .sr-featured-photo{min-height:420px}
 .sr-featured-card-large .sr-featured-info{padding:24px}
}
@media(max-width:820px){
 .sr-featured-grid{grid-template-columns:1fr}
 .sr-featured-card-large{grid-column:auto;display:block}
 .sr-featured-photo,.sr-featured-card-large .sr-featured-photo{min-height:340px}
 .sr-home-areas.section,.sr-home-programs.section,.sr-home-story.section,.sr-home-documents.section,.sr-home-location-contrast.section{padding-top:4.2rem;padding-bottom:4.2rem}
}
@media(max-width:620px){
 .sr-featured-photo,.sr-featured-card-large .sr-featured-photo{min-height:305px}
 .sr-featured-title{left:18px;right:18px;bottom:18px}.sr-featured-title h3{font-size:1.75rem}
 .sr-featured-meta{grid-template-columns:1fr}.sr-home-impact{padding:4rem 0}
}


/* ==========================================================
   WEB 2.1 · HOME LIMPIO
   El index presenta a la institución; el detalle vive en carreras.php
========================================================== */

.sr-home-offer-impact {
    position: relative;
    overflow: hidden;
    padding: 5.3rem 0;
    background:
        radial-gradient(circle at 12% 15%, rgba(76,185,202,.18), transparent 28%),
        linear-gradient(135deg, #071f38 0%, #0b365b 58%, #0d5972 100%);
    color: #fff;
}

.sr-home-offer-impact-grid {
    position: absolute;
    inset: 0;
    opacity: .075;
    background-image:
        linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px);
    background-size: 50px 50px;
}

.sr-home-offer-impact::after {
    content: "";
    position: absolute;
    right: -170px;
    top: -190px;
    width: 470px;
    height: 470px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.12);
}

.sr-home-offer-impact-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .72fr);
    gap: 72px;
    align-items: center;
}

.sr-home-offer-impact-copy > span {
    display: inline-block;
    margin-bottom: 12px;
    color: #8eddea;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .14em;
}

.sr-home-offer-impact h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(2.7rem, 5vw, 5.1rem);
    line-height: 1;
    letter-spacing: -.05em;
}

.sr-home-offer-impact h2 em {
    display: inline-block;
    margin-top: 6px;
    color: #8eddea;
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-weight: 600;
}

.sr-home-offer-impact-side p {
    margin: 0;
    color: rgba(255,255,255,.72);
    line-height: 1.75;
    font-size: 1.02rem;
}

.sr-home-offer-impact-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
    margin-top: 24px;
}

.sr-home-offer-impact-link {
    color: #fff;
    text-decoration: none;
    font-weight: 800;
}

.sr-home-offer-impact-link:hover {
    color: #8eddea;
}

/* Menos espacio entre áreas e impacto */
.sr-home-areas.section {
    padding-bottom: 4.7rem;
}

.sr-home-vocation.section {
    padding-top: 5.4rem;
    padding-bottom: 5.4rem;
}

/* Obsoletos del Home 2.0: ya no se usan en el index */
.sr-home-programs,
.sr-featured-grid,
.sr-home-impact {
    display: none !important;
}

@media (max-width: 1120px) {
    .sr-home-offer-impact-inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

@media (max-width: 620px) {
    .sr-home-offer-impact {
        padding: 4rem 0;
    }

    .sr-home-offer-impact h2 {
        font-size: 2.7rem;
    }

    .sr-home-offer-impact-actions {
        display: grid;
    }

    .sr-home-offer-impact-actions .btn,
    .sr-home-offer-impact-link {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}