/* BUTTONS */

.btn{
padding:12px 28px;
border-radius:35px;
font-size:13px;
font-weight:600;
transition:.35s;
position:relative;
overflow:hidden;
display:inline-block
}

.btn:hover{
transform:translateY(-4px)
}

.primary{
background:var(--primary);
color:#fff;
border:1px solid var(--gold)
}

.gold{
background:linear-gradient(135deg,var(--gold),var(--gold2));
color:#111
}



/* CARDS */

.cards{
grid-template-columns:repeat(3,1fr)
}


.card{
background:
linear-gradient(145deg,#fff,#f1f6ff);
border:1px solid var(--border);
border-radius:var(--radius);
padding:22px;
min-height:150px;
position:relative;
overflow:hidden;
transition:.35s;
box-shadow:var(--shadow)
}


.card:before{
content:"";
position:absolute;
top:0;
right:15%;
left:15%;
height:2px;
background:linear-gradient(90deg,transparent,var(--gold),transparent);
transition:.35s
}


.card:after{
content:"";
position:absolute;
width:150px;
height:150px;
border-radius:50%;
background:radial-gradient(circle,rgba(212,175,55,.18),transparent);
left:-60px;
bottom:-70px;
transition:.5s
}


.card:hover{
transform:translateY(-7px);
border-color:var(--gold);
box-shadow:0 20px 45px rgba(18,52,91,.20)
}


.card:hover:after{
transform:scale(1.5)
}


.card h3{
position:relative;
z-index:2;
color:var(--primary);
font-size:16px;
margin:10px 0;
font-weight:700
}


.card p{
position:relative;
z-index:2;
font-size:13px;
line-height:1.9;
color:#66778b
}



/* QUICK ACCESS */

.quick-grid{
grid-template-columns:repeat(4,1fr)
}


.portal-card{
min-height:160px
}



/* ABOUT */

.about{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px
}


.box,
.mission{
background:#fff;
border-radius:var(--radius);
padding:25px;
border:1px solid var(--border);
box-shadow:var(--shadow)
}


.box p,
.mission p{
font-size:14px;
line-height:2
}


.mission{
background:
linear-gradient(135deg,var(--primary),#194d7a);
color:#fff
}


.mission h3{
color:var(--gold)
}



/* STATS */

.stats{
grid-template-columns:repeat(4,1fr)
}


.stat{
background:#fff;
padding:22px;
text-align:center;
border-radius:18px;
border:1px solid var(--border);
transition:.3s
}


.stat:hover{
transform:translateY(-5px);
border-color:var(--gold)
}


.stat b{
display:block;
font-size:30px;
color:var(--gold)
}


.stat span{
font-size:13px;
color:var(--muted)
}



/* PROFESSORS */

.professors{
grid-template-columns:repeat(4,1fr)
}


.prof{
background:#fff;
padding:18px;
text-align:center;
border-radius:20px;
border:1px solid var(--border);
transition:.3s
}


.prof:hover{
transform:translateY(-5px);
border-color:var(--gold)
}


.prof img{
width:85px;
height:85px;
border-radius:50%;
object-fit:cover;
border:2px solid var(--gold)
}


.prof h3{
color:var(--primary);
font-size:15px
}


.prof span{
font-size:12px;
color:var(--muted)
}



/* CTA */

.cta{
margin:40px auto;
width:min(1100px,calc(100% - 50px));
padding:45px 30px;
text-align:center;
border-radius:28px;
background:
radial-gradient(circle at top right,rgba(212,175,55,.25),transparent),
linear-gradient(135deg,var(--primary),var(--primary2));
color:#fff;
position:relative;
overflow:hidden
}


.cta h2{
color:#fff
}


.cta p{
line-height:2
}



/* FOOTER */

.footer{
background:
linear-gradient(160deg,#061426,#12345b);
color:#dce5ef;
padding:45px 0 20px;
margin-top:40px
}


.footer-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:25px
}


.footer-box{
background:#ffffff10;
border:1px solid #ffffff20;
border-radius:24px;
padding:25px
}


.footer-logo{
width:120px;
height:120px;
margin:auto;
display:flex;
align-items:center;
justify-content:center;
position:relative
}


.footer-logo:before{
content:"";
position:absolute;
inset:-8px;
border-radius:50%;
border:2px solid var(--gold);
animation:rotate 8s linear infinite
}


.footer-logo img{
width:90%;
height:90%;
object-fit:contain
}


.footer h4{
color:var(--gold)
}


.footer p,
.footer a{
font-size:13px;
line-height:2
}


.copy{
text-align:center;
margin-top:25px;
padding-top:15px;
border-top:1px solid #ffffff30;
color:var(--gold);
font-size:13px
}
.contact-form{
padding:30px
}

.form-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px
}

.form-item{
display:flex;
flex-direction:column;
gap:8px
}

.form-item label{
font-size:13px;
color:var(--primary);
font-weight:600
}

.form-item input,
.form-item textarea{
width:100%;
border:1px solid var(--border);
background:#fff;
border-radius:14px;
padding:13px 15px;
font-family:Vazirmatn;
font-size:13px;
color:var(--text);
outline:none;
transition:.3s
}

.form-item input:focus,
.form-item textarea:focus{
border-color:var(--gold);
box-shadow:0 0 0 3px rgba(212,175,55,.15)
}

.form-item textarea{
min-height:140px;
resize:vertical
}

.contact-form .btn{
margin-top:20px
}

@media(max-width:700px){

.form-grid{
grid-template-columns:1fr
}

}