/* Independent navigation and interactions; original section styling is retained. */
:root { --sp-blue:#0055ff; --sp-ink:#101726; }
html { scroll-behavior:smooth; }
body.sp-site { margin:0; padding:0; }
.sp-site > main#main { width:100%; max-width:none; margin:0; padding:0; }
.sp-site .sp-sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.sp-skip { position:fixed; left:16px; top:-60px; padding:12px 20px; background:white; color:#111; z-index:10000; }
.sp-skip:focus { top:8px; }
.sp-header { position:fixed; top:0; left:0; width:100%; z-index:1200; color:white; background:transparent; isolation:isolate; transition:box-shadow .2s; }
.sp-header.is-scrolled,.sp-header.is-open { background:#fff; box-shadow:none; }
.sp-promo { height:0; overflow:hidden; background:#1a1e24; display:flex; align-items:center; justify-content:center; opacity:0; transition:height .2s ease,opacity .2s ease; }
.sp-header.is-scrolled .sp-promo { height:44px; opacity:1; }
.sp-promo > span { font-size:16px; font-weight:700; color:white; cursor:default; }
.sp-promo strong { color:#0055ff; }
.sp-header-inner { max-width:1300px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; height:70px; box-sizing:border-box; gap:32px; padding:14px 0; }
.sp-brand { display:block; flex-shrink:0; }
.sp-brand img { display:block; width:153px; height:auto; filter:brightness(0) invert(1); }
.sp-header.is-scrolled .sp-brand img,.sp-header.is-open .sp-brand img { filter:none; }
.sp-nav { display:flex; align-items:center; gap:32px; font-family:'Pretendard','Pretendard Variable',sans-serif; font-size:15px; font-weight:700; }
.sp-nav a { color:white !important; text-decoration:none; white-space:nowrap; }
.sp-header.is-scrolled .sp-nav a,.sp-header.is-open .sp-nav a { color:#111 !important; }
.sp-header .sp-nav a:hover,.sp-header .sp-nav a:focus-visible { color:#8b95a1 !important; }
.sp-header.is-scrolled .sp-nav > a:not(.sp-contact):hover,.sp-header.is-scrolled .sp-nav > a:not(.sp-contact):focus-visible,.sp-header.is-scrolled .sp-dropdown > a:hover,.sp-header.is-scrolled .sp-dropdown > a:focus-visible { color:#0038a6 !important; }
.sp-nav a[aria-current="page"] { text-decoration:none; border-bottom:0; box-shadow:none; }
.sp-nav .sp-contact { background:var(--sp-blue); padding:11px 16px; border-radius:9px; font-size:14px; }
.sp-header .sp-nav .sp-contact,.sp-header.is-scrolled .sp-nav .sp-contact,.sp-header.is-open .sp-nav .sp-contact { color:white !important; }
.sp-dropdown { position:relative; display:flex; align-items:center; gap:2px; }
.sp-submenu-toggle { display:none; background:transparent; border:0; color:inherit; cursor:pointer; padding:6px; font-size:16px; }
.sp-dropdown::after { content:''; position:absolute; top:100%; left:0; width:160px; height:10px; }
.sp-submenu { display:none; position:absolute; top:calc(100% + 10px); left:0; width:160px; box-sizing:border-box; background:#fff; padding:0; border-radius:10px; overflow:hidden; box-shadow:none; }
.sp-submenu a { display:block; padding:12px 20px; color:#111 !important; font-size:13px; line-height:16px; }
.sp-header .sp-submenu a { background:#fff !important; background-image:none !important; box-shadow:none !important; }
.sp-header .sp-submenu a:hover,.sp-header .sp-submenu a:focus,.sp-header .sp-submenu a:active { background:var(--sp-blue) !important; color:#fff !important; }
.sp-header.is-scrolled .sp-submenu { border-radius:0; box-shadow:0 3px 12px #0003; }
.sp-header.is-scrolled .sp-submenu a { color:#333 !important; font-weight:400; }
.sp-header.is-scrolled .sp-submenu a:hover,.sp-header.is-scrolled .sp-submenu a:focus,.sp-header.is-scrolled .sp-submenu a:active { background:#0038a6 !important; color:#fff !important; font-weight:700; }
.sp-dropdown:hover .sp-submenu,.sp-dropdown:focus-within .sp-submenu,.sp-dropdown.is-open .sp-submenu { display:block; }
.sp-menu-toggle { display:none; border:0; background:transparent; padding:10px; cursor:pointer; transition:none !important; animation:none !important; }
.sp-menu-backdrop { display:none; }
.sp-menu-toggle span { display:block; width:23px; height:2px; background:white; margin:5px 0; transition:none !important; animation:none !important; }
.sp-header.is-scrolled .sp-menu-toggle span,.sp-header.is-open .sp-menu-toggle span { background:#111; }
.sp-header.is-open .sp-menu-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.sp-header.is-open .sp-menu-toggle span:nth-child(2) { opacity:0; }
.sp-header.is-open .sp-menu-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.sp-site ._widget_data:not(.sp-reveal) { opacity:1 !important; visibility:visible !important; animation:none !important; transform:none !important; }
.sp-site .sp-reveal.is-pending { opacity:0; visibility:hidden; }
.sp-site .sp-reveal.is-entering { visibility:visible; animation:sp-fade-in-up var(--sp-reveal-duration,700ms) ease var(--sp-reveal-delay,0ms) both; }
@keyframes sp-fade-in-up { from { opacity:0; transform:translate3d(0,100%,0); } to { opacity:1; transform:translate3d(0,0,0); } }
.sp-site .section_bg,.sp-site .section_bg_color { pointer-events:none; }
.sp-site .org_image { max-width:100% !important; visibility:visible !important; }
.sp-site .sp-fixed-image { display:block !important; width:100%; height:100%; object-fit:cover; }
.sp-video-hero { isolation:isolate; }
.sp-video-bg { position:absolute; inset:0; overflow:hidden; z-index:-1; pointer-events:none; }
.sp-video-bg iframe { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); border:0; max-width:none; }
.sp-video-hero > .section_bg { z-index:-2; }
.sp-video-hero > .section_bg_color { z-index:0; }
.sp-video-hero > main { position:relative; z-index:1; }
.sp-mobile-downloads { display:none; }
.sp-site .hover_img { display:none !important; }
.sp-site .widget_image ._img_box { max-width:100%; }
.sp-site .sp-carousel { display:block !important; position:relative; overflow:hidden; width:100%; }
.sp-slides { position:relative; display:flex; width:100%; transform:translate3d(-100%,0,0); transition:transform 700ms ease; will-change:transform; }
.sp-slide { display:block; flex:0 0 100%; min-width:0; width:100%; }
.sp-slide .item { width:100% !important; }
.sp-slide-controls { position:absolute; bottom:23px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:12px; z-index:2; }
.sp-dots { display:flex; gap:12px; align-items:center; }
.sp-dots button { border:0; width:11px; height:11px; padding:0; border-radius:99px; background:#ffffff70; cursor:pointer; }
.sp-dots button[aria-pressed="true"] { width:34px; background:white; }
.sp-prev,.sp-next { color:white; border:0; background:#0004; border-radius:99px; width:28px; height:28px; cursor:pointer; font-size:20px; display:grid; place-items:center; }
.sp-carousel[data-prev-next="N"] .sp-prev,.sp-carousel[data-prev-next="N"] .sp-next { display:none; }
.sp-carousel,.sp-gallery { touch-action:pan-y; cursor:grab; }
.sp-carousel.is-dragging,.sp-gallery.is-dragging { cursor:grabbing; user-select:none; }
.sp-gallery { display:block !important; overflow:hidden; padding:0; --sp-gallery-item-width:238px; --sp-gallery-ratio:2.67; }
.sp-gallery-track { display:flex; width:max-content; margin-left:60px; will-change:transform; }
.sp-gallery-set { display:flex; flex-shrink:0; }
.sp-gallery-item { display:flow-root; flex:0 0 var(--sp-gallery-item-width); width:var(--sp-gallery-item-width); min-width:0; }
.sp-gallery-item .img_wrap { width:100% !important; }
.sp-gallery-item .img_wrap { height:auto !important; min-height:0 !important; aspect-ratio:var(--sp-gallery-ratio); }
.sp-gallery-item .item_gallary { width:100% !important; }
.sp-gallery-item img { width:100% !important; height:100% !important; object-fit:cover; }
.sp-site #w20250410bc99edd5fcb8c ._img_box,.sp-site #w20250410d9bc9b7b09904 ._img_box { overflow:hidden; border-radius:10px; }
.sp-site #img_w20250410bc99edd5fcb8c { display:block; width:100%; height:100%; object-fit:cover; border-radius:10px; }
.sp-site #img_w20250410d9bc9b7b09904 { display:block !important; margin:0 !important; width:100%; border-radius:10px; }
.sp-site .sp-company-footer { padding-bottom:20px !important; margin-bottom:0 !important; }
.sp-inquiry { font-family:'Pretendard','Pretendard Variable',sans-serif; }
.sp-site .sp-inquiry .control-label { display:flex; align-items:center; gap:8px; color:#333; margin:0 0 9px !important; font-size:17px; font-weight:700; line-height:24px; }
.sp-inquiry .sp-required { display:inline-block; color:#ff5364; font-size:20px; font-weight:700; line-height:24px; margin:0; }
.sp-inquiry .form-control { display:block; width:100%; box-sizing:border-box; border:1px solid #ddd; border-radius:10px; padding:6px 12px; height:34px; min-height:34px; color:#17223a; background:white; box-shadow:none; }
.sp-site .sp-inquiry .form-control:focus { border-color:var(--sp-blue) !important; outline:none !important; box-shadow:none !important; }
.sp-site .sp-inquiry .form-group { margin-bottom:15px !important; }
.sp-inquiry .sp-phone { display:flex; align-items:center; gap:6px; }
.sp-inquiry .sp-phone .form-control { flex:0 0 65px; width:65px; padding:6px 8px; }
.sp-inquiry textarea.form-control { resize:vertical; height:80px; min-height:80px; }
.sp-inquiry .sp-submit { display:block; width:100%; height:44px; border:0; border-radius:10px; background:#2455ee; color:white; padding:10px 25px; font-size:16px; font-weight:600; cursor:pointer; margin-top:14px; }
.sp-form-status { color:#647087; font-size:13px; line-height:1.6; margin:12px 0; }
.sp-form-status:empty { display:none; }
.sp-site :focus-visible { outline:3px solid #89b4ff; outline-offset:4px; }
@media (max-width:1399px) { .sp-header-inner { padding:14px 30px; } }
@media (min-width:768px) {
  .sp-site .pc_section.section_first:not(.visual_section) { padding-top:70px !important; }
  .sp-carousel .op { padding-top:70px; height:auto !important; }
  .sp-carousel .header-content { min-height:0; height:600px; }
}
@media (max-width:991px) {
  body.sp-site.sp-menu-open { overflow:hidden; }
  .sp-header-inner { height:60px; padding:10px 20px; }
  .sp-promo { display:none; }
  .sp-brand img { width:140px; }
  .sp-menu-toggle { display:block; }
  .sp-nav { display:none; position:fixed; top:0; right:0; left:auto; width:300px; max-width:calc(100vw - 60px); height:100vh; height:100dvh; background:#fff; padding:0 0 env(safe-area-inset-bottom); box-sizing:border-box; flex-direction:column; align-items:stretch; gap:0; overflow-y:auto; overscroll-behavior:contain; z-index:2; font-size:14px; font-weight:400; }
  .sp-header.is-open .sp-nav { display:flex; }
  .sp-header.is-open:not(.is-scrolled) { background:transparent; }
  .sp-header.is-open:not(.is-scrolled) .sp-brand img { filter:brightness(0) invert(1); }
  .sp-header.is-open .sp-menu-backdrop { display:block; position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:1; }
  .sp-header.is-open .sp-menu-toggle { position:fixed; top:8px; right:calc(min(300px, 100vw - 60px) + 12px); z-index:3; }
  .sp-header.is-open .sp-menu-toggle span { background:#fff; }
  .sp-site .sp-header .sp-nav > a,.sp-site .sp-header .sp-dropdown > a { display:block; padding:12px 20px; min-height:42px; box-sizing:border-box; line-height:18px; color:#444 !important; font-size:14px; font-weight:400; border-bottom:1px solid #f1f1f1; }
  .sp-header .sp-nav a[aria-current="page"] { background:#f5f5f5 !important; }
  .sp-site .sp-header.is-open .sp-nav > a:hover,.sp-site .sp-header .sp-dropdown > a:hover { background:#f5f5f5 !important; color:#444 !important; }
  .sp-dropdown { display:grid; grid-template-columns:1fr 48px; grid-template-rows:42px auto; gap:0; }
  .sp-site .sp-header .sp-dropdown > .sp-submenu-toggle { display:flex; align-items:center; justify-content:center; align-self:start; width:48px; height:42px; min-height:42px; max-height:none; box-sizing:border-box; margin:0; padding:0; border:0; border-bottom:1px solid #f1f1f1; border-radius:0; background:#fff; color:#888; font-size:0; line-height:1; appearance:none; transform:none; transition:none !important; animation:none !important; }
  .sp-header .sp-submenu-toggle::after { content:''; display:block; width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); margin-top:-4px; transition:none !important; }
  .sp-header .sp-submenu-toggle[aria-expanded="true"]::after { transform:rotate(225deg); margin-top:4px; }
  .sp-submenu { position:static; grid-column:1 / -1; width:100%; margin-top:0; border-radius:0; box-shadow:none !important; }
  .sp-dropdown:hover .sp-submenu,.sp-dropdown:focus-within .sp-submenu { display:none; }
  .sp-dropdown.is-open .sp-submenu { display:block; }
  .sp-header .sp-submenu a { padding:12px 30px; border-bottom:1px solid #f1f1f1; font-weight:400; }
  .sp-site .sp-header .sp-nav .sp-submenu a:hover,.sp-site .sp-header .sp-nav .sp-submenu a:focus,.sp-site .sp-header .sp-nav .sp-submenu a:active { background:#f5f5f5 !important; color:#444 !important; font-weight:400; }
  .sp-dropdown::after { display:none; }
  .sp-site .sp-header .sp-nav > .sp-contact { display:block; background:#fff; border-radius:0; color:#444 !important; text-align:left; }
}
@media (max-width:767px) {
  .sp-mobile-downloads { display:flex; flex-direction:column; gap:12px; width:calc(100% - 48px); margin:24px auto 48px; }
  .sp-mobile-downloads a { display:block; padding:14px 20px; border-radius:10px; background:#0055ff; color:white; text-align:center; font-weight:600; }
  .sp-site .pc_section.mobile_hide { display:none !important; }
  .sp-site .mobile_section { display:block; }
  .sp-site .mobile_section_first:not(.visual_section) { padding-top:60px !important; }
  .sp-carousel .op { padding-top:60px; height:auto !important; }
  .sp-site .mobile_section .widget_text_wrap [style] { max-width:100% !important; box-sizing:border-box; }
  .sp-slide-controls { bottom:18px; gap:8px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { animation:none !important; transition:none !important; } .sp-site .sp-reveal { opacity:1 !important; visibility:visible !important; transform:none !important; } }
