
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Noto Sans KR','Malgun Gothic',Arial,sans-serif;color:#0b2345;background:#fff;line-height:1.55}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 40px));margin:0 auto}

.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid #edf2f7}
.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:12px;color:#08275a;font-weight:900}
.logo-mark{width:44px;height:44px;border-radius:14px;background:#08275a;color:#fff;display:grid;place-items:center;font-size:24px}
.logo strong{display:block;font-size:28px;letter-spacing:-1px;line-height:1}
.logo small{display:block;font-size:12px;color:#57708f;margin-top:4px}
.main-nav{display:flex;gap:34px;font-weight:900;color:#172d4b}
.main-nav a{padding:26px 0;border-bottom:3px solid transparent}
.main-nav a:hover{color:#0b7f34;border-color:#0b7f34}
.header-call{display:flex;align-items:center;gap:16px}
.header-call strong{font-size:23px;color:#08275a;white-space:nowrap}
.top-btn,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;padding:14px 22px;font-weight:900;transition:.2s;white-space:nowrap}
.top-btn,.btn-primary{background:#08275a;color:#fff;box-shadow:0 8px 18px rgba(8,39,90,.18)}
.btn-green{background:#07953c;color:#fff;box-shadow:0 8px 18px rgba(7,149,60,.2)}
.top-btn:hover,.btn:hover{transform:translateY(-2px)}
.mobile-menu-btn{display:none;border:0;background:#08275a;color:#fff;border-radius:10px;padding:10px 12px;font-weight:900}

.hero{position:relative;overflow:hidden;background:linear-gradient(90deg,#fff 0%,#f7fbff 46%,#f5f7f2 100%)}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 34%,rgba(255,255,255,.88) 54%,rgba(255,255,255,.18) 78%,rgba(255,255,255,.05) 100%);z-index:1}
.hero-bg{position:absolute;inset:0;z-index:0;opacity:.72}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:right center}
.hero-inner{position:relative;z-index:2;min-height:650px;display:flex;align-items:center;padding:70px 0 210px}
.hero-copy{max-width:760px;position:relative;z-index:3}
.eyebrow{font-size:27px;font-weight:900;color:#08275a;margin:0 0 14px}
.hero h1{font-size:64px;line-height:1.12;letter-spacing:-3px;margin:0 0 24px;color:#071f49}
.hero h1 em{font-style:normal;color:#0b8a39}
.lead{font-size:22px;color:#14345c;margin:0 0 34px;font-weight:650}
.quick-points{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin:34px 0 30px;max-width:850px}
.quick-points div{padding:0 12px;text-align:center;border-right:1px solid #ccd8e5}
.quick-points div:last-child{border-right:0}
.quick-points span{display:block;font-size:30px;margin-bottom:8px}
.quick-points strong{font-size:15px;color:#08275a}
.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}

.feature-strip{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);z-index:4;width:min(1180px,calc(100% - 40px));background:rgba(255,255,255,.99);border:1px solid #e3eaf2;border-radius:24px;box-shadow:0 20px 45px rgba(8,39,90,.14);display:grid;grid-template-columns:repeat(6,1fr);overflow:hidden}
.feature-card{padding:25px 18px;text-align:center;border-right:1px solid #e2eaf3}
.feature-card:last-child{border-right:0}
.feature-card .icon{font-size:34px;margin-bottom:10px}
.feature-card h3{margin:0 0 8px;font-size:20px;color:#08275a}
.feature-card p{margin:0;color:#405a78;font-size:14px;font-weight:600}

.section{padding:86px 0}
.section-soft{background:#f6f9fd}
.section-title{text-align:center;margin-bottom:42px}
.section-title span{display:inline-block;background:#e8f6ee;color:#0a8438;border-radius:999px;padding:8px 16px;font-weight:900;margin-bottom:14px}
.section-title h2{font-size:42px;letter-spacing:-2px;line-height:1.2;margin:0 0 14px;color:#08275a}
.section-title p{font-size:18px;color:#5d7088;margin:0}
.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.info-grid article,.support-grid article{background:#fff;border:1px solid #e5edf5;border-radius:24px;padding:28px;box-shadow:0 12px 26px rgba(8,39,90,.06)}
.info-grid article div,.support-grid article div{font-size:38px;margin-bottom:14px}
.info-grid h3,.support-grid h3{font-size:22px;margin:0 0 10px;color:#08275a}
.info-grid p,.support-grid p{margin:0;color:#51667f}
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.flow div{background:#fff;border-radius:24px;padding:26px;text-align:center;border:1px solid #e5edf5;position:relative}
.flow div:not(:last-child):after{content:"→";position:absolute;right:-16px;top:50%;transform:translateY(-50%);font-size:28px;color:#98a9bb;font-weight:900}
.flow b{display:block;font-size:16px;color:#0b8a39;margin-bottom:6px}
.flow h3{margin:0 0 8px;color:#08275a;font-size:22px}
.price-band{background:#08275a;color:#fff;border-radius:28px;padding:38px;display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}
.price-band h2{margin:0 0 12px;font-size:34px}
.price-band p{margin:0;color:#d8e6f7;font-size:18px}
.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.site-footer{background:#061c3d;color:#dce7f5;padding:42px 0}
.footer-inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.site-footer h3{margin:0 0 8px;color:#fff;font-size:26px}
.site-footer p{margin:4px 0;color:#b9c7d8}

@media(max-width:1100px){
  .main-nav{display:none}
  .mobile-menu-btn{display:block}
  .header-call .top-btn,.header-call strong{display:none}
  .main-nav.open{display:flex;position:absolute;left:0;right:0;top:78px;background:#fff;flex-direction:column;gap:0;padding:10px 24px;border-bottom:1px solid #edf2f7}
  .main-nav.open a{padding:14px 0}
  .hero-inner{min-height:auto;padding:58px 0 260px}
  .hero h1{font-size:46px}
  .quick-points{grid-template-columns:repeat(3,1fr)}
  .feature-strip{grid-template-columns:repeat(3,1fr)}
  .info-grid{grid-template-columns:repeat(2,1fr)}
  .flow{grid-template-columns:1fr}
  .flow div:after{display:none}
}
@media(max-width:640px){
  .container{width:min(100% - 24px,1180px)}
  .header-inner{height:66px}
  .logo strong{font-size:23px}
  .logo-mark{width:38px;height:38px}
  .hero:before{background:rgba(255,255,255,.92)}
  .hero-inner{padding:42px 0 560px}
  .eyebrow{font-size:20px}
  .hero h1{font-size:36px;letter-spacing:-2px}
  .lead{font-size:17px}
  .quick-points{grid-template-columns:repeat(2,1fr);gap:12px}
  .quick-points div{border:0;background:rgba(255,255,255,.82);border-radius:14px;padding:14px}
  .feature-strip{bottom:20px;grid-template-columns:1fr 1fr;border-radius:18px}
  .feature-card{padding:18px 10px}
  .feature-card h3{font-size:16px}
  .feature-card p{font-size:12px}
  .section{padding:58px 0}
  .section-title h2{font-size:30px}
  .info-grid,.support-grid,.price-band{grid-template-columns:1fr}
}


/* 메인 중간 아이콘 메뉴 삭제 후 여백 조정 */
.hero-buttons{margin-top:28px}
.hero-copy{padding-top:10px}
@media(max-width:640px){
  .hero-buttons{margin-top:22px}
}


/* 메인 버튼과 기능 카드 겹침 수정 */
.hero-inner{
  align-items:flex-start !important;
  min-height:720px !important;
  padding:90px 0 270px !important;
}
.hero-buttons{
  margin-top:34px !important;
  position:relative;
  z-index:6;
}
.feature-strip{
  bottom:42px !important;
  z-index:5;
}
@media(max-width:1100px){
  .hero-inner{
    min-height:760px !important;
    padding:70px 0 360px !important;
  }
}
@media(max-width:640px){
  .hero-inner{
    min-height:980px !important;
    padding:42px 0 650px !important;
  }
  .feature-strip{
    bottom:24px !important;
  }
}


/* 메인 카드 영역을 메인이미지 아래로 이동 */
.hero{
  padding-bottom: 0 !important;
}

.feature-strip{
  position: relative !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: 100% !important;
  margin: -40px auto 0 auto !important;
  z-index: 10 !important;
}

.hero-inner{
  padding-bottom: 120px !important;
  min-height: 640px !important;
}

@media(max-width:1100px){
  .feature-strip{
    margin-top:-20px !important;
  }

  .hero-inner{
    padding-bottom:80px !important;
  }
}

@media(max-width:640px){
  .hero-inner{
    min-height:auto !important;
    padding-bottom:40px !important;
  }

  .feature-strip{
    margin-top:0 !important;
    border-radius:18px !important;
  }
}


/* 실제 로고 이미지 적용 */
.logo{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}
.logo img{
  display:block;
  width:207px;
  max-width:207px;
  height:auto;
}
.logo-mark,
.logo strong,
.logo small{
  display:none;
}

@media(max-width:640px){
  .logo img{
    width:170px;
    max-width:170px;
  }
}


/* 고객센터 카드 링크 */
.support-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.support-card-link article {
  height: 100%;
  cursor: pointer;
}

.support-card-link article {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.support-card-link article:hover {
  transform: translateY(-6px);
  border-color: #b9cdec;
  box-shadow: 0 18px 34px rgba(8,39,90,.14);
}


/* 모바일 메뉴 동작 보강 */
@media(max-width:1100px){
  .main-nav.open{
    z-index: 999;
  }

  .main-nav.open a{
    cursor: pointer;
  }
}


/* 자료실 화면 */
.sub-page{
  min-height:60vh;
}

.sub-hero{
  padding:90px 0 70px;
  background:linear-gradient(135deg,#08275a 0%,#0b8a39 100%);
  color:#fff;
}

.sub-hero h1{
  margin:0 0 14px;
  font-size:52px;
  font-weight:900;
  color:#fff;
}

.sub-hero p{
  margin:0;
  font-size:18px;
  opacity:.92;
  color:#fff;
}

.download-list{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.download-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:28px;
  border-radius:22px;
  border:1px solid #e4ebf3;
  background:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.05);
}

.download-info h3{
  margin:0 0 10px;
  font-size:24px;
  color:#08275a;
}

.download-info p{
  margin:0;
  color:#56708a;
  line-height:1.7;
}

.lock-badge{
  display:inline-flex;
  align-items:center;
  margin-left:8px;
  padding:4px 9px;
  border-radius:999px;
  background:#eef3f9;
  color:#08275a;
  font-size:12px;
  font-weight:900;
  vertical-align:middle;
}

.empty-download{
  padding:80px 30px;
  text-align:center;
  border-radius:24px;
  background:#f7fafc;
  border:1px dashed #cfd9e6;
}

.empty-download h3{
  margin:0 0 12px;
  color:#08275a;
}

.download-detail-box{
  max-width:760px;
  margin:0 auto;
  padding:36px;
  border-radius:24px;
  background:#fff;
  border:1px solid #e4ebf3;
  box-shadow:0 12px 28px rgba(8,39,90,.07);
}

.download-detail-box h2{
  margin:0 0 14px;
  color:#08275a;
  font-size:30px;
  word-break:break-word;
}

.download-detail-box p{
  color:#56708a;
  line-height:1.8;
}

.password-box,
.download-open-box{
  margin-top:24px;
  padding:24px;
  border-radius:20px;
  background:#f7fafc;
  border:1px solid #e4ebf3;
}

.password-box h3{
  margin:0 0 10px;
  color:#08275a;
}

.password-box form{
  display:flex;
  gap:10px;
  margin-top:16px;
}

.password-box input[type=password]{
  flex:1;
  min-height:48px;
  padding:0 14px;
  border:1px solid #cdd9e8;
  border-radius:14px;
  font-family:inherit;
  box-sizing:border-box;
}

.download-error{
  margin-top:12px;
  padding:12px 14px;
  border-radius:12px;
  background:#ffecec;
  color:#c62828;
  font-weight:800;
}

.back-link{
  margin-top:24px;
}

.back-link a{
  color:#08275a;
  font-weight:800;
}

@media (max-width:768px){
  .sub-hero{
    padding:70px 0 50px;
  }

  .sub-hero h1{
    font-size:38px;
  }

  .download-card{
    flex-direction:column;
    align-items:flex-start;
  }

  .download-card .btn,
  .password-box .btn{
    width:100%;
  }

  .download-detail-box{
    padding:24px 18px;
  }

  .download-detail-box h2{
    font-size:24px;
  }

  .password-box form{
    flex-direction:column;
  }
}
