.results-hub{
    --navy:#0d2d55;
    --navy-dark:#071d38;
    --red:#e3212b;
    --text:#102b4c;
    --muted:#75869a;
    --line:#e5eaf0;
    background:#f7f9fb;
    color:var(--text);
}


/* =========================================================
   HERO
========================================================= */

.rh-hero{
    position:relative;
    overflow:hidden;
    padding:88px 0 94px;
    background:
        radial-gradient(circle at 85% 20%,rgba(227,33,43,.18),transparent 23%),
        radial-gradient(circle at 68% 100%,rgba(255,255,255,.07),transparent 28%),
        linear-gradient(125deg,#071d38 0%,#0d2d55 58%,#123b6c 100%);
    border:0;
}

.rh-hero:before{
    content:"01  02  03\A04  05  06";
    white-space:pre;
    position:absolute;
    right:6%;
    top:50%;
    transform:translateY(-50%);
    color:rgba(255,255,255,.035);
    font-size:88px;
    line-height:1.05;
    font-weight:900;
    letter-spacing:-.06em;
    text-align:right;
}

.rh-hero:after{
    content:"";
    position:absolute;
    right:-130px;
    top:-190px;
    width:520px;
    height:520px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:50%;
    box-shadow:
        0 0 0 70px rgba(255,255,255,.018),
        0 0 0 140px rgba(255,255,255,.012);
}

.rh-hero__inner{
    position:relative;
    z-index:2;
    max-width:720px;
}

.rh-eyebrow{
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:22px;
    color:#aabbd0;
    font-size:11px;
    font-weight:800;
    letter-spacing:.19em;
}

.rh-eyebrow span{
    width:34px;
    height:3px;
    border-radius:20px;
    background:var(--red);
}

.rh-hero h1{
    margin:0;
    color:#fff;
    font-size:clamp(46px,5.6vw,72px);
    line-height:.96;
    letter-spacing:-.055em;
    font-weight:800;
}

.rh-hero h1 strong{
    display:block;
    margin-top:5px;
    color:#fff;
    font-weight:800;
}

.rh-hero h1 strong:after{
    content:".";
    color:var(--red);
}

.rh-hero p{
    max-width:570px;
    margin:26px 0 0;
    color:#b8c6d7;
    font-size:16px;
    line-height:1.75;
}


/* =========================================================
   PROGRAM AREA
========================================================= */

.rh-programs{
    position:relative;
    z-index:3;
    padding:68px 0 78px;
}

.rh-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:50px;
    margin-bottom:31px;
}

.rh-section-head span{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:8px;
    color:var(--red);
    font-size:10px;
    font-weight:900;
    letter-spacing:.18em;
}

.rh-section-head span:before{
    content:"";
    width:18px;
    height:2px;
    background:var(--red);
}

.rh-section-head h2{
    margin:0;
    color:var(--navy);
    font-size:34px;
    line-height:1.05;
    letter-spacing:-.04em;
}

.rh-section-head > p{
    max-width:410px;
    margin:0;
    color:#7c8b9d;
    font-size:13px;
    line-height:1.65;
}


/* =========================================================
   CARDS
========================================================= */

.rh-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.rh-card{
    --accent:var(--navy);

    position:relative;
    display:flex;
    min-height:225px;
    padding:26px 25px 25px;
    overflow:hidden;

    border:1px solid #e2e8ef;
    border-radius:17px;

    background:#fff;
    color:inherit;
    text-decoration:none;

    box-shadow:0 5px 18px rgba(13,45,85,.035);

    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}

.rh-card:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:3px;
    background:var(--accent);
}

.rh-card:after{
    content:"";
    position:absolute;
    right:-70px;
    bottom:-90px;
    width:190px;
    height:190px;
    border-radius:50%;
    background:var(--accent);
    opacity:.035;
    transition:.25s ease;
}

a.rh-card:hover{
    transform:translateY(-5px);
    border-color:#d6dee8;
    box-shadow:0 20px 42px rgba(13,45,85,.10);
}

a.rh-card:hover:after{
    transform:scale(1.25);
    opacity:.055;
}


/* program accents */

.rh-card--navy{--accent:#0d2d55}
.rh-card--red{--accent:#e3212b}
.rh-card--blue{--accent:#385c91}
.rh-card--orange{--accent:#d97725}
.rh-card--yks{--accent:#176ab5}
.rh-card--lgs{--accent:#17835f}


/* giant number */

.rh-card__number{
    position:absolute;
    right:18px;
    top:14px;

    color:var(--accent);
    opacity:.075;

    font-size:70px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.08em;

    pointer-events:none;
}


/* content */

.rh-card__body{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    width:100%;
    padding-top:29px;
}

.rh-card__tag{
    display:inline-flex;
    align-items:center;
    min-height:23px;
    margin-bottom:14px;
    padding:0 9px;

    border-radius:5px;
    background:color-mix(in srgb,var(--accent) 8%,white);

    color:var(--accent);
    font-size:9px;
    font-weight:900;
    letter-spacing:.13em;
}

.rh-card h3{
    margin:0;
    color:var(--navy);
    font-size:28px;
    line-height:1;
    letter-spacing:-.045em;
    font-weight:800;
}

.rh-card p{
    margin:10px 0 0;
    color:#8492a3;
    font-size:13px;
    line-height:1.5;
}


/* arrow */

.rh-card__arrow{
    position:absolute;
    z-index:3;
    right:22px;
    bottom:21px;
    top:auto;

    display:grid;
    place-items:center;

    width:38px;
    height:38px;

    border:1px solid #e1e7ee;
    border-radius:50%;

    background:#fff;
    color:var(--accent);

    font-size:18px;
    transition:.2s ease;
}

a.rh-card:hover .rh-card__arrow{
    border-color:var(--accent);
    background:var(--accent);
    color:#fff;
    transform:translateX(3px);
}


/* =========================================================
   KPSS B
========================================================= */

.rh-card--kpss-b{
    min-height:225px;
}

.rh-card--kpss-b .rh-card__body{
    padding-top:15px;
}

.rh-card--kpss-b .rh-card__tag{
    margin-bottom:9px;
}

.rh-card--kpss-b h3{
    font-size:25px;
}

.rh-card--kpss-b p{
    margin-top:6px;
}

.rh-suboptions{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    width:100%;
    margin-top:auto;
    padding-top:16px;
}

.rh-suboptions a{
    display:flex;
    align-items:center;
    justify-content:center;

    min-height:34px;
    padding:0 11px;

    border:1px solid #e1e7ee;
    border-radius:7px;

    background:#f8fafc;
    color:#50647c;

    text-decoration:none;
    font-size:10px;
    font-weight:800;

    transition:.18s ease;
}

.rh-suboptions a b{
    display:none;
}

.rh-suboptions a:hover{
    border-color:var(--red);
    background:var(--red);
    color:#fff;
}


/* =========================================================
   HELP
========================================================= */

.rh-help{
    padding:0 0 75px;
}

.rh-help__box{
    position:relative;
    overflow:hidden;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;

    padding:35px 38px;

    border:1px solid #e0e6ed;
    border-radius:17px;

    background:#fff;
    color:var(--navy);

    box-shadow:0 8px 28px rgba(13,45,85,.045);
}

.rh-help__box:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:var(--red);
}

.rh-help__box span{
    display:block;
    margin-bottom:7px;
    color:var(--red);
    font-size:9px;
    font-weight:900;
    letter-spacing:.16em;
}

.rh-help__box h2{
    margin:0;
    color:var(--navy);
    font-size:25px;
    letter-spacing:-.035em;
}

.rh-help__box p{
    margin:7px 0 0;
    color:#7e8d9f;
    font-size:12px;
}

.rh-help__box > a{
    flex:0 0 auto;

    display:flex;
    align-items:center;
    gap:20px;

    padding:14px 18px;

    border-radius:9px;
    background:var(--navy);

    color:#fff;
    text-decoration:none;

    font-size:12px;
    font-weight:900;

    transition:.2s ease;
}

.rh-help__box > a:hover{
    background:#123d70;
    transform:translateY(-1px);
}

.rh-help__box > a b{
    color:#fff;
    font-size:17px;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:950px){

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

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:640px){

    .rh-hero{
        padding:51px 0 54px;
    }

    .rh-hero:before{
        display:none;
    }

    .rh-hero h1{
        font-size:44px;
    }

    .rh-hero p{
        margin-top:19px;
        font-size:14px;
        line-height:1.65;
    }

    .rh-programs{
        padding:45px 0 52px;
    }

    .rh-section-head{
        display:block;
        margin-bottom:23px;
    }

    .rh-section-head h2{
        font-size:27px;
    }

    .rh-section-head > p{
        margin-top:10px;
    }

    .rh-grid{
        grid-template-columns:1fr;
        gap:10px;
    }

    .rh-card,
    .rh-card--kpss-b{
        min-height:145px;
        padding:20px;
        border-radius:14px;
    }

    .rh-card__body,
    .rh-card--kpss-b .rh-card__body{
        padding-top:13px;
    }

    .rh-card__number{
        top:11px;
        right:16px;
        font-size:57px;
    }

    .rh-card__tag{
        margin-bottom:9px;
    }

    .rh-card h3,
    .rh-card--kpss-b h3{
        font-size:23px;
    }

    .rh-card p{
        margin-top:6px;
    }

    .rh-card__arrow{
        right:18px;
        bottom:17px;
        width:35px;
        height:35px;
    }

    .rh-suboptions{
        margin-top:14px;
        padding-top:0;
        padding-right:0;
    }

    .rh-suboptions a{
        min-height:32px;
        padding:0 9px;
        font-size:9px;
    }

    .rh-help{
        padding-bottom:50px;
    }

    .rh-help__box{
        display:block;
        padding:26px 22px;
    }

    .rh-help__box > a{
        justify-content:space-between;
        margin-top:20px;
    }
}
