/* /css/main-ui.css
   style.css / globals.css와 중복되는 기본 스타일은 제거하고,
   메인 UI 커스텀/오버라이드 스타일만 남긴 파일입니다.
*/

/* Footer/Privacy styles moved to /css/footer.css */

@media (max-width:600px){
.about-image{
height:315px !important;
}
.about-image img:first-child{
height:315px !important;
object-fit:cover;
}
.how-we-work{padding:40px 20px;}
.work-grid{
grid-template-columns:repeat(2,1fr)!important;
gap:12px;
}
.work-card{
height:auto!important;
min-height:250px;
padding:18px;
gap:14px;
}
.work-letter{font-size:56px;line-height:1;}
.work-icon{width:52px;height:52px;}
.work-subtitle{font-size:16px;}
.work-description{font-size:12px;line-height:1.45;}
}

.careers{
padding-top:140px !important;
padding-bottom:140px !important;
}
.careers-heading{
margin-bottom:28px !important;
}
.careers-subtitle{
margin-bottom:8px !important;
}
.careers-grid{
gap:30px !important;
}
@media (max-width:600px){
.careers{
padding-top:60px !important;
padding-bottom:60px !important;
}
.careers-heading{
gap:6px !important;
margin-bottom:18px !important;
}
.careers-subtitle{
margin-bottom:2px !important;
}
.careers-grid{
gap:22px !important;
}
}

.careers{
min-height:100vh;
display:flex;
align-items:center;
}
.careers-container.careers-reveal{
width:100%;
}
@media (max-width:1024px){
.careers{
min-height:90vh;
}
}
@media (max-width:600px){
.careers{
min-height:100svh;
display:flex;
align-items:center;
justify-content:center;
padding-top:20px!important;
padding-bottom:20px!important;
}
.careers-container.careers-reveal{
display:flex;
flex-direction:column;
justify-content:center;
width:100%;
}
.careers-heading{
margin-bottom:10px!important;
}
.careers-grid{
gap:12px!important;
}
}

.contact{
display:block !important;
padding:128px 280px;
}
.contact-info{
max-width:1000px;
width:100%;
margin:0 auto;
}
.contact-form-wrapper{
display:none !important;
}
@media (max-width:1024px){
.contact{padding:96px 40px !important;}
}
@media (max-width:600px){
.contact{padding:40px 20px !important;}
}

/* === Contact section map layout + dark footer tune === */
.contact{
  display:flex !important;
  align-items:center;
  justify-content:center;
  padding:clamp(84px, 8vw, 128px) clamp(40px, 10vw, 180px) !important;
  background:#ffffff;
}
.contact-layout-v2{
  width:min(1320px, 100%);
  display:grid;
  grid-template-columns:minmax(360px, 0.85fr) minmax(520px, 1.15fr);
  gap:clamp(48px, 6vw, 96px);
  align-items:center;
}
.contact-info-v2{
  max-width:520px;
  margin:0 !important;
  padding:0 !important;
  align-self:center;
}
.contact-label-v2{
  justify-content:flex-start;
  margin-bottom:22px;
}
.contact-label-v2 .text{
  color:#b17b4e;
  font-weight:600;
  letter-spacing:1.2px;
}
.contact-info-v2 h2{
  font-size:clamp(46px, 4.6vw, 72px);
  line-height:1.02;
  letter-spacing:-0.045em;
  margin-bottom:26px;
}
.contact-info-v2 .contact-description{
  max-width:480px;
  font-size:clamp(16px, 1.15vw, 18px);
  line-height:1.75;
  color:#4a5565;
  margin-bottom:42px;
  word-break:keep-all;
}
.contact-info-v2 .contact-details{
  gap:34px;
}
.contact-info-v2 .contact-detail{
  align-items:flex-start;
  gap:22px;
}
.contact-icon-circle{
  width:70px;
  height:70px;
  border-radius:50%;
  background:linear-gradient(145deg, #f7faf8 0%, #eef3f0 100%);
  color:#1b7b4a;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  box-shadow:0 16px 30px rgba(15,23,42,0.06);
}
.contact-info-v2 .contact-detail h4{
  font-size:20px;
  font-weight:800;
  color:#0f1115;
  margin-bottom:8px;
}
.contact-info-v2 .contact-detail p{
  font-size:17px;
  line-height:1.65;
  color:#384152;
  word-break:keep-all;
}
.contact-map-card{
  width:100%;
  min-height:294px;
  border-radius:24px;
  overflow:hidden;
  background:#f5f6f7;
  box-shadow:0 26px 60px rgba(15,23,42,0.10);
  border:1px solid rgba(15,23,42,0.06);
}
.contact-map-card img{
  width:100%;
  height:100%;
  min-height:294px;
  object-fit:cover;
  object-position:center;
  filter:saturate(0.95) contrast(0.98);
}

/* Footer mood matching */
.footer{
  border-top:none !important;
  background:
    radial-gradient(circle at 18% 20%, rgba(71,190,117,0.12) 0%, rgba(71,190,117,0) 28%),
    linear-gradient(135deg, #11191c 0%, #1d292d 54%, #11171a 100%) !important;
  color:#ffffff;
}
.footer-inner{
  max-width:1320px !important;
  padding:42px clamp(40px, 7vw, 110px) 42px !important;
}
.footer-logo{
  filter:brightness(0) invert(1);
}
.footer-divider{
  display:none !important;
}
.footer-top{
  margin-bottom:24px;
}
.footer-bottom{
  align-items:center !important;
}
.footer-info{
  gap:8px 26px !important;
}
.footer-info-item dt{
  color:rgba(255,255,255,0.48) !important;
}
.footer-info-item dd,
.footer-links a,
.footer-privacy-link{
  color:rgba(255,255,255,0.82) !important;
}
.footer-copyright{
  color:rgba(255,255,255,0.62) !important;
}
.footer-meta{
  align-items:flex-end !important;
}
.footer-privacy-link:hover,
.footer-links a:hover{
  color:#47be75 !important;
}

@media (max-width:1024px){
  .contact{
    padding:92px 40px !important;
  }
  .contact-layout-v2{
    grid-template-columns:1fr;
    gap:42px;
  }
  .contact-info-v2{
    max-width:720px;
  }
  .contact-map-card,
  .contact-map-card img{
    min-height:251px;
  }
  .footer-inner{
    padding:38px 40px !important;
  }
}
@media (max-width:600px){
  .contact{
    padding:56px 20px !important;
  }
  .contact-layout-v2{
    gap:30px;
  }
  .contact-label-v2{
    margin-bottom:14px;
  }
  .contact-info-v2 h2{
    font-size:42px;
    margin-bottom:18px;
  }
  .contact-info-v2 .contact-description{
    font-size:15px;
    line-height:1.7;
    margin-bottom:28px;
  }
  .contact-info-v2 .contact-details{
    gap:24px;
  }
  .contact-icon-circle{
    width:56px;
    height:56px;
  }
  .contact-info-v2 .contact-detail{
    gap:16px;
  }
  .contact-info-v2 .contact-detail h4{
    font-size:17px;
    margin-bottom:5px;
  }
  .contact-info-v2 .contact-detail p{
    font-size:14px;
  }
  .contact-map-card{
    border-radius:18px;
  }
  .contact-map-card,
  .contact-map-card img{
    min-height:240px;
  }
  .footer-inner{
    padding:34px 20px 30px !important;
  }
  .footer-bottom{
    align-items:flex-start !important;
  }
}

/* uploaded logo */
header .logo img,.header .logo img,.navbar-brand img,.footer img{
max-height:58px!important;width:auto!important;
}
/* contact map 30% smaller */
.contact-layout-v2{
grid-template-columns:1fr .82fr!important;
}
.contact-map-card{
max-width:560px;
justify-self:end;
min-height:300px!important;
}
.contact-map-card img{
min-height:300px!important;
}
/* about hero image 10% shorter */
.about-image{
height:90%!important;
max-height:364px!important;
}
.about-image img:first-child{
height:90%!important;
max-height:364px!important;
object-fit:contain;
}
@media(max-width:600px){
.contact-map-card{max-width:100%;min-height:220px!important}
.contact-map-card img{min-height:220px!important}
.about-image{max-height:300px!important}
.about-image img:first-child{max-height:300px!important}
}

header .logo img,.navbar-brand img{max-height:68px!important;width:auto!important;}
.footer img{max-height:64px!important;width:auto!important;}
.contact-layout-v2{grid-template-columns:1fr .9fr!important;}
.contact-map-card{
max-width:500px!important;
min-height:280px!important;
justify-self:end;
}
.contact-map-card img{
width:100%;
height:280px!important;
object-fit:cover;
}
.footer{
padding-top:0!important;
}
.footer-inner{
padding:28px clamp(36px,6vw,90px)!important;
min-height:150px!important;
display:flex;
flex-direction:column;
justify-content:center;
}

/* === Final balance tune: Contact + Footer === */
.contact{
  padding:clamp(72px, 7vw, 112px) clamp(28px, 7vw, 120px) !important;
  background:linear-gradient(180deg, #ffffff 0%, #fbfcfb 100%) !important;
}

.contact-layout-v2{
  width:min(1180px, 100%) !important;
  display:grid !important;
  grid-template-columns:0.9fr 1.1fr !important;
  gap:clamp(36px, 5vw, 64px) !important;
  align-items:stretch !important;
  margin:0 auto !important;
}

.contact-info-v2{
  max-width:none !important;
  min-height:294px;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  padding:44px 0 !important;
}

.contact-info-v2 h2{
  font-size:clamp(42px, 4.4vw, 64px) !important;
  margin-bottom:20px !important;
}

.contact-info-v2 .contact-description{
  margin-bottom:34px !important;
  max-width:430px !important;
}

.contact-info-v2 .contact-details{
  gap:26px !important;
}

.contact-icon-circle{
  width:60px !important;
  height:60px !important;
}

.contact-info-v2 .contact-detail{
  gap:18px !important;
}

.contact-info-v2 .contact-detail h4{
  font-size:18px !important;
}

.contact-info-v2 .contact-detail p{
  font-size:15px !important;
}

.contact-map-card{
  width:100% !important;
  max-width:none !important;
  min-height:294px !important;
  height:100% !important;
  justify-self:stretch !important;
  align-self:stretch !important;
  border-radius:28px !important;
  overflow:hidden !important;
  box-shadow:0 24px 64px rgba(15, 23, 42, 0.10) !important;
  border:1px solid rgba(17, 24, 39, 0.08) !important;
  background:#f4f5f4 !important;
}

.contact-map-card img{
  width:100% !important;
  height:100% !important;
  min-height:294px !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* Footer: single balanced dark band */
.footer{
  background:
    radial-gradient(circle at 18% 10%, rgba(71,190,117,0.12) 0%, rgba(71,190,117,0) 32%),
    linear-gradient(135deg, #11181b 0%, #172326 54%, #101518 100%) !important;
  border-top:none !important;
}

.footer-inner{
  width:min(1180px, calc(100% - 56px)) !important;
  max-width:none !important;
  min-height:134px !important;
  padding:26px 0 !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:1.1fr 1.35fr 0.95fr !important;
  align-items:center !important;
  gap:28px !important;
}

.footer-top{
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

.footer-logo{
  max-width:180px !important;
  width:180px !important;
  height:auto !important;
  filter:none !important;
}

.footer-divider{
  display:none !important;
}

.footer-bottom{
  display:contents !important;
}

.footer-info{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:6px !important;
  margin:0 !important;
}

.footer-info-item{
  display:flex !important;
  align-items:baseline !important;
  gap:10px !important;
  margin:0 !important;
}

.footer-info-item dt{
  min-width:72px !important;
  font-size:11px !important;
  color:rgba(255,255,255,0.45) !important;
}

.footer-info-item dd{
  font-size:13px !important;
  line-height:1.55 !important;
  color:rgba(255,255,255,0.78) !important;
}

.footer-info-address{
  grid-column:auto !important;
}

.footer-meta{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  justify-content:center !important;
  gap:12px !important;
  text-align:right !important;
}

.footer-copyright{
  font-size:12px !important;
  color:rgba(255,255,255,0.56) !important;
}

.footer-links{
  display:flex !important;
  gap:18px !important;
}

.footer-links a,
.footer-privacy-link{
  font-size:12px !important;
  color:rgba(255,255,255,0.82) !important;
  text-decoration:underline !important;
  text-underline-offset:3px !important;
}

@media (max-width:1024px){
  .contact-layout-v2{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }
  .contact-info-v2{
    min-height:auto !important;
    padding:0 !important;
  }
  .contact-map-card,
  .contact-map-card img{
    min-height:340px !important;
  }

  .footer-inner{
    width:calc(100% - 80px) !important;
    grid-template-columns:1fr 1.4fr !important;
    gap:28px !important;
  }
  .footer-meta{
    grid-column:1 / -1 !important;
    flex-direction:row !important;
    justify-content:space-between !important;
    align-items:center !important;
    text-align:left !important;
    border-top:1px solid rgba(255,255,255,0.12);
    padding-top:20px !important;
  }
}

@media (max-width:600px){
  .contact{
    padding:52px 20px !important;
  }
  .contact-layout-v2{
    gap:26px !important;
  }
  .contact-info-v2 h2{
    font-size:40px !important;
    margin-bottom:16px !important;
  }
  .contact-info-v2 .contact-description{
    margin-bottom:26px !important;
  }
  .contact-icon-circle{
    width:52px !important;
    height:52px !important;
  }
  .contact-info-v2 .contact-detail{
    gap:14px !important;
  }
  .contact-map-card{
    border-radius:20px !important;
  }
  .contact-map-card,
  .contact-map-card img{
    min-height:250px !important;
  }

  .footer-inner{
    width:calc(100% - 40px) !important;
    min-height:auto !important;
    padding:30px 0 !important;
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  .footer-logo{
    width:150px !important;
  }
  .footer-info-item{
    display:grid !important;
    grid-template-columns:72px 1fr !important;
    gap:8px !important;
  }
  .footer-meta{
    grid-column:auto !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:10px !important;
    padding-top:18px !important;
  }
}

/* === Contact & Footer layout matched to reference image === */
.contact{
  background:#fff !important;
  padding:78px 0 76px !important;
}
.contact-layout-v2{
  width:min(1200px, calc(100% - 120px)) !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:390px 1fr !important;
  gap:72px !important;
  align-items:start !important;
}
.contact-info-v2{
  min-height:auto !important;
  padding:0 !important;
  justify-content:flex-start !important;
}
.contact-label-v2{
  margin:0 0 18px !important;
}
.contact-label-v2 .text{
  color:#b8845d !important;
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:.06em !important;
}
.contact-info-v2 h2{
  margin:0 0 24px !important;
  color:#050607 !important;
  font-size:48px !important;
  line-height:1.05 !important;
  letter-spacing:-.04em !important;
  font-weight:800 !important;
}
.contact-info-v2 .contact-description{
  margin:0 0 34px !important;
  max-width:360px !important;
  color:#4b5563 !important;
  font-size:15px !important;
  line-height:1.72 !important;
  word-break:keep-all !important;
}
.contact-info-v2 .contact-details{
  gap:28px !important;
}
.contact-info-v2 .contact-detail{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
}
.contact-icon-circle{
  width:58px !important;
  height:58px !important;
  border-radius:50% !important;
  background:#f0f4f2 !important;
  color:#147a45 !important;
  box-shadow:none !important;
}
.contact-icon-circle svg{
  width:24px !important;
  height:24px !important;
}
.contact-info-v2 .contact-detail h4{
  margin:0 0 6px !important;
  color:#050607 !important;
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}
.contact-info-v2 .contact-detail p{
  margin:0 !important;
  color:#4b5563 !important;
  font-size:15px !important;
  line-height:1.55 !important;
}
.contact-map-card{
  width:100% !important;
  max-width:none !important;
  height:301px !important;
  min-height:301px !important;
  align-self:start !important;
  justify-self:stretch !important;
  border-radius:18px !important;
  overflow:hidden !important;
  border:1px solid rgba(17,24,39,.07) !important;
  box-shadow:0 16px 40px rgba(15,23,42,.08) !important;
  background:#f6f7f6 !important;
}
.contact-map-card img{
  width:100% !important;
  height:301px !important;
  min-height:301px !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* Footer matched to reference */
.footer{
  background:linear-gradient(135deg,#0e1a1e 0%,#17282c 54%,#10191d 100%) !important;
  border-top:none !important;
}
.footer-inner{
  width:min(1200px, calc(100% - 120px)) !important;
  max-width:none !important;
  min-height:150px !important;
  margin:0 auto !important;
  padding:30px 0 !important;
  display:grid !important;
  grid-template-columns:1.6fr 1fr 1.35fr !important;
  gap:34px !important;
  align-items:center !important;
}
.footer-top{
  margin:0 !important;
  display:block !important;
}
.footer-logo{
  width:142px !important;
  max-width:142px !important;
  height:auto !important;
  filter:none !important;
  margin-bottom:18px !important;
}
.footer-divider{display:none !important;}
.footer-bottom{display:contents !important;}
.footer-info{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  margin:0 !important;
}
.footer-info-item{
  margin:0 !important;
  display:flex !important;
  gap:0 !important;
}
.footer-info-item dt{
  display:none !important;
}
.footer-info-item dd{
  margin:0 !important;
  color:rgba(255,255,255,.86) !important;
  font-size:13px !important;
  line-height:1.6 !important;
}
.footer-info::after{
  content:"";
  position:absolute;
}
.footer-bottom::before{
  content:"";
  width:1px;
  height:52px;
  background:rgba(255,255,255,.28);
  justify-self:center;
}
.footer-meta{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:10px !important;
  text-align:left !important;
}
.footer-copyright{
  color:rgba(255,255,255,.72) !important;
  font-size:13px !important;
  line-height:1.5 !important;
}
.footer-links{
  display:flex !important;
  gap:28px !important;
}
.footer-links a,
.footer-privacy-link{
  color:rgba(255,255,255,.9) !important;
  font-size:13px !important;
  text-decoration:underline !important;
  text-underline-offset:3px !important;
}
/* Create footer contact middle from existing info using layout only */
.footer-inner > .footer-top{
  grid-column:1;
}
.footer-inner > .footer-bottom{
  grid-column:auto;
}

@media (max-width:1024px){
  .contact{padding:72px 0 !important;}
  .contact-layout-v2{
    width:calc(100% - 80px) !important;
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
  .contact-info-v2 .contact-description{max-width:560px !important;}
  .contact-map-card,
  .contact-map-card img{
    height:251px !important;
    min-height:251px !important;
  }
  .footer-inner{
    width:calc(100% - 80px) !important;
    grid-template-columns:1fr !important;
    gap:22px !important;
    padding:34px 0 !important;
  }
  .footer-bottom::before{display:none !important;}
  .footer-meta{
    border-top:1px solid rgba(255,255,255,.15);
    padding-top:18px !important;
  }
}
@media (max-width:600px){
  .contact{
    padding:54px 0 52px !important;
  }
  .contact-layout-v2{
    width:calc(100% - 40px) !important;
    gap:28px !important;
  }
  .contact-info-v2 h2{
    font-size:40px !important;
    margin-bottom:18px !important;
  }
  .contact-info-v2 .contact-description{
    font-size:14px !important;
    margin-bottom:28px !important;
  }
  .contact-info-v2 .contact-details{
    gap:24px !important;
  }
  .contact-icon-circle{
    width:52px !important;
    height:52px !important;
  }
  .contact-info-v2 .contact-detail{
    gap:14px !important;
  }
  .contact-info-v2 .contact-detail h4{
    font-size:16px !important;
  }
  .contact-info-v2 .contact-detail p{
    font-size:14px !important;
  }
  .contact-map-card,
  .contact-map-card img{
    height:250px !important;
    min-height:250px !important;
  }
  .footer-inner{
    width:calc(100% - 40px) !important;
    min-height:auto !important;
    padding:30px 0 !important;
  }
  .footer-logo{
    width:132px !important;
    max-width:132px !important;
    margin-bottom:14px !important;
  }
  .footer-links{
    gap:20px !important;
  }
}

.header .logo img,.logo img{
height:60px!important;
width:auto!important;
object-fit:contain!important;
}

.contact-layout-v2{
  align-items:start!important;
}
.contact-info-v2{
  align-self:start!important;
}
.contact-map-card{
  align-self:start!important;
  height:340px!important;
  min-height:340px!important;
  max-height:340px!important;
}
.contact-map-card img{
  height:340px!important;
  min-height:340px!important;
  object-fit:cover!important;
}
@media (max-width:1024px){
 .contact-map-card,.contact-map-card img{
   height:300px!important;min-height:300px!important;
 }
}
@media (max-width:600px){
 .contact-map-card,.contact-map-card img{
   height:240px!important;min-height:240px!important;
 }
}

/* Footer/Privacy styles moved to /css/footer.css */

/* 네이버 지도 연결 영역 */
.contact-map-card.naver-map-card{
  position:relative !important;
  background:#eef3f0 !important;
}
.contact-map-card.naver-map-card iframe{
  width:100% !important;
  height:100% !important;
  min-height:294px !important;
  border:0 !important;
  display:block !important;
}
.naver-map-fallback{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:16px 18px;
  border-radius:18px;
  background:rgba(255,255,255,0.94);
  box-shadow:0 14px 34px rgba(15,23,42,0.14);
  backdrop-filter:blur(8px);
  z-index:2;
}
.naver-map-fallback p{
  margin:0;
  color:#1f2937;
  font-size:14px;
  line-height:1.55;
  word-break:keep-all;
}
.naver-map-fallback strong{
  color:#1b5e3b;
  font-size:15px;
}
.naver-map-fallback a{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  background:#1b5e3b;
  color:#fff;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  transition:background .2s ease, transform .2s ease;
}
.naver-map-fallback a:hover{
  background:#47be75;
  transform:translateY(-1px);
}
@media (max-width:1024px){
  .contact-map-card.naver-map-card iframe{min-height:340px !important;}
}
@media (max-width:600px){
  .contact-map-card.naver-map-card iframe{min-height:250px !important;}
  .naver-map-fallback{
    left:12px;
    right:12px;
    bottom:12px;
    flex-direction:column;
    align-items:flex-start;
    padding:14px;
  }
  .naver-map-fallback a{width:100%;}
}

/* Final: NeoSpade logo green + square Naver map card */
:root{ --neospade-green:#50c878; }
.hero-title .highlight,
.about-title .highlight-green,
.work-letter,
.work-content h3,
.footer-privacy-link:hover,
.footer-links a:hover{ color:var(--neospade-green) !important; }
.scroll-indicator .wheel,
.side-nav-dot.active{ background-color:var(--neospade-green) !important; border-color:var(--neospade-green) !important; }
.contact-icon-circle{ color:var(--neospade-green) !important; }
.contact-layout-v2{
  grid-template-columns: minmax(360px, 0.95fr) minmax(360px, 1fr) !important;
  align-items:center !important;
}
.contact-map-card.naver-map-card{
  width:min(100%, 460px) !important;
  max-width:460px !important;
  min-height:0 !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  justify-self:center !important;
  align-self:center !important;
  border-radius:28px !important;
  overflow:hidden !important;
  background:#eef3f0 !important;
  box-shadow:0 24px 64px rgba(15,23,42,0.10) !important;
}
.contact-map-card.naver-map-card iframe{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  border:0 !important;
}
.naver-map-fallback{
  left:16px !important;
  right:16px !important;
  bottom:16px !important;
}
.naver-map-fallback strong{ color:var(--neospade-green) !important; }
.naver-map-fallback a{ background:#1b5e3b !important; }
.naver-map-fallback a:hover{ background:var(--neospade-green) !important; color:#0b1f14 !important; }
@media (max-width:1024px){
  .contact-layout-v2{ grid-template-columns:1fr !important; }
  .contact-map-card.naver-map-card{ width:min(100%, 420px) !important; max-width:420px !important; justify-self:start !important; }
}
@media (max-width:600px){
  .contact-map-card.naver-map-card{ width:100% !important; max-width:360px !important; border-radius:22px !important; justify-self:center !important; }
  .naver-map-fallback{ left:12px !important; right:12px !important; bottom:12px !important; }
}

/* Naver Place reference map: square card aligned with Contact section */
.contact-map-card.naver-map-card{
  position:relative !important;
  width:min(100%, 460px) !important;
  max-width:460px !important;
  aspect-ratio:1 / 1 !important;
  min-height:0 !important;
  height:auto !important;
  border-radius:26px !important;
  overflow:hidden !important;
  background:#edf4ef !important;
  box-shadow:0 22px 56px rgba(15,23,42,0.12) !important;
  border:1px solid rgba(17,24,39,0.08) !important;
}
.contact-map-card.naver-map-card iframe{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  border:0 !important;
  background:#edf4ef !important;
}
.naver-map-fallback{
  left:14px !important;
  right:auto !important;
  top:14px !important;
  bottom:auto !important;
  max-width:300px !important;
  align-items:flex-start !important;
  padding:14px 16px !important;
  border-radius:4px !important;
  background:rgba(255,255,255,0.96) !important;
  box-shadow:0 2px 8px rgba(15,23,42,0.18) !important;
}
.naver-map-fallback p{font-size:13px !important; line-height:1.55 !important;}
.naver-map-fallback strong{font-size:15px !important; color:#111827 !important;}
.naver-map-fallback a{
  margin-top:2px !important;
  padding:8px 11px !important;
  border-radius:999px !important;
  background:#50c878 !important;
  color:#08351f !important;
}
@media (max-width:1024px){
  .contact-map-card.naver-map-card{width:min(100%, 420px) !important; max-width:420px !important;}
}
@media (max-width:600px){
  .contact-map-card.naver-map-card{width:100% !important; max-width:360px !important; border-radius:22px !important;}
  .naver-map-fallback{left:12px !important; right:12px !important; top:12px !important; max-width:none !important;}
}

/* 지도 카드 30% 확대 + 반응형 정사각형 유지 */
.contact-layout-v2{
  grid-template-columns:minmax(360px, 0.82fr) minmax(520px, 1.18fr) !important;
  gap:clamp(42px, 5vw, 78px) !important;
  align-items:center !important;
}
.contact-map-card.naver-map-card{
  width:min(100%, 600px) !important;
  max-width:600px !important;
  aspect-ratio:1 / 1 !important;
  height:auto !important;
  min-height:0 !important;
  justify-self:center !important;
  align-self:center !important;
}
.contact-map-card.naver-map-card iframe{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
}
@media (max-width:1024px){
  .contact-layout-v2{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
  .contact-map-card.naver-map-card{
    width:min(100%, 560px) !important;
    max-width:560px !important;
    justify-self:center !important;
  }
}
@media (max-width:600px){
  .contact-map-card.naver-map-card{
    width:100% !important;
    max-width:420px !important;
    border-radius:22px !important;
  }
}

/* 지도 카드: 정사각형에서 넓은 직사각형으로 변경 + 현재보다 약 30% 확대 + 반응형 */
.contact-layout-v2{
  width:min(1320px, calc(100% - 120px)) !important;
  grid-template-columns:minmax(340px, 0.72fr) minmax(680px, 1.28fr) !important;
  gap:clamp(44px, 5vw, 78px) !important;
  align-items:center !important;
}
.contact-map-card.naver-map-card{
  position:relative !important;
  width:min(100%, 780px) !important;
  max-width:780px !important;
  aspect-ratio:13 / 10 !important;
  height:auto !important;
  min-height:0 !important;
  justify-self:center !important;
  align-self:center !important;
  border-radius:28px !important;
  overflow:hidden !important;
}
.contact-map-card.naver-map-card iframe{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  border:0 !important;
}
.naver-map-fallback{
  left:18px !important;
  top:18px !important;
  right:auto !important;
  bottom:auto !important;
  max-width:340px !important;
  padding:16px 18px !important;
}
.naver-map-fallback p{
  font-size:13px !important;
  line-height:1.6 !important;
}
.naver-map-fallback strong{
  font-size:15px !important;
}
@media (max-width:1180px){
  .contact-layout-v2{
    width:min(1120px, calc(100% - 80px)) !important;
    grid-template-columns:minmax(320px, 0.78fr) minmax(560px, 1.22fr) !important;
    gap:40px !important;
  }
  .contact-map-card.naver-map-card{
    width:min(100%, 720px) !important;
    max-width:720px !important;
  }
}
@media (max-width:1024px){
  .contact-layout-v2{
    width:calc(100% - 80px) !important;
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
  .contact-map-card.naver-map-card{
    width:100% !important;
    max-width:760px !important;
    aspect-ratio:13 / 10 !important;
    justify-self:center !important;
  }
}
@media (max-width:600px){
  .contact-layout-v2{
    width:100% !important;
    gap:26px !important;
  }
  .contact-map-card.naver-map-card{
    width:100% !important;
    max-width:100% !important;
    aspect-ratio:4 / 3 !important;
    border-radius:22px !important;
  }
  .naver-map-fallback{
    left:12px !important;
    right:12px !important;
    top:12px !important;
    max-width:none !important;
    padding:13px 14px !important;
  }
  .naver-map-fallback p{font-size:12px !important;}
  .naver-map-fallback strong{font-size:14px !important;}
}

/* 지도 카드 세로 50% 확대 + 반응형 최종 조정 */
.contact-layout-v2{
  width:min(1380px, calc(100% - 120px)) !important;
  grid-template-columns:minmax(340px, 0.68fr) minmax(720px, 1.32fr) !important;
  gap:clamp(44px, 5vw, 84px) !important;
  align-items:center !important;
}
.contact-map-card.naver-map-card{
  position:relative !important;
  width:min(100%, 780px) !important;
  max-width:780px !important;
  aspect-ratio:13 / 15 !important; /* 기존 직사각형 대비 세로 약 50% 확대 */
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  justify-self:center !important;
  align-self:center !important;
  border-radius:28px !important;
  overflow:hidden !important;
}
.contact-map-card.naver-map-card iframe{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  border:0 !important;
}
.naver-map-fallback{
  left:18px !important;
  top:18px !important;
  right:auto !important;
  bottom:auto !important;
  max-width:340px !important;
  padding:16px 18px !important;
  z-index:2 !important;
}
@media (max-width:1180px){
  .contact-layout-v2{
    width:min(1120px, calc(100% - 80px)) !important;
    grid-template-columns:minmax(320px, 0.78fr) minmax(560px, 1.22fr) !important;
    gap:40px !important;
  }
  .contact-map-card.naver-map-card{
    width:min(100%, 720px) !important;
    max-width:720px !important;
    aspect-ratio:13 / 15 !important;
  }
}
@media (max-width:1024px){
  .contact-layout-v2{
    width:calc(100% - 80px) !important;
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
  .contact-map-card.naver-map-card{
    width:100% !important;
    max-width:760px !important;
    aspect-ratio:13 / 15 !important;
    justify-self:center !important;
  }
}
@media (max-width:600px){
  .contact-layout-v2{
    width:100% !important;
    gap:26px !important;
  }
  .contact-map-card.naver-map-card{
    width:100% !important;
    max-width:100% !important;
    aspect-ratio:auto !important;
    height:364px !important;
    border-radius:22px !important;
  }
  .naver-map-fallback{
    left:12px !important;
    right:12px !important;
    top:12px !important;
    max-width:none !important;
    padding:13px 14px !important;
  }
  .naver-map-fallback p{font-size:12px !important;}
  .naver-map-fallback strong{font-size:14px !important;}
}
@media (max-width:380px){
  .contact-map-card.naver-map-card{
    height:336px !important;
  }
}

/* Google Map: 기존 세로 확대 상태에서 높이 30% 축소 + 반응형 적용 */
.contact-layout-v2{
  width:min(1380px, calc(100% - 120px)) !important;
  grid-template-columns:minmax(340px, 0.68fr) minmax(720px, 1.32fr) !important;
  gap:clamp(44px, 5vw, 84px) !important;
  align-items:center !important;
}
.contact-map-card.google-map-card{
  position:relative !important;
  width:min(100%, 780px) !important;
  max-width:780px !important;
  aspect-ratio:26 / 21 !important; /* 이전 높이 대비 약 30% 축소 */
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  justify-self:center !important;
  align-self:center !important;
  border-radius:28px !important;
  overflow:hidden !important;
  background:#edf4ef !important;
  box-shadow:0 24px 64px rgba(15,23,42,0.12) !important;
  border:1px solid rgba(17,24,39,0.08) !important;
}
.contact-map-card.google-map-card iframe{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  border:0 !important;
  display:block !important;
  background:#edf4ef !important;
}
.contact-map-card.google-map-card .naver-map-fallback{
  left:18px !important;
  top:18px !important;
  right:auto !important;
  bottom:auto !important;
  max-width:340px !important;
  padding:16px 18px !important;
  z-index:2 !important;
}
.contact-map-card.google-map-card .naver-map-fallback a{
  background:#50c878 !important;
  color:#08351f !important;
}
@media (max-width:1180px){
  .contact-layout-v2{
    width:min(1120px, calc(100% - 80px)) !important;
    grid-template-columns:minmax(320px, 0.78fr) minmax(560px, 1.22fr) !important;
    gap:40px !important;
  }
  .contact-map-card.google-map-card{
    width:min(100%, 720px) !important;
    max-width:720px !important;
    aspect-ratio:26 / 21 !important;
  }
}
@media (max-width:1024px){
  .contact-layout-v2{
    width:calc(100% - 80px) !important;
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
  .contact-map-card.google-map-card{
    width:100% !important;
    max-width:760px !important;
    aspect-ratio:26 / 21 !important;
    justify-self:center !important;
  }
}
@media (max-width:600px){
  .contact-layout-v2{
    width:100% !important;
    gap:26px !important;
  }
  .contact-map-card.google-map-card{
    width:100% !important;
    max-width:100% !important;
    aspect-ratio:auto !important;
    height:254px !important;
    border-radius:22px !important;
  }
  .contact-map-card.google-map-card .naver-map-fallback{
    left:12px !important;
    right:12px !important;
    top:12px !important;
    max-width:none !important;
    padding:13px 14px !important;
  }
  .contact-map-card.google-map-card .naver-map-fallback p{font-size:12px !important;}
  .contact-map-card.google-map-card .naver-map-fallback strong{font-size:14px !important;}
}
@media (max-width:380px){
  .contact-map-card.google-map-card{
    height:336px !important;
  }
}

/* === Contact map final balance: keep map smaller and aligned with contact text === */
.contact-layout-v2{
  width:min(1120px, calc(100% - 80px)) !important;
  grid-template-columns:minmax(360px, 0.92fr) minmax(360px, 0.88fr) !important;
  gap:clamp(36px, 4.5vw, 58px) !important;
  align-items:center !important;
}

.contact-info-v2{
  min-height:auto !important;
  padding:24px 0 !important;
}

.contact-map-card{
  width:min(507px,100%) !important;
  height:397px !important;
  min-height:397px !important;
  max-width:507px !important;
  justify-self:end !important;
  align-self:center !important;
  border-radius:24px !important;
  overflow:hidden !important;
}

.contact-map-card iframe,
.contact-map-card img{
  width:100% !important;
  height:100% !important;
  min-height:397px !important;
  object-fit:cover !important;
  border:0 !important;
}

@media (max-width:1024px){
  .contact-layout-v2{
    width:calc(100% - 80px) !important;
    grid-template-columns:1fr !important;
    gap:32px !important;
  }
  .contact-map-card{
    width:100% !important;
    max-width:100% !important;
    height:375px !important;
    min-height:375px !important;
    justify-self:stretch !important;
  }
  .contact-map-card iframe,
  .contact-map-card img{
    min-height:375px !important;
  }
}

@media (max-width:600px){
  .contact-layout-v2{
    width:100% !important;
  }
  .contact-map-card{
    height:309px !important;
    min-height:309px !important;
    border-radius:20px !important;
  }
  .contact-map-card iframe,
  .contact-map-card img{
    min-height:309px !important;
  }
}

/* === Google Maps Embed: scale + crop to minimize default info box overlap === */
.contact-map-card{
  overflow:hidden !important;
  position:relative !important;
}

.contact-map-card iframe{
  width:112% !important;
  height:112% !important;
  border:0 !important;
  transform:translate(-5%, -6%) scale(1.13) !important;
  transform-origin:center center !important;
}

.contact-map-card{
    width:100% !important;
    max-width:560px !important;
    min-height:325px !important;
    height:325px !important;
    justify-self:end !important;
}
.contact-map-card iframe,
.contact-map-card img{
    width:100% !important;
    height:325px !important;
    min-height:325px !important;
    object-fit:cover !important;
}
@media (max-width:1024px){
 .contact-map-card{
   max-width:100% !important;
   min-height:305px !important;
   height:305px !important;
 }
 .contact-map-card iframe,
 .contact-map-card img{
   height:305px !important;
   min-height:305px !important;
 }
}
@media (max-width:600px){
 .contact-map-card{
   min-height:265px !important;
   height:265px !important;
 }
 .contact-map-card iframe,
 .contact-map-card img{
   height:265px !important;
   min-height:265px !important;
 }
}

.contact-layout-v2{
  grid-template-columns:0.88fr 1.12fr !important;
}
.contact-map-card{
  max-width:620px !important;
  width:100% !important;
  height:360px !important;
  min-height:360px !important;
  justify-self:end !important;
}
.contact-map-card iframe,
.contact-map-card img{
  width:100% !important;
  height:360px !important;
  min-height:360px !important;
  object-fit:cover !important;
}
@media (max-width:1024px){
  .contact-map-card{
    max-width:100% !important;
    height:330px !important;
    min-height:330px !important;
  }
  .contact-map-card iframe,
  .contact-map-card img{
    height:330px !important;
    min-height:330px !important;
  }
}
@media (max-width:600px){
  .contact-map-card{
    height:290px !important;
    min-height:290px !important;
  }
  .contact-map-card iframe,
  .contact-map-card img{
    height:290px !important;
    min-height:290px !important;
  }
}

/* === NEO letter cards: individual premium colors + click/touch interaction === */
.work-card:nth-child(1) .work-letter{
  color:#50c878 !important;
  text-shadow:0 0 22px rgba(80,200,120,.22);
}
.work-card:nth-child(2) .work-letter{
  color:#60a5fa !important;
  text-shadow:0 0 22px rgba(96,165,250,.22);
}
.work-card:nth-child(3) .work-letter{
  color:#a78bfa !important;
  text-shadow:0 0 22px rgba(167,139,250,.22);
}

.work-card:nth-child(1):hover,
.work-card:nth-child(1):active,
.work-card:nth-child(1):focus-within{
  border-color:#50c878 !important;
  box-shadow:0 24px 60px rgba(80,200,120,.16), inset 0 0 0 1px rgba(80,200,120,.12);
}
.work-card:nth-child(2):hover,
.work-card:nth-child(2):active,
.work-card:nth-child(2):focus-within{
  border-color:#60a5fa !important;
  box-shadow:0 24px 60px rgba(96,165,250,.16), inset 0 0 0 1px rgba(96,165,250,.12);
}
.work-card:nth-child(3):hover,
.work-card:nth-child(3):active,
.work-card:nth-child(3):focus-within{
  border-color:#a78bfa !important;
  box-shadow:0 24px 60px rgba(167,139,250,.16), inset 0 0 0 1px rgba(167,139,250,.12);
}

.work-card:nth-child(1):active .work-letter{
  color:#7ee2a3 !important;
}
.work-card:nth-child(2):active .work-letter{
  color:#93c5fd !important;
}
.work-card:nth-child(3):active .work-letter{
  color:#c4b5fd !important;
}

/* === Mobile contact map placement: below email/contact details and full width === */
@media (max-width:600px){
  .contact{
    padding:56px 20px !important;
  }

  .contact-layout-v2{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    gap:26px !important;
  }

  .contact-info-v2{
    width:100% !important;
    max-width:100% !important;
    order:1 !important;
    padding:0 !important;
  }

  .contact-map-card{
    order:2 !important;
    width:100% !important;
    max-width:100% !important;
    height:300px !important;
    min-height:300px !important;
    justify-self:stretch !important;
    align-self:stretch !important;
    border-radius:20px !important;
    margin-top:4px !important;
  }

  .contact-map-card iframe,
  .contact-map-card img{
    width:112% !important;
    height:112% !important;
    min-height:300px !important;
    object-fit:cover !important;
    border:0 !important;
  }

  .contact-map-card iframe{
    transform:translate(-5%, -6%) scale(1.13) !important;
    transform-origin:center center !important;
  }
}

/* === 2026-06 final request tune ===
   1) About: '미래를 만들어갑니다' dark green
   2) How we work: E/O letters match N color
   3) Careers: transparent glass cards + top-to-bottom sequential reveal
*/
:root{
  --neos-dark-green:#1b5e3b;
  --neos-neo-green:#50c878;
  --neos-glass-border:rgba(27,94,59,.16);
}

/* About title highlight: 미래를 만들어갑니다 */
.about-title .highlight-green{
  color:var(--neos-dark-green) !important;
}

/* How We Work: N, E, O letter colors unified */
.work-card:nth-child(1) .work-letter,
.work-card:nth-child(2) .work-letter,
.work-card:nth-child(3) .work-letter{
  color:var(--neos-neo-green) !important;
  text-shadow:0 0 24px rgba(80,200,120,.24) !important;
}
.work-card:nth-child(1):hover,
.work-card:nth-child(1):active,
.work-card:nth-child(1):focus-within,
.work-card:nth-child(2):hover,
.work-card:nth-child(2):active,
.work-card:nth-child(2):focus-within,
.work-card:nth-child(3):hover,
.work-card:nth-child(3):active,
.work-card:nth-child(3):focus-within{
  border-color:var(--neos-neo-green) !important;
  box-shadow:0 24px 60px rgba(80,200,120,.16), inset 0 0 0 1px rgba(80,200,120,.12) !important;
}
.work-card:nth-child(1):active .work-letter,
.work-card:nth-child(2):active .work-letter,
.work-card:nth-child(3):active .work-letter{
  color:#7ee2a3 !important;
}

/* Careers section: premium glass card look */
.careers{
  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 18% 16%, rgba(80,200,120,.12) 0%, rgba(80,200,120,0) 34%),
    radial-gradient(circle at 86% 78%, rgba(27,94,59,.10) 0%, rgba(27,94,59,0) 30%),
    linear-gradient(180deg, #ffffff 0%, #f7fbf8 100%) !important;
}
.careers::before{
  content:"";
  position:absolute;
  inset:clamp(18px, 4vw, 56px);
  border-radius:42px;
  pointer-events:none;
  background:linear-gradient(135deg, rgba(255,255,255,.42), rgba(255,255,255,0));
  border:1px solid rgba(255,255,255,.58);
  opacity:.58;
}
.careers-container.careers-reveal{
  position:relative !important;
  z-index:1 !important;
}
.careers-heading{
  align-items:flex-start !important;
}
.careers-title{
  color:#101815 !important;
}
.careers-subtitle{
  color:#1f2b25 !important;
}

.career-item{
  position:relative !important;
  width:100% !important;
  padding:24px 26px !important;
  border-radius:26px !important;
  background:linear-gradient(135deg, rgba(255,255,255,.66), rgba(255,255,255,.34)) !important;
  border:1px solid rgba(255,255,255,.70) !important;
  box-shadow:
    0 18px 45px rgba(15,23,42,.08),
    inset 0 1px 0 rgba(255,255,255,.62),
    inset 0 -1px 0 rgba(27,94,59,.06) !important;
  backdrop-filter:blur(18px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12) !important;
  overflow:hidden !important;
  transition:
    opacity .72s ease,
    transform .72s cubic-bezier(.22,1,.36,1),
    border-color .35s ease,
    box-shadow .35s ease,
    background .35s ease !important;
}
.career-item::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(120deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,.16) 35%, rgba(80,200,120,.08) 100%);
  opacity:.82;
}
.career-item > *{
  position:relative;
  z-index:1;
}
.career-item:hover{
  transform:translateY(-6px) !important;
  border-color:rgba(80,200,120,.34) !important;
  background:linear-gradient(135deg, rgba(255,255,255,.76), rgba(255,255,255,.42)) !important;
  box-shadow:
    0 24px 64px rgba(15,23,42,.11),
    0 0 0 1px rgba(80,200,120,.10),
    0 0 34px rgba(80,200,120,.12),
    inset 0 1px 0 rgba(255,255,255,.78) !important;
}
.career-text h4{
  color:#111b16 !important;
  letter-spacing:-.025em !important;
}
.career-text .letter-highlight{
  color:var(--neos-dark-green) !important;
}
.career-text p{
  color:#536157 !important;
}
.career-icon-wrapper{
  border-radius:22px !important;
  background:rgba(255,255,255,.32) !important;
  border:1px solid rgba(255,255,255,.54) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.54) !important;
}

/* Top -> bottom sequential reveal */
.careers-reveal .reveal-seq{
  opacity:0 !important;
  transform:translateY(-34px) !important;
  filter:blur(8px) !important;
  transition:
    opacity .72s ease,
    transform .72s cubic-bezier(.22,1,.36,1),
    filter .72s ease !important;
  will-change:opacity, transform, filter;
}
.careers-reveal.is-visible .reveal-seq{
  opacity:1 !important;
  transform:translateY(0) !important;
  filter:blur(0) !important;
}
.careers-reveal.is-visible .careers-heading .reveal-seq:nth-child(1){ transition-delay:.04s !important; }
.careers-reveal.is-visible .careers-heading .reveal-seq:nth-child(2){ transition-delay:.16s !important; }
.careers-reveal.is-visible .careers-grid .reveal-seq:nth-child(1){ transition-delay:.30s !important; }
.careers-reveal.is-visible .careers-grid .reveal-seq:nth-child(2){ transition-delay:.48s !important; }
.careers-reveal.is-visible .careers-grid .reveal-seq:nth-child(3){ transition-delay:.66s !important; }
.careers-reveal.is-visible .careers-grid .reveal-seq:nth-child(4){ transition-delay:.84s !important; }

@media (max-width:1024px){
  .career-item{
    padding:22px 24px !important;
  }
}
@media (max-width:600px){
  .careers::before{
    inset:12px;
    border-radius:28px;
  }
  .career-item{
    padding:18px 18px !important;
    border-radius:22px !important;
    gap:14px !important;
  }
  .career-icon-wrapper{
    width:66px !important;
    height:66px !important;
    border-radius:18px !important;
  }
  .career-icon-wrapper svg{
    width:46px !important;
    height:46px !important;
  }
  .career-text h4{
    font-size:23px !important;
  }
  .career-text p{
    font-size:14px !important;
    line-height:1.45 !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .careers-reveal .reveal-seq,
  .careers-reveal.is-visible .reveal-seq{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
  }
}

@media (max-width:600px){
.careers-heading{gap:4px!important;margin-bottom:8px!important;}
.careers-title{font-size:28px!important;line-height:1.05!important;}
.careers-subtitle{font-size:16px!important;line-height:1.4!important;}
.careers-grid{gap:10px!important;}
.career-item{gap:10px!important;align-items:flex-start!important;}
.career-icon-wrapper{width:56px!important;height:56px!important;padding:6px!important;}
.career-icon-wrapper svg{width:40px!important;height:40px!important;}
.career-text{gap:6px!important;}
.career-text h4{font-size:18px!important;line-height:1.15!important;}
.career-text p{font-size:11px!important;line-height:1.45!important;}
}

/* === Careers section final tune: more breathing room + smaller text + stepped card widths === */
.careers{
  padding-top:clamp(84px, 7.4vw, 118px) !important;
  padding-bottom:clamp(84px, 7.4vw, 118px) !important;
}
.careers-heading{
  gap:10px !important;
  margin-bottom:22px !important;
}
.careers-title,
.careers-heading .careers-title{
  font-size:clamp(34px, 4.2vw, 60px) !important;
  line-height:1.04 !important;
}
.careers-subtitle,
.careers-heading .careers-subtitle{
  font-size:clamp(18px, 1.9vw, 24px) !important;
  line-height:1.35 !important;
}
.careers-grid{
  gap:18px !important;
  align-items:center !important;
}
.career-item{
  align-self:center !important;
  min-height:auto !important;
  padding:20px 22px !important;
  gap:14px !important;
}
.careers-grid .career-item:nth-child(1){ width:calc(82% + 0%) !important; }
.careers-grid .career-item:nth-child(2){ width:calc(82% + 6%) !important; }
.careers-grid .career-item:nth-child(3){ width:calc(82% + 12%) !important; }
.careers-grid .career-item:nth-child(4){ width:calc(82% + 18%) !important; }
.career-text{
  gap:7px !important;
}
.career-text h4{
  font-size:clamp(24px, 2.7vw, 38px) !important;
  line-height:1.12 !important;
}
.career-text p{
  font-size:clamp(13px, 1.15vw, 18px) !important;
  line-height:1.38 !important;
}
.career-icon-wrapper{
  width:72px !important;
  height:72px !important;
  padding:10px !important;
}
.career-icon-wrapper svg{
  width:50px !important;
  height:50px !important;
}
@media (max-width:1024px){
  .careers{
    padding-top:72px !important;
    padding-bottom:72px !important;
  }
  .careers-grid .career-item:nth-child(1){ width:calc(84% + 0%) !important; }
  .careers-grid .career-item:nth-child(2){ width:calc(84% + 5%) !important; }
  .careers-grid .career-item:nth-child(3){ width:calc(84% + 10%) !important; }
  .careers-grid .career-item:nth-child(4){ width:calc(84% + 16%) !important; }
}
@media (max-width:600px){
  .careers{
    min-height:100svh !important;
    padding-top:42px !important;
    padding-bottom:42px !important;
  }
  .careers-heading{
    gap:5px !important;
    margin-bottom:12px !important;
  }
  .careers-title,
  .careers-heading .careers-title{
    font-size:26px !important;
    line-height:1.04 !important;
  }
  .careers-subtitle,
  .careers-heading .careers-subtitle{
    font-size:15px !important;
    line-height:1.35 !important;
  }
  .careers-grid{
    gap:11px !important;
    align-items:center !important;
  }
  .career-item{
    padding:14px 15px !important;
    gap:9px !important;
    border-radius:18px !important;
  }
  .careers-grid .career-item:nth-child(1){ width:calc(88% + 0%) !important; }
  .careers-grid .career-item:nth-child(2){ width:calc(88% + 4%) !important; }
  .careers-grid .career-item:nth-child(3){ width:calc(88% + 8%) !important; }
  .careers-grid .career-item:nth-child(4){ width:calc(88% + 12%) !important; }
  .career-text{
    gap:5px !important;
  }
  .career-text h4{
    font-size:17px !important;
    line-height:1.12 !important;
  }
  .career-text p{
    font-size:10.5px !important;
    line-height:1.38 !important;
  }
  .career-icon-wrapper{
    width:52px !important;
    height:52px !important;
    padding:6px !important;
    border-radius:16px !important;
  }
  .career-icon-wrapper svg{
    width:36px !important;
    height:36px !important;
  }
}

/* === Careers: structured left-aligned stepped cards === */
.careers{
  padding-top:clamp(72px, 7vw, 116px) !important;
  padding-bottom:clamp(72px, 7vw, 116px) !important;
}

.careers-container.careers-reveal{
  max-width:1040px !important;
}

.careers-heading{
  margin-bottom:24px !important;
}

.careers-heading .careers-title{
  font-size:clamp(34px, 4.2vw, 58px) !important;
  line-height:1.04 !important;
  letter-spacing:-0.035em !important;
}

.careers-heading .careers-subtitle,
.careers-subtitle{
  font-size:clamp(17px, 1.65vw, 23px) !important;
  line-height:1.45 !important;
  margin-bottom:0 !important;
}

.careers-grid{
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  gap:16px !important;
  align-items:flex-start !important;
}

.career-item{
  width:calc(72% + (var(--career-index, 0) * 7.5%)) !important;
  min-height:auto !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:18px !important;
  padding:18px 22px !important;
  border:1px solid rgba(27, 94, 59, 0.12) !important;
  border-radius:22px !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.72), rgba(248,252,250,0.54)) !important;
  box-shadow:0 18px 46px rgba(15, 23, 42, 0.055) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  text-align:left !important;
}

.careers-grid .career-item:nth-child(1){--career-index:0;}
.careers-grid .career-item:nth-child(2){--career-index:1;}
.careers-grid .career-item:nth-child(3){--career-index:2;}
.careers-grid .career-item:nth-child(4){--career-index:3;}

.career-text{
  width:auto !important;
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:5px !important;
  text-align:left !important;
}

.career-text h4{
  font-size:clamp(18px, 2.1vw, 30px) !important;
  line-height:1.12 !important;
  letter-spacing:-0.025em !important;
  text-align:left !important;
}

.career-text p{
  font-size:clamp(11px, 1vw, 14px) !important;
  line-height:1.48 !important;
  font-weight:500 !important;
  text-align:left !important;
}

.career-icon-wrapper{
  width:46px !important;
  height:46px !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  padding-top:2px !important;
}

.career-icon-wrapper svg{
  width:38px !important;
  height:38px !important;
}

/* === Contact: cleaner structure without orange label === */
.contact{
  padding:clamp(68px, 6.5vw, 104px) clamp(28px, 7vw, 120px) !important;
}

.contact-layout-v2{
  width:min(1180px, 100%) !important;
  grid-template-columns:0.92fr 1.08fr !important;
  gap:clamp(36px, 5vw, 64px) !important;
  align-items:center !important;
}

.contact-label-v2{
  display:none !important;
}

.contact-info-v2{
  min-height:auto !important;
  padding:0 !important;
  justify-content:flex-start !important;
}

.contact-info-v2 h2{
  margin-top:0 !important;
  margin-bottom:22px !important;
  font-size:clamp(44px, 4.4vw, 64px) !important;
  line-height:0.98 !important;
  letter-spacing:-0.05em !important;
}

.contact-info-v2 .contact-description{
  max-width:520px !important;
  margin:0 0 34px !important;
  font-size:clamp(17px, 1.35vw, 22px) !important;
  line-height:1.55 !important;
  font-weight:700 !important;
  color:#17211c !important;
  word-break:keep-all !important;
}

.contact-info-v2 .contact-details{
  gap:22px !important;
}

.contact-info-v2 .contact-detail h4{
  font-size:17px !important;
}

.contact-info-v2 .contact-detail p{
  font-size:15px !important;
}

@media (max-width:1024px){
  .careers-container.careers-reveal{
    max-width:100% !important;
  }
  .career-item{
    width:calc(80% + (var(--career-index, 0) * 5.5%)) !important;
  }
  .contact-layout-v2{
    grid-template-columns:1fr !important;
  }
}

@media (max-width:600px){
  .careers{
    min-height:100svh !important;
    padding-top:42px !important;
    padding-bottom:42px !important;
  }
  .careers-heading{
    gap:7px !important;
    margin-bottom:18px !important;
  }
  .careers-grid{
    gap:12px !important;
  }
  .career-item{
    width:calc(82% + (var(--career-index, 0) * 5.8%)) !important;
    padding:13px 14px !important;
    border-radius:18px !important;
    gap:10px !important;
  }
  .career-text h4{
    font-size:18px !important;
  }
  .career-text p{
    font-size:11px !important;
    line-height:1.42 !important;
  }
  .career-icon-wrapper{
    width:34px !important;
    height:34px !important;
  }
  .career-icon-wrapper svg{
    width:30px !important;
    height:30px !important;
  }

  .contact{
    padding:50px 20px !important;
  }
  .contact-info-v2 h2{
    font-size:40px !important;
    margin-bottom:18px !important;
  }
  .contact-info-v2 .contact-description{
    font-size:18px !important;
    line-height:1.5 !important;
    margin-bottom:28px !important;
  }
}

/* === Careers final: Apple / Linear / Stripe inspired pastel cards === */

.careers{
  background:#ffffff !important;
}

.careers-container.careers-reveal{
  max-width:1040px !important;
  width:100% !important;
}

.careers-heading{
  margin-bottom:28px !important;
}

.careers-heading .careers-title{
  font-size:clamp(42px, 5vw, 68px) !important;
  line-height:1.02 !important;
  letter-spacing:-0.045em !important;
}

.careers-subtitle,
.careers-heading .careers-subtitle{
  font-size:clamp(18px, 1.8vw, 24px) !important;
  line-height:1.4 !important;
  font-weight:700 !important;
}

.careers-grid{
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:18px !important;
}

/* 카드 폭 85~90%, 가운데 정렬 */
.career-item{
  width:min(90%, 920px) !important;
  min-height:94px !important;
  display:flex !important;
  flex-direction:row-reverse !important; /* 기존 구조가 text + icon 이라 아이콘을 왼쪽으로 이동 */
  align-items:center !important;
  justify-content:flex-end !important;
  gap:22px !important;
  padding:20px 26px !important;
  margin:0 auto !important;
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.72) !important;
  box-shadow:
    0 18px 42px rgba(15,23,42,.075),
    inset 0 1px 0 rgba(255,255,255,.82) !important;
  overflow:hidden !important;
  position:relative !important;
  transition:
    transform .32s ease,
    box-shadow .32s ease,
    border-color .32s ease !important;
}

/* 카드별 낮은 채도 파스텔 포인트 */
.careers-grid .career-item:nth-child(1){
  background:linear-gradient(135deg, #f6fffb 0%, #dff5eb 100%) !important;
}
.careers-grid .career-item:nth-child(2){
  background:linear-gradient(135deg, #f6fbff 0%, #dfeef8 100%) !important;
}
.careers-grid .career-item:nth-child(3){
  background:linear-gradient(135deg, #fbfaf7 0%, #ece7dc 100%) !important;
}
.careers-grid .career-item:nth-child(4){
  background:linear-gradient(135deg, #fbf8ff 0%, #e9e0f4 100%) !important;
}

.career-item::before,
.career-item::after{
  display:none !important;
}

/* 아이콘을 텍스트 왼쪽에 붙여 배치 */
.career-icon-wrapper{
  width:62px !important;
  height:62px !important;
  flex:0 0 62px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:10px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.58) !important;
  border:1px solid rgba(255,255,255,.78) !important;
  box-shadow:
    0 10px 24px rgba(15,23,42,.055),
    inset 0 1px 0 rgba(255,255,255,.88) !important;
}

.career-icon-wrapper svg{
  width:42px !important;
  height:42px !important;
  filter:none !important;
  transition:transform .32s ease !important;
}

/* 텍스트 */
.career-text{
  width:auto !important;
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  text-align:left !important;
  align-items:flex-start !important;
}

.career-text h4{
  font-size:clamp(28px, 2.8vw, 40px) !important;
  line-height:1.12 !important;
  font-weight:700 !important;
  letter-spacing:-0.035em !important;
  color:#101816 !important;
  text-align:left !important;
}

.career-text p{
  font-size:clamp(15px, 1.25vw, 18px) !important;
  line-height:1.45 !important;
  font-weight:600 !important;
  color:#66706a !important;
  text-align:left !important;
}

/* 등장 모션: 순차 등장 */
.careers-reveal .reveal-seq{
  opacity:0 !important;
  transform:translateY(20px) scale(.985) !important;
  filter:none !important;
  transition:
    opacity .58s ease,
    transform .68s cubic-bezier(.22,1,.36,1) !important;
}

.careers-reveal.is-visible .reveal-seq{
  opacity:1 !important;
  transform:translateY(0) scale(1) !important;
  filter:none !important;
}

/* hover */
.career-item:hover{
  transform:translateY(-5px) !important;
  border-color:rgba(255,255,255,.92) !important;
  box-shadow:
    0 26px 56px rgba(15,23,42,.12),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
}

.career-item:hover .career-icon-wrapper svg{
  transform:scale(1.08) !important;
}

.career-item:hover .career-text h4{
  color:#1b5e3b !important;
}

/* 모바일 최적화 */
@media (max-width:600px){
  .careers{
    padding-top:42px !important;
    padding-bottom:42px !important;
  }

  .careers-heading{
    margin-bottom:18px !important;
  }

  .careers-grid{
    gap:14px !important;
  }

  .career-item{
    width:100% !important;
    min-height:78px !important;
    padding:15px 16px !important;
    gap:14px !important;
    border-radius:20px !important;
  }

  .career-icon-wrapper{
    width:48px !important;
    height:48px !important;
    flex-basis:48px !important;
    padding:8px !important;
    border-radius:16px !important;
  }

  .career-icon-wrapper svg{
    width:34px !important;
    height:34px !important;
  }

  .career-text h4{
    font-size:24px !important;
  }

  .career-text p{
    font-size:14px !important;
  }

  .career-item:hover{
    transform:none !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .careers-reveal .reveal-seq,
  .careers-reveal.is-visible .reveal-seq{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}

/* === Mobile contact/location compact tune === */
@media (max-width:600px){
  .contact{
    padding:42px 20px !important;
  }

  .contact-layout-v2{
    gap:20px !important;
  }

  .contact-info-v2 h2{
    font-size:34px !important;
    margin-bottom:12px !important;
    line-height:1 !important;
  }

  .contact-info-v2 .contact-description{
    font-size:14px !important;
    line-height:1.55 !important;
    margin-bottom:18px !important;
    max-width:100% !important;
  }

  .contact-info-v2 .contact-details{
    gap:14px !important;
  }

  .contact-info-v2 .contact-detail{
    gap:12px !important;
  }

  .contact-icon-circle{
    width:44px !important;
    height:44px !important;
    flex:0 0 44px !important;
  }

  .contact-icon-circle svg{
    width:22px !important;
    height:22px !important;
  }

  .contact-info-v2 .contact-detail h4{
    font-size:15px !important;
    margin-bottom:2px !important;
  }

  .contact-info-v2 .contact-detail p{
    font-size:12px !important;
    line-height:1.45 !important;
  }

  .contact-map-card{
    min-height:160px !important;
    height:160px !important;
    border-radius:16px !important;
  }

  .contact-map-card img{
    min-height:160px !important;
    height:160px !important;
    object-fit:cover !important;
  }
}

/* === Mobile map position tune: keep NeoSpade marker visible === */
@media (max-width:600px){
  .contact-map-card{
    position:relative !important;
    overflow:hidden !important;
    min-height:180px !important;
    height:180px !important;
  }

  .contact-map-card img{
    width:115% !important;
    max-width:none !important;
    height:180px !important;
    min-height:180px !important;
    object-fit:cover !important;
    /*
      모바일에서 지도 중심을 시각적으로 이동:
      회사 위치 표시가 오른쪽 가운데 아래쪽에 오도록
      이미지를 약간 왼쪽/위로 당겨 보이는 영역을 조정합니다.
    */
    object-position:62% 58% !important;
    transform:translateX(-5%) !important;
  }
}

/* === Mobile: map marker bottom-right + larger contact message === */
@media (max-width:600px){
  /* Contact 문구 크게 */
  .contact-info-v2 .contact-description{
    font-size:18px !important;
    line-height:1.55 !important;
    font-weight:700 !important;
    letter-spacing:-0.02em !important;
    color:#17211c !important;
    margin-bottom:24px !important;
  }

  /* 지도 박스는 모바일에서 너무 작지 않게 유지 */
  .contact-map-card{
    position:relative !important;
    overflow:hidden !important;
    height:190px !important;
    min-height:190px !important;
    border-radius:16px !important;
  }

  /*
    지도 이미지의 보이는 중심을 조정:
    위치마커가 모바일 화면에서 오른쪽 하단 쪽에 보이도록
    이미지를 더 크게 잡고, 우측/하단 영역을 보여줍니다.
  */
  .contact-map-card img{
    width:128% !important;
    max-width:none !important;
    height:205px !important;
    min-height:205px !important;
    object-fit:cover !important;
    object-position:78% 76% !important;
    transform:translateX(-14%) translateY(-6%) !important;
  }
}

/* PC/Tablet map alignment */
@media (min-width:601px){
  .contact-map-card{
    overflow:hidden!important;
  }
  .contact-map-card img{
    width:120%!important;
    max-width:none!important;
    object-fit:cover!important;
    object-position:78% 76%!important;
    transform:translateX(-12%) translateY(-4%)!important;
  }
}

@media (max-width:600px){
  .contact-map-card{
    height:240px !important;
    min-height:240px !important;
  }
  .contact-map-card img{
    height:255px !important;
    min-height:255px !important;
    object-position:78% 78% !important;
  }
}

@media (max-width:600px){
  .contact-map-card{
    width:100% !important;
    height:300px !important;
    min-height:300px !important;
    border-radius:20px !important;
  }

  .contact-map-card img{
    width:130% !important;
    height:320px !important;
    min-height:320px !important;
    object-fit:cover !important;
    object-position:78% 80% !important;
    transform:translateX(-14%) translateY(-5%) !important;
  }

  .contact-layout-v2{
    gap:28px !important;
  }
}

.contact-map-card{width:100%!important;height:380px!important;overflow:hidden!important;border-radius:24px!important}
.contact-map-card iframe{width:100%!important;height:100%!important;border:0!important;display:block}
@media (max-width:600px){
.contact-map-card{height:320px!important;border-radius:18px!important}
}

.contact-map-embed{
display:block;
width:100%;
height:420px;
border:0;
border-radius:24px;
overflow:hidden;
}
@media(max-width:600px){
.contact-map-embed{
height:340px;
border-radius:18px;
}
}

@media (max-width:600px){
  .contact-layout-v2{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:28px !important;
  }
  .contact-info-v2{
    order:1 !important;
  }
  .contact-map-embed,
  .contact-map-card{
    order:2 !important;
    width:100% !important;
    margin-top:8px !important;
  }
  .contact-map-card iframe,
  .contact-map-embed{
    height:340px !important;
  }
}
