:root{--navy:#071524;--blue:#1578ff;--cyan:#55c8ff;--ink:#13202d;--muted:#617080;--line:#dce4ec;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Pretendard,"Noto Sans KR",Arial,sans-serif;color:var(--ink);font-size:16px;line-height:1.65}
a{color:inherit;text-decoration:none}
.header{height:78px;padding:0 max(24px,calc((100% - 1180px)/2));display:flex;align-items:center;gap:38px;background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 2px 18px #07152414}
.brand{font-size:26px;font-weight:900;letter-spacing:-1px;white-space:nowrap}
.brand span{color:var(--blue)}
.brand small{display:block;font-size:10px;letter-spacing:2px;color:#6d7882;margin-top:-7px}
.header nav{display:flex;gap:30px;margin-left:auto;font-weight:700}
.header nav a:hover{color:var(--blue)}
.head-call{background:var(--navy);color:white;padding:12px 17px;border-radius:8px;font-weight:800}
.menu{display:none}
.hero{min-height:670px;background:linear-gradient(90deg,rgba(2,11,20,.98) 0%,rgba(2,11,20,.85) 34%,rgba(2,11,20,.18) 68%),url('newkey-hero.png') center/cover;display:flex;align-items:center;color:white;padding:70px max(24px,calc((100% - 1180px)/2))}
.hero-copy{max-width:660px}
.eyebrow,.kicker{font-size:13px;font-weight:900;letter-spacing:3px;color:var(--cyan)}
h1{font-size:54px;line-height:1.22;letter-spacing:-2.5px;margin:14px 0 22px}
h1 em{font-style:normal;color:#55c8ff}
.lead{max-width:610px;font-size:19px;color:#dce7f2}
.hero-actions{display:flex;gap:12px;margin:32px 0}
.primary,.secondary,.contact-button{display:inline-flex;align-items:center;justify-content:center;padding:15px 25px;border-radius:7px;font-weight:900}
.primary,.contact-button{background:var(--blue);color:white}
.secondary{border:1px solid #ffffff70}
.trust{padding:0;display:flex;gap:28px;list-style:none;color:#d3e3ef;font-weight:700}
.trust li:before{content:'✓';color:var(--cyan);margin-right:7px}
.quick{max-width:1180px;margin:-44px auto 0;background:white;position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 18px 45px #0b28451d;border-radius:12px;padding:30px}
.quick div{padding:0 25px;border-right:1px solid var(--line)}
.quick div:last-child{border:0}
.quick strong,.quick span{display:block}
.quick strong{font-size:19px}
.quick span{font-size:14px;color:var(--muted)}
.section{max-width:1180px;margin:auto;padding:110px 24px}
.section h2,.dark h2{font-size:38px;letter-spacing:-1.5px;margin:5px 0 35px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cards article{border:1px solid var(--line);border-radius:12px;padding:30px;transition:.2s}
.cards article:hover{transform:translateY(-5px);box-shadow:0 16px 35px #0b284519}
.cards b{color:var(--blue);font-size:13px}
.cards h3{font-size:21px;margin:12px 0 8px}
.cards p{color:var(--muted);margin:0}
.dark{background:var(--navy);color:white;padding:90px max(24px,calc((100% - 1180px)/2));display:grid;grid-template-columns:1fr 1.35fr;gap:70px;align-items:center}
.dark p{color:#b9c8d5}
.brand-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.brand-list span{padding:14px 8px;text-align:center;border:1px solid #ffffff25;border-radius:7px;background:#ffffff0b;font-weight:700}
.area{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.area-box{display:grid;grid-template-columns:110px 1fr;border-top:2px solid var(--navy)}
.area-box strong,.area-box span{padding:16px 10px;border-bottom:1px solid var(--line)}
.area-box span{color:var(--muted)}
.blog-section{background:#f6f8fb;padding:95px max(24px,calc((100% - 1180px)/2))}
.blog-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px}
.blog-heading h2{font-size:38px;letter-spacing:-1.5px;margin:5px 0 10px}
.blog-heading p{max-width:720px;color:var(--muted);margin-bottom:0}
.blog-more{flex:none;display:inline-flex;align-items:center;gap:10px;background:#03c75a;color:white;padding:14px 19px;border-radius:8px;font-weight:900}
.blog-more b{display:inline-grid;place-items:center;width:25px;height:25px;background:white;color:#03c75a;border-radius:4px}
.blog-more span{font-size:20px}
.blog-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.blog-cards a{background:white;border:1px solid var(--line);border-radius:12px;padding:26px;min-height:170px;transition:.2s}
.blog-cards .blog-featured{padding:0;overflow:hidden}
.blog-featured img{display:block;width:100%;height:112px;object-fit:cover;object-position:72% center}
.blog-featured div{padding:18px 22px 22px}
.blog-featured h3{margin:8px 0 7px}
.blog-cards a:hover{transform:translateY(-5px);box-shadow:0 16px 35px #0b284519;border-color:#03c75a}
.blog-cards span{font-size:13px;font-weight:900;color:#03a94d}
.blog-cards h3{font-size:19px;line-height:1.4;margin:13px 0 12px}
.blog-cards p{font-size:14px;color:var(--muted);margin:0}
.footer-blog{color:#fff;font-weight:800}
.footer-blog:hover{color:#55c8ff}
.contact{text-align:center;background:#edf6ff;padding:85px 24px}
.contact p{font-weight:800}
.contact h2{font-size:48px;color:var(--blue);margin:10px}
.contact span{display:block;color:var(--muted)}
.contact-button{margin-top:25px;min-width:180px}
footer{background:#06101a;color:#aab7c2;padding:50px max(24px,calc((100% - 1180px)/2));font-size:14px}
.floating{position:fixed;right:24px;bottom:24px;background:#1478ff;color:white;padding:14px 18px;border-radius:99px;box-shadow:0 9px 28px #0760c955;font-weight:900;z-index:30}
@media(max-width:800px){.header{height:66px;padding:0 18px}
.header nav,.head-call{display:none}
.menu{display:block;margin-left:auto;border:0;background:transparent;font-size:26px}
.header.open nav{display:flex;position:absolute;left:0;right:0;top:66px;background:white;flex-direction:column;padding:20px;gap:18px;box-shadow:0 12px 20px #0002}
.hero{min-height:660px;background-position:64% center;padding:70px 22px}
.hero-copy{background:#071524aa;padding:24px 18px;border-radius:12px}
h1{font-size:37px}
.lead{font-size:17px}
.trust{display:grid;gap:5px}
.quick{margin:0;border-radius:0;grid-template-columns:1fr 1fr;padding:20px}
.quick div{padding:13px;border-bottom:1px solid var(--line)}
.section{padding:75px 20px}
.section h2,.dark h2{font-size:31px}
.cards{grid-template-columns:1fr}
.dark,.area{grid-template-columns:1fr;gap:30px}
.dark{padding:70px 22px}
.brand-list{grid-template-columns:repeat(2,1fr)}
.blog-section{padding:70px 20px}
.blog-heading{display:block;margin-bottom:28px}
.blog-heading h2{font-size:31px}
.blog-more{margin-top:24px;width:100%;justify-content:center}
.blog-cards{grid-template-columns:1fr}
.contact h2{font-size:38px}
.floating span{display:none}
.floating{padding:14px 18px}
}
