/* =========================================================
   USC Home Page - Universities Platform
========================================================= */

:root{
    --usc-red:#b91c1c;
    --usc-red-2:#7f1d1d;
    --usc-red-3:#ef4444;
    --usc-navy:#0f172a;
    --usc-navy-2:#111827;
    --usc-text:#243247;
    --usc-muted:#64748b;
    --usc-border:rgba(15,23,42,.08);
    --usc-border-red:rgba(185,28,28,.12);
    --usc-white:#ffffff;
    --usc-soft:#f8fafc;
    --usc-soft-red:#fff7f7;
    --usc-shadow:0 18px 40px rgba(15,23,42,.08);
    --usc-shadow-lg:0 24px 60px rgba(15,23,42,.14);
    --usc-radius:24px;
    --usc-radius-sm:18px;
    --usc-transition:.3s ease;
}

.usc-home-page{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at top right, rgba(239,68,68,.05), transparent 24%),
        radial-gradient(circle at top left, rgba(185,28,28,.05), transparent 22%),
        linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
}

.home-section{position:relative;z-index:1;}
.section-heading{margin-bottom:3rem;}
.section-heading h2{
    margin:0 0 14px;
    font-size:clamp(2rem,3.2vw,3rem);
    font-weight:900;
    line-height:1.15;
    letter-spacing:-.02em;
    color:var(--usc-navy);
}
.section-heading p{
    max-width:760px;
    margin:0 auto;
    font-size:1.02rem;
    line-height:1.95;
    color:var(--usc-muted);
}

/* Hero */
.usc-hero-section{
    position:relative;
    padding:clamp(24px,3vw,44px) 0;
    background:
        radial-gradient(900px 500px at 82% 18%, rgba(239,68,68,.10), transparent 60%),
        radial-gradient(760px 460px at 14% 78%, rgba(185,28,28,.08), transparent 58%),
        linear-gradient(180deg,#fff8f8 0%,#f8fafc 100%);
    overflow:hidden;
}
.usc-hero-container{width:min(1240px,92vw);margin:0 auto;position:relative;}
.usc-hero-slider{position:relative;min-height:clamp(560px,70vh,760px);}
.usc-hero-slide{
    position:absolute; inset:0; opacity:0; pointer-events:none;
    transform:translateY(12px) scale(.992);
    transition:opacity .5s ease, transform .5s ease;
}
.usc-hero-slide.is-active{opacity:1; pointer-events:auto; transform:translateY(0) scale(1);}
.usc-hero-slide-grid{
    min-height:clamp(560px,70vh,760px);
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:clamp(18px,3vw,44px);
    align-items:center;
}
.usc-hero-slide-text{color:#0f172a; position:relative; z-index:3;}
.usc-hero-badge{
    display:inline-flex; align-items:center; gap:10px;
    padding:11px 15px; border-radius:999px;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(185,28,28,.10);
    box-shadow:0 14px 28px rgba(15,23,42,.06);
    backdrop-filter:blur(10px);
    font-size:14px; color:#7f1d1d; font-weight:700;
}
.usc-hero-badge-dot{
    width:10px; height:10px; border-radius:50%;
    background:#dc2626; box-shadow:0 0 0 6px rgba(239,68,68,.18);
}
.usc-hero-title{
    margin:18px 0 12px;
    font-size:clamp(32px,4vw,58px);
    line-height:1.18;
    font-weight:900;
    color:#0f172a;
    letter-spacing:-.03em;
}
.usc-hero-title-main{display:block;}
.usc-hero-title-accent{
    display:block;
    background:linear-gradient(90deg,#ef4444 0%,#b91c1c 55%,#7f1d1d 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
.usc-hero-desc{
    margin:0 0 20px;
    max-width:58ch;
    color:#475569;
    font-size:clamp(14px,1.3vw,17px);
    line-height:2;
}
.usc-hero-typed-wrap{
    display:inline-flex; align-items:center; gap:10px;
    padding:12px 15px; border-radius:16px;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(185,28,28,.10);
    box-shadow:0 12px 24px rgba(15,23,42,.06);
    margin-bottom:18px; flex-wrap:wrap;
}
.usc-hero-typed-label{color:#7f1d1d; white-space:nowrap; font-weight:700;}
.usc-hero-typed{font-weight:700; color:#0f172a; min-width:12ch;}
.usc-hero-caret{
    width:10px; height:18px; border-radius:2px; background:#dc2626;
    animation:uscHeroBlink .8s steps(2) infinite;
}
@keyframes uscHeroBlink{50%{opacity:0;}}
.usc-hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:8px;}
.usc-hero-btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    padding:13px 18px; border-radius:16px; text-decoration:none;
    font-weight:800; font-size:14px; transition:.2s ease; border:1px solid transparent;
}
.usc-hero-btn-primary{
    background:linear-gradient(135deg,#ef4444 0%,#b91c1c 55%,#7f1d1d 100%);
    color:#fff; box-shadow:0 16px 30px rgba(185,28,28,.22);
}
.usc-hero-btn-primary:hover{color:#fff; transform:translateY(-2px); box-shadow:0 22px 38px rgba(185,28,28,.30);}
.usc-hero-btn-secondary{
    background:rgba(255,255,255,.92); border-color:rgba(15,23,42,.10); color:#0f172a;
    box-shadow:0 10px 22px rgba(15,23,42,.06);
}
.usc-hero-btn-secondary:hover{color:#b91c1c; border-color:rgba(185,28,28,.18); transform:translateY(-2px);}
.usc-hero-metrics{display:flex; gap:16px; flex-wrap:wrap; margin-top:20px;}
.usc-hero-metric{
    padding:12px 14px; border-radius:16px; background:rgba(255,255,255,.94);
    border:1px solid rgba(185,28,28,.10); box-shadow:0 12px 22px rgba(15,23,42,.06); min-width:148px;
}
.usc-hero-metric strong{display:block; font-size:19px; margin-bottom:3px; color:#0f172a; font-weight:900;}
.usc-hero-metric span{display:block; font-size:13px; color:#64748b;}
.usc-hero-slide-media{
    position:relative; height:clamp(400px,56vh,620px); border-radius:34px; overflow:hidden;
    background:
        linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.62)),
        linear-gradient(135deg, rgba(239,68,68,.12), rgba(127,29,29,.08));
    border:1px solid rgba(185,28,28,.10);
    box-shadow:0 24px 60px rgba(15,23,42,.14);
    display:flex; align-items:center; justify-content:center; padding:18px;
}
.usc-hero-slide-media::before{
    content:""; position:absolute; inset:0;
    background:
        radial-gradient(circle at top right, rgba(239,68,68,.16), transparent 28%),
        radial-gradient(circle at bottom left, rgba(185,28,28,.12), transparent 24%);
    pointer-events:none;
}
.usc-hero-slide-media::after{
    content:""; position:absolute; inset-inline-start:22px; inset-inline-end:22px; bottom:18px; height:18px;
    border-radius:999px; background:radial-gradient(ellipse at center, rgba(15,23,42,.18), rgba(15,23,42,0) 72%);
    filter:blur(8px); pointer-events:none;
}
.usc-hero-main-image{
    position:relative; z-index:2; width:100%; height:100%; object-fit:contain; display:block;
    border-radius:24px; filter:drop-shadow(0 20px 30px rgba(15,23,42,.12));
}
.usc-hero-controls{
    margin-top:20px; display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center;
}
.usc-hero-nav{
    width:46px; height:46px; border-radius:16px; border:1px solid rgba(185,28,28,.12);
    background:rgba(255,255,255,.94); color:#7f1d1d; font-size:22px; cursor:pointer;
    box-shadow:0 12px 24px rgba(15,23,42,.06); transition:.2s ease;
}
.usc-hero-nav:hover{
    background:#fff; border-color:rgba(185,28,28,.18); color:#b91c1c;
    transform:translateY(-2px); box-shadow:0 16px 30px rgba(15,23,42,.10);
}
.usc-hero-dots{display:flex; justify-content:center; gap:10px; flex-wrap:wrap;}
.usc-hero-dot{
    width:10px; height:10px; border-radius:999px; border:1px solid rgba(185,28,28,.22);
    background:rgba(185,28,28,.14); cursor:pointer;
    transition:width .18s ease, background .18s ease, border-color .18s ease;
}
.usc-hero-dot.is-active{width:30px; background:linear-gradient(90deg,#ef4444 0%,#b91c1c 100%); border-color:rgba(185,28,28,.9);}
.usc-hero-progress{grid-column:1 / -1; height:5px; border-radius:999px; background:rgba(185,28,28,.10); overflow:hidden;}
.usc-hero-progress-bar{display:block; height:100%; width:0%; background:linear-gradient(90deg,#ef4444 0%,#b91c1c 55%,#7f1d1d 100%);}

/* Other sections */
.home-info-cards-section,.home-universities-section,.home-admission-section{background:#fff; padding-top:90px !important; padding-bottom:90px !important;}
.info-card,.feature-item,.university-card,.admission-card{
    background:#fff; border:1px solid rgba(15,23,42,.08); border-radius:22px; padding:24px;
    box-shadow:0 12px 24px rgba(15,23,42,.04); transition:.25s ease;
}
.info-card:hover,.feature-item:hover,.university-card:hover,.admission-card:hover{
    transform:translateY(-4px); box-shadow:0 18px 30px rgba(15,23,42,.08);
}
.info-card h3,.feature-item h4,.university-card h3,.admission-card h3{
    font-size:1.2rem; font-weight:800; margin:0 0 12px; color:#0f172a;
}
.info-card p,.feature-item p,.university-card p,.admission-card p,.section-text{
    color:#64748b; line-height:1.9; margin:0;
}
.info-card{position:relative; overflow:hidden; padding:28px;}
.info-card::before{
    content:""; position:absolute; inset-inline-start:0; top:0; width:100%; height:5px;
    background:linear-gradient(90deg,#ef4444 0%,#b91c1c 55%,#7f1d1d 100%);
}
.info-card::after{
    content:""; position:absolute; width:100px; height:100px; border-radius:50%;
    inset-inline-end:-28px; top:-30px; background:radial-gradient(circle, rgba(239,68,68,.12) 0%, rgba(239,68,68,0) 72%);
}
.home-about-section{
    padding-top:100px !important; padding-bottom:100px !important;
    background:radial-gradient(circle at left center, rgba(185,28,28,.05), transparent 20%), linear-gradient(180deg,#f8fafc 0%,#ffffff 100%);
}
.about-image-wrap img{border-radius:30px !important; box-shadow:0 24px 60px rgba(15,23,42,.14); border:1px solid rgba(255,255,255,.7);}
.about-content h2{font-size:clamp(2rem,3vw,3rem); font-weight:900; line-height:1.15; margin:0 0 16px; color:#0f172a; letter-spacing:-.02em;}
.section-text{line-height:2; font-size:1rem; margin-bottom:24px !important;}
.feature-icon,.admission-icon{
    width:68px; height:68px; border-radius:18px; display:flex; align-items:center; justify-content:center;
    font-size:1.55rem; margin-bottom:16px;
    background:linear-gradient(135deg, rgba(239,68,68,.12), rgba(185,28,28,.08)); color:#b91c1c;
    box-shadow:inset 0 0 0 1px rgba(185,28,28,.08);
}
.home-government-section{background:linear-gradient(180deg,#fff 0%,#fff7f7 100%);}
.home-private-section{background:linear-gradient(180deg,#f8fafc 0%,#fff 100%);}
.university-card{overflow:hidden; padding:0; border-radius:26px; box-shadow:0 18px 40px rgba(15,23,42,.08);}
.university-card-image{position:relative; overflow:hidden;}
.university-card-image::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,23,42,0) 0%, rgba(15,23,42,.18) 100%);}
.university-card-image img{height:250px; object-fit:cover; transition:transform .5s ease;}
.university-card:hover .university-card-image img{transform:scale(1.05);}
.university-card-body{padding:24px;}
.university-card-body p{margin:0 0 18px; min-height:72px; font-size:.96rem;}
.university-card .btn{min-height:46px; border-radius:14px; font-weight:800; padding-inline:18px;}
.university-card .btn-outline-danger{border-color:rgba(185,28,28,.22); color:#b91c1c;}
.university-card .btn-outline-danger:hover{background:#b91c1c; border-color:#b91c1c; color:#fff; transform:translateY(-1px);}
.home-universities-section .text-center .btn-danger{
    min-height:54px; padding-inline:26px; border-radius:16px; font-weight:800;
    background:linear-gradient(135deg,#ef4444 0%,#b91c1c 55%,#7f1d1d 100%);
    border:0; box-shadow:0 16px 34px rgba(185,28,28,.22);
}
.home-universities-section .text-center .btn-danger:hover{transform:translateY(-2px); box-shadow:0 22px 42px rgba(185,28,28,.30);}
.home-admission-section{
    padding-top:100px !important; padding-bottom:100px !important;
    background:radial-gradient(circle at bottom right, rgba(239,68,68,.05), transparent 20%), linear-gradient(180deg,#fff9f9 0%,#ffffff 100%);
}
.admission-card{position:relative; overflow:hidden; border:1px solid rgba(185,28,28,.12);}
.admission-card::before{
    content:""; position:absolute; inset-inline-start:0; top:0; bottom:0; width:5px;
    background:linear-gradient(180deg,#ef4444 0%,#b91c1c 60%,#7f1d1d 100%);
}
.btn-danger{background:linear-gradient(135deg,#ef4444 0%,#b91c1c 55%,#7f1d1d 100%); border:0;}
.btn-danger:hover{background:linear-gradient(135deg,#ef4444 0%,#b91c1c 55%,#7f1d1d 100%); filter:brightness(1.03);}

@media (max-width:992px){
    .usc-hero-slider{min-height:auto;}
    .usc-hero-slide-grid{min-height:auto; grid-template-columns:1fr; align-items:center; padding:8px 0;}
    .usc-hero-slide-media{height:360px; order:-1;}
    .home-info-cards-section,.home-about-section,.home-universities-section,.home-admission-section{
        padding-top:70px !important; padding-bottom:70px !important;
    }
}
@media (max-width:575px){
    .usc-hero-section{padding:18px 0 28px;}
    .usc-hero-slide-grid{gap:18px;}
    .usc-hero-slide-media{height:290px; border-radius:24px; padding:12px;}
    .usc-hero-actions .usc-hero-btn{width:100%;}
    .usc-hero-metric{min-width:0; flex:1 1 calc(50% - 8px);}
    .usc-hero-title{line-height:1.25;}
}
