:root{--blue:#0874bb;--light:#a6d8f7;--bg:#eef3fd;--ink:#202020}

body{color:var(--ink);background:var(--bg)}
.hero{min-height:682px;padding:70px max(7vw,24px) 0;text-align:center}
.logo img {max-width:400px;}
.intro_top {margin-top:100px}
.intro_top h1 {margin-bottom:10px;font-size:5rem; line-height:1.1;letter-spacing:-2px;background:linear-gradient(90deg, #173ef1, #3bf6d5);color:transparent;background-clip:text;-webkit-background-clip:text}
.intro_top h2{display:inline-flex;align-items:center;gap:14px;margin-bottom:22px;font-family:"Montserrat","Pretendard",sans-serif;font-size:1.45rem;font-weight:700;letter-spacing:.32em;color:var(--blue)}
.intro_top h2::before,.intro_top h2::after{content:"";width:36px;height:2px;background:currentColor;opacity:.45}
.intro_top p{margin:16px 0 0;font-size:1.3rem}
.intro_top strong{font-weight:800}
.intro-menu{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,320px);justify-content:center;gap:30px;margin-top:70px}
.intro-menu a {height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:30px;background:#fff;box-shadow:0 8px 22px rgba(38,60,82,.18);transition:transform .35s ease,box-shadow .35s ease}
.intro-menu a:hover,.intro-menu a:focus-visible{transform:translateY(-18px);box-shadow:0 20px 34px rgba(38,60,82,.25);outline:none}
.intro-menu a:hover span {animation: introArr 1s infinite ease-in-out;}
.intro-menu a:active{transform:translateY(-10px);transition-duration:.1s}
.intro-menu a svg{width:72px;height:72px;margin-bottom:14px;fill:none;stroke:#d2d2d2;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.intro-menu a p{margin: 15px 0 20px; color:#555;font-size:20px}
.intro-menu a strong{display:block;color:#111;font-size:27px}
.intro-menu a b{color:var(--blue)}
.intro-menu a > span {color:var(--blue);font-size: 1.8rem; font-weight: 300;}.intro-menu a.apply{background:var(--light)}.intro-menu a.apply svg,.intro-menu a.result svg{stroke:#fff}.intro-menu a.result{background:var(--blue)}.intro-menu a.result p,.intro-menu a.result strong,.intro-menu a.result b,.intro-menu a.result>span{color:#fff}
.achievements{position:relative; min-height:435px; padding:150px max(7vw,24px) 45px; margin-top:-100px; color:#fff;overflow:hidden;background:#05002f;}
.achievements::before {content:"";position:absolute; width:100%; height:100%; top:0; left:0; background:url(img/intro_bg.jpg) center no-repeat; background-size:cover;}
.certifications,.honors{position:relative;z-index:1;max-width:1370px;margin:auto;padding:0;list-style:none}
.certifications {display:grid;grid-template-columns:repeat(4,1fr);align-items:center;padding:24px 10px;border-radius:30px; color:#161616;background:rgba(255,255,255,.6);font-weight:700}
.certifications li {display:flex;align-items:center;justify-content:center;font-size:1rem; gap:15px}
.honors{display:grid;grid-template-columns:repeat(5,1fr); justify-items: center; gap:24px; margin-top:40px; text-align:center; font-size:13px}
.honors li {display:flex; align-items:center; gap:5px;}
.honors li::before, .honors li::after {content:""; width:38px; height:54px;}
.honors li::before{background:url(img/intro_award_l.png) no-repeat;} 
.honors li::after {background:url(img/intro_award_r.png) no-repeat;}
.honors span {display:block; font-size:1rem; font-weight:600;}
footer{min-height:160px;padding:35px max(8vw,24px);color:#bbb;background:#303030}.footer-inner{max-width:1500px;display:flex;align-items:center;gap:110px;margin:auto}.footer-brand{display:flex;align-items:center;gap:10px;color:#777;font-size:24px}.footer-brand .seal{border-color:#777;color:#777}address{font-size:13px;font-style:normal;line-height:1.8}address strong,address b{color:#eee}address small{display:block;color:#777}
@keyframes introArr {
    0% {transform: translateX(0);}    
    50% {transform: translateX(5px);}    
    100% {transform: translateX(0);}    
}
@media(max-width:1400px){
    .intro-menu{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
    .intro-menu a{height:300px}
    .hero, .achievements{padding-inline:40px}
}
@media(max-width:900px){
    .hero{padding:45px 24px 65px}
    .intro_top{margin-top:75px}
    .intro_top h1{font-size:4rem}
    .intro-menu{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:55px}
    .achievements{padding-top:70px}
    .certifications{grid-template-columns:1fr 1fr;gap:25px;padding:28px}
    .honors{grid-template-columns:repeat(2,1fr)}
    .honors li:last-child{grid-column:1/-1}
    .footer-inner{align-items:flex-start;flex-direction:column;gap:30px}
}
@media(max-width:520px){
    .logo img {max-width:300px;}
    .intro_top h1{font-size: 45px;line-height:1.08}
    .intro-menu{grid-template-columns:1fr}
    .intro-menu a{height:270px}
    .certifications{grid-template-columns:1fr;text-align:center}
    .honors{grid-template-columns:1fr}
    .honors li:last-child{grid-column:auto}
    .footer-brand{font-size:19px}address{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
    .intro-menu a{transition:none}
    .intro-menu a:hover,.intro-menu a:focus-visible,.intro-menu a:active{transform:none}
}
