.principal-section{

padding:160px 0 90px;

background: linear-gradient(
180deg,
#ffffff,
#fcfcfa
);

position:relative;

}

.principal-grid{

display:grid;

grid-template-columns:420px 1fr;

gap:70px;

align-items:center;

}

.principal-image{
    text-align: center;
}

.principal-image img{

width:100%;

border-radius:20px;

box-shadow:0 20px 60px rgba(0,0,0,.08);

}

.principal-photo-title{

    display:block;

    font-family:var(--font-heading);

    font-size:18px;

    font-weight:700;

    color:#373737;
    line-height: 1.5em;
    margin-top: 10px;
}

.principal-photo-subtitle{

    display:block;

    margin-top:2px;

    font-size:14px;

    color:#64748b;

    letter-spacing:.3px;
    line-height: 1.5em;
}

.section-tag{

display:inline-block;

margin-bottom:18px;

font-size:15px;

font-weight:700;

color:#6B8F5A;

letter-spacing:2px;

}

.principal-content h2{

font-size:54px;

line-height:1.1;

margin-bottom:30px;

color:#102B5C;

}

.principal-content p{

font-size:18px;

line-height:1.9;

margin-bottom:22px;

color:#4B5563;
max-width: 550px;

}

.signature{

width:170px;

margin:25px 0 0;

}

.principal-content h4{

font-size:30px;

margin-bottom:5px;

color:#102B5C;
max-width: 390px;
border-top:1px solid #102b5c67;
padding-top: 10px;
}

.principal-content span{

color:gray;
font-size: 15px;
letter-spacing: 1px;
text-transform: uppercase;
}



.section-heading{

    max-width:760px;

    margin:0 auto 60px;

    text-align:center;

}
.section-heading span{

    display:inline-block;

    margin-bottom:10px;

    color:#7F9F84;

    font-size:16px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;
}
.section-heading h2{

    margin-bottom:15px;

    font-size:52px;

    line-height:1.1;

}
.section-heading p{

    max-width:640px;

    margin:auto;

    font-size:18px;

    color:#64748B;

}
.nne-section{

    padding:90px 0;

    background:#F1F5F9;

    position:relative;

}
.nne-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:32px;

    align-items:stretch;
}

.nne-card{

    background:#fff;

    border-radius:22px;

    padding:34px;

    min-height:470px;

    border:1px solid rgba(16,43,92,.05);

    box-shadow:

    0 15px 40px rgba(16,43,92,.05);

    transition:.35s;
}

.nne-card:hover{

    transform:translateY(-8px);

    box-shadow:

    0 25px 60px rgba(16,43,92,.10);
}

.card-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding-bottom:15px;

    border-bottom:1px solid rgba(16,43,92,.08);

    margin-bottom:15px;
}

.card-header h3{

    display:flex;

    align-items:center;

    gap:12px;

    font-size:30px;

    color:var(--primary);

    margin:0;
}

.card-header h3 i{

    font-size:24px;

    color:var(--accent);
}

.card-header a{

    position:relative;

    font-weight:700;

    color:#7F9F84;

    transition:.3s;
}

.card-header a::after{

    content:"→";

    margin-left:6px;

    transition:.3s;
}
.card-header a:hover{

    color:var(--primary);
}

.card-header a:hover::after{

    margin-left:12px;
}

.notice-list,
.event-list{

list-style:none;

padding:0;

margin:0;

}

.notice-list li{

    display:flex;

    gap:20px;

    align-items:flex-start;

    padding:20px 0;

    border-bottom:1px solid rgba(16,43,92,.08);
}

.date{

    width:66px;

    height:66px;

    border-radius:14px;

    background:#F6F8FC;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    font-size:13px;

    font-weight:700;

    color:var(--accent);

    flex-shrink:0;
}

.notice-list strong{

    display:block;

    font-size:18px;

    color:var(--primary);

    margin-bottom:6px;
}

.notice-list small{

    color:#64748B;

    transition:.3s;
}

.notice-list li:hover small{

    color:var(--accent);
}



.news-item{

    display:flex;

    gap:15px;

    margin-bottom:15px;

    align-items:flex-start;

    padding:20px 0;

    border-bottom:1px solid rgba(16,43,92,.08);
}
.notice-list li:last-child,
.event-list li:last-child,
.news-item:last-child{

border:none;

}
.news-item img{

    width:95px;

    height:78px;

    border-radius:14px;

    object-fit:cover;

    flex-shrink:0;
}
.news-item strong{

    display:block;

    margin-bottom:5px;

    font-size:18px;

    color:var(--primary);
}

.news-item p{

    font-size:15px;

    color:#64748B;

    line-height:1.7;

    margin:0;
}
.event-list li{

    display:flex;

    gap:20px;

    align-items:center;

    padding:22px 0;

    border-bottom:1px solid rgba(16,43,92,.08);
}
.event-date{

    width:66px;

    text-align:center;

    color:var(--accent);

    font-weight:700;

    flex-shrink:0;
}
.event-date strong{

    display:block;

    font-size:28px;

    line-height:1;
}
.event-list strong{

    color:var(--primary);

    font-size:19px;
}
.nne-section::before{

    content:"";

    position:absolute;

    top:0;

    left:50%;

    transform:translateX(-50%);

    width:140px;

    height:4px;

    border-radius:20px;

    background:var(--accent);
}



.academics-section{

padding:90px 0;

background:#fff;

}

.academic-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:32px;

margin-top:60px;

}

.academic-card{

padding:40px;

background:#fff;


box-shadow:0 15px 45px rgba(0,0,0,.07);

transition:
    transform .35s,
    box-shadow .35s,
    border-color .35s;

border:1px solid rgba(16,43,92,.05);

border-radius:22px;
min-height:340px;

display:flex;

flex-direction:column;
position:relative;

overflow:hidden;

}
.academic-card::after{

    content:"";

    position:absolute;

    right:-30px;

    top:-30px;

    width:110px;

    height:110px;

    border-radius:50%;

    background:rgba(214,182,76,.05);
}


.academic-card:hover{

    transform:translateY(-10px);

    border-color:rgba(214,182,76,.18);

    box-shadow:
    0 25px 60px rgba(16,43,92,.10);
}

.icon{

    width:74px;
    height:74px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:18px;

    background:rgba(214,182,76,.10);

    color:var(--accent);

    flex-shrink:0;
}

.icon i{

    display:flex;

    align-items:center;
    justify-content:center;

    width:100%;
    height:100%;

    font-size:34px;

    line-height:1;

    font-style:normal;
}
.academic-card:hover .icon{

    transform:scale(1.08);

    background:var(--accent);

    color:#fff;
}

.academic-card h3{

font-size:28px;

color:#102B5C;

margin-bottom:18px;

}

.academic-card p{

    font-size:17px;

    line-height:1.8;

    color:#64748B;

    margin-bottom:28px;
}

.academic-card a{

    display:inline-flex;

    align-items:center;

    gap:8px;

    font-weight:700;

    color:#7F9F84;

    transition:.3s;
    margin-top:auto;
}

.academic-card a:hover{

    color:var(--primary);
}
.academic-card a::after{

    content:"→";

    transition:.3s;
}
.academic-card:hover a::after{

    transform:translateX(5px);
}
.academic-badge{

    display:inline-block;

    padding:7px 14px;

    border-radius:40px;

    background:#EEF4F1;

    color:#7F9F84;

    font-size:13px;

    font-weight:700;

    margin-bottom:24px;
}



.gallery-section{

padding:90px 0;

background:#f7f7f7;
position:relative;

}
.gallery-section::after{

    content:"";

    position:absolute;

    right:120px;

    top:90px;

    width:180px;

    height:180px;

    border-radius:50%;

    background:rgba(214,182,76,.04);

    pointer-events:none;
}

.gallery-grid{

display:grid;

grid-template-columns:2fr 1fr 1fr;

grid-template-rows:230px 230px;

gap:24px;

margin-top:60px;

}

.gallery-large{

grid-row:1/3;

}

.gallery-grid img{

width:100%;

height:100%;

object-fit:cover;


transition:.4s;

display:block;
transition: transform .6s ease;
border:3px solid #fff;
}

.gallery-large:hover img,
.gallery-small:hover img{

    transform:scale(1.08);
}
.gallery-large,
.gallery-small{
    overflow:hidden;
    box-shadow:
    0 12px 35px rgba(16,43,92,.06);
    transition:
    transform .35s,
    box-shadow .35s;
}
.gallery-grid img,
.gallery-large,
.gallery-small{

    border-radius:22px;
}
.gallery-large:hover,
.gallery-small:hover{

    box-shadow:
    0 25px 60px rgba(16,43,92,.12);
    transform:translateY(-6px);
}

.gallery-btn{

text-align:center;

margin-top:55px;

}




.why-section{

padding:90px 0;

background:#fff;

}

.why-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

margin-top:60px;

}

.why-card{

padding:46px 34px;

border-radius:18px;

background:#F8FAFC;

transition:.35s;

text-align:center;
border:1px solid rgba(16,43,92,.05);

box-shadow:
0 12px 35px rgba(16,43,92,.04);
transition:
transform .35s,
box-shadow .35s,
border-color .35s;
display: flex;
flex-direction: column;
align-items: center;
}
.why-card:hover{

transform:translateY(-10px);

border-color:rgba(214,182,76,.18);

box-shadow:

0 25px 60px rgba(16,43,92,.10);
position:relative;

overflow:hidden;
}
.why-card::after{

content:"";

position:absolute;

top:-30px;

right:-30px;

width:110px;

height:110px;

border-radius:50%;

background:rgba(214,182,76,.05);
}

.why-icon{

width:90px;
height:90px;

background:rgba(214,182,76,.12);

border:1px solid rgba(214,182,76,.18);

border-radius:50%;


color:var(--accent);

display:flex;

align-items:center;

justify-content:center;

font-size:34px;

transition:.35s;

}
.why-icon i{

    font-size:36px;

    color:var(--accent);

}
.why-card:hover .why-icon{

background:var(--accent);


transform:scale(1.08);
}
.why-card:hover .why-icon i{

color:#fff;

}

.why-card h3{

line-height:1.2;

margin-bottom:15px;

font-size:24px;
margin-top: 20px;

color:#102B5C;

}
.why-stats{

    margin-top:70px;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    border-top:1px solid rgba(16,43,92,.08);

    padding-top:50px;

}
.why-stat{

    text-align:center;

    position:relative;

}
.why-stat:not(:last-child)::after{

    content:"";

    position:absolute;

    top:50%;

    right:0;

    transform:translateY(-50%);

    width:1px;

    height:70px;

    background:rgba(16,43,92,.15);

}
.why-stat h3{

    margin:0;

    font-size:56px;

    color:var(--primary);

    font-weight:800;

    line-height:1;
}
.why-stat span{

    display:block;

    margin-top:14px;

    font-size:16px;

    color:#64748B;

}

.why-card p{

color:#64748B;

line-height:1.8;
font-size:15px;

margin:auto;

}



.cta-section{

padding:0 0;

background: linear-gradient(
135deg,
#6F1320 0%,
#7F1625 100%
);
position:relative;
overflow:hidden;

}
.cta-section::before{

    content:"";

    position:absolute;

    right:-80px;
    top:-80px;

    width:260px;
    height:260px;

    border-radius:50%;

    background:rgba(255,255,255,.05);
}
.cta-section::after{

    content:"";

    position:absolute;

    left:-120px;
    bottom:-120px;

    width:280px;
    height:280px;

    border-radius:50%;

    background:rgba(214,182,76,.08);
}

.cta-box{

background: linear-gradient(
135deg,
#6F1320 0%,
#7F1625 100%
);

padding:40px;

display:flex;

align-items:center;

justify-content:space-between;

gap:40px;

color:#fff;


}

.cta-box span{

background:rgba(214,182,76,.15);

color:#F4D35E;

padding:8px 16px;

border-radius:40px;

display:inline-block;

font-weight:700;

letter-spacing:2px;

}

.cta-box h2{

font-size:43px;

margin:15px 0;

color:#fff;
max-width:850px;

line-height:1.2;

}

.cta-box p{

font-size:20px;

line-height:1.8;

opacity:.9;

max-width:700px;
margin-bottom: 0;

}

.cta-buttons{

display:flex;

gap:20px;

flex-wrap:wrap;

}
.cta-buttons .btn-primary{
    padding:18px 64px;

    border-radius:16px;

    font-weight:700;
    background:#D6B64C;
    color:#000104;
}



.site-footer{

background:#102B5C;

color:#fff;

padding:70px 0 25px;
border-top:3px solid var(--accent);
position:relative;
overflow:hidden;
}
.footer-year{

    position:absolute;

    right:40px;

    bottom:40px;

    font-family:"Cormorant Garamond", serif;

    font-size:240px;

    font-weight:700;

    line-height:1;

    color:#fff;

    opacity:.025;

    pointer-events:none;

    user-select:none;

}
.footer-cross-pattern{

    position:absolute;

    right:-30px;

    top:50%;

    transform:translateY(-50%);

    font-size:360px;

    line-height:1;

    color:#ffffff;

    opacity:.025;

    pointer-events:none;

    user-select:none;

    font-family:Georgia, serif;

}
.site-footer::before{

    content:"";

    position:absolute;

    top:-120px;

    right:-120px;

    width:280px;

    height:280px;

    border-radius:50%;

    background:rgba(214,182,76,.05);

    filter:blur(10px);

}
.footer-top{

display:grid;

grid-template-columns:

1.6fr

1fr

1fr

1.2fr;

gap:50px;

margin-bottom:60px;

}
.footer-social{

    display:flex;

    gap:14px;

    margin-top:28px;

}

.footer-social a{

    width:44px;

    height:44px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.08);

    color:#fff;

    font-size:20px;

    transition:all .35s ease;

}

.footer-social a:hover{

    background:var(--accent);

    color:#102B5C;

    transform:translateY(-4px);

    border-color:var(--accent);

    box-shadow:0 10px 25px rgba(214,182,76,.25);

}
.footer-brand img{

width:120px;

margin-bottom:15px;

}

.footer-brand h3{

font-size:28px;

margin-bottom:20px;

color:#fff;

}

.footer-brand p{

opacity:.85;

line-height:1.8;
max-width: 320px;

}

.footer-links h4,
.footer-contact h4{

margin-bottom:25px;

font-size:20px;

color:#D6B64C;

}

.footer-links ul{

margin:0;

padding:0;

list-style:none;

}

.footer-links li{

margin-bottom:14px;

}

.footer-links a{

color:#E8EEF8;

transition:.3s;

}

.footer-links a:hover{

color:#D6B64C;

padding-left:6px;

}

.footer-contact p{

margin-bottom:12px;

opacity:.9;

}

.footer-map{

margin:60px 0;

border-radius:20px;

overflow:hidden;

}

.footer-map iframe{

width:100%;

height:320px;

border:0;

}

.footer-bottom{

border-top:1px solid rgba(255,255,255,.12);

padding-top:25px;

display:flex;

justify-content:space-between;

align-items:center;

flex-wrap:wrap;

gap:15px;

font-size:15px;

}

.footer-bottom strong{

color:#D6B64C;

}