:root{
  --bg:#f5f9fc;
  --surface:#ffffff;
  --surface-2:#eef5fb;
  --primary:#0e4a82;
  --primary-dark:#08355d;
  --accent:#1ea672;
  --accent-soft:#e9f8f1;
  --text:#162230;
  --muted:#617285;
  --line:#d8e4ee;
  --shadow:0 18px 50px rgba(12,55,92,.08);
  --shadow-soft:0 10px 28px rgba(12,55,92,.06);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{
  font-family:'Noto Sans KR',sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.7;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,select{font:inherit}
.np-container{width:min(1520px,calc(100% - 40px));margin:0 auto}
.np-site{overflow:hidden}

.np-topbar{
  background:#0d355b;
  color:rgba(255,255,255,.92);
  font-size:12px;
  letter-spacing:.01em;
}
.np-topbar-inner{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.np-topbar-left,.np-topbar-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.np-topbar-right a{font-weight:700}

.np-header{
  position:sticky;top:0;z-index:80;
  background:rgba(255,255,255,.985);
  border-bottom: 10px solid rgba(216,228,238,.92);
  backdrop-filter:blur(14px);
}
.np-header.is-scrolled{box-shadow:0 12px 28px rgba(12,55,92,.08)}
.np-header-inner{
  min-height:116px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:46px;
}
.np-logo{display:flex;align-items:center;flex:0 0 auto;padding:10px 0}
.np-logo img{height:92px;width:auto;display:block}
.np-nav{display:flex;align-items:center;justify-content:center;flex:1;min-width:0}
.np-nav-list{display:flex;align-items:center;justify-content:center;gap:54px;flex:1;list-style:none;margin:0;padding:0}
.np-nav-item{position:relative}
.np-nav a{
  position:relative;display:block;
  font-weight:700;
  color:#30475f;
  font-size:15px;
  letter-spacing:-.01em;
  padding:6px 0;
  white-space:nowrap;
}
.np-nav a:after{
  content:'';position:absolute;left:0;right:0;bottom:-18px;height:3px;border-radius:999px;
  background:var(--primary);transform:scaleX(0);transform-origin:center;transition:transform .22s ease;
}
.np-nav a:hover{color:var(--primary)}
.np-nav a:hover:after,.np-nav-item:hover > a:after{transform:scaleX(1)}
.np-submenu{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);
  min-width:220px;list-style:none;margin:12px 0 0;padding:10px 0;
  background:#fff;border:1px solid rgba(15,63,112,.12);border-radius:18px;box-shadow:0 20px 40px rgba(14,74,130,.12);
  opacity:0;visibility:hidden;pointer-events:none;transition:all .2s ease;z-index:50;
}
.np-submenu li{margin:0}
.np-submenu a{padding:11px 18px;font-size:14px;color:#30475f}
.np-submenu a:after{display:none}
.np-submenu a:hover{background:rgba(14,74,130,.05);color:var(--primary)}
.np-nav-item:hover > .np-submenu,.np-nav-item:focus-within > .np-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.np-header-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}

.np-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:132px;height:50px;padding:0 22px;border-radius:999px;
  border:1px solid transparent;font-weight:800;transition:.2s ease;
}
.np-btn:hover{transform:translateY(-1px)}
.np-btn-primary{background:var(--primary);color:#fff;box-shadow:0 12px 24px rgba(14,74,130,.2)}
.np-btn-primary:hover{background:var(--primary-dark)}
.np-btn-light{background:#fff;color:var(--primary);border-color:var(--line)}
.np-btn-outline{background:transparent;color:var(--primary);border-color:var(--line)}
.np-btn-kakao{background:#fee500;color:#222;box-shadow:0 12px 24px rgba(0,0,0,.1)}
.np-btn-full{width:100%}
.np-btn-phone{
  min-width:170px;height:54px;padding:0 18px;gap:4px;flex-direction:column;align-items:flex-start;
  border-radius:16px;box-shadow:none;
}
.np-btn-phone-label{display:block;font-size:10px;line-height:1;color:rgba(255,255,255,.72);font-weight:700;letter-spacing:.08em}
.np-btn-phone strong{display:block;font-size:18px;line-height:1.1;letter-spacing:.01em}

.np-menu-toggle{
  display:none;width:48px;height:48px;border:1px solid var(--line);background:#fff;border-radius:16px;padding:0;
}
.np-menu-toggle span{display:block;width:18px;height:2px;background:var(--primary);margin:4px auto}
.np-mobile-menu{display:none;padding:14px 20px 20px;background:#fff;border-top:1px solid var(--line)}
.np-mobile-menu.is-open{display:block}
.np-mobile-nav{list-style:none;margin:0;padding:0}
.np-mobile-item{border-bottom: 10px solid rgba(48,71,95,.08)}
.np-mobile-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.np-mobile-item-head > a,.np-mobile-nav > .np-mobile-item > a{display:block;padding:14px 0;font-weight:700;flex:1;color:#30475f}
.np-mobile-submenu-toggle{position:relative;width:28px;height:28px;border:0;background:transparent;flex:0 0 28px;border-radius:8px}
.np-mobile-submenu-toggle:before,.np-mobile-submenu-toggle:after{content:'';position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--primary);transform:translate(-50%,-50%);transition:.2s ease}
.np-mobile-submenu-toggle:after{transform:translate(-50%,-50%) rotate(90deg)}
.np-mobile-item.is-open .np-mobile-submenu-toggle:after{transform:translate(-50%,-50%) rotate(0deg);opacity:0}
.np-mobile-submenu{display:none;list-style:none;margin:0;padding:0 0 10px 12px}
.np-mobile-item.is-open .np-mobile-submenu{display:block}
.np-mobile-submenu a{display:block;padding:10px 0;font-size:14px;font-weight:600;color:#557086}
.np-mobile-actions{display:grid;gap:10px;padding-top:12px}

.np-main{overflow:hidden}
.np-section{padding:110px 0}
.np-section-kicker,.np-badge,.np-small-label{
  display:inline-flex;align-items:center;gap:8px;
  min-height:32px;padding:0 14px;border-radius:999px;
  background:var(--accent-soft);color:var(--accent);
  font-size:12px;font-weight:800;letter-spacing:.08em;
}
.np-badge{margin-bottom: 10px}
.np-badge-clean{background:rgba(255,255,255,.78);color:#123d67;border:1px solid rgba(18,61,103,.12);box-shadow:0 10px 24px rgba(18,61,103,.08)}
.np-section-head{margin-bottom: 10px}
.np-section-head h2,.np-intro-copy h2,.np-estimate-copy h2,.np-contact-copy h2{margin:0;line-height:1.2;letter-spacing:-.04em}
.np-section-head h2,.np-intro-copy h2,.np-estimate-copy h2,.np-contact-copy h2{font-size:clamp(30px,3.4vw,48px)}
.np-section-head p,.np-intro-copy p,.np-estimate-copy p,.np-contact-copy p{margin:14px 0 0;color:var(--muted);font-size:17px}
.np-center{text-align:center}

.np-hero{
  position:relative;
  padding:0;
  min-height:640px;
  background:#edf4fa;
}
.np-hero-hans{display:flex;align-items:stretch}
.np-hero-media{
  position:absolute;inset:0;
}
.np-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.np-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(248,251,254,.985) 0%, rgba(248,251,254,.95) 18%, rgba(248,251,254,.82) 38%, rgba(248,251,254,.44) 63%, rgba(248,251,254,.14) 100%);
}
.np-hero-inner{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:40px;
  align-items:center;
}
.np-hero-inner-hans{
  position:relative;
  z-index:1;
  width:100%;
  min-height:640px;
  padding-top:58px;
  padding-bottom: 10px;
}
.np-hero-copy-hans::before{
  content:'';position:absolute;left:-26px;top:22px;bottom: 10px;width:1px;background:linear-gradient(180deg, rgba(18,61,103,0), rgba(18,61,103,.16) 18%, rgba(18,61,103,.06) 82%, rgba(18,61,103,0));
}
.np-hero-copy{position:relative;padding-top:10px;display:flex;flex-direction:column;justify-content:center;min-height:320px}
.np-hero-copy-hans{max-width:560px;padding-top:6px}
.np-hero-copy-hans .np-badge{margin-bottom: 10px}
.np-hero-copy-hans h1{max-width:12ch}
.np-hero-subtitle{
  margin:0;
  color:#183f68;
  font-size:clamp(18px,1.6vw,24px);
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.75;
  max-width:24ch;
  text-wrap:balance;
}
.np-hero-subtitle::after{
  content:'';display:block;width:72px;height:1px;margin-top:22px;background:linear-gradient(90deg, rgba(24,63,104,.36), rgba(24,63,104,0));
}
.np-hero-copy h1{margin:0;font-size:clamp(40px,4.9vw,66px);line-height:1.12;letter-spacing:-.05em;max-width:9.2ch}
.np-hero-lead{margin:18px 0 0;max-width:34ch;color:#566679;font-size:17px;line-height:1.78}
.np-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.np-hero-actions-hans{align-items:center}
.np-hero-actions-hans .np-btn{min-width:170px;height:56px;padding:0 26px;border-radius:16px;justify-content:center}
.np-hero-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.np-hero-list-hans span{
  display:inline-flex;align-items:center;min-height:42px;padding:0 17px;border-radius:999px;
  background:rgba(255,255,255,.9);border:1px solid rgba(216,228,238,.95);box-shadow:var(--shadow-soft);font-size:14px;font-weight:700;color:#3a5169;
}
.np-hero-trust{display:none}
.np-hero-sidecard{display:flex;justify-content:flex-end;align-items:center}
.np-hero-sidebox{
  width:min(100%,348px);
  padding:24px;
  border-radius:26px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 22px 54px rgba(12,55,92,.12);
  backdrop-filter:blur(14px);
  margin-top:18px;
}
.np-mini-label{display:inline-block;color:#6c87a3;font-size:11px;font-weight:800;letter-spacing:.14em}
.np-hero-sidebox strong{display:block;margin-top:10px;font-size:32px;line-height:1.06;color:var(--primary-dark)}
.np-hero-sidebox p{margin:12px 0 0;color:var(--muted);line-height:1.68;font-size:15px}
.np-hero-side-actions{display:grid;gap:10px;margin-top:18px}
.np-hero-side-meta{
  margin-top:18px;padding-top:16px;border-top:1px solid rgba(216,228,238,.9);
}
.np-hero-side-meta span{display:block;font-size:12px;font-weight:700;color:#6f8093}
.np-hero-side-meta strong{display:block;margin-top:6px;font-size:15px;color:#27384c}
.np-section-intro{background:#fff}
.np-intro-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:26px;align-items:start}
.np-check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}
.np-check-list div{
  background:var(--surface-2);border:1px solid var(--line);border-radius:22px;padding:18px 18px 18px 46px;position:relative;font-weight:700;
}
.np-check-list div:before{
  content:'✓';position:absolute;left:18px;top:16px;width:22px;height:22px;border-radius:50%;
  display:grid;place-items:center;background:var(--accent);color:#fff;font-size:13px;font-weight:800;
}
.np-intro-panel{display:grid;gap:16px}
.np-info-card{
  background:linear-gradient(180deg,#fdfefe 0%,#f1f7fc 100%);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-soft)
}
.np-info-card span{display:block;font-size:13px;font-weight:800;color:var(--primary);letter-spacing:.08em}
.np-info-card strong{display:block;margin-top:8px;font-size:24px;line-height:1.3}
.np-info-card p{margin:12px 0 0;color:var(--muted)}

.np-services{background:linear-gradient(180deg,#f7fbfe 0%,#f1f7fb 100%)}
.np-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.np-service-card{
  background:#fff;border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:var(--shadow-soft)
}
.np-service-thumb{aspect-ratio: 4/3; overflow:hidden}
.np-service-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.np-service-card:hover .np-service-thumb img{transform:scale(1.04)}
.np-service-body{padding:24px}
.np-service-body strong{display:block;font-size:24px;line-height:1.25}
.np-service-body p{margin:12px 0 0;color:var(--muted);font-size:15px}
.np-service-card-accent{
  background:linear-gradient(135deg,#0d406f 0%,#11568f 100%);color:#fff;display:flex;align-items:center
}
.np-service-card-accent .np-service-body p{color:rgba(255,255,255,.76)}
.np-inline-link{display:inline-flex;margin-top:20px;font-weight:800;color:#fff}

.np-why{background:#fff}
.np-why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.np-why-grid article{background:#f6fbff;border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:var(--shadow-soft)}
.np-why-grid strong{display:block;font-size:22px;line-height:1.25}
.np-why-grid p{margin:12px 0 0;color:var(--muted);font-size:15px}

.np-process{background:linear-gradient(180deg,#eef5fb 0%,#f8fbfe 100%)}
.np-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.np-process-grid article{background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:var(--shadow-soft)}
.np-process-grid em{display:block;font-style:normal;font-size:13px;font-weight:800;color:var(--accent);letter-spacing:.08em}
.np-process-grid strong{display:block;margin-top:8px;font-size:24px;line-height:1.25}
.np-process-grid p{margin:12px 0 0;color:var(--muted);font-size:15px}

.np-showcase{background:#fff}
.np-showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.np-showcase-card{background:#0d365d;color:#fff;border-radius:34px;padding:36px;box-shadow:var(--shadow)}
.np-showcase-card .np-section-kicker{background:rgba(255,255,255,.12);color:#a8d6ff}
.np-showcase-card h3{margin:18px 0 0;font-size:34px;line-height:1.15;letter-spacing:-.04em}
.np-showcase-card p{margin:14px 0 0;color:rgba(255,255,255,.78);font-size:16px}
.np-showcase-card-soft{background:#f4f9fd;color:var(--text);border:1px solid var(--line)}
.np-showcase-card-soft .np-section-kicker{background:var(--accent-soft);color:var(--accent)}
.np-showcase-card-soft p{color:var(--muted)}
.np-showcase-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}

.np-estimate{background:linear-gradient(180deg,#f7fbfe 0%,#eef5fb 100%)}
.np-estimate-wrap{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:22px;align-items:start}
.np-estimate-box{background:#fff;border:1px solid var(--line);border-radius:34px;padding:22px;box-shadow:var(--shadow)}
.np-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.np-field{display:block}
.np-field span{display:block;margin-bottom: 10px;font-size:14px;font-weight:800;color:#35506b}
.np-field input,.np-field select{
  width:100%;height:56px;padding:0 16px;border-radius:18px;border:1px solid var(--line);background:#fff;color:var(--text)
}
.np-estimate-result{
  margin-top:16px;padding:26px;border-radius:28px;background:#0f3a64;color:#fff
}
.np-estimate-result span{display:block;color:#8ec8ff;font-size:13px;font-weight:800;letter-spacing:.08em}
.np-estimate-result strong{display:block;margin-top:10px;font-size:42px;line-height:1.1;letter-spacing:-.03em}
.np-estimate-result p{margin:10px 0 0;color:rgba(255,255,255,.72)}

.np-contact{background:#0b2f50;color:#fff}
.np-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:24px;align-items:center}
.np-contact-copy p{color:rgba(255,255,255,.78)}
.np-contact-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:32px;padding:30px}
.np-contact-row{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:12px 0;border-bottom: 10px solid rgba(255,255,255,.08)}
.np-contact-row:last-of-type{border-bottom:0}
.np-contact-row span{color:rgba(255,255,255,.62)}
.np-contact-row strong{font-size:18px;line-height:1.5}
.np-contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}

.np-footer{background:#071d33;color:rgba(255,255,255,.78);padding:32px 0 112px}
.np-footer-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:26px;align-items:start}
.np-footer-brand img{height:46px;width:auto}
.np-footer-brand p{margin:14px 0 0;max-width:44ch}
.np-footer-info p{display:grid;grid-template-columns:100px 1fr;gap:14px;margin:0;padding:7px 0}
.np-footer-info span{color:rgba(255,255,255,.54)}
.np-footer-info strong{font-weight:700;color:#fff}

.np-floating-kakao{position:fixed;right:22px;bottom: 10px;z-index:70}
.np-floating-kakao a{
  display:inline-flex;align-items:center;justify-content:center;height:54px;padding:0 20px;border-radius:999px;
  background:#fee500;color:#222;font-weight:800;box-shadow:0 16px 28px rgba(0,0,0,.12)
}
.np-mobile-cta{position:fixed;left:12px;right:12px;bottom: 10px;z-index:72;display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.np-mobile-cta a{
  display:grid;place-items:center;height:54px;border-radius:18px;font-weight:800;box-shadow:0 12px 24px rgba(0,0,0,.12)
}
.np-mobile-cta a:nth-child(1),.np-mobile-cta a:nth-child(3){background:var(--primary);color:#fff}
.np-mobile-cta a:nth-child(2){background:#fee500;color:#222}

@media (max-width:1180px){
  .np-hero-inner,.np-intro-grid,.np-estimate-wrap,.np-contact-grid{grid-template-columns:1fr}
  .np-hero-inner-hans{padding-top:48px;padding-bottom: 10px}
  .np-hero-copy-hans{max-width:100%;padding-top:0}
  .np-hero-sidecard{justify-content:flex-start}
  .np-hero-sidebox{width:min(100%,420px);margin-top:0}
}
@media (max-width:1080px){
  .np-header-inner{min-height:102px;gap:22px}
  .np-logo img{height:74px;width:auto}
  .np-nav,.np-header-actions{display:none}
  .np-menu-toggle{display:block}
  .np-service-grid,.np-why-grid,.np-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:768px){
  .np-container{width:min(100% - 28px,100%)}
  .np-topbar-inner{padding:8px 0;min-height:auto;flex-direction:column;align-items:flex-start}
  .np-topbar-left,.np-topbar-right{gap:8px}
  .np-header-inner{min-height:92px;gap:16px}
  .np-logo img{height:62px}
  .np-section{padding:72px 0}
  .np-hero{min-height:auto}
  .np-hero-overlay{background:linear-gradient(180deg, rgba(248,251,254,.95) 0%, rgba(248,251,254,.91) 34%, rgba(248,251,254,.97) 100%)}
  .np-hero-inner-hans{min-height:auto;padding-top:38px;padding-bottom: 10px;gap:24px}
  .np-hero-copy{padding-top:0}
  .np-hero-copy h1{font-size:clamp(34px,9vw,48px);max-width:10ch}
  .np-hero-copy{min-height:auto}
  .np-hero-copy-hans::before{display:none}
  .np-hero-lead,.np-hero-subtitle{text-align:left}
  .np-hero-subtitle::after{width:56px;margin-top:18px}
  .np-hero-list,.np-check-list,.np-service-grid,.np-why-grid,.np-process-grid,.np-showcase-grid,.np-form-grid,.np-contact-actions,.np-footer-inner{grid-template-columns:1fr}
  .np-hero-list{gap:8px}
  .np-hero-list span{width:100%;justify-content:center}
  .np-hero-sidecard{justify-content:stretch}
  .np-hero-sidebox{width:100%;padding:22px}
  .np-showcase-card h3{font-size:28px}
  .np-estimate-result strong{font-size:34px}
  .np-contact-row,.np-footer-info p{grid-template-columns:1fr;gap:4px}
  .np-footer{padding-bottom: 10px}
  .np-floating-kakao{right:16px;bottom: 10px}
  .np-mobile-cta{display:grid}
}




/* ===== footer logo final fix ===== */
.np-footer-brand,
.np-footer-brand a,
.np-footer-brand img{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

.np-footer-brand img{
  height:112px !important;
  width:auto !important;
  display:block !important;
  object-fit:contain;
}

.np-footer-brand a:hover,
.np-footer-brand a:focus,
.np-footer-brand img:hover,
.np-footer-brand img:focus{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}

@media (max-width:1080px){
  .np-footer-brand img{height:86px !important;}
}

@media (max-width:768px){
  .np-footer-brand img{height:72px !important;}
}


/* ===== Hero original image visibility fix ===== */
.np-hero-media img,
.np-hero-visual img {
    opacity: 1 !important;
    filter: none !important;
}

.np-hero-overlay,
.np-hero::after {
    display: none !important;
    opacity: 0 !important;
    background: transparent !important;
}

.np-hero,
.np-hero-hans {
    background: transparent !important;
}




/* ===== Hero buttons under brand logo ===== */
.np-hero-brand-actions{
    position:absolute !important;
    left:50% !important;
    top:82% !important;
    transform:translate(-50%, -50%) !important;
    display:flex !important;
    gap:20px !important;
    justify-content:center !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    width:auto !important;
    margin-top:0 !important;
    z-index:3 !important;
}

.np-hero-action-btn{
    min-width:270px;
    height:72px;
    padding:0 38px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    line-height:1;
    white-space:nowrap;
    font-size:22px;
    font-weight:800;
    letter-spacing:-0.03em;
    text-decoration:none !important;
    transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease;
    box-shadow:0 12px 26px rgba(15, 61, 112, .14);
    cursor:pointer;
}

.np-hero-action-primary,
.np-hero-action-primary:link,
.np-hero-action-primary:visited{
    background:linear-gradient(180deg, #1767bb 0%, #0b4f9c 100%);
    color:#ffffff !important;
    border:1px solid #0b56a7;
}

.np-hero-action-outline,
.np-hero-action-outline:link,
.np-hero-action-outline:visited{
    background:rgba(255,255,255,.96);
    color:#12743e !important;
    border:1px solid rgba(18,116,62,.14);
}

.np-hero-action-primary:hover,
.np-hero-action-primary:focus{
    transform:translateY(-2px);
    box-shadow:0 18px 34px rgba(11, 79, 156, .24);
    background:linear-gradient(180deg, #1b75d1 0%, #0d5bb2 100%);
    color:#ffffff !important;
}

.np-hero-action-outline:hover,
.np-hero-action-outline:focus{
    transform:translateY(-2px);
    box-shadow:0 18px 34px rgba(17, 84, 49, .18);
    background:#f7fffa;
    border-color:rgba(18,116,62,.28);
    color:#0d6a36 !important;
}

@media (max-width: 1200px){
    .np-hero-brand-actions{
        top:74% !important;
        gap:16px !important;
    }
    .np-hero-action-btn{
        min-width:240px;
        height:66px;
        font-size:20px;
        padding:0 30px;
    }
}

@media (max-width: 768px){
    .np-hero-brand-actions{
        position:static !important;
        transform:none !important;
        width:100% !important;
        margin:28px auto 0 !important;
        padding:0 18px;
        flex-wrap:wrap !important;
        gap:10px !important;
    }
    .np-hero-action-btn{
        min-width:calc(50% - 5px);
        flex:1 1 calc(50% - 5px);
        height:56px;
        font-size:17px;
        padding:0 16px;
    }
}

@media (max-width: 480px){
    .np-hero-brand-actions{
        margin-top:24px !important;
        gap:12px !important;
    }
    .np-hero-action-btn{
        min-width:100%;
        flex:1 1 100%;
        height:54px;
        font-size:16px;
    }
}

/* 버튼 위치 미세 조정 */
.hero-buttons {
    position: absolute !important;
    left: 50% !important;
    top: 64% !important;
    transform: translateX(-50%) !important;
}

/* ===== Unified quick menu + scroll top ===== */
.np-side-tools{
  position:fixed;
  right:18px;
  bottom: 10px;
  z-index:74;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}
.np-quick-menu{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}
.np-quick-item{
  width:92px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  color:#18222f;
  text-align:center;
  transition:transform .25s ease, filter .25s ease, opacity .25s ease;
}
.np-quick-item:hover{
  transform:translateY(-4px);
  filter:brightness(1.02);
}
.np-quick-icon{
  width:72px;
  height:72px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  box-shadow:0 16px 28px rgba(16,34,56,.16);
  border:3px solid rgba(255,255,255,.82);
  font-weight:800;
  letter-spacing:-.01em;
}
.np-quick-icon svg{
  width:32px;
  height:32px;
  fill:currentColor;
}
.np-quick-label{
  font-size:14px;
  font-weight:800;
  line-height:1.1;
  color:#ffffff;
  text-shadow:0 2px 10px rgba(0,0,0,.28);
}
.np-quick-item.is-kakao .np-quick-icon{background:#fee500;color:#3a1d1d}
.np-quick-item.is-call .np-quick-icon{background:linear-gradient(180deg,#5a5cff 0%, #4b3ff0 100%)}
.np-quick-item.is-blog .np-quick-icon{background:linear-gradient(180deg,#33cb65 0%, #1da857 100%); color:#fff}
.np-quick-item.is-estimate .np-quick-icon{background:linear-gradient(180deg,#ff54bc 0%, #e03a9a 100%)}
.np-quick-talk{
  font-size:16px;
  font-weight:900;
}
.np-quick-word{
  font-size:22px;
  font-weight:900;
  text-transform:lowercase;
}
.np-scrolltop{
  position:relative;
  width:64px;
  height:64px;
  border:0;
  border-radius:50%;
  padding:0;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.96);
  color:#1f3553;
  box-shadow:0 16px 28px rgba(16,34,56,.16);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px) scale(.92);
  transition:opacity .25s ease, visibility .25s ease, transform .25s ease, box-shadow .25s ease;
}
.np-scrolltop.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.np-scrolltop:hover{
  transform:translateY(-4px) scale(1.03);
  box-shadow:0 18px 32px rgba(16,34,56,.20);
}
.np-scrolltop-ring{
  position:absolute;
  inset:0;
  width:64px;
  height:64px;
  transform:rotate(-90deg);
}
.np-scrolltop-ring-bg{
  fill:none;
  stroke:rgba(38,98,174,.16);
  stroke-width:3.5;
}
.np-scrolltop-ring-bar{
  fill:none;
  stroke:#2f8cff;
  stroke-width:3.5;
  stroke-linecap:round;
  transition:stroke-dashoffset .15s linear;
}
.np-scrolltop-arrow{
  position:absolute;
  top:12px;
  left:50%;
  transform:translateX(-50%);
  font-size:18px;
  font-weight:900;
  line-height:1;
}
.np-scrolltop-percent{
  position:absolute;
  left:50%;
  bottom: 10px;
  transform:translateX(-50%);
  font-size:13px;
  font-weight:800;
  color:#6f7b89;
  line-height:1;
}
@media (max-width:1024px){
  .np-side-tools{display:none}
}


/* intro location map */
.np-intro-panel-map{display:grid;gap:18px}
.np-map-card{background:#fff;border:1px solid rgba(11,58,108,.12);border-radius:28px;padding:16px;box-shadow:0 14px 34px rgba(11,58,108,.08)}
.np-map-frame{position:relative;overflow:hidden;border-radius:22px;min-height:360px;background:#dfe8f1}
.np-map-frame iframe{display:block;width:100%;height:360px;border:0;transform:scale(1.12);transform-origin:center center;transition:transform .7s ease,filter .45s ease;filter:saturate(.98)}
.np-map-frame:hover iframe{transform:scale(1)}
.np-map-overlay{position:absolute;left:18px;right:18px;bottom: 10px;padding:18px 20px;border-radius:18px;background:linear-gradient(180deg, rgba(10,29,53,.12) 0%, rgba(10,29,53,.76) 100%);color:#fff;pointer-events:none}
.np-map-badge{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);font-size:12px;font-weight:800;letter-spacing:.08em}
.np-map-overlay strong{display:block;margin-top:10px;font-size:24px;line-height:1.3}
.np-map-overlay p{margin:8px 0 0;color:rgba(255,255,255,.92);font-size:15px;line-height:1.65}
.np-map-overlay em{display:block;margin-top:8px;color:rgba(255,255,255,.82);font-style:normal;font-size:13px}
.np-map-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.np-map-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:14px;background:#0b5cab;color:#fff;font-weight:700;text-decoration:none;transition:transform .2s ease, box-shadow .2s ease, background .2s ease;box-shadow:0 10px 22px rgba(11,92,171,.18)}
.np-map-link:hover{transform:translateY(-2px);background:#094a8a;color:#fff}
.np-map-link-soft{background:#eef4fa;color:#0b3a6c;box-shadow:none}
.np-map-link-soft:hover{background:#e3edf7;color:#0b3a6c}
@media (max-width: 768px){
  .np-map-frame,.np-map-frame iframe{min-height:300px;height:300px}
  .np-map-frame iframe{transform:none}
  .np-map-overlay{left:14px;right:14px;bottom: 10px;padding:14px 16px}
  .np-map-overlay strong{font-size:20px}
  .np-map-overlay p{font-size:14px;line-height:1.55}
  .np-map-actions{flex-direction:column}
  .np-map-link{width:100%}
}


/* intro map full width patch */
.np-intro-grid-map-only{grid-template-columns:minmax(0,1fr)!important;}
.np-intro-panel-map-full{display:block;}
.np-map-card-expanded{padding:18px 18px 16px;}
.np-map-frame-expanded{min-height:560px;}
.np-map-frame-expanded iframe{height:560px;}
.np-map-overlay-large{max-width:520px;padding:26px 28px 30px;}
.np-map-overlay-large strong{font-size:clamp(32px,3.4vw,48px);line-height:1.15;}
.np-map-overlay-large p{font-size:18px;line-height:1.7;}
.np-map-overlay-large em{font-size:15px;}
.np-map-actions-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;}
.np-map-actions-three .np-map-link{justify-content:center;text-align:center;}
@media (max-width: 991px){
  .np-map-frame-expanded,.np-map-frame-expanded iframe{min-height:420px;height:420px;}
  .np-map-actions-three{grid-template-columns:1fr;}
}
@media (max-width: 640px){
  .np-map-frame-expanded,.np-map-frame-expanded iframe{min-height:340px;height:340px;}
  .np-map-overlay-large{max-width:none;padding:18px 18px 22px;}
  .np-map-overlay-large strong{font-size:28px;}
  .np-map-overlay-large p{font-size:15px;line-height:1.55;}
}

/* Ondaclean-style mega menu */
.np-header-inner{position:relative}
.np-nav{position:static}
.np-mega-nav{position:static;display:flex;justify-content:center;flex:1;min-width:0}
.np-nav-list{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;justify-content:center;column-gap:56px;list-style:none;margin:0;padding:0;width:auto}
.np-nav-item{position:relative}
.np-nav-item > a{
  position:relative;display:block;padding:8px 0 24px;
  font-weight:700;font-size:15px;letter-spacing:-.01em;color:#154c82;
}
.np-nav-item > a:after{
  content:'';position:absolute;left:0;right:0;bottom: 10px;height:3px;border-radius:999px;
  background:#1e5ea0;transform:scaleX(0);transform-origin:center;transition:transform .22s ease;
}
.np-nav-item:hover > a:after,
.np-nav-item.is-hover > a:after,
.np-nav-item.is-active > a:after,
.np-mega-nav.is-open .np-nav-item.is-current > a:after{transform:scaleX(1)}
.np-nav-item:hover > a,
.np-nav-item.is-hover > a,
.np-nav-item.is-active > a,
.np-mega-nav.is-open .np-nav-item.is-current > a{color:#154c82}
.np-mega-panel{
  position:absolute;left:0;right:0;top:100%;
  background:#fff;border-top:1px solid #d7e1ea;border-bottom: 10px solid #d7e1ea;
  box-shadow:none;opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(-6px);transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index:70;
}
.np-mega-nav.is-open .np-mega-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.np-mega-grid{
  width:min(1200px,calc(100% - 40px));margin:0 auto;
  display:grid;grid-template-columns:repeat(var(--mega-cols,4), minmax(0,1fr));
  gap:28px;padding:22px 0 16px;align-items:start;
}
.np-mega-grid.columns-1{--mega-cols:1}.np-mega-grid.columns-2{--mega-cols:2}.np-mega-grid.columns-3{--mega-cols:3}.np-mega-grid.columns-4{--mega-cols:4}
.np-mega-grid.columns-5{--mega-cols:5}.np-mega-grid.columns-6{--mega-cols:6}.np-mega-grid.columns-7{--mega-cols:7}.np-mega-grid.columns-8{--mega-cols:8}
.np-mega-col{min-width:0}
.np-mega-title{display:block;margin:0 0 18px;padding:0;font-size:15px;font-weight:800;color:#222;line-height:1.2}
.np-mega-title:after{display:none !important}
.np-mega-links{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.np-mega-links a{display:block;padding:0;font-size:14px;font-weight:500;line-height:1.35;color:#555;word-break:keep-all}
.np-mega-links a:after{display:none !important}
.np-mega-links a:hover{color:#1e5ea0}
.np-mega-nav.is-open .np-nav-item.is-hover > a:after,
.np-nav-item.is-current > a:after{transform:scaleX(1)}
.np-nav-item.is-current > a{color:#154c82}

/* disable legacy single submenu */
.np-submenu{display:none !important}

@media (max-width: 1199px){
  .np-nav-list{column-gap:40px}
  .np-mega-grid{gap:20px}
}
@media (max-width: 991px){
  .np-mega-nav,.np-mega-panel{display:none !important}
}


/* ===== clean_pro eyoom-style menu renewal ===== */
.np-site{overflow:visible}
.np-header{overflow:visible;background:#fff;backdrop-filter:none;border-bottom: 10px solid rgba(13,53,91,.08)}
.np-header::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:rgba(13,53,91,.05);pointer-events:none}
.np-header-inner{position:relative;min-height:116px;gap:36px}
.np-logo img{height:88px}
.np-nav-eyoom{position:static;display:flex;align-items:stretch;justify-content:center;flex:1;min-width:0}
.np-nav-list{display:flex;align-items:stretch;justify-content:center;gap:54px;list-style:none;margin:0;padding:0;height:100%}
.np-nav-item{position:relative;display:flex;align-items:center}
.np-nav-item > a{position:relative;display:flex;align-items:center;height:116px;padding:0 2px;font-size:17px;font-weight:800;color:#1c3f68;letter-spacing:-.02em;white-space:nowrap}
.np-nav-item > a:after{content:'';position:absolute;left:0;right:0;bottom: 10px;height:2px;border-radius:999px;background:#0e4a82;transform:scaleX(0);transform-origin:center;transition:transform .2s ease}
.np-nav-item > a:hover,.np-nav-item.is-hover > a,.np-nav-item.is-current > a{color:#0e4a82}
.np-nav-item > a:hover:after,.np-nav-item.is-hover > a:after,.np-nav-item.is-current > a:after{transform:scaleX(1)}
.np-nav-item.has-submenu > a{padding-right:2px}
.np-nav-item.has-submenu > a::before{display:none !important;content:none !important}
.np-nav-item.has-submenu.is-hover > a::before{display:none !important}
.np-header-tools{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.np-allmenu-toggle{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 14px;border:1px solid rgba(14,74,130,.14);background:#fff;border-radius:14px;color:#1c3f68;font-weight:800;cursor:pointer;transition:.2s ease}
.np-allmenu-toggle:hover{border-color:rgba(14,74,130,.28);box-shadow:0 8px 22px rgba(14,74,130,.08)}
.np-allmenu-toggle span{display:block;width:16px;height:2px;background:#0e4a82;border-radius:99px}
.np-allmenu-toggle span+span{margin-top:3px}
.np-allmenu-toggle strong{font-size:13px;letter-spacing:-.02em}

.np-mega-panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid rgba(13,53,91,.06);border-bottom: 10px solid rgba(13,53,91,.08);box-shadow:0 18px 40px rgba(15,36,56,.08);opacity:0;visibility:hidden;transform:translateY(-6px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:70}
.np-mega-panel.is-open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.np-mega-panel-inner{position:relative;padding:0;min-height:270px}
.np-mega-section{display:none;grid-template-columns:260px minmax(0,1fr);align-items:stretch}
.np-mega-section.is-hover{display:grid}
.np-mega-section-intro{padding:34px 30px 36px 0;border-right:1px solid rgba(13,53,91,.07)}
.np-mega-title{display:block;font-size:28px;font-weight:800;line-height:1.2;color:#173a5f;letter-spacing:-.04em}
.np-mega-title:after{display:none!important}
.np-mega-section-intro p{margin:14px 0 0;color:#6a7e92;font-size:14px;line-height:1.7}
.np-mega-section-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;padding:32px 0 30px}
.np-mega-section-body.is-single{grid-template-columns:1fr}
.np-mega-group{padding:0 28px;border-left:1px solid rgba(13,53,91,.06);min-height:160px}
.np-mega-group:first-child{border-left:0}
.np-mega-group-title{display:block;padding:2px 0 12px;font-size:16px;font-weight:800;color:#183e68;line-height:1.4}
.np-mega-group-title:after,.np-mega-links a:after{display:none!important}
.np-mega-links{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.np-mega-links a{display:block;font-size:14px;font-weight:500;line-height:1.5;color:#63788f}
.np-mega-links a:hover,.np-mega-group-title:hover{color:#0e4a82}

.np-allmenu-panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid rgba(13,53,91,.06);border-bottom: 10px solid rgba(13,53,91,.08);box-shadow:0 18px 40px rgba(15,36,56,.08);opacity:0;visibility:hidden;transform:translateY(-6px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:72}
.np-allmenu-panel.is-open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.np-allmenu-inner{padding:28px 0 34px}
.np-allmenu-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom: 10px;border-bottom: 10px solid rgba(13,53,91,.08)}
.np-allmenu-head strong{font-size:26px;font-weight:800;color:#173a5f;letter-spacing:-.04em}
.np-allmenu-close{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(13,53,91,.12);border-radius:12px;background:#fff;color:#173a5f;font-size:26px;line-height:1;cursor:pointer}
.np-allmenu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:26px;padding-top:28px}
.np-allmenu-col{min-width:0}
.np-allmenu-title{display:block;padding-bottom: 10px;font-size:18px;font-weight:800;color:#173a5f;border-bottom: 10px solid rgba(14,74,130,.12)}
.np-allmenu-title:after,.np-allmenu-group-title:after,.np-allmenu-links a:after{display:none!important}
.np-allmenu-group{padding-top:14px}
.np-allmenu-group-title{display:block;font-size:15px;font-weight:800;color:#295179}
.np-allmenu-links{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.np-allmenu-links a{display:block;font-size:14px;color:#63788f;line-height:1.45}
.np-allmenu-links a:hover,.np-allmenu-group-title:hover{color:#0e4a82}

.np-mobile-submenu-depth3{display:block;padding:6px 0 0 12px}
.np-mobile-submenu-depth3 a{font-size:13px;color:#6b8198;padding:8px 0}

@media (max-width:1199px){
  .np-nav-list{gap:38px}
  .np-nav-item>a{font-size:16px}
}
@media (max-width:991.98px){
  .np-header-inner{min-height:92px;gap:16px}
  .np-logo img{height:72px}
  .np-nav-eyoom,.np-allmenu-toggle,.np-mega-panel,.np-allmenu-panel{display:none!important}
  .np-header-tools{margin-left:auto}
}


/* 2026-04-23 menu layout refinement */
body{background:#fff}
.np-topbar{display:none}
.np-site{background:#fff}
.np-header{
  position:relative;
  background:#fff;
  border-bottom: 10px solid #e5e7eb;
  backdrop-filter:none;
}
.np-header.is-scrolled{box-shadow:none}
.np-container{width:min(1340px,calc(100% - 48px));}
.np-header-inner{
  min-height:148px;
  gap:28px;
}
.np-logo{padding:0;min-width:240px}
.np-logo img{height:88px;width:auto;object-fit:contain}
.np-header-tools{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.np-allmenu-toggle{display:none !important}
.np-nav-eyoom{justify-content:center}
.np-nav-list{gap:72px;flex:0 1 auto}
.np-nav-item{display:flex;align-items:center}
.np-nav-item > a{
  height:148px;
  padding:0;
  font-size:18px;
  font-weight:800;
  color:#0f3f78;
}
.np-nav-item > a:after{display:none !important}
.np-nav-item > a:hover,
.np-nav-item.is-hover > a,
.np-nav-item.is-current > a{color:#0a3565}
.np-mega-panel{
  position:absolute;
  left:0;
  right:0;
  top:100%;
  background:#fff;
  border-top:1px solid #e5e7eb;
  border-bottom: 10px solid #e5e7eb;
  box-shadow:none;
}
.np-mega-panel-inner{
  min-height:280px;
}
.np-mega-section{display:none;grid-template-columns:310px minmax(0,1fr);min-height:280px}
.np-mega-section.is-hover{display:grid}
.np-mega-section-intro{
  padding:48px 44px 48px 0;
  border-right:1px solid #e5e7eb;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.np-mega-title{
  display:block;
  font-size:32px;
  font-weight:800;
  line-height:1.2;
  color:#0a3565;
  letter-spacing:-.04em;
}
.np-mega-title:after{display:none !important}
.np-mega-section-intro p{
  margin:24px 0 0;
  font-size:15px;
  line-height:2;
  color:#7b8794;
  word-break:keep-all;
}
.np-mega-section-body{
  padding:50px 0 50px 46px;
  display:grid;
  grid-template-columns:repeat(3,minmax(180px,1fr));
  gap:34px 40px;
  align-content:start;
}
.np-mega-section-body.is-single{grid-template-columns:minmax(180px,240px)}
.np-mega-group{min-width:0}
.np-mega-group-title{
  display:block;
  margin:0;
  font-size:18px;
  line-height:1.4;
  font-weight:800;
  color:#0a3565;
}
.np-mega-group-title:after,.np-mega-links a:after{display:none !important}
.np-mega-links{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.np-mega-links a{
  display:block;
  font-size:15px;
  line-height:1.7;
  color:#68778a;
}
.np-mega-links a:hover,.np-mega-group-title:hover{color:#0a3565}
@media (max-width: 1280px){
  .np-nav-list{gap:52px}
}
@media (max-width: 991px){
  .np-topbar{display:none !important}
  .np-header{position:sticky}
  .np-header-inner{min-height:90px}
  .np-logo{min-width:0}
  .np-logo img{height:58px}
}


/* ===== 2026-04-23 premium mega menu tuning patch ===== */
.np-nav-eyoom{justify-content:center}
.np-nav-list{
  gap:84px;
}
.np-nav-item > a{
  position:relative;
  font-size:18px;
  font-weight:800;
  letter-spacing:-.015em;
  line-height:1;
  transition:color .22s ease, transform .22s ease, opacity .22s ease;
}
.np-nav-item > a::before{
  content:'';
  position:absolute;
  left:50%;
  bottom: 10px;
  width:0;
  height:2px;
  border-radius:999px;
  background:#0a3565;
  transform:translateX(-50%);
  transition:width .24s ease, opacity .24s ease;
  opacity:.9;
}
.np-nav-item > a:hover,
.np-nav-item.is-hover > a,
.np-nav-item.is-current > a{
  color:#082f5b;
  transform:translateY(-1px);
}
.np-nav-item > a:hover::before,
.np-nav-item.is-hover > a::before,
.np-nav-item.is-current > a::before{
  width:100%;
}

.np-mega-panel{
  box-shadow:0 16px 36px rgba(15, 36, 56, .06);
}
.np-mega-section{
  min-height:300px;
}
.np-mega-section-body{
  padding:44px 0 44px 52px;
  gap:28px 46px;
  align-content:center;
}
.np-mega-group-title{
  font-size:20px;
  line-height:1.45;
  letter-spacing:-.02em;
  transition:color .2s ease, transform .2s ease;
}
.np-mega-links{
  margin:18px 0 0;
  gap:12px;
}
.np-mega-links a{
  font-size:16px;
  line-height:1.85;
  letter-spacing:-.01em;
  transition:color .2s ease, transform .2s ease, opacity .2s ease;
}
.np-mega-links a:hover,
.np-mega-group-title:hover{
  color:#082f5b;
}
.np-mega-group-title:hover,
.np-mega-links a:hover{
  transform:translateX(3px);
}

@media (max-width: 1280px){
  .np-nav-list{gap:60px;}
  .np-mega-section-body{gap:24px 32px;padding-left:40px;}
}


/* ===== 2026-04-23 current menu active + premium dropdown motion patch ===== */
.np-nav-item.is-current > a{
  color:#082f5b !important;
  transform:translateY(-1px);
}
.np-nav-item.is-current > a::before{
  width:100%;
  opacity:1;
}
.np-nav-item.is-current > a::after{
  transform:scaleX(1);
}

.np-mega-panel{
  opacity:0;
  visibility:hidden;
  transform:translateY(14px);
  pointer-events:none;
  transition:opacity .28s ease, transform .34s cubic-bezier(.22,.61,.36,1), visibility 0s linear .28s;
}
.np-mega-panel.is-open{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
  transition:opacity .28s ease, transform .34s cubic-bezier(.22,.61,.36,1), visibility 0s;
}
.np-mega-section-intro,
.np-mega-group{
  opacity:0;
  transform:translateY(12px);
  transition:opacity .26s ease, transform .34s cubic-bezier(.22,.61,.36,1);
}
.np-mega-panel.is-open .np-mega-section.is-hover .np-mega-section-intro,
.np-mega-panel.is-open .np-mega-section.is-hover .np-mega-group,
.np-mega-panel.is-open .np-mega-section.is-current .np-mega-section-intro,
.np-mega-panel.is-open .np-mega-section.is-current .np-mega-group{
  opacity:1;
  transform:translateY(0);
}
.np-mega-panel.is-open .np-mega-section.is-hover .np-mega-group:nth-child(2),
.np-mega-panel.is-open .np-mega-section.is-current .np-mega-group:nth-child(2){transition-delay:.03s;}
.np-mega-panel.is-open .np-mega-section.is-hover .np-mega-group:nth-child(3),
.np-mega-panel.is-open .np-mega-section.is-current .np-mega-group:nth-child(3){transition-delay:.06s;}
.np-mega-panel.is-open .np-mega-section.is-hover .np-mega-group:nth-child(4),
.np-mega-panel.is-open .np-mega-section.is-current .np-mega-group:nth-child(4){transition-delay:.09s;}
.np-mega-panel.is-open .np-mega-section.is-hover .np-mega-group:nth-child(5),
.np-mega-panel.is-open .np-mega-section.is-current .np-mega-group:nth-child(5){transition-delay:.12s;}
.np-mega-group-title,
.np-mega-links a{
  transition:color .22s ease, transform .22s ease, opacity .22s ease;
}
.np-mega-group-title:hover,
.np-mega-links a:hover{
  color:#082f5b;
  transform:translateX(4px);
}
.np-mega-section.is-current .np-mega-title,
.np-mega-section.is-current .np-mega-group-title{
  color:#0a3565;
}

/* ===== 2026-04-23 submenu title fine-tuning patch ===== */
.np-mega-section-body{
  align-content:center;
}
.np-mega-group{
  padding-top:14px;
}
.np-mega-group-title{
  font-size:22px;
  line-height:1.45;
  transition:color .2s ease;
}
.np-mega-group-title:hover{
  color:#1e73be;
}

/* ===== 2026-04-25 REAL submenu one-line fix =====
   원인: 실제 드롭다운은 .np-mega-group-title / .np-mega-section-body 구조이며,
   기존 패치는 다른 셀렉터에 적용되어 반영되지 않았습니다.
*/
@media (min-width: 992px){
  .np-mega-section-body{
    grid-template-columns:repeat(4, minmax(118px, 1fr)) !important;
    gap:20px 24px !important;
    padding-left:38px !important;
    padding-right:0 !important;
    align-content:center !important;
  }
  .np-mega-section-body.is-single{grid-template-columns:minmax(150px, 220px) !important;}
  .np-mega-group{padding:10px 22px 0 22px !important;min-width:0 !important;box-sizing:border-box !important;}
  .np-mega-group-title{font-size:20px !important;line-height:1.35 !important;letter-spacing:-0.045em !important;white-space:nowrap !important;word-break:keep-all !important;overflow:visible !important;}
  .np-mega-links a{font-size:15px !important;line-height:1.65 !important;letter-spacing:-0.025em !important;white-space:nowrap !important;word-break:keep-all !important;}
}
@media (min-width: 992px) and (max-width: 1280px){
  .np-mega-section{grid-template-columns:280px minmax(0,1fr) !important;}
  .np-mega-section-body{grid-template-columns:repeat(4, minmax(105px, 1fr)) !important;gap:18px 18px !important;padding-left:30px !important;}
  .np-mega-group{padding-left:16px !important;padding-right:16px !important;}
  .np-mega-group-title{font-size:18px !important;}
}

/* ===== 2026-04-25 submenu bottom spacing micro fix =====
   ceo / 오시는길 / 회사인혁 / 인증서 하단 여백 축소 + 모든 메가메뉴 동일 적용
*/
@media (min-width: 992px){
  .np-mega-panel-inner{
    min-height:230px !important;
  }
  .np-mega-section{
    min-height:230px !important;
  }
  .np-mega-section-intro{
    padding-top:38px !important;
    padding-bottom: 10px !important;
  }
  .np-mega-section-body{
    padding-top:34px !important;
    padding-bottom: 10px !important;
    align-content:start !important;
  }
  .np-mega-group{
    padding-top:6px !important;
    min-height:120px !important;
  }
  .np-mega-links{
    margin-top:12px !important;
    gap:8px !important;
  }
}
@media (min-width: 992px) and (max-width: 1280px){
  .np-mega-panel-inner,
  .np-mega-section{
    min-height:220px !important;
  }
  .np-mega-section-body{
    padding-top:30px !important;
    padding-bottom: 10px !important;
  }
}

/* ===== 2026-04-25 submenu ultra micro vertical tuning final =====
   하위메뉴 텍스트 위치를 살짝 아래로 내리고, 하단 여백은 더 줄이는 최종 미세조정
   PC 메가메뉴와 옆 메뉴 모두 동일 적용
*/
@media (min-width: 992px){
  .np-mega-panel-inner,
  .np-mega-section{
    min-height:210px !important;
  }
  .np-mega-section-intro{
    padding-top:34px !important;
    padding-bottom: 10px !important;
  }
  .np-mega-section-body{
    padding-top:44px !important;
    padding-bottom: 10px !important;
    align-content:start !important;
  }
  .np-mega-group{
    padding-top:12px !important;
    padding-bottom:0 !important;
    min-height:92px !important;
  }
  .np-mega-group-title{
    line-height:1.28 !important;
  }
  .np-mega-links{
    margin-top:8px !important;
    gap:6px !important;
  }
}
@media (min-width: 992px) and (max-width: 1280px){
  .np-mega-panel-inner,
  .np-mega-section{
    min-height:205px !important;
  }
  .np-mega-section-body{
    padding-top:42px !important;
    padding-bottom: 10px !important;
  }
  .np-mega-group{
    padding-top:10px !important;
    min-height:88px !important;
  }
}


/* ===== Quicklink premium image-style patch ===== */
.np-side-tools.np-side-tools-image{
  right:28px!important;
  bottom: 10px!important;
  z-index:90!important;
  gap:14px!important;
}
.np-side-tools-image .np-quick-menu{
  gap:12px!important;
}
.np-side-tools-image .np-quick-item{
  width:82px!important;
  gap:4px!important;
  text-decoration:none!important;
}
.np-side-tools-image .np-quick-icon{
  width:72px!important;
  height:72px!important;
  border-radius:50%!important;
  border:4px solid rgba(255,255,255,.95)!important;
  box-shadow:0 14px 26px rgba(0,0,0,.26), inset 0 -8px 14px rgba(0,0,0,.08), inset 0 8px 12px rgba(255,255,255,.25)!important;
  position:relative!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
}
.np-side-tools-image .np-quick-icon:after{
  content:"";
  position:absolute;
  left:11px;
  top:8px;
  width:35px;
  height:18px;
  border-radius:50%;
  background:rgba(255,255,255,.22);
  transform:rotate(-18deg);
  pointer-events:none;
}
.np-side-tools-image .np-quick-icon svg{
  width:38px!important;
  height:38px!important;
  fill:currentColor!important;
  color:#fff!important;
  position:relative;
  z-index:2;
}
.np-side-tools-image .np-quick-label{
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  letter-spacing:-.05em!important;
  line-height:1.05!important;
  text-shadow:0 2px 6px rgba(0,0,0,.45), 0 0 14px rgba(0,0,0,.25)!important;
}
.np-side-tools-image .np-quick-item:hover{
  transform:translateY(-5px) scale(1.03)!important;
  filter:none!important;
}
.np-side-tools-image .np-quick-item.is-kakao .np-quick-icon{
  background:linear-gradient(180deg,#ffe928 0%,#ffd900 100%)!important;
  color:#3b211b!important;
}
.np-talk-bubble{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  height:30px;
  border-radius:16px;
  background:#3a211d;
  color:#ffe928;
  font-size:15px;
  font-weight:900;
  letter-spacing:-.03em;
}
.np-talk-bubble:after{
  content:"";
  position:absolute;
  left:8px;
  bottom:-6px;
  border-width:7px 5px 0 0;
  border-style:solid;
  border-color:#3a211d transparent transparent transparent;
}
.np-side-tools-image .np-quick-item.is-call .np-quick-icon{
  background:linear-gradient(180deg,#5757ff 0%,#4b36dc 100%)!important;
}
.np-side-tools-image .np-quick-item.is-blog .np-quick-icon{
  background:linear-gradient(180deg,#31c963 0%,#20a94f 100%)!important;
}
.np-blog-card{
  color:#fff!important;
}
.np-blog-card span{
  position:relative;
  z-index:2;
  display:inline-flex;
  width:48px;
  height:38px;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  background:#fff;
  color:#f58220;
  font-size:18px;
  font-weight:900;
  letter-spacing:-.06em;
}
.np-blog-card span:before{
  content:"";
  position:absolute;
  left:7px;
  top:-5px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#fff;
}
.np-blog-card span:after{
  content:"";
  position:absolute;
  right:7px;
  top:-5px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#fff;
}
.np-side-tools-image .np-quick-item.is-estimate .np-quick-icon{
  background:linear-gradient(180deg,#f342aa 0%,#df2f99 100%)!important;
}
@media (max-width:1024px){
  .np-side-tools.np-side-tools-image{display:none!important}
}



/* ===== Quicklink inside text safe patch ===== */
.np-side-tools-inside .np-quick-item{
  gap:0!important;
}
.np-side-tools-inside .np-quick-label{
  display:none!important;
}
.np-side-tools-inside .np-inside-icon{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
}
.np-side-tools-inside .np-inside-label{
  position:relative!important;
  z-index:3!important;
  display:block!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:-.07em!important;
  color:#fff!important;
  text-align:center!important;
  text-shadow:0 2px 5px rgba(0,0,0,.38)!important;
  white-space:nowrap!important;
}
.np-side-tools-inside .is-kakao .np-inside-label{
  color:#3a211d!important;
  text-shadow:none!important;
  font-size:11px!important;
}
.np-side-tools-inside .np-talk-bubble{
  min-width:42px!important;
  height:25px!important;
  font-size:13px!important;
}
.np-side-tools-inside .np-quick-icon svg{
  width:32px!important;
  height:32px!important;
  margin-bottom: 10px!important;
}
.np-side-tools-inside .np-blog-card{
  gap:2px!important;
}
.np-side-tools-inside .np-blog-word{
  position:relative!important;
  z-index:3!important;
  display:inline-flex!important;
  width:48px!important;
  height:28px!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#f58220!important;
  font-size:18px!important;
  font-weight:900!important;
  letter-spacing:-.06em!important;
}
.np-side-tools-inside .np-blog-card span:before,
.np-side-tools-inside .np-blog-card span:after{
  display:none!important;
}



/* ===== Quicklink icon size up patch ===== */
.np-side-tools.np-side-tools-image{
  right:30px!important;
  bottom: 10px!important;
}

.np-side-tools-inside .np-quick-item{
  width:96px!important;
}

.np-side-tools-inside .np-quick-icon{
  width:86px!important;
  height:86px!important;
  border-width:4px!important;
}

.np-side-tools-inside .np-quick-icon svg{
  width:40px!important;
  height:40px!important;
  margin-bottom: 10px!important;
}

.np-side-tools-inside .np-inside-label{
  font-size:13px!important;
}

.np-side-tools-inside .is-kakao .np-inside-label{
  font-size:12px!important;
}

.np-side-tools-inside .np-talk-bubble{
  min-width:52px!important;
  height:30px!important;
  font-size:15px!important;
}

.np-side-tools-inside .np-blog-word{
  width:56px!important;
  height:32px!important;
  font-size:20px!important;
}

.np-side-tools-image .np-quick-icon:after{
  left:13px!important;
  top:10px!important;
  width:42px!important;
  height:21px!important;
}



/* ===== final size + alignment tuning ===== */
.np-side-tools-inside .np-quick-item{
  width:104px!important;
}

.np-side-tools-inside .np-quick-icon{
  width:94px!important;
  height:94px!important;
}

.np-side-tools-inside .np-quick-icon svg{
  width:44px!important;
  height:44px!important;
  margin-bottom: 10px!important;
}

.np-side-tools-inside .np-inside-label{
  font-size:14px!important;
  transform:translateY(1px);
}

.np-side-tools-inside .np-talk-bubble{
  min-width:56px!important;
  height:32px!important;
  font-size:16px!important;
}

.np-side-tools-inside .np-blog-word{
  width:60px!important;
  height:34px!important;
  font-size:22px!important;
}

/* 스크롤 버튼 크기 맞춤 */
.np-scrolltop{
  width:94px!important;
  height:94px!important;
}

.np-scrolltop-ring{
  width:94px!important;
  height:94px!important;
}

.np-scrolltop-arrow{
  top:18px!important;
  font-size:22px!important;
}

.np-scrolltop-percent{
  bottom: 10px!important;
  font-size:16px!important;
}


/* ===== SAFE RESTORE + BLOG EXACT ICON ===== */
.np-side-tools-inside .np-quick-item.is-blog .np-blog-card span,
.np-side-tools-inside .np-quick-item.is-blog .np-blog-word,
.np-side-tools-inside .np-quick-item.is-blog .np-naver-n{
  display:none!important;
}

.np-side-tools-inside .np-blog-exact-icon{
  background:#22b956!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
}

.np-side-tools-inside .np-blog-exact-bubble{
  position:relative!important;
  z-index:3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:58px!important;
  height:34px!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#f58220!important;
  font-size:20px!important;
  font-weight:1000!important;
  line-height:1!important;
  letter-spacing:-.08em!important;
  box-shadow:inset 0 -2px 0 rgba(0,0,0,.04)!important;
}

.np-side-tools-inside .np-blog-exact-bubble:after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-6px!important;
  transform:translateX(-50%)!important;
  width:0!important;
  height:0!important;
  border-left:6px solid transparent!important;
  border-right:6px solid transparent!important;
  border-top:7px solid #fff!important;
}

.np-side-tools-inside .np-blog-exact-icon .np-inside-label{
  position:relative!important;
  z-index:3!important;
  display:block!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:-.06em!important;
  text-align:center!important;
  white-space:nowrap!important;
  text-shadow:0 2px 5px rgba(0,0,0,.42)!important;
  margin-top:1px!important;
}


/* =========================================================
   Clean Pro premium individual dropdown menu patch
   - 기존 전체폭 메가메뉴는 숨기고, 각 대메뉴별 드롭다운으로 출력
   - Apple / Naver 계열의 부드러운 애니메이션 적용
   ========================================================= */
@media (min-width: 992px){
  .np-header{overflow:visible;z-index:120}
  .np-header-inner{position:relative;overflow:visible}
  .np-nav,.np-nav-list,.np-nav-item{overflow:visible}
  .np-nav-list{gap:54px}
  .np-nav-item{position:relative;padding:34px 0}
  .np-nav-item > a{display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 2px 10px;font-size:16px;font-weight:800;letter-spacing:-.035em;color:#0d355b;transition:color .22s ease,transform .22s ease}
  .np-nav-item > a:after{bottom:-8px;height:3px;background:#0d355b;opacity:.95;transition:transform .26s cubic-bezier(.22,.61,.36,1),opacity .22s ease}
  .np-nav-item:hover > a,.np-nav-item:focus-within > a,.np-nav-item.is-current > a{color:#08355d}
  .np-nav-item:hover > a{transform:translateY(-1px)}
  .np-nav-caret{width:6px;height:6px;margin-top:-2px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(45deg);opacity:.58;transition:transform .24s cubic-bezier(.22,.61,.36,1),opacity .22s ease}
  .np-nav-item:hover .np-nav-caret,.np-nav-item:focus-within .np-nav-caret{transform:rotate(225deg) translate(-1px,-1px);opacity:.9}
  .np-mega-panel{display:none!important}
  .np-nav .np-submenu.np-premium-dropdown{display:block!important;position:absolute;top:calc(100% - 16px);left:50%;width:max-content;min-width:188px;max-width:260px;margin:0;padding:10px;list-style:none;background:rgba(255,255,255,.94);border:1px solid rgba(13,53,91,.10);border-radius:18px;box-shadow:0 20px 50px rgba(8,53,93,.14),0 3px 12px rgba(8,53,93,.06);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%) translateY(14px) scale(.98);transform-origin:top center;transition:opacity .24s ease,visibility .24s ease,transform .30s cubic-bezier(.22,.61,.36,1);z-index:180}
  .np-nav .np-submenu.np-premium-dropdown:before{content:'';position:absolute;left:50%;top:-7px;width:14px;height:14px;background:rgba(255,255,255,.94);border-left:1px solid rgba(13,53,91,.10);border-top:1px solid rgba(13,53,91,.10);transform:translateX(-50%) rotate(45deg)}
  .np-nav-item:hover > .np-submenu.np-premium-dropdown,.np-nav-item:focus-within > .np-submenu.np-premium-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0) scale(1)}
  .np-nav .np-premium-dropdown > li{position:relative;margin:0;opacity:0;transform:translateY(5px);transition:opacity .24s ease,transform .24s ease}
  .np-nav-item:hover .np-premium-dropdown > li,.np-nav-item:focus-within .np-premium-dropdown > li{opacity:1;transform:translateY(0)}
  .np-nav-item:hover .np-premium-dropdown > li:nth-child(1){transition-delay:.025s}.np-nav-item:hover .np-premium-dropdown > li:nth-child(2){transition-delay:.05s}.np-nav-item:hover .np-premium-dropdown > li:nth-child(3){transition-delay:.075s}.np-nav-item:hover .np-premium-dropdown > li:nth-child(4){transition-delay:.10s}.np-nav-item:hover .np-premium-dropdown > li:nth-child(5){transition-delay:.125s}
  .np-nav .np-premium-dropdown a{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px;padding:10px 14px 10px 16px;border-radius:12px;font-size:14px;font-weight:700;letter-spacing:-.025em;line-height:1.35;color:#40556a;white-space:nowrap;transition:background-color .20s ease,color .20s ease,transform .24s cubic-bezier(.22,.61,.36,1),box-shadow .20s ease}
  .np-nav .np-premium-dropdown a:after{display:none!important}
  .np-nav .np-premium-dropdown a:hover,.np-nav .np-premium-dropdown a:focus{color:#0d355b;background:linear-gradient(135deg,rgba(14,74,130,.075),rgba(30,166,114,.055));transform:translateX(3px);box-shadow:inset 0 0 0 1px rgba(14,74,130,.055)}
  .np-nav .np-premium-dropdown li.has-depth3 > a:after{display:block!important;content:'';position:static;width:6px;height:6px;flex:0 0 6px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(-45deg);background:none;opacity:.5}
  .np-submenu-depth3{position:absolute;left:calc(100% + 10px);top:-10px;min-width:170px;margin:0;padding:10px;list-style:none;background:rgba(255,255,255,.96);border:1px solid rgba(13,53,91,.10);border-radius:16px;box-shadow:0 18px 42px rgba(8,53,93,.12);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-6px) scale(.98);transition:opacity .22s ease,visibility .22s ease,transform .26s cubic-bezier(.22,.61,.36,1)}
  .np-premium-dropdown li.has-depth3:hover > .np-submenu-depth3,.np-premium-dropdown li.has-depth3:focus-within > .np-submenu-depth3{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0) scale(1)}
}
@media (max-width: 991.98px){.np-nav-caret{display:none}.np-premium-dropdown{display:none!important}}

/* =========================================================
   Clean Pro menu font / mobile spacing micro tuning patch
   - PC 대메뉴 글씨 크기 소폭 증가
   - 모바일 메뉴 글씨와 간격만 정밀 조정
   - 기존 드롭다운/애니메이션 구조 변경 없음
   ========================================================= */
@media (min-width: 992px){
  .np-nav-item > a{
    font-size:19px!important;
    font-weight:800!important;
    letter-spacing:-.04em!important;
  }
  .np-nav-list{
    gap:58px!important;
  }
}

@media (max-width: 991.98px){
  .np-mobile-menu{
    padding:16px 20px 22px!important;
  }
  .np-mobile-item{
    border-bottom: 10px solid rgba(48,71,95,.09)!important;
  }
  .np-mobile-item-head > a,
  .np-mobile-nav > .np-mobile-item > a{
    padding:17px 0!important;
    font-size:18px!important;
    font-weight:800!important;
    line-height:1.32!important;
    letter-spacing:-.035em!important;
    color:#173f67!important;
  }
  .np-mobile-submenu{
    padding:2px 0 13px 14px!important;
  }
  .np-mobile-submenu a{
    padding:11px 0!important;
    font-size:16px!important;
    font-weight:700!important;
    line-height:1.35!important;
    letter-spacing:-.03em!important;
  }
  .np-mobile-submenu-depth3{
    padding:5px 0 2px 13px!important;
  }
  .np-mobile-submenu-depth3 a{
    padding:9px 0!important;
    font-size:14px!important;
    line-height:1.35!important;
  }
  .np-mobile-submenu-toggle{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
  }
}


/* ===== 2026-05-01 dropdown gap + shadow + arrow precision patch =====
   요청 범위: 대메뉴/소메뉴 드롭다운 간격, 그림자, 둥글기, 화살표 위치만 보정
*/
@media (min-width: 992px){
  .np-nav .np-submenu.np-premium-dropdown{
    top:calc(100% - 38px) !important;
    border-radius:16px !important;
    box-shadow:0 14px 34px rgba(8,53,93,.13), 0 4px 12px rgba(8,53,93,.07) !important;
    transform:translateX(-50%) translateY(8px) scale(.985) !important;
  }

  .np-nav .np-submenu.np-premium-dropdown:before{
    top:-6px !important;
    width:12px !important;
    height:12px !important;
    box-shadow:-1px -1px 0 rgba(13,53,91,.04) !important;
  }

  .np-nav-item:hover > .np-submenu.np-premium-dropdown,
  .np-nav-item:focus-within > .np-submenu.np-premium-dropdown{
    transform:translateX(-50%) translateY(0) scale(1) !important;
  }

  .np-nav .np-premium-dropdown a{
    border-radius:11px !important;
  }
}

/* ===== 2026-05-01 dropdown close-fit + hover bridge final patch =====
   요청 범위: 드롭다운을 더 붙이고, 마우스 이동 시 끊김 없는 hover 안전영역만 추가
   다른 레이아웃/색상/구조 변경 없음
*/
@media (min-width: 992px){
  .np-nav-item{
    position:relative !important;
  }

  /* 대메뉴와 드롭다운 사이에 보이지 않는 안전 hover 영역 */
  .np-nav-item:before{
    content:'';
    position:absolute;
    left:-18px;
    right:-18px;
    bottom:-18px;
    height:36px;
    background:transparent;
    z-index:170;
    pointer-events:auto;
  }

  /* 드롭다운을 대메뉴 쪽으로 한 번 더 밀착 */
  .np-nav .np-submenu.np-premium-dropdown{
    top:calc(100% - 46px) !important;
    z-index:190 !important;
    transform:translateX(-50%) translateY(6px) scale(.985) !important;
  }

  .np-nav-item:hover > .np-submenu.np-premium-dropdown,
  .np-nav-item:focus-within > .np-submenu.np-premium-dropdown{
    transform:translateX(-50%) translateY(0) scale(1) !important;
  }

  /* 화살표도 드롭다운 밀착 위치에 맞춰 미세 보정 */
  .np-nav .np-submenu.np-premium-dropdown:before{
    top:-5px !important;
  }
}

/* ===== 2026-05-01 mobile slide accordion + sticky shrink header final patch =====
   요청 범위: 모바일 메뉴 UX(햄버거 슬라이드 + 아코디언), 스크롤 고정/축소 헤더만 보정
   기존 PC 드롭다운 디자인/간격/색상은 유지
*/
body.np-mobile-open{overflow:hidden;touch-action:none}

.np-header{
  transition:box-shadow .22s ease, background-color .22s ease, backdrop-filter .22s ease, border-color .22s ease;
}
.np-header-inner,
.np-logo img,
.np-menu-toggle,
.np-nav-item{
  transition:min-height .22s ease, height .22s ease, padding .22s ease, transform .22s ease;
}
.np-header.is-scrolled{
  background:rgba(255,255,255,.96)!important;
  border-bottom-color:rgba(13,53,91,.10)!important;
  box-shadow:0 10px 30px rgba(8,53,93,.08)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

@media (min-width: 992px){
  .np-header.is-scrolled .np-header-inner{min-height:86px!important}
  .np-header.is-scrolled .np-logo img{height:66px!important}
  .np-header.is-scrolled .np-nav-item{padding-top:22px!important;padding-bottom: 10px!important}
  .np-header.is-scrolled .np-nav .np-submenu.np-premium-dropdown{top:calc(100% - 36px)!important}
}

@media (max-width: 991.98px){
  .np-header{z-index:999!important}
  .np-header-inner{min-height:86px!important}
  .np-header.is-scrolled .np-header-inner{min-height:68px!important}
  .np-header.is-scrolled .np-logo img{height:48px!important}

  .np-menu-toggle{
    position:relative!important;
    z-index:1002!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    width:46px!important;
    height:46px!important;
    border-radius:15px!important;
    box-shadow:0 8px 20px rgba(8,53,93,.08)!important;
    transition:background-color .2s ease, box-shadow .2s ease, transform .2s ease!important;
  }
  .np-menu-toggle:hover{transform:translateY(-1px)}
  .np-menu-toggle span{
    width:20px!important;
    height:2px!important;
    margin:3px 0!important;
    border-radius:99px!important;
    transition:transform .24s cubic-bezier(.22,.61,.36,1), opacity .18s ease, background-color .2s ease!important;
  }
  body.np-mobile-open .np-menu-toggle span:nth-child(1){transform:translateY(5px) rotate(45deg)}
  body.np-mobile-open .np-menu-toggle span:nth-child(2){opacity:0;transform:scaleX(.4)}
  body.np-mobile-open .np-menu-toggle span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

  .np-mobile-menu{
    display:block!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    width:min(86vw,380px)!important;
    max-width:380px!important;
    padding:92px 22px 26px!important;
    background:rgba(255,255,255,.97)!important;
    border-top:0!important;
    border-left:1px solid rgba(13,53,91,.10)!important;
    box-shadow:-22px 0 60px rgba(8,53,93,.16)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    transform:translateX(104%)!important;
    opacity:0!important;
    visibility:hidden!important;
    transition:transform .32s cubic-bezier(.22,.61,.36,1), opacity .24s ease, visibility .24s ease!important;
    z-index:1000!important;
  }
  .np-mobile-menu.is-open{
    transform:translateX(0)!important;
    opacity:1!important;
    visibility:visible!important;
  }
  body.np-mobile-open:before{
    content:'';
    position:fixed;
    inset:0;
    background:rgba(7,26,44,.34);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
    z-index:998;
  }

  .np-mobile-nav{display:grid!important;gap:4px!important}
  .np-mobile-item{
    border-bottom: 10px solid rgba(48,71,95,.08)!important;
    opacity:0;
    transform:translateX(14px);
    transition:opacity .26s ease, transform .30s cubic-bezier(.22,.61,.36,1);
  }
  .np-mobile-menu.is-open .np-mobile-item{opacity:1;transform:translateX(0)}
  .np-mobile-menu.is-open .np-mobile-item:nth-child(1){transition-delay:.04s}
  .np-mobile-menu.is-open .np-mobile-item:nth-child(2){transition-delay:.07s}
  .np-mobile-menu.is-open .np-mobile-item:nth-child(3){transition-delay:.10s}
  .np-mobile-menu.is-open .np-mobile-item:nth-child(4){transition-delay:.13s}
  .np-mobile-menu.is-open .np-mobile-item:nth-child(5){transition-delay:.16s}

  .np-mobile-item-head > a,
  .np-mobile-nav > .np-mobile-item > a{
    padding:17px 2px!important;
    font-size:18px!important;
    font-weight:850!important;
    color:#153f67!important;
    letter-spacing:-.04em!important;
  }
  .np-mobile-submenu-toggle{
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
    border-radius:12px!important;
    background:rgba(14,74,130,.045)!important;
  }
  .np-mobile-submenu-toggle:before,
  .np-mobile-submenu-toggle:after{width:13px!important;background:#0d355b!important}

  .np-mobile-submenu{
    display:block!important;
    max-height:0!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0 0 0 14px!important;
    opacity:0!important;
    transform:translateY(-4px)!important;
    transition:max-height .32s cubic-bezier(.22,.61,.36,1), opacity .20s ease, transform .24s ease, padding .24s ease!important;
  }
  .np-mobile-item.is-open > .np-mobile-submenu{
    max-height:520px!important;
    opacity:1!important;
    transform:translateY(0)!important;
    padding:2px 0 14px 14px!important;
  }
  .np-mobile-submenu a{
    position:relative!important;
    padding:11px 0 11px 14px!important;
    font-size:16px!important;
    font-weight:750!important;
    color:#526b82!important;
  }
  .np-mobile-submenu a:before{
    content:'';
    position:absolute;
    left:0;
    top:50%;
    width:5px;
    height:5px;
    border-radius:50%;
    background:rgba(14,74,130,.28);
    transform:translateY(-50%);
  }
  .np-mobile-submenu a:hover{color:#0d355b!important}
  .np-mobile-actions{padding-top:20px!important;gap:11px!important}
}

/* ===== 2026-05-01 mobile menu text overflow fix final =====
   요청 범위: 모바일 메뉴에서 하부메뉴 토글 글자 세로 출력 문제 수정,
   모바일 메뉴 간격/정렬만 보정. PC 메뉴/드롭다운/기타 영역 수정 없음.
*/
@media (max-width: 991.98px){
  /* 모바일 메뉴 한 줄 정렬 안정화 */
  .np-mobile-item-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%!important;
  }

  .np-mobile-item-head > a,
  .np-mobile-nav > .np-mobile-item > a{
    display:block!important;
    flex:1 1 auto!important;
    min-width:0!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* 버튼 안의 '하부메뉴 열기' 텍스트가 세로로 보이는 문제 방지 */
  .np-mobile-submenu-toggle{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 38px!important;
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    height:38px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-indent:-9999px!important;
    font-size:0!important;
    line-height:0!important;
    color:transparent!important;
  }

  .np-mobile-submenu-toggle:before,
  .np-mobile-submenu-toggle:after{
    text-indent:0!important;
    font-size:0!important;
    line-height:1!important;
  }

  /* 하부메뉴 텍스트가 좁게 접혀 세로로 출력되지 않도록 고정 */
  .np-mobile-submenu{
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    box-shadow:none!important;
    border:0!important;
    background:transparent!important;
  }

  .np-mobile-submenu a,
  .np-mobile-submenu-depth3 a{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

/* =========================================================
   NPS logo remaster patch
   - 벡터 느낌 선명도 보정 로고
   - PC/모바일 헤더 크기 정밀 조정
   - 다크모드 환경에서는 전용 로고 자동 출력
   ========================================================= */
.np-logo-remaster{display:flex!important;align-items:center!important;justify-content:flex-start!important;min-width:260px!important;padding:8px 0!important;line-height:0!important}
.np-logo-remaster picture{display:block!important;line-height:0!important}
.np-logo-remaster img{height:104px!important;width:auto!important;max-width:none!important;object-fit:contain!important;image-rendering:auto!important;filter:drop-shadow(0 8px 18px rgba(8,42,64,.08))!important;transition:height .25s ease, filter .25s ease!important}
.np-header.is-scrolled .np-logo-remaster img{height:76px!important;filter:drop-shadow(0 5px 12px rgba(8,42,64,.06))!important}
@media (max-width:1024px){.np-logo-remaster{min-width:210px!important}.np-logo-remaster img{height:84px!important}.np-header.is-scrolled .np-logo-remaster img{height:64px!important}}
@media (max-width:767px){.np-logo-remaster{min-width:0!important;padding:6px 0!important}.np-logo-remaster img{height:66px!important}.np-header.is-scrolled .np-logo-remaster img{height:52px!important}}
@media (prefers-color-scheme: dark){.np-logo-remaster img{filter:drop-shadow(0 8px 20px rgba(0,190,255,.16))!important}}

/* =========================================================
   메인 히어로 텍스트 index.php 출력 패치 v8
   - 이미지 안 글씨가 아니라 index.php 문구로 출력
   - 원본 이미지와 비슷한 위치/크기
   - 다른 섹션은 수정하지 않음
========================================================= */
.np-main .np-hero-inner-hans{
    position:relative !important;
    z-index:2 !important;
}

.np-main .np-main-hero-text-edit{
    position:absolute !important;
    left:74px !important;
    top:72px !important;
    width:660px !important;
    max-width:calc(100vw - 120px) !important;
    min-height:0 !important;
    padding:0 !important;
    display:block !important;
    color:#0a315d !important;
    z-index:5 !important;
}

.np-main .np-main-hero-text-edit:before{
    display:none !important;
}

.np-main .np-main-hero-kicker{
    display:block !important;
    margin:0 0 18px !important;
    color:#1d1d1d !important;
    font-size:24px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    letter-spacing:-.05em !important;
}

.np-main .np-main-hero-text-edit h1{
    margin:0 !important;
    max-width:660px !important;
    color:#07305d !important;
    font-size:54px !important;
    line-height:1.18 !important;
    font-weight:950 !important;
    letter-spacing:-.075em !important;
}

.np-main .np-main-hero-text-edit p{
    margin:28px 0 0 !important;
    color:#2d2d2d !important;
    font-size:20px !important;
    line-height:1.7 !important;
    font-weight:500 !important;
    letter-spacing:-.045em !important;
}

@media(max-width:1100px){
    .np-main .np-main-hero-text-edit{
        left:48px !important;
        top:58px !important;
        width:560px !important;
    }
    .np-main .np-main-hero-text-edit h1{
        font-size:44px !important;
    }
    .np-main .np-main-hero-kicker{
        font-size:21px !important;
    }
    .np-main .np-main-hero-text-edit p{
        font-size:18px !important;
    }
}

@media(max-width:768px){
    .np-main .np-main-hero-text-edit{
        left:22px !important;
        top:42px !important;
        width:calc(100% - 44px) !important;
        max-width:none !important;
    }
    .np-main .np-main-hero-text-edit h1{
        font-size:31px !important;
        line-height:1.22 !important;
    }
    .np-main .np-main-hero-kicker{
        margin-bottom: 10px !important;
        font-size:17px !important;
    }
    .np-main .np-main-hero-text-edit p{
        margin-top:16px !important;
        font-size:15px !important;
        line-height:1.65 !important;
    }
}

/* =========================================================
   v9 메인 히어로 텍스트 좌측 정렬 보정
   - 하단 '전문 청소 관리' 아이콘 라인과 시작점 맞춤
   - 이미지/버튼/다른 영역 수정 없음
========================================================= */
.np-main .np-hero-inner-hans{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    z-index:2 !important;
    pointer-events:none !important;
}

.np-main .np-main-hero-text-edit{
    position:absolute !important;
    left:120px !important;
    top:92px !important;
    width:650px !important;
    max-width:650px !important;
    padding:0 !important;
    margin:0 !important;
    pointer-events:auto !important;
}

.np-main .np-main-hero-kicker{
    margin:0 0 16px !important;
    font-size:24px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    letter-spacing:-.045em !important;
}

.np-main .np-main-hero-text-edit h1{
    margin:0 !important;
    font-size:54px !important;
    line-height:1.18 !important;
    font-weight:950 !important;
    letter-spacing:-.075em !important;
}

.np-main .np-main-hero-text-edit p{
    margin:26px 0 0 !important;
    font-size:20px !important;
    line-height:1.68 !important;
    letter-spacing:-.045em !important;
}

@media(max-width:1100px){
    .np-main .np-main-hero-text-edit{
        left:56px !important;
        top:70px !important;
        width:560px !important;
        max-width:560px !important;
    }
    .np-main .np-main-hero-text-edit h1{
        font-size:43px !important;
    }
}

@media(max-width:768px){
    .np-main .np-main-hero-text-edit{
        left:22px !important;
        top:46px !important;
        width:calc(100% - 44px) !important;
        max-width:none !important;
    }
    .np-main .np-main-hero-kicker{
        font-size:17px !important;
        margin-bottom: 10px !important;
    }
    .np-main .np-main-hero-text-edit h1{
        font-size:31px !important;
        line-height:1.22 !important;
    }
    .np-main .np-main-hero-text-edit p{
        font-size:15px !important;
        line-height:1.65 !important;
        margin-top:16px !important;
    }
}

/* =========================================================
   v10 메인 히어로 버튼 위치만 아래로 조정
   - 온라인 예약 / 간편 견적 신청 버튼만 이동
   - 이미지, 텍스트, 아이콘, 다른 영역은 수정하지 않음
========================================================= */
.np-main .np-hero-brand-actions{
    top:auto !important;
    bottom: 10px !important;
    transform:translateX(-50%) !important;
}

@media(max-width:768px){
    .np-main .np-hero-brand-actions{
        bottom: 10px !important;
    }
}

/* =========================================================
   v12 메인 히어로 버튼 1개로 변경
   - 기존 온라인 예약 / 간편 견적 신청 2개 버튼 삭제
   - 아이콘 4개 아래 중앙에 온라인 견적 신청 버튼 1개 배치
   - 다른 영역 수정 없음
========================================================= */
.np-main .np-hero-brand-actions{
    display:none !important;
}

.np-main .np-main-hero-single-estimate{
    position:absolute !important;
    left:120px !important;
    top:525px !important;
    width:560px !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    z-index:6 !important;
    pointer-events:auto !important;
}

.np-main .np-main-estimate-btn,
.np-main .np-main-estimate-btn:link,
.np-main .np-main-estimate-btn:visited{
    min-width:300px !important;
    height:64px !important;
    padding:0 42px !important;
    border-radius:999px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:linear-gradient(180deg, #176ec7 0%, #0c57a8 100%) !important;
    color:#fff !important;
    font-size:22px !important;
    font-weight:900 !important;
    letter-spacing:-.045em !important;
    text-decoration:none !important;
    box-shadow:0 16px 34px rgba(11, 79, 156, .25) !important;
    border:1px solid rgba(8,75,150,.22) !important;
    transition:transform .22s ease, box-shadow .22s ease, background .22s ease !important;
}

.np-main .np-main-estimate-btn:hover,
.np-main .np-main-estimate-btn:focus{
    transform:translateY(-3px) !important;
    background:linear-gradient(180deg, #1d7bdd 0%, #0d61bd 100%) !important;
    box-shadow:0 22px 44px rgba(11, 79, 156, .32) !important;
    color:#fff !important;
}

@media(max-width:1100px){
    .np-main .np-main-hero-single-estimate{
        left:56px !important;
        top:492px !important;
        width:500px !important;
    }
}

@media(max-width:768px){
    .np-main .np-main-hero-single-estimate{
        left:22px !important;
        top:auto !important;
        bottom:12px !important;
        width:calc(100% - 44px) !important;
    }
    .np-main .np-main-estimate-btn{
        width:100% !important;
        min-width:0 !important;
        height:56px !important;
        font-size:19px !important;
    }
}

/* =========================================================
   v16 온라인 견적 신청 버튼 위치 강제 조정
   실제 버튼 클래스 기준:
   .np-main-hero-single-estimate / .np-main-estimate-btn
   - 버튼만 아래로 이동
   - 다른 영역 수정 없음
========================================================= */
.np-main .np-hero.np-hero-hans{
    position:relative !important;
}

.np-main .np-hero-inner-hans{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    z-index:5 !important;
    pointer-events:none !important;
}

.np-main .np-main-hero-single-estimate{
    position:absolute !important;
    left:120px !important;
    top:auto !important;
    bottom:10px !important;
    width:560px !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    z-index:30 !important;
    pointer-events:auto !important;
    transform:none !important;
    margin:0 !important;
}

.np-main .np-main-estimate-btn{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    transform:none !important;
}

@media(max-width:1100px){
    .np-main .np-main-hero-single-estimate{
        left:56px !important;
        bottom:12px !important;
        width:500px !important;
    }
}

@media(max-width:768px){
    .np-main .np-main-hero-single-estimate{
        left:22px !important;
        right:22px !important;
        bottom:10px !important;
        width:auto !important;
    }
}

/* =========================================================
   v20 메인 하단 프리미엄 영역 스타일 복구
   - PREMIUM CLEANING SERVICE / PROCESS / CONTACT 영역만 적용
   - 상단 히어로 / footer 영역은 수정하지 않음
========================================================= */
.np-main .np-premium-cleaning{
    padding:88px 20px 74px !important;
    background:
        radial-gradient(circle at 20% 10%, rgba(24,118,200,.08), transparent 32%),
        linear-gradient(180deg, #ffffff 0%, #f5f8fb 100%) !important;
}

.np-main .np-premium-inner,
.np-main .np-premium-flow-inner,
.np-main .np-premium-cta-inner{
    max-width:1180px !important;
    margin:0 auto !important;
}

.np-main .np-premium-head{
    display:grid !important;
    grid-template-columns:.9fr 1.1fr !important;
    gap:40px !important;
    align-items:end !important;
    margin-bottom:38px !important;
}

.np-main .np-premium-head span,
.np-main .np-flow-title span,
.np-main .np-premium-cta span{
    display:block !important;
    margin-bottom:12px !important;
    color:#176ec7 !important;
    font-size:13px !important;
    font-weight:950 !important;
    letter-spacing:.16em !important;
}

.np-main .np-premium-head h2,
.np-main .np-flow-title h2{
    margin:0 !important;
    color:#0a315d !important;
    font-size:42px !important;
    line-height:1.22 !important;
    font-weight:950 !important;
    letter-spacing:-.075em !important;
}

.np-main .np-premium-head p{
    margin:0 !important;
    color:#5c7082 !important;
    font-size:18px !important;
    line-height:1.75 !important;
    letter-spacing:-.04em !important;
    word-break:keep-all !important;
}

.np-main .np-premium-cards{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:18px !important;
}

.np-main .np-premium-card{
    position:relative !important;
    display:block !important;
    min-height:380px !important;
    border-radius:28px !important;
    overflow:hidden !important;
    text-decoration:none !important;
    background:#0a315d !important;
    box-shadow:0 20px 48px rgba(10,49,93,.13) !important;
    transition:transform .26s ease, box-shadow .26s ease !important;
}

.np-main .np-premium-card:hover{
    transform:translateY(-8px) !important;
    box-shadow:0 30px 70px rgba(10,49,93,.20) !important;
}

.np-main .np-premium-card-img{
    position:absolute !important;
    inset:0 !important;
    background-size:cover !important;
    background-position:center !important;
    transform:scale(1.01) !important;
    transition:transform .45s ease !important;
}

.np-main .np-premium-card:hover .np-premium-card-img{
    transform:scale(1.065) !important;
}

.np-main .np-premium-card-img:after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(5,31,57,.72) 72%, rgba(5,31,57,.92) 100%) !important;
}

.np-main .np-img-home{
    background-image:url('./img/hero-main.jpg') !important;
    background-position:67% center !important;
}
.np-main .np-img-office{
    background-image:url('./webpage/assets/office_wax_floor_premium.jpg') !important;
}
.np-main .np-img-pest{
    background-image:url('./webpage/assets/pestcontrol_hero_full.png') !important;
}
.np-main .np-img-special{
    background-image:url('./webpage/assets/specialcleaning_001_hero.jpg') !important;
}

.np-main .np-premium-card-copy{
    position:absolute !important;
    left:24px !important;
    right:24px !important;
    bottom:24px !important;
    z-index:2 !important;
    color:#fff !important;
}

.np-main .np-premium-card-copy em{
    display:block !important;
    margin-bottom:8px !important;
    color:rgba(255,255,255,.74) !important;
    font-size:12px !important;
    font-style:normal !important;
    font-weight:900 !important;
    letter-spacing:.13em !important;
}

.np-main .np-premium-card-copy strong{
    display:block !important;
    margin-bottom:12px !important;
    color:#fff !important;
    font-size:27px !important;
    line-height:1.18 !important;
    font-weight:950 !important;
    letter-spacing:-.065em !important;
}

.np-main .np-premium-card-copy p{
    margin:0 !important;
    color:rgba(255,255,255,.78) !important;
    font-size:15px !important;
    line-height:1.65 !important;
    letter-spacing:-.04em !important;
    word-break:keep-all !important;
}

.np-main .np-premium-flow{
    padding:76px 20px !important;
    background:#fff !important;
}

.np-main .np-premium-flow-inner{
    display:grid !important;
    grid-template-columns:.75fr 1.25fr !important;
    gap:48px !important;
    align-items:center !important;
}

.np-main .np-flow-list{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:18px !important;
}

.np-main .np-flow-list div{
    padding:26px 26px 24px !important;
    border-radius:24px !important;
    background:#f7fafc !important;
    border:1px solid rgba(10,49,93,.08) !important;
    box-shadow:0 14px 32px rgba(10,49,93,.05) !important;
}

.np-main .np-flow-list b{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:46px !important;
    height:46px !important;
    margin-bottom:18px !important;
    border-radius:16px !important;
    background:#eaf4ff !important;
    color:#176ec7 !important;
    font-size:17px !important;
    font-weight:950 !important;
}

.np-main .np-flow-list strong{
    display:block !important;
    color:#0a315d !important;
    font-size:22px !important;
    line-height:1.25 !important;
    font-weight:950 !important;
    letter-spacing:-.055em !important;
    margin-bottom:9px !important;
}

.np-main .np-flow-list p{
    margin:0 !important;
    color:#5e7183 !important;
    font-size:15px !important;
    line-height:1.65 !important;
    letter-spacing:-.04em !important;
}

.np-main .np-premium-cta{
    padding:0 20px 92px !important;
    background:#fff !important;
}

.np-main .np-premium-cta-inner{
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:30px !important;
    padding:34px 40px !important;
    border-radius:30px !important;
    background:linear-gradient(135deg, #0a315d 0%, #176ec7 100%) !important;
    box-shadow:0 26px 60px rgba(10,49,93,.22) !important;
}

.np-main .np-premium-cta span{
    color:#8fd1ff !important;
}

.np-main .np-premium-cta strong{
    display:block !important;
    color:#fff !important;
    font-size:30px !important;
    line-height:1.25 !important;
    font-weight:950 !important;
    letter-spacing:-.06em !important;
}

.np-main .np-premium-cta p{
    margin:10px 0 0 !important;
    color:rgba(255,255,255,.78) !important;
    font-size:16px !important;
    line-height:1.65 !important;
    letter-spacing:-.04em !important;
}

.np-main .np-premium-cta a{
    flex:0 0 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:210px !important;
    height:62px !important;
    padding:0 30px !important;
    border-radius:999px !important;
    background:#fff !important;
    color:#0a315d !important;
    font-size:19px !important;
    font-weight:950 !important;
    letter-spacing:-.045em !important;
    text-decoration:none !important;
}

@media(max-width:1024px){
    .np-main .np-premium-head,
    .np-main .np-premium-flow-inner{
        grid-template-columns:1fr !important;
        gap:28px !important;
    }
    .np-main .np-premium-cards{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}

@media(max-width:720px){
    .np-main .np-premium-cleaning{
        padding:62px 16px 54px !important;
    }
    .np-main .np-premium-head h2,
    .np-main .np-flow-title h2{
        font-size:31px !important;
    }
    .np-main .np-premium-cards,
    .np-main .np-flow-list{
        grid-template-columns:1fr !important;
    }
    .np-main .np-premium-card{
        min-height:320px !important;
    }
    .np-main .np-premium-flow{
        padding:58px 16px !important;
    }
    .np-main .np-premium-cta{
        padding:0 16px 64px !important;
    }
    .np-main .np-premium-cta-inner{
        flex-direction:column !important;
        align-items:flex-start !important;
        padding:28px 24px !important;
    }
    .np-main .np-premium-cta strong{
        font-size:25px !important;
    }
    .np-main .np-premium-cta a{
        width:100% !important;
    }
}



/* =========================================================
   licence rolling widget v3 - premium full width marquee
   - 인증서 이미지만 유지
   - 전체 가로 롤링 유지
   - 크기/간격/배경/그림자 프리미엄 정리
   - 다른 섹션 영향 없음
========================================================= */
.np-main .np-premium-cleaning{
    overflow:hidden !important;
    padding:46px 0 42px !important;
    background:
        radial-gradient(circle at 14% 0%, rgba(30,117,185,.11), transparent 34%),
        linear-gradient(180deg, #eef6fb 0%, #f8fbfd 48%, #eef5fa 100%) !important;
}
.np-main .np-premium-inner{
    max-width:none !important;
    width:100% !important;
    padding:0 !important;
    margin:0 !important;
}
.np-main .np-licence-rolling-widget{
    position:relative !important;
    overflow:hidden !important;
    width:100vw !important;
    margin:0 0 0 calc(50% - 50vw) !important;
    padding:30px 0 32px !important;
    border:0 !important;
    border-radius:0 !important;
    background:
        linear-gradient(90deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.72) 18%, rgba(255,255,255,.72) 82%, rgba(255,255,255,.18) 100%) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.78), inset 0 -1px 0 rgba(16,57,92,.06) !important;
}
.np-main .np-licence-rolling-widget:before{
    content:'' !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:0 !important;
    height:1px !important;
    display:block !important;
    background:linear-gradient(90deg, transparent, rgba(13,83,143,.16), transparent) !important;
    pointer-events:none !important;
}
.np-main .np-licence-rolling-widget:after{
    content:'' !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:1px !important;
    display:block !important;
    background:linear-gradient(90deg, transparent, rgba(13,83,143,.12), transparent) !important;
    pointer-events:none !important;
}
.np-main .np-licence-rolling-bg,
.np-main .np-licence-rolling-head{
    display:none !important;
}
.np-main .np-licence-rolling-inner,
.np-main .np-licence-rolling-inner.np-licence-rolling-only{
    position:relative !important;
    z-index:1 !important;
    display:block !important;
    width:100vw !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
}
.np-main .np-licence-rolling-track-wrap{
    overflow:hidden !important;
    width:100vw !important;
    margin:0 !important;
    padding:4px 0 6px !important;
    background:transparent !important;
    -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 7%, #000 93%, transparent 100%) !important;
    mask-image:linear-gradient(90deg, transparent 0%, #000 7%, #000 93%, transparent 100%) !important;
}
.np-main .np-licence-rolling-track{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    width:max-content !important;
    min-width:400vw !important;
    gap:22px !important;
    padding-left:0 !important;
    animation:npLicenceRollingPremium 38s linear infinite !important;
    will-change:transform !important;
}
.np-main .np-licence-rolling-track-wrap:hover .np-licence-rolling-track{
    animation-play-state:paused !important;
}
.np-main .np-licence-roll-card{
    flex:0 0 205px !important;
    display:block !important;
    padding:12px 12px 10px !important;
    margin:0 !important;
    border:1px solid rgba(16,57,92,.08) !important;
    border-radius:20px !important;
    background:rgba(255,255,255,.92) !important;
    box-shadow:0 16px 38px rgba(13,54,88,.10), 0 2px 10px rgba(13,54,88,.05) !important;
    text-decoration:none !important;
    color:inherit !important;
    transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}
.np-main .np-licence-roll-card:hover{
    transform:translateY(-5px) !important;
    border-color:rgba(12,103,181,.18) !important;
    box-shadow:0 22px 50px rgba(13,54,88,.16), 0 4px 14px rgba(13,54,88,.07) !important;
}
.np-main .np-licence-roll-card img{
    display:block !important;
    width:100% !important;
    height:230px !important;
    object-fit:contain !important;
    border:0 !important;
    border-radius:14px !important;
    background:linear-gradient(180deg, #fff 0%, #f8fafc 100%) !important;
    filter:saturate(.9) contrast(.98) !important;
}
.np-main .np-licence-roll-card span{
    display:none !important;
}
@keyframes npLicenceRollingPremium{
    0%{transform:translateX(0)}
    100%{transform:translateX(-25%)}
}
@media(max-width:1024px){
    .np-main .np-premium-cleaning{padding:38px 0 36px !important;}
    .np-main .np-licence-roll-card{flex-basis:178px !important;}
    .np-main .np-licence-roll-card img{height:205px !important;}
    .np-main .np-licence-rolling-track{gap:18px !important;}
}
@media(max-width:720px){
    .np-main .np-premium-cleaning{padding:30px 0 30px !important;}
    .np-main .np-licence-rolling-widget{padding:22px 0 24px !important;}
    .np-main .np-licence-roll-card{flex-basis:145px !important; border-radius:16px !important; padding:9px !important;}
    .np-main .np-licence-roll-card img{height:172px !important; border-radius:11px !important;}
    .np-main .np-licence-rolling-track{gap:14px !important; animation-duration:32s !important;}
}

/* =========================================================
   Simple Premium Footer v4
   - 카드형 제거
   - 낮은 높이의 심플 프리미엄 회사형 footer
   - footer 영역만 적용
========================================================= */
.np-footer-simple-pro{
    background:#f4f6f8 !important;
    border-top:1px solid rgba(10,49,93,.10) !important;
    color:#263849 !important;
    padding:0 !important;
}

.np-footer-simple-inner{
    max-width:1220px !important;
    margin:0 auto !important;
    padding:36px 20px 28px !important;
    display:grid !important;
    grid-template-columns:250px minmax(0,1fr) 330px !important;
    gap:34px !important;
    align-items:start !important;
}

.np-footer-simple-brand img{
    display:block !important;
    max-width:240px !important;
    height:auto !important;
    max-height:90px !important;
    object-fit:contain !important;
    margin-bottom:14px !important;
    filter:none !important;
}

.np-footer-simple-brand p{
    margin:0 !important;
    color:#5d6f80 !important;
    font-size:15px !important;
    line-height:1.6 !important;
    font-weight:700 !important;
    letter-spacing:-.04em !important;
}

.np-footer-simple-info{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:7px 24px !important;
    padding-top:2px !important;
}

.np-footer-simple-info p{
    display:grid !important;
    grid-template-columns:112px minmax(0,1fr) !important;
    gap:10px !important;
    margin:0 !important;
    padding:0 !important;
    color:#263849 !important;
    font-size:13px !important;
    line-height:1.6 !important;
    letter-spacing:-.04em !important;
}

.np-footer-simple-info b{
    color:#7a8998 !important;
    font-size:13px !important;
    font-weight:800 !important;
}

.np-footer-simple-info span,
.np-footer-simple-info a{
    color:#263849 !important;
    font-size:13px !important;
    font-weight:800 !important;
    text-decoration:none !important;
    word-break:keep-all !important;
}

.np-footer-simple-side{
    display:grid !important;
    gap:14px !important;
    padding-left:24px !important;
    border-left:1px solid rgba(10,49,93,.12) !important;
}

.np-footer-simple-side div{
    margin:0 !important;
    padding:0 !important;
}

.np-footer-simple-side strong{
    display:block !important;
    margin:0 0 6px !important;
    color:#176ec7 !important;
    font-size:12px !important;
    font-weight:950 !important;
    letter-spacing:.15em !important;
    text-transform:uppercase !important;
}

.np-footer-simple-side em{
    display:block !important;
    margin:0 0 5px !important;
    color:#0a315d !important;
    font-size:20px !important;
    line-height:1.2 !important;
    font-style:normal !important;
    font-weight:950 !important;
    letter-spacing:-.04em !important;
}

.np-footer-simple-side span{
    display:block !important;
    color:#5f7182 !important;
    font-size:13px !important;
    line-height:1.55 !important;
    font-weight:700 !important;
    letter-spacing:-.04em !important;
}

.np-footer-simple-side .np-footer-red{
    color:#d84b4b !important;
    font-weight:900 !important;
}

.np-footer-simple-bottom{
    max-width:1220px !important;
    margin:0 auto !important;
    padding:18px 20px 104px !important;
    border-top:1px solid rgba(10,49,93,.10) !important;
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:18px !important;
}

.np-footer-simple-bottom nav{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px 18px !important;
}

.np-footer-simple-bottom a{
    color:#44586b !important;
    font-size:13px !important;
    font-weight:800 !important;
    text-decoration:none !important;
    letter-spacing:-.04em !important;
}

.np-footer-simple-bottom a:hover{
    color:#0a315d !important;
}

.np-footer-simple-bottom p{
    margin:0 !important;
    color:#748392 !important;
    font-size:13px !important;
    letter-spacing:-.03em !important;
    white-space:nowrap !important;
}

@media(max-width:1100px){
    .np-footer-simple-inner{
        grid-template-columns:1fr !important;
        gap:22px !important;
    }
    .np-footer-simple-side{
        padding-left:0 !important;
        border-left:0 !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        border-top:1px solid rgba(10,49,93,.10) !important;
        padding-top:18px !important;
    }
}

@media(max-width:720px){
    .np-footer-simple-inner{
        padding:30px 16px 22px !important;
    }
    .np-footer-simple-info{
        grid-template-columns:1fr !important;
        gap:6px !important;
    }
    .np-footer-simple-info p{
        grid-template-columns:104px minmax(0,1fr) !important;
    }
    .np-footer-simple-side{
        grid-template-columns:1fr !important;
    }
    .np-footer-simple-bottom{
        flex-direction:column !important;
        align-items:flex-start !important;
        padding:16px 16px 104px !important;
    }
    .np-footer-simple-bottom p{
        white-space:normal !important;
    }
}

/* =========================================================
   Footer Premium Detail Upgrade v3
   - 하단 얇은 골드 라인
   - 정책 메뉴 hover 색상 전환
   - 전화번호 미세 glow
   - 모바일 로고/정보 재정렬 최적화
========================================================= */
.np-footer-simple-pro{
    position:relative !important;
}

.np-footer-simple-pro:after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:2px !important;
    background:linear-gradient(90deg, rgba(196,145,55,0), rgba(196,145,55,.72), rgba(232,202,132,.86), rgba(196,145,55,.72), rgba(196,145,55,0)) !important;
    pointer-events:none !important;
}

.np-footer-simple-bottom a{
    position:relative !important;
    transition:color .22s ease, transform .22s ease !important;
}

.np-footer-simple-bottom a:after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:-5px !important;
    height:1px !important;
    background:linear-gradient(90deg, #c49137, #e8ca84) !important;
    transform:scaleX(0) !important;
    transform-origin:left center !important;
    transition:transform .22s ease !important;
}

.np-footer-simple-bottom a:hover{
    color:#0a315d !important;
    transform:translateY(-1px) !important;
}

.np-footer-simple-bottom a:hover:after{
    transform:scaleX(1) !important;
}

.np-footer-simple-side em{
    animation:npFooterPhoneGlow 3.2s ease-in-out infinite !important;
}

@keyframes npFooterPhoneGlow{
    0%,100%{
        text-shadow:0 0 0 rgba(23,110,199,0);
    }
    50%{
        text-shadow:0 0 12px rgba(23,110,199,.24);
    }
}

@media(max-width:720px){
    .np-footer-simple-brand{
        text-align:center !important;
    }

    .np-footer-simple-brand img{
        margin-left:auto !important;
        margin-right:auto !important;
        max-width:220px !important;
        max-height:84px !important;
    }

    .np-footer-simple-brand p{
        text-align:center !important;
    }

    .np-footer-simple-info p{
        grid-template-columns:1fr !important;
        gap:2px !important;
        padding:5px 0 !important;
        text-align:left !important;
    }

    .np-footer-simple-info b{
        font-size:12px !important;
        color:#7b8a98 !important;
    }

    .np-footer-simple-info span,
    .np-footer-simple-info a{
        font-size:13px !important;
        line-height:1.55 !important;
    }

    .np-footer-simple-side{
        text-align:center !important;
    }

    .np-footer-simple-bottom nav{
        justify-content:center !important;
        width:100% !important;
        gap:10px 14px !important;
    }

    .np-footer-simple-bottom p{
        width:100% !important;
        text-align:center !important;
    }
}


/* =========================================================
   v30 메인 히어로 전용 고급 애니메이션 - 직접 적용형
   - 실제 로딩 파일: /theme/clean_pro/style.css
   - 대상: 메인 첫 화면 텍스트 + 온라인 견적 버튼 + 히어로 배경
   - 글씨 사라짐 방지: opacity:0 / clip-path 숨김 사용 안함
   - 옆에서 나오는 방식 아님
========================================================= */

/* 히어로 기준 레이어 */
.np-main .np-hero.np-hero-hans{
    position:relative !important;
    overflow:hidden !important;
    isolation:isolate !important;
}

/* 이미지 영역에만 은은한 고급 빛 효과 추가 */
.np-main .np-hero.np-hero-hans .np-hero-media{
    position:absolute !important;
    inset:0 !important;
    overflow:hidden !important;
    z-index:0 !important;
}

.np-main .np-hero.np-hero-hans .np-hero-media img{
    animation:npsHeroImageDeepFocus 8s cubic-bezier(.22,1,.36,1) both !important;
    transform-origin:center center !important;
    will-change:transform, filter !important;
}

/* 기존 .np-hero::after가 display:none 되어 있어도 영향받지 않는 별도 라이트 스윕 */
.np-main .np-hero.np-hero-hans .np-hero-media::after{
    content:"" !important;
    position:absolute !important;
    inset:-20% !important;
    z-index:2 !important;
    pointer-events:none !important;
    background:
        linear-gradient(115deg,
            rgba(255,255,255,0) 0%,
            rgba(255,255,255,0) 36%,
            rgba(255,255,255,.28) 48%,
            rgba(255,255,255,.10) 56%,
            rgba(255,255,255,0) 70%,
            rgba(255,255,255,0) 100%) !important;
    transform:translateX(-135%) skewX(-10deg) !important;
    animation:npsHeroPremiumLightSweep 2.7s cubic-bezier(.22,1,.36,1) .28s both !important;
}

/* 텍스트는 절대 숨기지 않고 제자리에서 선명해지는 효과 */
.np-main .np-main-hero-text-edit{
    opacity:1 !important;
    visibility:visible !important;
    clip-path:none !important;
    filter:none !important;
    position:absolute !important;
    z-index:40 !important;
    animation:npsHeroTextPremiumFocus .95s cubic-bezier(.22,1,.36,1) both !important;
    will-change:transform, text-shadow !important;
}

.np-main .np-main-hero-text-edit *,
.np-main .np-main-hero-kicker{
    opacity:1 !important;
    visibility:visible !important;
    clip-path:none !important;
}

/* 작은 문구: 옆 이동 없이 살짝 정돈 */
.np-main .np-main-hero-kicker{
    animation:npsHeroKickerPremium .9s cubic-bezier(.22,1,.36,1) .08s both !important;
}

/* 제목: 고급 포커스 + 글자 선명도 */
.np-main .np-main-hero-text-edit h1{
    animation:npsHeroTitlePremium .95s cubic-bezier(.22,1,.36,1) .15s both !important;
    text-wrap:balance;
}

/* 설명문: 아래에서 살짝만 정돈 */
.np-main .np-main-hero-text-edit p{
    animation:npsHeroDescPremium .9s cubic-bezier(.22,1,.36,1) .25s both !important;
}

/* 버튼: 은은한 호흡 + 전문적인 광택 */
.np-main .np-main-estimate-btn{
    position:relative !important;
    overflow:hidden !important;
    isolation:isolate !important;
    opacity:1 !important;
    visibility:visible !important;
    animation:npsHeroButtonPremiumBreath 3.4s ease-in-out 1.1s infinite !important;
    will-change:transform, box-shadow !important;
}

.np-main .np-main-estimate-btn::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:-2 !important;
    border-radius:inherit !important;
    background:inherit !important;
}

.np-main .np-main-estimate-btn::after{
    content:"" !important;
    position:absolute !important;
    top:-40% !important;
    left:-85% !important;
    width:46% !important;
    height:180% !important;
    z-index:-1 !important;
    pointer-events:none !important;
    background:linear-gradient(115deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,.52) 48%,
        rgba(255,255,255,0) 100%) !important;
    transform:skewX(-18deg) !important;
    animation:npsHeroButtonPremiumShine 4.2s ease-in-out 1.25s infinite !important;
}

/* 버튼 hover는 기존 느낌 유지 + 조금 더 전문적으로 */
.np-main .np-main-estimate-btn:hover,
.np-main .np-main-estimate-btn:focus{
    transform:translateY(-3px) scale(1.015) !important;
}

/* 모션 줄이기 사용자 설정 대응 */
@media (prefers-reduced-motion: reduce){
    .np-main .np-hero.np-hero-hans .np-hero-media img,
    .np-main .np-hero.np-hero-hans .np-hero-media::after,
    .np-main .np-main-hero-text-edit,
    .np-main .np-main-hero-kicker,
    .np-main .np-main-hero-text-edit h1,
    .np-main .np-main-hero-text-edit p,
    .np-main .np-main-estimate-btn,
    .np-main .np-main-estimate-btn::after{
        animation:none !important;
        transform:none !important;
        opacity:1 !important;
        visibility:visible !important;
        filter:none !important;
        clip-path:none !important;
    }
}

@keyframes npsHeroImageDeepFocus{
    0%{
        transform:scale(1.025);
        filter:saturate(.98) contrast(.99) brightness(.995);
    }
    100%{
        transform:scale(1.006);
        filter:saturate(1.04) contrast(1.02) brightness(1);
    }
}

@keyframes npsHeroPremiumLightSweep{
    0%{
        opacity:0;
        transform:translateX(-135%) skewX(-10deg);
    }
    18%{
        opacity:.82;
    }
    100%{
        opacity:0;
        transform:translateX(135%) skewX(-10deg);
    }
}

@keyframes npsHeroTextPremiumFocus{
    0%{
        transform:translateY(10px) scale(.992);
        text-shadow:0 0 0 rgba(0,0,0,0);
    }
    100%{
        transform:translateY(0) scale(1);
        text-shadow:0 10px 26px rgba(0,0,0,.10);
    }
}

@keyframes npsHeroKickerPremium{
    0%{
        transform:translateY(7px);
        letter-spacing:-.07em;
        filter:blur(2.5px);
    }
    100%{
        transform:translateY(0);
        letter-spacing:-.045em;
        filter:blur(0);
    }
}

@keyframes npsHeroTitlePremium{
    0%{
        transform:translateY(9px) scale(.992);
        filter:blur(3px);
        text-shadow:0 0 0 rgba(7,48,93,0);
    }
    100%{
        transform:translateY(0) scale(1);
        filter:blur(0);
        text-shadow:0 12px 28px rgba(7,48,93,.14);
    }
}

@keyframes npsHeroDescPremium{
    0%{
        transform:translateY(7px);
        filter:blur(2px);
    }
    100%{
        transform:translateY(0);
        filter:blur(0);
    }
}

@keyframes npsHeroButtonPremiumBreath{
    0%,100%{
        box-shadow:0 16px 34px rgba(11, 79, 156, .25) !important;
    }
    50%{
        box-shadow:0 23px 48px rgba(11, 79, 156, .38) !important;
    }
}

@keyframes npsHeroButtonPremiumShine{
    0%{
        left:-85%;
        opacity:0;
    }
    10%{
        opacity:.88;
    }
    34%{
        left:130%;
        opacity:0;
    }
    100%{
        left:130%;
        opacity:0;
    }
}



/* =========================================================
   2026-05-05 Clean Pro mobile renewal patch
   - 모바일 헤더 고정 안정화
   - 우측 슬라이드 메뉴를 카드형 프리미엄 UI로 정리
   - 스크롤 후 메뉴 짤림/겹침 방지
   - PC 영역 영향 없음
========================================================= */
@media (max-width: 991.98px){
  html{scroll-padding-top:76px!important}
  body{overflow-x:hidden!important;background:#f5f8f9!important}
  .np-topbar{display:none!important}
  .np-site{padding-top:66px!important}
  .np-header{
    position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:1100!important;
    height:66px!important;background:rgba(255,255,255,.96)!important;
    border-bottom:1px solid rgba(15,118,110,.12)!important;
    box-shadow:0 8px 24px rgba(16,42,67,.08)!important;
    transform:none!important;overflow:visible!important;backdrop-filter:saturate(1.25) blur(12px);-webkit-backdrop-filter:saturate(1.25) blur(12px)
  }
  .np-header.is-scrolled{height:62px!important;box-shadow:0 10px 28px rgba(16,42,67,.12)!important}
  .np-header-inner{height:100%!important;min-height:0!important;padding:0 16px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
  .np-logo{display:flex!important;align-items:center!important;min-width:0!important;max-width:calc(100% - 58px)!important}
  .np-logo img{height:42px!important;max-width:146px!important;width:auto!important;object-fit:contain!important;display:block!important}
  .np-header.is-scrolled .np-logo img{height:38px!important}
  .np-nav,.np-allmenu-toggle,.np-mega-panel,.np-allmenu-panel{display:none!important}
  .np-header-tools{margin-left:auto!important;display:flex!important;align-items:center!important;gap:0!important}
  .np-menu-toggle{
    position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:5px!important;
    width:46px!important;height:46px!important;padding:0!important;border:1px solid rgba(15,118,110,.16)!important;border-radius:16px!important;
    background:linear-gradient(180deg,#fff,#f4fbfa)!important;box-shadow:0 10px 24px rgba(15,118,110,.12)!important;z-index:1202!important
  }
  .np-menu-toggle span{display:block!important;width:20px!important;height:2px!important;border-radius:999px!important;background:#0f766e!important;transition:transform .24s ease, opacity .18s ease!important}
  body.np-mobile-open .np-menu-toggle{opacity:0!important;pointer-events:none!important}

  body.np-mobile-open{overflow:hidden!important;touch-action:none!important}
  body.np-mobile-open:before{
    content:''!important;position:fixed!important;inset:0!important;background:rgba(6,24,35,.48)!important;
    backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important;z-index:1101!important;opacity:1!important
  }
  .np-mobile-menu{
    display:flex!important;flex-direction:column!important;position:fixed!important;top:0!important;right:0!important;left:auto!important;bottom:0!important;
    width:min(88vw,390px)!important;max-width:390px!important;height:100dvh!important;max-height:100dvh!important;z-index:1200!important;
    padding:18px 16px calc(24px + env(safe-area-inset-bottom))!important;margin:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;
    background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 55%,#eff7f5 100%)!important;border-left:1px solid rgba(15,118,110,.12)!important;
    box-shadow:-22px 0 48px rgba(5,32,46,.22)!important;transform:translateX(105%)!important;opacity:1!important;visibility:visible!important;
    transition:transform .34s cubic-bezier(.22,.61,.36,1)!important;border-radius:24px 0 0 24px!important
  }
  .np-mobile-menu.is-open{transform:translateX(0)!important}
  .np-mobile-menu-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:2px 2px 14px!important;border-bottom:1px solid rgba(15,118,110,.10)!important;margin-bottom:12px!important}
  .np-mobile-menu-logo{display:flex!important;align-items:center!important;min-width:0!important}
  .np-mobile-menu-logo img{height:42px!important;max-width:148px!important;width:auto!important;object-fit:contain!important;display:block!important}
  .np-mobile-menu-close{display:flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;flex:0 0 42px!important;border:1px solid rgba(15,118,110,.15)!important;border-radius:15px!important;background:#fff!important;color:#0d4f49!important;font-size:30px!important;line-height:1!important;font-weight:300!important;box-shadow:0 8px 20px rgba(16,42,67,.08)!important}
  .np-mobile-menu-summary{display:block!important;margin:0 0 14px!important;padding:14px 15px!important;border-radius:18px!important;background:linear-gradient(135deg,#0f766e,#115e59)!important;color:#fff!important;box-shadow:0 12px 26px rgba(15,118,110,.22)!important}
  .np-mobile-menu-summary strong{display:block!important;font-size:16px!important;font-weight:900!important;letter-spacing:-.035em!important;margin-bottom:5px!important;color:#fff!important}
  .np-mobile-menu-summary span{display:block!important;font-size:12.5px!important;font-weight:700!important;line-height:1.45!important;color:rgba(255,255,255,.82)!important;word-break:keep-all!important}

  .np-mobile-nav{display:grid!important;gap:8px!important;margin:0!important;padding:0!important;list-style:none!important}
  .np-mobile-item{border:1px solid rgba(15,118,110,.10)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 22px rgba(16,42,67,.06)!important;overflow:hidden!important;opacity:1!important;transform:none!important;transition:none!important}
  .np-mobile-item-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;width:100%!important;min-height:54px!important;padding:0 8px 0 16px!important}
  .np-mobile-item-head > a,.np-mobile-nav > .np-mobile-item > a{display:block!important;flex:1 1 auto!important;min-width:0!important;padding:15px 0!important;margin:0!important;font-size:16px!important;line-height:1.25!important;font-weight:850!important;letter-spacing:-.045em!important;color:#173f4a!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;word-break:keep-all!important}
  .np-mobile-submenu-toggle{display:flex!important;align-items:center!important;justify-content:center!important;width:38px!important;min-width:38px!important;height:38px!important;flex:0 0 38px!important;border:0!important;border-radius:13px!important;background:#eef8f6!important;color:transparent!important;text-indent:-9999px!important;font-size:0!important;overflow:hidden!important}
  .np-mobile-submenu-toggle:before,.np-mobile-submenu-toggle:after{content:''!important;position:absolute!important;left:50%!important;top:50%!important;width:13px!important;height:2px!important;border-radius:999px!important;background:#0f766e!important;transform:translate(-50%,-50%)!important;transition:opacity .2s ease, transform .2s ease!important}
  .np-mobile-submenu-toggle:after{transform:translate(-50%,-50%) rotate(90deg)!important}
  .np-mobile-item.is-open .np-mobile-submenu-toggle:after{opacity:0!important;transform:translate(-50%,-50%) rotate(0deg)!important}
  .np-mobile-submenu{display:block!important;position:static!important;width:100%!important;max-height:0!important;overflow:hidden!important;margin:0!important;padding:0 14px!important;background:#f5faf9!important;border-top:0!important;box-shadow:none!important;opacity:1!important;transform:none!important;transition:max-height .28s ease, padding .22s ease!important;list-style:none!important}
  .np-mobile-item.is-open > .np-mobile-submenu{max-height:680px!important;padding:8px 14px 14px!important;border-top:1px solid rgba(15,118,110,.08)!important}
  .np-mobile-submenu li{list-style:none!important;margin:0!important;padding:0!important}
  .np-mobile-submenu a,.np-mobile-submenu-depth3 a{display:block!important;position:relative!important;width:100%!important;padding:11px 12px 11px 22px!important;border-radius:12px!important;font-size:14.5px!important;line-height:1.3!important;font-weight:750!important;letter-spacing:-.035em!important;color:#4b6570!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;word-break:keep-all!important;background:transparent!important}
  .np-mobile-submenu a:before{content:''!important;position:absolute!important;left:10px!important;top:50%!important;width:5px!important;height:5px!important;border-radius:50%!important;background:#4db6ac!important;transform:translateY(-50%)!important}
  .np-mobile-submenu a:hover,.np-mobile-submenu a:focus{background:#fff!important;color:#0f766e!important}
  .np-mobile-submenu-depth3{padding:0 0 4px 12px!important;background:transparent!important;max-height:none!important}
  .np-mobile-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:14px!important;padding:0!important}
  .np-mobile-actions .np-btn{height:46px!important;border-radius:15px!important;font-size:14px!important;font-weight:900!important;box-shadow:0 10px 22px rgba(16,42,67,.10)!important}
  .np-mobile-cta{left:10px!important;right:10px!important;bottom:10px!important;gap:8px!important;z-index:1050!important}
  body.np-mobile-open .np-mobile-cta{display:none!important}
  .np-scrolltop{z-index:1040!important}
}

@media (max-width: 430px){
  .np-site{padding-top:62px!important}
  .np-header{height:62px!important}
  .np-header-inner{padding:0 13px!important}
  .np-logo img{height:38px!important;max-width:134px!important}
  .np-menu-toggle{width:43px!important;height:43px!important;border-radius:15px!important}
  .np-mobile-menu{width:91vw!important;border-radius:22px 0 0 22px!important;padding:16px 14px calc(22px + env(safe-area-inset-bottom))!important}
  .np-mobile-menu-logo img{height:38px!important;max-width:136px!important}
  .np-mobile-item-head > a,.np-mobile-nav > .np-mobile-item > a{font-size:15.5px!important}
}


/* =========================================================
   2026-05-05 Mobile premium add-on v2
   - 하단 고정 전화/카톡/견적 메뉴
   - 모바일 빠른 상담 플로팅 버튼
   - 스크롤 시 헤더 축소 애니메이션 강화
   - 모바일 이미지 렌더링/속도 최적화
   - PC 영향 없음
========================================================= */
.np-mobile-bottom-dock,
.np-mobile-floating{display:none}

@media (max-width: 991.98px){
  :root{--np-mobile-header-h:66px;--np-mobile-dock-h:72px}
  html{scroll-padding-top:calc(var(--np-mobile-header-h) + 10px)!important}
  body{padding-bottom:calc(var(--np-mobile-dock-h) + env(safe-area-inset-bottom))!important}
  .np-site{padding-top:var(--np-mobile-header-h)!important}
  .np-header{
    height:var(--np-mobile-header-h)!important;
    transition:height .26s ease, box-shadow .26s ease, background .26s ease, border-color .26s ease!important;
  }
  .np-header .np-logo img,
  .np-menu-toggle{transition:height .26s ease, width .26s ease, transform .26s ease, box-shadow .26s ease!important}
  .np-header.is-scrolled{
    --np-mobile-header-h:58px;
    background:rgba(255,255,255,.985)!important;
    border-bottom-color:rgba(15,118,110,.18)!important;
    box-shadow:0 12px 30px rgba(16,42,67,.14)!important;
  }
  .np-header.is-scrolled .np-header-inner{padding-left:14px!important;padding-right:14px!important}
  .np-header.is-scrolled .np-logo img{height:34px!important;transform:translateY(-1px)!important}
  .np-header.is-scrolled .np-menu-toggle{width:40px!important;height:40px!important;border-radius:14px!important;box-shadow:0 8px 18px rgba(15,118,110,.10)!important}
  .np-header.is-scrolled .np-menu-toggle span{width:18px!important}

  .np-mobile-bottom-dock{
    position:fixed!important;left:10px!important;right:10px!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;z-index:1095!important;
    display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;
    min-height:62px!important;padding:8px!important;border:1px solid rgba(255,255,255,.72)!important;border-radius:24px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(239,248,247,.94))!important;
    box-shadow:0 16px 38px rgba(11,51,63,.22)!important;
    backdrop-filter:saturate(1.25) blur(15px)!important;-webkit-backdrop-filter:saturate(1.25) blur(15px)!important;
  }
  .np-mobile-dock-item{
    position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
    min-height:46px!important;border-radius:18px!important;text-decoration:none!important;overflow:hidden!important;
    font-size:13px!important;letter-spacing:-.035em!important;font-weight:900!important;color:#173f4a!important;
    background:rgba(255,255,255,.74)!important;border:1px solid rgba(15,118,110,.08)!important;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease!important;
  }
  .np-mobile-dock-item:active{transform:scale(.97)!important}
  .np-mobile-dock-ico{display:flex!important;align-items:center!important;justify-content:center!important;width:24px!important;height:24px!important;border-radius:10px!important;background:#eef8f6!important;color:#0f766e!important;font-size:15px!important;line-height:1!important}
  .np-mobile-dock-item strong{display:block!important;color:inherit!important;font-size:13.5px!important;line-height:1!important}
  .np-mobile-dock-call{background:linear-gradient(135deg,#0f766e,#115e59)!important;color:#fff!important;box-shadow:0 10px 22px rgba(15,118,110,.24)!important}
  .np-mobile-dock-call .np-mobile-dock-ico{background:rgba(255,255,255,.18)!important;color:#fff!important}
  .np-mobile-dock-kakao{background:linear-gradient(135deg,#fee500,#ffe95c)!important;color:#2c2319!important;box-shadow:0 10px 22px rgba(254,229,0,.22)!important}
  .np-mobile-dock-kakao .np-mobile-dock-ico{background:rgba(44,35,25,.08)!important;color:#2c2319!important}

  .np-mobile-floating{
    position:fixed!important;right:14px!important;bottom:calc(86px + env(safe-area-inset-bottom))!important;z-index:1094!important;display:block!important;
  }
  .np-mobile-floating-btn{
    display:flex!important;align-items:center!important;justify-content:center!important;width:82px!important;height:42px!important;border-radius:999px!important;
    color:#fff!important;text-decoration:none!important;font-size:13.5px!important;font-weight:950!important;letter-spacing:-.045em!important;
    background:linear-gradient(135deg,#0f766e 0%,#0b4f49 58%,#083b37 100%)!important;
    box-shadow:0 14px 32px rgba(15,118,110,.34), inset 0 1px 0 rgba(255,255,255,.25)!important;
    animation:npMobileFloatPulse 2.8s ease-in-out infinite!important;
  }
  .np-mobile-floating-btn:active{transform:scale(.96)!important}

  body.np-mobile-open .np-mobile-bottom-dock,
  body.np-mobile-open .np-mobile-floating{opacity:0!important;pointer-events:none!important;transform:translateY(12px)!important}

  /* 모바일 이미지 최적화: 레이아웃 흔들림과 과한 원본 로딩 부담 완화 */
  img{max-width:100%;height:auto}
  .np-site img,
  .np-main img,
  .np-content img,
  .nps-section img,
  .nps-homecleaning img,
  .nps-officecleaning img,
  .nps-aircon img,
  .nps-specialcleaning img{
    content-visibility:auto;
    contain-intrinsic-size:320px 220px;
    image-rendering:auto;
  }
  .np-site picture,
  .np-main picture{display:block;max-width:100%;overflow:hidden}
}

@media (max-width:430px){
  @media (max-width: 991.98px){
    :root{--np-mobile-header-h:62px;--np-mobile-dock-h:70px}
    .np-header.is-scrolled{--np-mobile-header-h:56px}
    .np-mobile-bottom-dock{left:8px!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;border-radius:22px!important;padding:7px!important;gap:7px!important}
    .np-mobile-dock-item{min-height:44px!important;border-radius:16px!important;gap:5px!important}
    .np-mobile-dock-ico{width:22px!important;height:22px!important;font-size:14px!important}
    .np-mobile-dock-item strong{font-size:13px!important}
    .np-mobile-floating{right:12px!important;bottom:calc(82px + env(safe-area-inset-bottom))!important}
    .np-mobile-floating-btn{width:78px!important;height:40px!important;font-size:13px!important}
  }
}

@keyframes npMobileFloatPulse{
  0%,100%{transform:translateY(0);box-shadow:0 14px 32px rgba(15,118,110,.34), inset 0 1px 0 rgba(255,255,255,.25)}
  50%{transform:translateY(-3px);box-shadow:0 20px 42px rgba(15,118,110,.42), inset 0 1px 0 rgba(255,255,255,.30)}
}

/* =========================================================
   2026-05-05 Mobile menu blur/mosaic hotfix
   - 메뉴 오픈 시 배경 블러가 모바일 메뉴까지 덮는 현상 수정
   - PC 영향 없음
========================================================= */
@media (max-width: 991.98px){
  body.np-mobile-open:before{
    z-index:1085!important;
    background:rgba(6,24,35,.42)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    filter:none!important;
  }
  body.np-mobile-open .np-header{
    z-index:1300!important;
    background:transparent!important;
    border-bottom-color:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  body.np-mobile-open .np-mobile-menu{
    z-index:1310!important;
    filter:none!important;
    -webkit-filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    opacity:1!important;
  }
  body.np-mobile-open .np-mobile-menu *{
    filter:none!important;
    -webkit-filter:none!important;
    text-shadow:none;
  }
  body.np-mobile-open .np-menu-toggle{
    display:none!important;
  }
}

/* =========================================================
   2026-05-05 Mobile header/dock overlap hotfix
   - 하단 고정 메뉴가 헤더 내부 기준으로 붙어 햄버거/견적 버튼과 겹치는 현상 방지
   - JS에서 body로 분리 후, 위치를 하단으로 강제 고정
   - PC 영향 없음
========================================================= */
@media (max-width: 991.98px){
  body > .np-mobile-bottom-dock{
    position:fixed!important;
    top:auto!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    z-index:1080!important;
    transform:none!important;
  }
  body > .np-mobile-floating{
    position:fixed!important;
    top:auto!important;
    right:14px!important;
    bottom:calc(86px + env(safe-area-inset-bottom))!important;
    z-index:1079!important;
    transform:none!important;
  }
  .np-header .np-mobile-bottom-dock,
  .np-header .np-mobile-floating{
    position:fixed!important;
    top:auto!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
  }
  .np-menu-toggle{
    z-index:1350!important;
  }
  body.np-mobile-open > .np-mobile-bottom-dock,
  body.np-mobile-open > .np-mobile-floating{
    opacity:0!important;
    pointer-events:none!important;
    transform:translateY(12px)!important;
  }
}
@media (max-width:430px){
  body > .np-mobile-bottom-dock{left:8px!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important}
  body > .np-mobile-floating{right:12px!important;bottom:calc(82px + env(safe-area-inset-bottom))!important}
}


/* 2026-05-05 모바일 메뉴 버튼 - 청소업체 프리미엄 빗자루 아이콘 */
@media (max-width: 991.98px){
  .np-menu-toggle.np-clean-menu-toggle{
    width:48px!important;
    height:48px!important;
    border:1px solid rgba(15,118,110,.22)!important;
    border-radius:18px!important;
    background:
      radial-gradient(circle at 32% 22%, rgba(255,255,255,.98) 0 18%, transparent 19%),
      linear-gradient(145deg,#ffffff 0%,#f4fffb 42%,#e8f7f4 100%)!important;
    box-shadow:
      0 12px 24px rgba(15,118,110,.16),
      inset 0 1px 0 rgba(255,255,255,.95)!important;
    overflow:hidden!important;
    gap:0!important;
    flex-direction:row!important;
  }
  .np-menu-toggle.np-clean-menu-toggle:before{
    content:''!important;
    position:absolute!important;
    inset:-40% -55% auto auto!important;
    width:52px!important;
    height:52px!important;
    border-radius:999px!important;
    background:rgba(255,230,0,.26)!important;
    filter:blur(12px)!important;
    pointer-events:none!important;
  }
  .np-menu-toggle.np-clean-menu-toggle:after{
    content:'✨'!important;
    position:absolute!important;
    right:6px!important;
    top:5px!important;
    font-size:11px!important;
    line-height:1!important;
    opacity:.85!important;
    transform:scale(.92)!important;
    pointer-events:none!important;
  }
  .np-menu-toggle.np-clean-menu-toggle > span:not(.np-clean-menu-icon){display:none!important}
  .np-clean-menu-icon{
    position:relative!important;
    z-index:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    background:transparent!important;
    transition:transform .28s cubic-bezier(.22,1,.36,1), opacity .18s ease!important;
  }
  .np-broom-icon{
    width:29px!important;
    height:29px!important;
    overflow:visible!important;
    filter:drop-shadow(0 3px 5px rgba(15,118,110,.18))!important;
  }
  .np-broom-handle,
  .np-broom-neck,
  .np-broom-line{
    fill:none!important;
    stroke:#0f766e!important;
    stroke-width:5!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .np-broom-line{stroke-width:2.8!important;opacity:.78!important}
  .np-broom-head{
    fill:#14a37f!important;
    stroke:#0f766e!important;
    stroke-width:3.2!important;
    stroke-linejoin:round!important;
  }
  .np-clean-menu-icon em{
    position:absolute!important;
    left:11px!important;
    bottom:9px!important;
    width:9px!important;
    height:9px!important;
    border-radius:999px!important;
    background:rgba(255,230,0,.72)!important;
    box-shadow:0 0 0 4px rgba(255,230,0,.14)!important;
  }
  .np-menu-toggle.np-clean-menu-toggle:hover{
    transform:translateY(-1px)!important;
    box-shadow:0 15px 28px rgba(15,118,110,.20), inset 0 1px 0 rgba(255,255,255,.95)!important;
  }
  .np-menu-toggle.np-clean-menu-toggle:active .np-clean-menu-icon{
    transform:scale(.9) rotate(-18deg)!important;
    opacity:.9!important;
  }
  .np-menu-toggle.np-clean-menu-toggle:focus-visible{
    outline:3px solid rgba(255,230,0,.55)!important;
    outline-offset:3px!important;
  }
  .np-header.is-scrolled .np-menu-toggle.np-clean-menu-toggle{
    width:44px!important;
    height:44px!important;
    border-radius:16px!important;
  }
  .np-header.is-scrolled .np-broom-icon{
    width:26px!important;
    height:26px!important;
  }
}


/* =========================================================
   2026-05-05 Mobile dock icon correction
   - 상단 메뉴 버튼은 기존 햄버거 아이콘으로 복구
   - 하단 카톡 옆 견적 아이콘만 청소업체 느낌(빗자루)으로 변경
   - 기존 모바일 CTA가 뒤에 남아 겹쳐 보이는 현상 방지
   - PC 영향 없음
========================================================= */
@media (max-width: 991.98px){
  /* 이전 빗자루 버튼 패치 무효화: 상단 메뉴는 기존 3줄 아이콘 */
  .np-menu-toggle,
  .np-menu-toggle.np-clean-menu-toggle{
    width:44px!important;
    height:44px!important;
    border:1px solid rgba(15,118,110,.18)!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 8px 20px rgba(15,118,110,.10)!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:4px!important;
  }
  .np-menu-toggle:before,
  .np-menu-toggle:after,
  .np-menu-toggle.np-clean-menu-toggle:before,
  .np-menu-toggle.np-clean-menu-toggle:after{
    content:none!important;
    display:none!important;
  }
  .np-menu-toggle > span{
    display:block!important;
    width:20px!important;
    height:2px!important;
    margin:0!important;
    border-radius:999px!important;
    background:#0f766e!important;
    transition:transform .24s ease, opacity .18s ease!important;
  }
  .np-clean-menu-icon,
  .np-broom-icon,
  .np-clean-menu-icon em{
    display:none!important;
  }
  body.np-mobile-open .np-menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)!important}
  body.np-mobile-open .np-menu-toggle span:nth-child(2){opacity:0!important;transform:scaleX(.4)!important}
  body.np-mobile-open .np-menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)!important}

  /* 기존 하단 CTA가 남아 2겹처럼 보이는 현상 제거 */
  .np-mobile-cta{display:none!important;visibility:hidden!important;pointer-events:none!important}
  .np-mobile-bottom-dock + .np-mobile-bottom-dock,
  body > .np-mobile-bottom-dock ~ .np-mobile-bottom-dock,
  body > .np-mobile-floating ~ .np-mobile-floating{display:none!important}

  /* 하단 '견적' 아이콘만 빗자루 + 살짝 회전 애니메이션 */
  .np-mobile-dock-estimate .np-mobile-dock-ico,
  .np-mobile-dock-clean-ico{
    position:relative!important;
    width:25px!important;
    height:25px!important;
    min-width:25px!important;
    border-radius:11px!important;
    background:linear-gradient(135deg,rgba(15,118,110,.10),rgba(255,230,0,.20))!important;
    color:#0f766e!important;
    font-size:0!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
  }
  .np-mobile-dock-estimate .np-mobile-dock-ico:before,
  .np-mobile-dock-clean-ico:before{
    content:'🧹'!important;
    display:block!important;
    font-size:15px!important;
    line-height:1!important;
    transform:rotate(-12deg)!important;
    filter:drop-shadow(0 2px 3px rgba(15,118,110,.16))!important;
    transition:transform .22s ease!important;
  }
  .np-mobile-dock-estimate .np-mobile-dock-ico:after,
  .np-mobile-dock-clean-ico:after{
    content:'✨'!important;
    position:absolute!important;
    right:-5px!important;
    top:-6px!important;
    font-size:9px!important;
    line-height:1!important;
    opacity:.9!important;
  }
  .np-mobile-dock-estimate:active .np-mobile-dock-ico:before,
  .np-mobile-dock-estimate:hover .np-mobile-dock-ico:before{
    transform:rotate(12deg) scale(.96)!important;
  }
}

/* =========================================================
   2026-05-05 Mobile bottom CTA premium effects only
   - 전화 버튼 pulse 강조
   - 카톡 버튼 브랜드 컬러 강화
   - 견적 버튼 살짝 튀는 터치 효과
   - 모바일 하단 고정 메뉴만 적용 / PC 영향 없음
========================================================= */
@media (max-width: 991.98px){
  .np-mobile-bottom-dock{
    box-shadow:0 16px 36px rgba(15,118,110,.16), 0 0 0 1px rgba(255,255,255,.92), inset 0 1px 0 rgba(255,255,255,.9)!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
  }

  .np-mobile-dock-item{
    transition:transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease, filter .22s ease!important;
    will-change:transform!important;
  }
  .np-mobile-dock-item:hover,
  .np-mobile-dock-item:focus-visible{
    filter:saturate(1.06)!important;
  }
  .np-mobile-dock-item:active{
    transform:translateY(-2px) scale(.985)!important;
  }

  .np-mobile-dock-call{
    position:relative!important;
    overflow:hidden!important;
    background:linear-gradient(135deg,#0f766e,#117e75)!important;
    color:#fff!important;
    animation:npDockCallPulse 2.8s ease-in-out infinite!important;
  }
  .np-mobile-dock-call:before{
    content:''!important;
    position:absolute!important;
    inset:-1px!important;
    border-radius:inherit!important;
    background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.24) 45%,transparent 70%)!important;
    transform:translateX(-120%)!important;
    animation:npDockSheen 3.6s ease-in-out infinite!important;
    pointer-events:none!important;
  }
  .np-mobile-dock-call .np-mobile-dock-ico{
    background:rgba(255,255,255,.18)!important;
    color:#fff!important;
    box-shadow:0 0 0 4px rgba(255,255,255,.08)!important;
  }

  .np-mobile-dock-kakao{
    background:linear-gradient(135deg,#fee500 0%,#ffe766 52%,#ffd84d 100%)!important;
    color:#211b12!important;
    box-shadow:0 12px 24px rgba(254,229,0,.34), inset 0 1px 0 rgba(255,255,255,.65)!important;
  }
  .np-mobile-dock-kakao .np-mobile-dock-ico{
    background:rgba(59,46,18,.10)!important;
    color:#211b12!important;
    box-shadow:0 0 0 4px rgba(255,255,255,.18)!important;
  }
  .np-mobile-dock-kakao:active{
    box-shadow:0 15px 28px rgba(254,229,0,.42), inset 0 1px 0 rgba(255,255,255,.7)!important;
  }

  .np-mobile-dock-estimate{
    background:linear-gradient(135deg,#fff,#f8fffd)!important;
    border:1px solid rgba(15,118,110,.13)!important;
  }
  .np-mobile-dock-estimate:active,
  .np-mobile-dock-estimate:hover{
    transform:translateY(-3px) scale(1.015)!important;
    box-shadow:0 14px 26px rgba(15,118,110,.18), 0 0 0 4px rgba(15,118,110,.06)!important;
  }
  .np-mobile-dock-estimate .np-mobile-dock-ico:after,
  .np-mobile-dock-clean-ico:after{
    animation:npDockSparkle 1.9s ease-in-out infinite!important;
  }
}

@keyframes npDockCallPulse{
  0%,100%{box-shadow:0 12px 24px rgba(15,118,110,.28), inset 0 1px 0 rgba(255,255,255,.22)}
  50%{box-shadow:0 16px 32px rgba(15,118,110,.38), 0 0 0 5px rgba(15,118,110,.08), inset 0 1px 0 rgba(255,255,255,.26)}
}
@keyframes npDockSheen{
  0%,58%{transform:translateX(-120%)}
  78%,100%{transform:translateX(120%)}
}
@keyframes npDockSparkle{
  0%,100%{transform:scale(.9) rotate(0deg);opacity:.65}
  50%{transform:scale(1.18) rotate(12deg);opacity:1}
}

/* =========================================================
   Licence rolling widget v4 - premium detail refine
   - 인증서 롤링 영역만 디테일 개선
   - 텍스트/버튼 없이 이미지만 유지
   - 다른 섹션 영향 없음
========================================================= */
.np-main .np-premium-cleaning{
    position:relative !important;
    overflow:hidden !important;
    padding:34px 0 36px !important;
    background:
        radial-gradient(circle at 12% 8%, rgba(27,119,190,.13), transparent 30%),
        radial-gradient(circle at 88% 2%, rgba(255,255,255,.88), transparent 34%),
        linear-gradient(180deg, #eef6fb 0%, #f8fbfd 44%, #edf5fa 100%) !important;
}
.np-main .np-premium-cleaning:before{
    content:'' !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:0 !important;
    height:1px !important;
    background:linear-gradient(90deg, transparent, rgba(10,79,138,.12), transparent) !important;
    pointer-events:none !important;
}
.np-main .np-premium-cleaning:after{
    content:'' !important;
    position:absolute !important;
    left:8% !important;
    right:8% !important;
    bottom:18px !important;
    height:22px !important;
    border-radius:999px !important;
    background:radial-gradient(ellipse at center, rgba(16,57,92,.09), transparent 70%) !important;
    filter:blur(11px) !important;
    pointer-events:none !important;
}
.np-main .np-licence-rolling-widget{
    position:relative !important;
    z-index:1 !important;
    overflow:hidden !important;
    width:100vw !important;
    margin:0 0 0 calc(50% - 50vw) !important;
    padding:24px 0 26px !important;
    border:0 !important;
    border-radius:0 !important;
    background:
        linear-gradient(90deg, rgba(255,255,255,.00) 0%, rgba(255,255,255,.62) 13%, rgba(255,255,255,.86) 50%, rgba(255,255,255,.62) 87%, rgba(255,255,255,.00) 100%) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.95),
        inset 0 -1px 0 rgba(13,54,88,.065) !important;
}
.np-main .np-licence-rolling-widget:before{
    content:'' !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:0 !important;
    height:100% !important;
    background:
        linear-gradient(90deg, rgba(238,246,251,.95) 0%, transparent 8%, transparent 92%, rgba(238,246,251,.95) 100%),
        repeating-linear-gradient(90deg, rgba(13,83,143,.018) 0 1px, transparent 1px 72px) !important;
    pointer-events:none !important;
    z-index:2 !important;
}
.np-main .np-licence-rolling-widget:after{
    content:'' !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:0 !important;
    height:1px !important;
    background:linear-gradient(90deg, transparent, rgba(10,91,158,.18), transparent) !important;
    pointer-events:none !important;
    z-index:3 !important;
}
.np-main .np-licence-rolling-inner,
.np-main .np-licence-rolling-inner.np-licence-rolling-only,
.np-main .np-licence-rolling-track-wrap{
    width:100vw !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
}
.np-main .np-licence-rolling-track-wrap{
    position:relative !important;
    z-index:1 !important;
    overflow:hidden !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
}
.np-main .np-licence-rolling-track{
    display:flex !important;
    align-items:center !important;
    gap:16px !important;
    width:max-content !important;
    min-width:420vw !important;
    padding:2px 0 8px !important;
    animation:npLicenceRollingPremiumDetail 34s linear infinite !important;
    will-change:transform !important;
}
.np-main .np-licence-roll-card{
    position:relative !important;
    flex:0 0 176px !important;
    overflow:hidden !important;
    padding:10px !important;
    border:1px solid rgba(15,65,105,.10) !important;
    border-radius:18px !important;
    background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,251,253,.96) 100%) !important;
    box-shadow:
        0 14px 30px rgba(13,54,88,.10),
        0 2px 7px rgba(13,54,88,.05),
        inset 0 1px 0 rgba(255,255,255,.95) !important;
    transform:translateZ(0) !important;
    transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, filter .28s ease !important;
}
.np-main .np-licence-roll-card:before{
    content:'' !important;
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(135deg, rgba(255,255,255,.60) 0%, transparent 36%, rgba(255,255,255,.22) 100%) !important;
    pointer-events:none !important;
    z-index:1 !important;
}
.np-main .np-licence-roll-card:hover{
    transform:translateY(-6px) scale(1.015) !important;
    border-color:rgba(12,103,181,.24) !important;
    box-shadow:
        0 22px 46px rgba(13,54,88,.17),
        0 5px 14px rgba(13,54,88,.08),
        inset 0 1px 0 rgba(255,255,255,1) !important;
    filter:saturate(1.02) !important;
}
.np-main .np-licence-roll-card img{
    position:relative !important;
    z-index:0 !important;
    display:block !important;
    width:100% !important;
    height:198px !important;
    object-fit:contain !important;
    border-radius:12px !important;
    background:#fff !important;
    filter:saturate(.94) contrast(1.01) brightness(1.01) !important;
}
.np-main .np-licence-roll-card span,
.np-main .np-licence-rolling-bg,
.np-main .np-licence-rolling-head{
    display:none !important;
}
@keyframes npLicenceRollingPremiumDetail{
    0%{transform:translate3d(0,0,0)}
    100%{transform:translate3d(-25%,0,0)}
}
@media(max-width:1024px){
    .np-main .np-premium-cleaning{padding:30px 0 32px !important;}
    .np-main .np-licence-roll-card{flex-basis:158px !important; border-radius:16px !important;}
    .np-main .np-licence-roll-card img{height:180px !important;}
    .np-main .np-licence-rolling-track{gap:14px !important;}
}
@media(max-width:720px){
    .np-main .np-premium-cleaning{padding:24px 0 26px !important;}
    .np-main .np-licence-rolling-widget{padding:18px 0 20px !important;}
    .np-main .np-licence-roll-card{flex-basis:126px !important; padding:7px !important; border-radius:14px !important;}
    .np-main .np-licence-roll-card img{height:146px !important; border-radius:10px !important;}
    .np-main .np-licence-rolling-track{gap:11px !important; animation-duration:28s !important;}
}

/* licence rolling hover popup / no pause / no link - final refinement */
.np-main .np-licence-rolling-track-wrap:hover .np-licence-rolling-track{
    animation-play-state:running !important;
}
.np-main .np-licence-roll-card{
    cursor:zoom-in !important;
    text-decoration:none !important;
}
.np-main .np-licence-roll-card,
.np-main .np-licence-roll-card *{
    -webkit-user-drag:none !important;
    user-select:none !important;
}
.np-licence-hover-preview{
    position:fixed !important;
    left:0;
    top:0;
    z-index:999999 !important;
    width:390px !important;
    max-width:calc(100vw - 36px) !important;
    pointer-events:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateY(8px) scale(.985) !important;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease !important;
}
.np-licence-hover-preview.is-visible{
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(0) scale(1) !important;
}
.np-licence-hover-preview-box{
    position:relative !important;
    overflow:hidden !important;
    padding:15px 15px 13px !important;
    border:1px solid rgba(7,53,91,.16) !important;
    border-radius:23px !important;
    background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,255,.96)) !important;
    box-shadow:0 28px 70px rgba(10,44,76,.24), 0 8px 22px rgba(10,44,76,.12), inset 0 1px 0 rgba(255,255,255,1) !important;
    backdrop-filter:blur(12px) !important;
}
.np-licence-hover-preview-box:before{
    content:'' !important;
    position:absolute !important;
    inset:0 !important;
    background:radial-gradient(circle at 20% 10%, rgba(17,118,205,.10), transparent 34%), linear-gradient(135deg, rgba(255,255,255,.55), transparent 38%) !important;
    pointer-events:none !important;
}
.np-licence-hover-preview img{
    position:relative !important;
    z-index:1 !important;
    display:block !important;
    width:100% !important;
    height:500px !important;
    object-fit:contain !important;
    border-radius:15px !important;
    background:#fff !important;
    box-shadow:inset 0 0 0 1px rgba(12,62,101,.08), 0 10px 24px rgba(12,62,101,.10) !important;
}
.np-licence-hover-preview strong{
    position:relative !important;
    z-index:1 !important;
    display:block !important;
    padding:10px 4px 1px !important;
    font-size:15px !important;
    line-height:1.35 !important;
    font-weight:800 !important;
    letter-spacing:-.02em !important;
    color:#073a67 !important;
    text-align:center !important;
}
@media (max-width: 768px){
    .np-licence-hover-preview{display:none !important;}
}


/* licence rolling speed slow adjust - 2026-05-06 */
.np-main .np-licence-rolling-track{
    animation-duration:52s !important;
}
.np-main .np-licence-rolling-track-wrap:hover .np-licence-rolling-track{
    animation-play-state:running !important;
}
@media (max-width:767px){
    .np-main .np-licence-rolling-track{
        animation-duration:44s !important;
    }
}


/* np-woojin-service-start */
.np-woojin-service{width:100%;background:#fff;padding:92px 0 78px;overflow:hidden}.np-woojin-service-head{max-width:1280px;margin:0 auto 48px;padding:0 24px;text-align:center}.np-woojin-service-head h2{margin:0;color:#070707;font-size:48px;line-height:1.12;font-weight:900;letter-spacing:-2.8px}.np-woojin-service-head h2 span{
    display:inline-block;
    padding:0;
    background:none;
    box-shadow:none;
    color:#0b74ed;
    font-weight:900;
    text-shadow:
        0 2px 0 rgba(255,255,255,.25),
        0 6px 16px rgba(11,116,237,.28)
}.np-woojin-service-grid{max-width:1280px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.np-woojin-card{position:relative;min-height:410px;padding:34px 25px 28px;border:1px solid #d9e2ef;border-radius:22px;background:#fff;overflow:hidden;transition:transform .36s cubic-bezier(.22,1,.36,1),border-color .36s ease,box-shadow .36s ease}.np-woojin-card:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(0,111,230,.085),rgba(255,255,255,0) 48%);opacity:0;transition:opacity .36s ease;pointer-events:none}.np-woojin-card:after{content:"";position:absolute;left:26px;right:26px;bottom:0;height:4px;border-radius:999px 999px 0 0;background:linear-gradient(90deg,#0b74ed,#69b5ff);transform:scaleX(0);transform-origin:left center;transition:transform .42s cubic-bezier(.22,1,.36,1)}.np-woojin-card:hover{transform:translateY(-10px);border-color:#b7d4f7;box-shadow:0 24px 54px rgba(21,45,72,.13)}.np-woojin-card:hover:before{opacity:1}.np-woojin-card:hover:after{transform:scaleX(1)}.np-woojin-card-copy{position:relative;z-index:2}.np-woojin-card-copy em{display:block;margin-bottom:8px;color:#006ee8;font-size:14px;line-height:1;font-style:normal;font-weight:900;letter-spacing:-.3px}.np-woojin-card-copy h3{margin:0 0 8px;color:#050505;font-size:28px;line-height:1.16;font-weight:900;letter-spacing:-1.6px}.np-woojin-card-copy p{margin:0;color:#435061;font-size:18px;line-height:1.48;font-weight:500;letter-spacing:-.7px}.np-woojin-card-copy strong{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:#0b74ed;font-size:15px;font-weight:900;letter-spacing:-.4px;opacity:.92;transform:translateY(6px);transition:transform .32s ease,opacity .32s ease}.np-woojin-card-copy strong:after{content:"";width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}.np-woojin-card:hover .np-woojin-card-copy strong{transform:translateY(0);opacity:1}.np-woojin-card-photo{position:absolute;left:50%;bottom:28px;width:205px;height:205px;border-radius:50%;overflow:hidden;transform:translateX(-50%);background:#eef3f9;box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),0 18px 38px rgba(22,42,62,.08)}.np-woojin-card-photo img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.01);transition:transform .65s cubic-bezier(.22,1,.36,1),filter .45s ease}.np-woojin-card:hover .np-woojin-card-photo img{transform:scale(1.14);filter:saturate(1.06) contrast(1.04)}@media (max-width:1180px){.np-woojin-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.np-woojin-card{min-height:400px}}@media (max-width:720px){.np-woojin-service{padding:62px 0 52px}.np-woojin-service-head{margin-bottom:30px}.np-woojin-service-head h2{font-size:34px;letter-spacing:-1.8px}.np-woojin-service-grid{grid-template-columns:1fr;gap:16px;padding:0 18px}.np-woojin-card{min-height:370px;border-radius:20px;padding:28px 24px}.np-woojin-card-copy h3{font-size:25px}.np-woojin-card-copy p{font-size:16px}.np-woojin-card-photo{width:180px;height:180px}}
/* np-woojin-service-end */


/* =========================================================
   Woojin style service card - circle to full image hover action
   원형 이미지 hover 시 카드 전체 이미지형으로 확장
========================================================= */
.np-service-card-item,
.nps-service-card,
.clean-service-card,
.woojin-service-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.np-service-card-item::before,
.nps-service-card::before,
.clean-service-card::before,
.woojin-service-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--service-bg);
    background-size: cover;
    background-position: center;
    opacity: 0;
    transform: scale(1.08);
    transition: opacity .45s ease, transform .65s ease;
    z-index: -2;
}

.np-service-card-item::after,
.nps-service-card::after,
.clean-service-card::after,
.woojin-service-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(4,22,46,.18), rgba(4,22,46,.78));
    opacity: 0;
    transition: opacity .45s ease;
    z-index: -1;
}

.np-service-card-item:hover::before,
.nps-service-card:hover::before,
.clean-service-card:hover::before,
.woojin-service-card:hover::before {
    opacity: 1;
    transform: scale(1);
}

.np-service-card-item:hover::after,
.nps-service-card:hover::after,
.clean-service-card:hover::after,
.woojin-service-card:hover::after {
    opacity: 1;
}

.np-service-card-item:hover .np-service-card-kicker,
.np-service-card-item:hover h3,
.np-service-card-item:hover p,
.nps-service-card:hover .np-service-card-kicker,
.nps-service-card:hover h3,
.nps-service-card:hover p,
.clean-service-card:hover .np-service-card-kicker,
.clean-service-card:hover h3,
.clean-service-card:hover p,
.woojin-service-card:hover .np-service-card-kicker,
.woojin-service-card:hover h3,
.woojin-service-card:hover p {
    color: #fff !important;
    text-shadow: 0 2px 14px rgba(0,0,0,.28);
}

.np-service-circle,
.nps-service-circle,
.clean-service-circle,
.woojin-service-circle {
    transition: width .45s ease, height .45s ease, border-radius .45s ease, opacity .35s ease, transform .45s ease;
}

.np-service-card-item:hover .np-service-circle,
.nps-service-card:hover .nps-service-circle,
.clean-service-card:hover .clean-service-circle,
.woojin-service-card:hover .woojin-service-circle {
    opacity: 0;
    transform: scale(1.18);
}

.np-service-card-item:hover,
.nps-service-card:hover,
.clean-service-card:hover,
.woojin-service-card:hover {
    border-color: rgba(255,255,255,.35);
    box-shadow: 0 28px 70px rgba(0,38,88,.18);
}


/* =========================================================
   Service cards full image style
   - 원형 썸네일 대신 카드 전체 이미지 출력
   - 우진환경 스타일처럼 이미지 위에 텍스트 배치
========================================================= */
.np-service-card-premium{
    background:#f3f6fa;
}

.np-service-card-grid{
    align-items:stretch;
}

.np-service-card-item{
    position:relative !important;
    isolation:isolate;
    overflow:hidden !important;
    min-height:420px;
    padding:36px 26px 30px !important;
    border-radius:26px !important;
    background-image:var(--service-bg) !important;
    background-size:cover !important;
    background-position:center center !important;
    border:1px solid rgba(210,220,232,.95) !important;
    box-shadow:0 14px 38px rgba(15,43,77,.06);
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
}

.np-service-card-item::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:-2 !important;
    background-image:var(--service-bg) !important;
    background-size:cover !important;
    background-position:center center !important;
    opacity:1 !important;
    transform:scale(1) !important;
    transition:transform .65s ease, filter .65s ease !important;
}

.np-service-card-item::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:-1 !important;
    background:linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.75) 34%, rgba(255,255,255,.08) 68%, rgba(255,255,255,0) 100%) !important;
    opacity:1 !important;
    transition:background .45s ease, opacity .45s ease !important;
}

.np-service-card-item:hover{
    transform:translateY(-8px);
    border-color:rgba(7,95,205,.25) !important;
    box-shadow:0 26px 68px rgba(15,43,77,.14);
}

.np-service-card-item:hover::before{
    transform:scale(1.08) !important;
    filter:saturate(1.04) contrast(1.03);
}

.np-service-card-item:hover::after{
    background:linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.68) 34%, rgba(255,255,255,.06) 70%, rgba(255,255,255,0) 100%) !important;
}

.np-service-card-kicker{
    position:relative;
    z-index:2;
    color:#0068df !important;
    font-weight:900 !important;
    font-size:14px !important;
    letter-spacing:-.2px;
    margin-bottom:8px !important;
    text-shadow:none !important;
}

.np-service-card-item h3{
    position:relative;
    z-index:2;
    display:inline;
    width:max-content;
    max-width:100%;
    color:#fff !important;
    background:#071fbf;
    padding:2px 6px 4px;
    font-size:29px !important;
    line-height:1.12 !important;
    letter-spacing:-1.8px !important;
    font-weight:900 !important;
    margin:0 0 10px !important;
    text-shadow:none !important;
    box-decoration-break:clone;
    -webkit-box-decoration-break:clone;
}

.np-service-card-item p{
    position:relative;
    z-index:2;
    color:#444 !important;
    font-size:18px !important;
    line-height:1.45 !important;
    font-weight:500;
    min-height:auto !important;
    margin-top:8px !important;
    text-shadow:none !important;
}

.np-service-circle{
    display:none !important;
}

@media (max-width:1200px){
    .np-service-card-item{
        min-height:390px;
    }
}

@media (max-width:768px){
    .np-service-card-item{
        min-height:390px;
        padding:30px 24px !important;
    }
    .np-service-card-item h3{
        font-size:26px !important;
    }
}


/* ===== FORCE FULL IMAGE SERVICE CARD STYLE ===== */

.np-service-circle,
.np-service-circle img{
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
}

.np-service-card-item{
    position:relative !important;
    overflow:hidden !important;
    min-height:460px !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
}

.np-service-card-item:nth-child(1){
    background-image:url('../img/service_trash.jpg') !important;
}

.np-service-card-item:nth-child(2){
    background-image:url('../img/service_waste.jpg') !important;
}

.np-service-card-item:nth-child(3){
    background-image:url('../img/service_memory.jpg') !important;
}

.np-service-card-item:nth-child(4){
    background-image:url('../img/service_move.jpg') !important;
}

.np-service-card-item:nth-child(5){
    background-image:url('../img/service_empty.jpg') !important;
}

.np-service-card-item:nth-child(6){
    background-image:url('../img/service_clean.jpg') !important;
}

.np-service-card-item:nth-child(7){
    background-image:url('../img/service_toilet.jpg') !important;
}

.np-service-card-item::before{
    content:'' !important;
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(to bottom,
        rgba(255,255,255,.88) 0%,
        rgba(255,255,255,.72) 32%,
        rgba(255,255,255,.12) 70%,
        rgba(255,255,255,0) 100%) !important;
    z-index:1 !important;
}

.np-service-card-item > *{
    position:relative !important;
    z-index:2 !important;
}

.np-service-card-item h3{
    display:inline-block !important;
    background:#0728c9 !important;
    color:#fff !important;
    padding:2px 8px 4px !important;
    line-height:1.15 !important;
}

.np-service-card-item:hover{
    transform:translateY(-8px) !important;
}

.np-service-card-item:hover{
    background-size:108% !important;
    transition:all .5s ease !important;
}


/* =========================================================
   Woojin service card hover action FIX
   기본: 원형 이미지 출력
   마우스 오버: 원형 이미지 숨김 + 카드 전체 이미지 출력
========================================================= */

/* 이전 강제 전체이미지 패치 무력화 */
.np-service-card-item{
    position:relative !important;
    isolation:isolate !important;
    overflow:hidden !important;
    background-image:none !important;
    background-color:#fff !important;
    min-height:420px !important;
    border-radius:22px !important;
    transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease !important;
}

.np-service-card-item::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
    background-image:var(--service-bg) !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    opacity:0 !important;
    transform:scale(1.04) !important;
    transition:opacity .42s ease, transform .62s ease !important;
    pointer-events:none !important;
}

.np-service-card-item::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    background:linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.72) 30%, rgba(255,255,255,.08) 72%, rgba(255,255,255,0) 100%) !important;
    opacity:0 !important;
    transition:opacity .42s ease !important;
    pointer-events:none !important;
}

/* 텍스트는 항상 위 */
.np-service-card-item > *{
    position:relative !important;
    z-index:3 !important;
}

/* 기본 원형 이미지 유지 */
.np-service-circle{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    width:240px !important;
    height:240px !important;
    border-radius:50% !important;
    overflow:hidden !important;
    margin:34px auto 0 !important;
    transition:opacity .32s ease, transform .42s ease, visibility .32s ease !important;
}

.np-service-circle img{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}

/* hover 시 두 번째 캡처처럼 전체 이미지 출력 */
.np-service-card-item:hover{
    transform:translateY(-6px) !important;
    box-shadow:0 24px 58px rgba(15,43,77,.13) !important;
    border-color:rgba(0,91,190,.25) !important;
    background-color:#fff !important;
}

.np-service-card-item:hover::before{
    opacity:1 !important;
    transform:scale(1) !important;
}

.np-service-card-item:hover::after{
    opacity:1 !important;
}

.np-service-card-item:hover .np-service-circle{
    opacity:0 !important;
    visibility:hidden !important;
    transform:scale(1.15) !important;
}

/* 제목 강조 스타일 유지 */
.np-service-card-item h3{
    display:inline-block !important;
    width:auto !important;
    color:#fff !important;
    background:#071fbf !important;
    padding:2px 7px 4px !important;
    line-height:1.12 !important;
    text-shadow:none !important;
    box-decoration-break:clone;
    -webkit-box-decoration-break:clone;
}

/* hover 때도 텍스트는 검정/파랑 계열 그대로 유지 */
.np-service-card-item:hover .np-service-card-kicker{
    color:#0068df !important;
    text-shadow:none !important;
}

.np-service-card-item:hover h3{
    color:#fff !important;
    background:#071fbf !important;
    text-shadow:none !important;
}

.np-service-card-item:hover p{
    color:#444 !important;
    text-shadow:none !important;
}

@media (max-width:768px){
    .np-service-card-item{
        min-height:390px !important;
    }
    .np-service-circle{
        width:210px !important;
        height:210px !important;
    }
}



/* =========================================================
   REAL FIX: Woojin card circle image -> full card image on hover
   실제 출력 클래스 .np-woojin-card 기준
   기본: 원형 이미지
   hover: 카드 전체 이미지 배경
========================================================= */

.np-woojin-card{
    position:relative !important;
    isolation:isolate !important;
    overflow:hidden !important;
    background:#fff !important;
    background-image:none !important;
}

/* hover 때 나타날 전체 배경 이미지 */
.np-woojin-card > .np-woojin-card-bg,
.np-woojin-card::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
    background-image:var(--woojin-card-bg) !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    opacity:0 !important;
    transform:scale(1.05) !important;
    transition:opacity .42s ease, transform .72s cubic-bezier(.22,1,.36,1) !important;
    pointer-events:none !important;
}

/* hover 때 텍스트 가독성용 밝은 그라데이션 */
.np-woojin-card::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    background:linear-gradient(
        180deg,
        rgba(255,255,255,.96) 0%,
        rgba(255,255,255,.82) 32%,
        rgba(255,255,255,.28) 58%,
        rgba(255,255,255,0) 100%
    ) !important;
    opacity:0 !important;
    transform:none !important;
    height:auto !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    border-radius:0 !important;
    transition:opacity .42s ease !important;
    pointer-events:none !important;
}

/* 텍스트는 항상 위 */
.np-woojin-card-copy{
    position:relative !important;
    z-index:3 !important;
}

/* 기본 상태: 원형 이미지 정상 출력 */
.np-woojin-card-photo{
    position:absolute !important;
    left:50% !important;
    bottom:28px !important;
    width:205px !important;
    height:205px !important;
    border-radius:50% !important;
    overflow:hidden !important;
    transform:translateX(-50%) !important;
    opacity:1 !important;
    visibility:visible !important;
    z-index:2 !important;
    transition:opacity .32s ease, visibility .32s ease, transform .42s ease !important;
}

.np-woojin-card-photo img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}

/* hover 상태: 카드 전체 배경 이미지 표시 */
.np-woojin-card:hover{
    background:#fff !important;
}

.np-woojin-card:hover::before{
    opacity:1 !important;
    transform:scale(1) !important;
}

.np-woojin-card:hover::after{
    opacity:1 !important;
}

/* hover 상태: 원형 이미지 숨김 */
.np-woojin-card:hover .np-woojin-card-photo{
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateX(-50%) scale(1.12) !important;
}

/* hover 때 제목/문구는 캡처처럼 유지 */
.np-woojin-card:hover .np-woojin-card-copy em{
    color:#006ee8 !important;
    text-shadow:none !important;
}

.np-woojin-card:hover .np-woojin-card-copy h3{
    color:#fff !important;
    background:#071fbf !important;
    display:inline-block !important;
    padding:1px 6px 3px !important;
    text-shadow:none !important;
}

.np-woojin-card:hover .np-woojin-card-copy p{
    color:#444 !important;
    text-shadow:none !important;
}

/* 기존 하단 파란 라인 after 효과가 hover 배경을 방해하므로 별도 제거 */
.np-woojin-card:hover .np-woojin-card-copy strong{
    color:#0b74ed !important;
}

@media (max-width:720px){
    .np-woojin-card-photo{
        width:180px !important;
        height:180px !important;
    }
}



/* =========================================================
   Woojin Service Card Premium Motion Upgrade
   - hover parallax
   - card overlay tone variation
   - text entrance animation
   - mobile touch hover substitute
   - unified shadow depth
   - loading fade-in
========================================================= */

.np-woojin-card{
    box-shadow:0 16px 38px rgba(15, 43, 77, .055) !important;
    transition:
        transform .42s cubic-bezier(.22,1,.36,1),
        box-shadow .42s cubic-bezier(.22,1,.36,1),
        border-color .42s ease,
        opacity .55s ease !important;
    opacity:0;
    transform:translateY(18px);
    animation:npWjCardFadeIn .72s cubic-bezier(.22,1,.36,1) forwards;
}

.np-woojin-card:nth-child(1){ animation-delay:.04s; --wj-overlay-a:rgba(255,255,255,.96); --wj-overlay-b:rgba(232,244,255,.72); --wj-overlay-c:rgba(0,73,145,.05); }
.np-woojin-card:nth-child(2){ animation-delay:.10s; --wj-overlay-a:rgba(255,255,255,.95); --wj-overlay-b:rgba(243,249,255,.70); --wj-overlay-c:rgba(0,105,185,.07); }
.np-woojin-card:nth-child(3){ animation-delay:.16s; --wj-overlay-a:rgba(255,255,255,.96); --wj-overlay-b:rgba(255,248,236,.72); --wj-overlay-c:rgba(148,88,0,.07); }
.np-woojin-card:nth-child(4){ animation-delay:.22s; --wj-overlay-a:rgba(255,255,255,.95); --wj-overlay-b:rgba(245,250,255,.72); --wj-overlay-c:rgba(10,90,160,.06); }
.np-woojin-card:nth-child(5){ animation-delay:.28s; --wj-overlay-a:rgba(255,255,255,.96); --wj-overlay-b:rgba(241,255,248,.70); --wj-overlay-c:rgba(0,120,70,.06); }
.np-woojin-card:nth-child(6){ animation-delay:.34s; --wj-overlay-a:rgba(255,255,255,.95); --wj-overlay-b:rgba(248,245,255,.72); --wj-overlay-c:rgba(70,45,140,.06); }
.np-woojin-card:nth-child(7){ animation-delay:.40s; --wj-overlay-a:rgba(255,255,255,.96); --wj-overlay-b:rgba(255,246,246,.72); --wj-overlay-c:rgba(150,45,45,.06); }

@keyframes npWjCardFadeIn{
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* hover / active 상태의 전체 이미지 배경 */
.np-woojin-card::before{
    transition:
        opacity .44s ease,
        transform .9s cubic-bezier(.22,1,.36,1),
        background-position .9s cubic-bezier(.22,1,.36,1),
        filter .9s ease !important;
    background-position:50% 50% !important;
}

.np-woojin-card::after{
    background:
        linear-gradient(180deg,
            var(--wj-overlay-a, rgba(255,255,255,.96)) 0%,
            var(--wj-overlay-b, rgba(255,255,255,.78)) 34%,
            var(--wj-overlay-c, rgba(255,255,255,.16)) 63%,
            rgba(255,255,255,0) 100%) !important;
    transition:opacity .44s ease, background .44s ease !important;
}

/* depth 통일 */
.np-woojin-card:hover,
.np-woojin-card.is-touch-active{
    transform:translateY(-8px) !important;
    box-shadow:
        0 28px 70px rgba(9, 35, 71, .14),
        0 8px 18px rgba(0, 80, 165, .06) !important;
    border-color:rgba(7, 98, 205, .24) !important;
}

/* 미세 패럴럭스 느낌 */
.np-woojin-card:hover::before,
.np-woojin-card.is-touch-active::before{
    opacity:1 !important;
    transform:scale(1.075) translate3d(-1.2%, -1.2%, 0) !important;
    background-position:52% 48% !important;
    filter:saturate(1.05) contrast(1.025) !important;
}

.np-woojin-card:hover::after,
.np-woojin-card.is-touch-active::after{
    opacity:1 !important;
}

/* 원형 이미지 사라짐 */
.np-woojin-card:hover .np-woojin-card-photo,
.np-woojin-card.is-touch-active .np-woojin-card-photo{
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateX(-50%) scale(1.16) !important;
}

/* 텍스트 등장 애니메이션 */
.np-woojin-card-copy > *{
    transition:
        transform .45s cubic-bezier(.22,1,.36,1),
        opacity .45s ease,
        color .35s ease,
        background-color .35s ease !important;
}

.np-woojin-card:hover .np-woojin-card-copy em,
.np-woojin-card.is-touch-active .np-woojin-card-copy em{
    transform:translateY(-2px) !important;
}

.np-woojin-card:hover .np-woojin-card-copy h3,
.np-woojin-card.is-touch-active .np-woojin-card-copy h3{
    transform:translateY(-3px) !important;
}

.np-woojin-card:hover .np-woojin-card-copy p,
.np-woojin-card.is-touch-active .np-woojin-card-copy p{
    transform:translateY(-2px) !important;
}

/* hover 시작 때 부드러운 빛 */
.np-woojin-card-copy{
    transition:transform .45s cubic-bezier(.22,1,.36,1) !important;
}

.np-woojin-card:hover .np-woojin-card-copy,
.np-woojin-card.is-touch-active .np-woojin-card-copy{
    transform:translateY(-1px) !important;
}

/* 모바일은 터치 시 active처럼 동작 */
@media (hover:none){
    .np-woojin-card.is-touch-active::before{
        opacity:1 !important;
        transform:scale(1.06) !important;
    }

    .np-woojin-card.is-touch-active::after{
        opacity:1 !important;
    }

    .np-woojin-card.is-touch-active .np-woojin-card-photo{
        opacity:0 !important;
        visibility:hidden !important;
    }
}

/* 움직임 최소화 환경 대응 */
@media (prefers-reduced-motion: reduce){
    .np-woojin-card,
    .np-woojin-card::before,
    .np-woojin-card::after,
    .np-woojin-card-copy > *,
    .np-woojin-card-photo{
        animation:none !important;
        transition:none !important;
    }

    .np-woojin-card{
        opacity:1 !important;
        transform:none !important;
    }
}


/* =========================================================
   TRUE MORPH FIX - real circle image expands to full card
   우진환경처럼 원형 이미지 박스 자체가 카드 전체 이미지로 자연스럽게 확장
========================================================= */
.np-woojin-card{
    position:relative !important;
    isolation:isolate !important;
    overflow:hidden !important;
    background:#fff !important;
    transform:translateZ(0);
}

/* 기존 배경 전환용 pseudo는 사용하지 않음: 팍 열리는 느낌 제거 */
.np-woojin-card::before{
    display:none !important;
    content:none !important;
}

/* 이미지 위 가독성 오버레이: hover 후 살짝 늦게 등장 */
.np-woojin-card::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    height:auto !important;
    z-index:2 !important;
    border-radius:inherit !important;
    background:linear-gradient(180deg,
        rgba(255,255,255,.95) 0%,
        rgba(255,255,255,.78) 34%,
        rgba(255,255,255,.22) 62%,
        rgba(255,255,255,0) 100%) !important;
    opacity:0 !important;
    transform:none !important;
    transition:opacity .52s ease .12s !important;
    pointer-events:none !important;
}

.np-woojin-card:hover::after,
.np-woojin-card.is-touch-active::after{
    opacity:1 !important;
}

/* 텍스트는 항상 가장 위 */
.np-woojin-card-copy{
    position:relative !important;
    z-index:4 !important;
    transition:transform .72s cubic-bezier(.19,1,.22,1) .05s !important;
}

/* 기본 상태: 첫 번째 캡처처럼 원형 이미지 */
.np-woojin-card-photo{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    z-index:1 !important;
    left:50% !important;
    bottom:28px !important;
    width:205px !important;
    height:205px !important;
    border-radius:50% !important;
    overflow:hidden !important;
    transform:translateX(-50%) translateZ(0) !important;
    transform-origin:50% 50% !important;
    background:#eef3f9 !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),0 18px 38px rgba(22,42,62,.08) !important;
    transition:
        left .86s cubic-bezier(.19,1,.22,1),
        bottom .86s cubic-bezier(.19,1,.22,1),
        width .86s cubic-bezier(.19,1,.22,1),
        height .86s cubic-bezier(.19,1,.22,1),
        border-radius .86s cubic-bezier(.19,1,.22,1),
        transform .86s cubic-bezier(.19,1,.22,1),
        box-shadow .5s ease !important;
    will-change:left,bottom,width,height,border-radius,transform;
}

.np-woojin-card-photo img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    transform:scale(1.02) !important;
    filter:none !important;
    transition:transform 1.05s cubic-bezier(.19,1,.22,1), filter .85s ease !important;
    will-change:transform;
}

/* hover 상태: 두 번째 캡처처럼 원형 이미지가 카드 전체 이미지로 열림 */
.np-woojin-card:hover,
.np-woojin-card.is-touch-active{
    transform:translateY(-8px) !important;
    box-shadow:0 28px 70px rgba(9,35,71,.14),0 8px 18px rgba(0,80,165,.06) !important;
    border-color:rgba(7,98,205,.24) !important;
}

.np-woojin-card:hover .np-woojin-card-photo,
.np-woojin-card.is-touch-active .np-woojin-card-photo{
    left:0 !important;
    bottom:0 !important;
    width:100% !important;
    height:100% !important;
    border-radius:22px !important;
    transform:translateX(0) translateZ(0) !important;
    opacity:1 !important;
    visibility:visible !important;
    box-shadow:none !important;
}

.np-woojin-card:hover .np-woojin-card-photo img,
.np-woojin-card.is-touch-active .np-woojin-card-photo img{
    transform:scale(1.08) translate3d(-.8%,-.8%,0) !important;
    filter:saturate(1.04) contrast(1.025) !important;
}

.np-woojin-card:hover .np-woojin-card-copy,
.np-woojin-card.is-touch-active .np-woojin-card-copy{
    transform:translateY(-3px) !important;
}

.np-woojin-card:hover .np-woojin-card-copy em,
.np-woojin-card.is-touch-active .np-woojin-card-copy em{
    color:#006ee8 !important;
    text-shadow:none !important;
}

.np-woojin-card:hover .np-woojin-card-copy h3,
.np-woojin-card.is-touch-active .np-woojin-card-copy h3{
    display:inline-block !important;
    color:#fff !important;
    background:#071fbf !important;
    padding:1px 6px 3px !important;
    text-shadow:none !important;
}

.np-woojin-card:hover .np-woojin-card-copy p,
.np-woojin-card.is-touch-active .np-woojin-card-copy p{
    color:#444 !important;
    text-shadow:none !important;
}

/* 이전 패치의 원형 숨김 규칙 최종 무력화 */
.np-woojin-card:hover .np-woojin-card-photo,
.np-woojin-card.is-touch-active .np-woojin-card-photo{
    opacity:1 !important;
    visibility:visible !important;
}

@media (max-width:720px){
    .np-woojin-card-photo{
        width:180px !important;
        height:180px !important;
        bottom:24px !important;
    }
    .np-woojin-card:hover .np-woojin-card-photo,
    .np-woojin-card.is-touch-active .np-woojin-card-photo{
        width:100% !important;
        height:100% !important;
        bottom:0 !important;
    }
}



/* =========================================================
   Woojin true circle-to-full morph speed adjust
   원형 → 전체 이미지 전환 시간을 더 천천히 조정
========================================================= */

.np-woojin-card-photo,
.np-woojin-card-photo img,
.np-woojin-card::before,
.np-woojin-card::after{
    transition-duration:1.15s !important;
    transition-timing-function:cubic-bezier(.16,1,.3,1) !important;
}

.np-woojin-card:hover .np-woojin-card-photo,
.np-woojin-card.is-touch-active .np-woojin-card-photo{
    transition-duration:1.18s !important;
    transition-timing-function:cubic-bezier(.16,1,.3,1) !important;
}

.np-woojin-card:hover::before,
.np-woojin-card.is-touch-active::before{
    transition-duration:1.22s !important;
    transition-timing-function:cubic-bezier(.16,1,.3,1) !important;
}

.np-woojin-card:hover::after,
.np-woojin-card.is-touch-active::after{
    transition-duration:.82s !important;
    transition-delay:.18s !important;
}

.np-woojin-card-copy,
.np-woojin-card-copy > *{
    transition-duration:.75s !important;
    transition-delay:.08s !important;
    transition-timing-function:cubic-bezier(.16,1,.3,1) !important;
}


/* 청소 서비스 종류 프리미엄 스타일 */
.np-woojin-service-head h2{
    position:relative;
    display:flex;
    align-items:center;
    gap:14px;
    justify-content:center;
    font-weight:900;
    letter-spacing:-2px;
}

.np-woojin-service-head h2 strong{
    color:#000;
    text-shadow:
        0 2px 0 rgba(255,255,255,.35),
        0 6px 14px rgba(0,0,0,.18);
}


/* =========================================================
   모바일 메인 히어로 최종 구조 v4
   - PC 문구 수정 시 모바일 문구도 같이 반영
   - 모바일 이미지는 글씨 없는 배경 이미지(hero-main-mobile-bg.jpg)만 사용
   - 아이콘/온라인 견적 신청은 실제 HTML/CSS 텍스트로 출력
========================================================= */
.np-mobile-hero-points{
    display:none;
}

@media (max-width:768px){
    body .np-main .np-hero.np-hero-hans{
        display:block !important;
        position:relative !important;
        width:100% !important;
        min-height:920px !important;
        height:920px !important;
        padding:0 !important;
        margin:0 !important;
        overflow:hidden !important;
        background:#f7fbff !important;
        isolation:isolate !important;
        opacity:1 !important;
        visibility:visible !important;
    }

    body .np-main .np-hero.np-hero-hans .np-hero-media{
        display:block !important;
        position:absolute !important;
        inset:0 !important;
        width:100% !important;
        height:100% !important;
        overflow:hidden !important;
        z-index:0 !important;
        opacity:1 !important;
        visibility:visible !important;
        background:#f7fbff !important;
    }

    body .np-main .np-hero.np-hero-hans .np-hero-media picture,
    body .np-main .np-hero.np-hero-hans .np-hero-media img{
        display:block !important;
        width:100% !important;
        height:100% !important;
        max-width:none !important;
        object-fit:cover !important;
        object-position:center top !important;
        opacity:1 !important;
        visibility:visible !important;
        transform:none !important;
        filter:none !important;
        animation:none !important;
    }

    body .np-main .np-hero.np-hero-hans .np-hero-media::after,
    body .np-main .np-hero.np-hero-hans::after,
    body .np-main .np-hero-overlay{
        display:none !important;
        opacity:0 !important;
        visibility:hidden !important;
    }

    body .np-main .np-hero-inner-hans{
        display:block !important;
        position:absolute !important;
        inset:0 !important;
        width:100% !important;
        height:100% !important;
        max-width:none !important;
        margin:0 !important;
        padding:0 !important;
        z-index:10 !important;
        pointer-events:none !important;
        opacity:1 !important;
        visibility:visible !important;
    }

    body .np-main .np-main-hero-text-edit{
        display:block !important;
        position:absolute !important;
        left:7.4% !important;
        right:7.4% !important;
        top:48px !important;
        width:auto !important;
        max-width:none !important;
        z-index:20 !important;
        opacity:1 !important;
        visibility:visible !important;
        transform:none !important;
        clip-path:none !important;
        filter:none !important;
        pointer-events:auto !important;
        text-align:left !important;
    }

    body .np-main .np-main-hero-text-edit *,
    body .np-main .np-main-hero-kicker{
        opacity:1 !important;
        visibility:visible !important;
        clip-path:none !important;
    }

    body .np-main .np-main-hero-kicker{
        display:block !important;
        margin:0 0 14px !important;
        color:#111 !important;
        font-size:18px !important;
        line-height:1.35 !important;
        font-weight:850 !important;
        letter-spacing:-.045em !important;
    }

    body .np-main .np-main-hero-text-edit h1{
        display:block !important;
        margin:0 !important;
        color:#073a73 !important;
        font-size:44px !important;
        line-height:1.14 !important;
        font-weight:950 !important;
        letter-spacing:-.09em !important;
        word-break:keep-all !important;
        text-shadow:none !important;
    }

    body .np-main .np-main-hero-text-edit p{
        display:block !important;
        margin:24px 0 0 !important;
        color:#26384a !important;
        font-size:21px !important;
        line-height:1.58 !important;
        font-weight:650 !important;
        letter-spacing:-.05em !important;
        word-break:keep-all !important;
    }

    body .np-main .np-mobile-hero-points{
        display:grid !important;
        position:absolute !important;
        left:7.4% !important;
        right:7.4% !important;
        bottom:142px !important;
        grid-template-columns:repeat(4,1fr) !important;
        gap:0 !important;
        z-index:22 !important;
        pointer-events:auto !important;
    }

    body .np-main .np-mobile-hero-point{
        position:relative !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        gap:9px !important;
        text-align:center !important;
        color:#0b3d78 !important;
        min-width:0 !important;
    }

    body .np-main .np-mobile-hero-point:not(:last-child)::after{
        content:"" !important;
        position:absolute !important;
        right:0 !important;
        top:17px !important;
        bottom:17px !important;
        width:1px !important;
        background:rgba(8,54,105,.18) !important;
    }

    body .np-main .np-mobile-hero-point span{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:54px !important;
        height:54px !important;
        border:2px solid rgba(8,54,105,.85) !important;
        border-radius:50% !important;
        font-size:23px !important;
        line-height:1 !important;
        font-weight:900 !important;
        background:rgba(255,255,255,.62) !important;
    }

    body .np-main .np-mobile-hero-point b{
        display:block !important;
        font-size:16px !important;
        line-height:1.25 !important;
        font-weight:900 !important;
        letter-spacing:-.06em !important;
        white-space:nowrap !important;
    }

    body .np-main .np-main-hero-single-estimate{
        display:flex !important;
        position:absolute !important;
        left:7.4% !important;
        right:7.4% !important;
        bottom:42px !important;
        width:auto !important;
        height:72px !important;
        z-index:30 !important;
        justify-content:center !important;
        align-items:center !important;
        pointer-events:auto !important;
        opacity:1 !important;
        visibility:visible !important;
    }

    body .np-main .np-main-estimate-btn,
    body .np-main .np-main-estimate-btn:link,
    body .np-main .np-main-estimate-btn:visited{
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:100% !important;
        height:100% !important;
        min-width:0 !important;
        padding:0 24px !important;
        border-radius:999px !important;
        background:linear-gradient(180deg,#1f82df 0%,#0864bf 100%) !important;
        color:#fff !important;
        font-size:29px !important;
        font-weight:950 !important;
        letter-spacing:-.07em !important;
        text-indent:0 !important;
        text-decoration:none !important;
        border:1px solid rgba(2,80,164,.22) !important;
        box-shadow:0 18px 40px rgba(8,100,191,.24) !important;
    }

    body .np-main .np-main-estimate-btn::before{
        content:none !important;
        display:none !important;
    }

    body .np-main .np-hero-brand-actions{
        display:none !important;
    }
}

@media (max-width:480px){
    body .np-main .np-hero.np-hero-hans{
        min-height:820px !important;
        height:820px !important;
    }

    body .np-main .np-main-hero-text-edit{
        top:36px !important;
        left:6.8% !important;
        right:6.8% !important;
    }

    body .np-main .np-main-hero-kicker{
        font-size:14px !important;
        margin-bottom:10px !important;
    }

    body .np-main .np-main-hero-text-edit h1{
        font-size:31px !important;
        line-height:1.16 !important;
    }

    body .np-main .np-main-hero-text-edit p{
        margin-top:17px !important;
        font-size:15px !important;
        line-height:1.55 !important;
    }

    body .np-main .np-mobile-hero-points{
        left:6.8% !important;
        right:6.8% !important;
        bottom:118px !important;
    }

    body .np-main .np-mobile-hero-point{
        gap:6px !important;
    }

    body .np-main .np-mobile-hero-point span{
        width:42px !important;
        height:42px !important;
        font-size:18px !important;
        border-width:1.5px !important;
    }

    body .np-main .np-mobile-hero-point b{
        font-size:12px !important;
    }

    body .np-main .np-main-hero-single-estimate{
        left:6.8% !important;
        right:6.8% !important;
        bottom:34px !important;
        height:62px !important;
    }

    body .np-main .np-main-estimate-btn,
    body .np-main .np-main-estimate-btn:link,
    body .np-main .np-main-estimate-btn:visited{
        font-size:22px !important;
    }
}


/* =========================================================
   모바일 메인 히어로 이미지 왼쪽 잘림 보정 v5
   - 이미지 왼쪽 부분만 더 보이도록 조정
   - 텍스트/아이콘/버튼/PC 영역은 수정하지 않음
========================================================= */
@media (max-width:768px){
    body .np-main .np-hero.np-hero-hans .np-hero-media picture,
    body .np-main .np-hero.np-hero-hans .np-hero-media img{
        object-position:left top !important;
    }
}


/* main notice + realtime estimate widget v2 - clean premium dashboard */
.np-main .np-main-live-board{padding:72px 20px 82px;background:#fff;}
.np-main .np-main-live-board-inner{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.28fr);gap:26px;align-items:stretch;}
.np-main .np-main-notice-box,.np-main .np-main-estimate-live-box{background:#fff;border:1px solid rgba(11,64,122,.12);border-radius:10px;box-shadow:0 12px 30px rgba(20,55,90,.08);overflow:hidden;min-height:560px;}
.np-main .np-main-notice-box{padding:26px 28px 30px;}
.np-main .np-main-estimate-live-box{padding:26px 28px 0;}
.np-main .np-live-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px;padding-bottom:18px;border-bottom:3px solid #126fd2;}
.np-main .np-live-title-wrap{display:flex;align-items:center;gap:18px;min-width:0;}
.np-main .np-live-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 54px;width:54px;height:54px;border-radius:50%;background:linear-gradient(145deg,#0a79ed 0%,#005bc6 100%);box-shadow:0 10px 22px rgba(0,97,210,.22);color:#fff;font-style:normal;font-size:24px;line-height:1;}
.np-main .np-live-head h2{margin:0;color:#061b3a;font-size:30px;font-weight:900;letter-spacing:-.04em;line-height:1.15;}
.np-main .np-live-head a{margin-left:auto;color:#4f6379;font-size:16px;font-weight:700;text-decoration:none;transition:.22s ease;white-space:nowrap;}
.np-main .np-live-head a:hover{color:#0067d8;transform:translateX(3px);}
.np-main .np-live-status{margin-left:auto;display:inline-flex;align-items:center;gap:8px;color:#607085;font-size:15px;font-weight:700;white-space:nowrap;}
.np-main .np-live-status em{display:block;width:10px;height:10px;border-radius:50%;background:#19c267;box-shadow:0 0 0 5px rgba(25,194,103,.12);font-style:normal;}
.np-main .np-notice-list{display:flex;flex-direction:column;}
.np-main .np-notice-list a{display:flex;align-items:center;gap:14px;min-height:58px;padding:9px 2px;border-bottom:1px solid rgba(10,40,76,.11);text-decoration:none;color:#061b3a;transition:.18s ease;}
.np-main .np-notice-list a b{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;border-radius:4px;background:#0870df;color:#fff;font-size:12px;font-weight:900;line-height:1;font-family:Arial,sans-serif;}
.np-main .np-notice-list a strong{min-width:0;flex:1;font-size:16px;font-weight:800;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.np-main .np-notice-list a em{font-style:normal;font-size:14px;color:#607085;white-space:nowrap;}
.np-main .np-notice-list a:hover{background:linear-gradient(90deg,rgba(0,103,216,.045),rgba(255,255,255,0));padding-left:8px;}
.np-main .np-notice-list a:hover strong{color:#005fc9;}
.np-main .np-notice-empty{margin-top:12px;padding:76px 0;text-align:center;color:#8292a6;border:1px dashed rgba(15,58,102,.18);border-radius:8px;background:#fbfdff;}
.np-main .np-estimate-live-table-head,.np-main .np-estimate-live-row{display:grid;grid-template-columns:1fr .78fr 1fr 1fr;gap:10px;align-items:center;text-align:center;}
.np-main .np-estimate-live-table-head{height:52px;padding:0 18px;border-top:0;border-bottom:2px solid #1b7cdc;background:linear-gradient(180deg,#f7fbff 0%,#eef7ff 100%);color:#0070df;font-size:16px;font-weight:900;}
.np-main .np-estimate-live-viewport{height:390px;overflow:hidden;position:relative;background:#fff;border-left:0;border-right:0;}
.np-main .np-estimate-live-viewport:before,.np-main .np-estimate-live-viewport:after{content:"";position:absolute;left:0;right:0;height:26px;z-index:2;pointer-events:none;}
.np-main .np-estimate-live-viewport:before{top:0;background:linear-gradient(180deg,#fff,rgba(255,255,255,0));}
.np-main .np-estimate-live-viewport:after{bottom:0;background:linear-gradient(0deg,#fff,rgba(255,255,255,0));}
.np-main .np-estimate-live-track{animation:npEstimateLiveRoll 38s linear infinite;will-change:transform;}
.np-main .np-estimate-live-viewport:hover .np-estimate-live-track{animation-play-state:paused;}
.np-main .np-estimate-live-row{height:39px;padding:0 18px;border-bottom:1px solid rgba(8,36,72,.12);font-size:15px;color:#111820;}
.np-main .np-estimate-live-row:nth-child(even){background:#fafafa;}
.np-main .np-estimate-live-row strong{color:#111820;font-weight:800;}
.np-main .np-estimate-live-row span:nth-child(3){font-weight:800;color:#222;}
.np-main .np-estimate-live-note{height:44px;margin:0 -28px;padding:12px 20px 0;text-align:center;border-top:1px solid rgba(8,36,72,.10);background:#fbfbfb;color:#4f5d6b;font-size:14px;font-weight:700;}
.np-main .np-main-live-caption{max-width:1480px;margin:18px auto 0;text-align:center;color:#555;font-size:14px;}
@keyframes npEstimateLiveRoll{0%{transform:translateY(0);}100%{transform:translateY(-50%);}}
@media (max-width:900px){.np-main .np-main-live-board{padding:44px 14px 54px}.np-main .np-main-live-board-inner{grid-template-columns:1fr;gap:18px}.np-main .np-main-notice-box,.np-main .np-main-estimate-live-box{border-radius:10px;min-height:auto;padding:20px 16px}.np-main .np-live-head{margin-bottom:16px;padding-bottom:15px}.np-main .np-live-icon{flex-basis:44px;width:44px;height:44px;font-size:20px}.np-main .np-live-head h2{font-size:24px}.np-main .np-live-status{font-size:12px}.np-main .np-notice-list a strong{font-size:14px}.np-main .np-notice-list a em{font-size:12px}.np-main .np-estimate-live-table-head,.np-main .np-estimate-live-row{grid-template-columns:1fr .65fr .9fr 1fr;font-size:12px;gap:5px}.np-main .np-estimate-live-table-head{height:44px;padding:0 8px}.np-main .np-estimate-live-row{height:37px;padding:0 8px}.np-main .np-estimate-live-viewport{height:370px}.np-main .np-estimate-live-note{margin:0 -16px}.np-main .np-main-live-caption{font-size:12px}}


/* notice/estimate widget micro premium refine - hover glow, badge, live dot, mobile speed */
.np-main .np-notice-list a{
    position:relative;
    border-radius:8px;
}
.np-main .np-notice-list a b{
    background:linear-gradient(135deg,#0b72d9 0%,#1f8cff 50%,#d7aa45 100%) !important;
    box-shadow:0 5px 12px rgba(11,114,217,.18), inset 0 1px 0 rgba(255,255,255,.45);
    letter-spacing:-.02em;
}
.np-main .np-notice-list a:hover{
    background:linear-gradient(90deg,rgba(10,118,220,.075),rgba(215,170,69,.035) 58%,rgba(255,255,255,0)) !important;
    box-shadow:0 8px 20px rgba(18,88,155,.06);
}
.np-main .np-notice-list a:hover b{
    transform:translateY(-1px);
}
.np-main .np-live-status em{
    position:relative;
    box-shadow:0 0 0 0 rgba(40,192,120,.5);
    animation:npLiveDotPulse 1.55s ease-in-out infinite;
}
.np-main .np-live-status em:after{
    content:"";
    position:absolute;
    inset:-5px;
    border-radius:50%;
    border:1px solid rgba(40,192,120,.24);
    animation:npLiveDotRing 1.55s ease-in-out infinite;
}
.np-main .np-estimate-live-table-head{
    border-bottom-color:#0f72d7 !important;
    box-shadow:inset 0 -1px 0 rgba(215,170,69,.28);
}
.np-main .np-estimate-live-table-head span:first-child,
.np-main .np-estimate-live-table-head span:last-child{
    color:#0864bf;
}
.np-main .np-estimate-live-track{
    animation-duration:30s !important;
}
.np-main .np-estimate-live-viewport:hover .np-estimate-live-track{
    animation-play-state:running !important;
}
.np-main .np-estimate-live-row{
    position:relative;
    transition:background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.np-main .np-estimate-live-row:hover{
    background:linear-gradient(90deg,rgba(9,112,214,.07),rgba(215,170,69,.045),rgba(255,255,255,0)) !important;
    box-shadow:inset 3px 0 0 rgba(215,170,69,.55), 0 8px 18px rgba(22,80,135,.055);
    transform:translateX(2px);
}
.np-main .np-estimate-date-cell{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1px;
    line-height:1.12;
}
.np-main .np-estimate-date-cell small{
    display:block;
    font-size:11px;
    font-weight:800;
    color:#b58a28;
    letter-spacing:-.03em;
}
.np-main .np-estimate-live-note{
    color:#415163 !important;
}
.np-main .np-estimate-live-note::first-letter{
    color:#b58a28;
}
@keyframes npLiveDotPulse{
    0%,100%{box-shadow:0 0 0 0 rgba(40,192,120,.42);}
    50%{box-shadow:0 0 0 6px rgba(40,192,120,0);}
}
@keyframes npLiveDotRing{
    0%{transform:scale(.78);opacity:.7;}
    100%{transform:scale(1.3);opacity:0;}
}
@media (max-width:900px){
    .np-main .np-estimate-live-track{animation-duration:24s !important;}
    .np-main .np-estimate-date-cell small{font-size:10px;}
    .np-main .np-notice-list a:hover,
    .np-main .np-estimate-live-row:hover{transform:none;}
}


/* final requested premium micro effects only - no reception time text */
.np-main .np-notice-list a,
.np-main .np-estimate-live-row{
    transition:background .18s ease, box-shadow .18s ease, transform .18s ease, color .18s ease;
}
.np-main .np-notice-list a b{
    border-radius:6px !important;
    background:linear-gradient(135deg,#0b72d9 0%,#1f8cff 58%,#d9b45f 100%) !important;
    box-shadow:0 5px 12px rgba(11,114,217,.18), inset 0 1px 0 rgba(255,255,255,.45) !important;
    letter-spacing:-.02em;
}
.np-main .np-notice-list a:hover{
    background:linear-gradient(90deg,rgba(10,118,220,.075),rgba(217,180,95,.035) 58%,rgba(255,255,255,0)) !important;
    box-shadow:0 8px 20px rgba(18,88,155,.06) !important;
}
.np-main .np-notice-list a:hover b{transform:translateY(-1px);}
.np-main .np-live-status em{
    position:relative;
    animation:npLiveDotPulse 1.55s ease-in-out infinite;
}
.np-main .np-live-status em:after{
    content:"";
    position:absolute;
    inset:-5px;
    border-radius:50%;
    border:1px solid rgba(40,192,120,.24);
    animation:npLiveDotRing 1.55s ease-in-out infinite;
}
.np-main .np-estimate-live-table-head{
    border-bottom-color:#0f72d7 !important;
    box-shadow:inset 0 -1px 0 rgba(217,180,95,.28) !important;
}
.np-main .np-estimate-live-table-head span:first-child,
.np-main .np-estimate-live-table-head span:last-child{color:#0864bf;}
.np-main .np-estimate-live-track{animation-duration:30s !important;}
.np-main .np-estimate-live-viewport:hover .np-estimate-live-track{animation-play-state:running !important;}
.np-main .np-estimate-live-row:hover{
    background:linear-gradient(90deg,rgba(9,112,214,.07),rgba(217,180,95,.045),rgba(255,255,255,0)) !important;
    box-shadow:inset 3px 0 0 rgba(217,180,95,.55), 0 8px 18px rgba(22,80,135,.055) !important;
    transform:translateX(2px);
}
.np-main .np-estimate-date-cell small{display:none !important;}
.np-main .np-estimate-live-note::first-letter{color:#b58a28;}
@keyframes npLiveDotPulse{
    0%,100%{box-shadow:0 0 0 0 rgba(40,192,120,.42);}
    50%{box-shadow:0 0 0 6px rgba(40,192,120,0);}
}
@keyframes npLiveDotRing{
    0%{transform:scale(.78);opacity:.7;}
    100%{transform:scale(1.3);opacity:0;}
}
@media (max-width:900px){
    .np-main .np-estimate-live-track{animation-duration:24s !important;}
    .np-main .np-notice-list a:hover,
    .np-main .np-estimate-live-row:hover{transform:none;}
}


/* notice/estimate separated live status refine - remove bottom note, premium green pulse */
.np-main .np-main-live-board-inner{
    display:grid;
    grid-template-columns:minmax(0,.86fr) minmax(0,1.28fr);
    gap:26px;
    align-items:stretch;
}
.np-main .np-main-notice-box,
.np-main .np-main-estimate-live-box{
    position:relative;
    overflow:hidden;
}
.np-main .np-estimate-live-note{
    display:none !important;
}
.np-main .np-live-status{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:7px 12px;
    border:1px solid rgba(22,176,92,.16);
    border-radius:999px;
    background:linear-gradient(180deg,rgba(243,255,249,.95),rgba(235,250,244,.82));
    color:#40546a;
    font-size:14px;
    font-weight:800;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 18px rgba(20,80,50,.06);
}
.np-main .np-live-status em{
    position:relative;
    flex:0 0 12px;
    width:12px;
    height:12px;
    border-radius:50%;
    background:radial-gradient(circle at 35% 35%,#dfffe8 0 18%,#23d06f 42%,#0e9b47 100%);
    box-shadow:0 0 0 5px rgba(31,204,111,.12),0 0 18px rgba(26,208,103,.52);
    font-style:normal;
}
.np-main .np-live-status em:before{
    content:"";
    position:absolute;
    inset:-7px;
    border-radius:50%;
    border:1px solid rgba(31,204,111,.45);
    animation:npLiveStatusPulse 1.65s ease-out infinite;
}
.np-main .np-live-status em:after{
    content:"";
    position:absolute;
    inset:3px;
    border-radius:50%;
    background:rgba(255,255,255,.75);
    filter:blur(.3px);
    opacity:.5;
}
@keyframes npLiveStatusPulse{
    0%{transform:scale(.7);opacity:.82;}
    70%{transform:scale(1.75);opacity:0;}
    100%{transform:scale(1.75);opacity:0;}
}
@media (max-width:900px){
    .np-main .np-main-live-board-inner{grid-template-columns:1fr;gap:18px;}
    .np-main .np-live-status{font-size:12px;padding:6px 10px;}
}

/* estimate live N icon - final near date only */
.np-main .np-estimate-live-row,
.np-main .np-estimate-live-row > span,
.np-main .np-estimate-date-cell{
    overflow:visible !important;
}

.np-main .np-estimate-live-row > .np-estimate-date-cell{
    justify-self:center !important;
    align-self:center !important;
}

.np-main .np-estimate-date-cell{
    display:inline-block !important;
    position:relative !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:auto !important;
    padding:0 !important;
    margin:0 !important;
    white-space:nowrap !important;
    line-height:1 !important;
    text-align:center !important;
    vertical-align:middle !important;
}

.np-main .np-estimate-date-cell .np-date-text{
    display:inline-block !important;
    position:relative !important;
    z-index:1 !important;
    white-space:nowrap !important;
    line-height:1 !important;
    vertical-align:middle !important;
}

.np-main .np-estimate-date-cell .np-new-text-icon{
    position:absolute !important;
    right:100% !important;
    left:auto !important;
    top:50% !important;
    transform:translateY(-42%) !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:14px !important;
    min-width:14px !important;
    max-width:14px !important;
    height:14px !important;
    min-height:14px !important;
    max-height:14px !important;
    margin:0 6px 0 0 !important;
    padding:0 !important;
    border-radius:2px !important;
    background:#2b7cff !important;
    color:#fff !important;
    font-style:normal !important;
    font-size:9px !important;
    font-weight:700 !important;
    line-height:14px !important;
    font-family:Arial,sans-serif !important;
    letter-spacing:-.02em !important;
    text-transform:uppercase !important;
    box-shadow:none !important;
    z-index:2 !important;
}

@media (max-width:900px){
    .np-main .np-estimate-live-row > .np-estimate-date-cell{
        justify-self:center !important;
    }
    .np-main .np-estimate-date-cell .np-new-text-icon{
        width:13px !important;
        min-width:13px !important;
        max-width:13px !important;
        height:13px !important;
        min-height:13px !important;
        max-height:13px !important;
        margin-right:5px !important;
        font-size:8px !important;
        line-height:13px !important;
    }
}


/* =========================================================
   MOBILE LOGO SLIGHT REDUCE FIX
   - 모바일 로고 적정 크기 유지
   ========================================================= */
@media screen and (max-width:768px){

    .np-header .np-logo img,
    .np-header .np-logo-remaster img,
    .np-logo-remaster picture img{
        height:58px !important;
        max-height:58px !important;
        width:auto !important;
        max-width:none !important;
    }

    .np-header.is-scrolled .np-logo img,
    .np-header.is-scrolled .np-logo-remaster img{
        height:50px !important;
        max-height:50px !important;
    }

    .np-header-inner{
        min-height:74px !important;
    }
}

@media screen and (max-width:480px){

    .np-header .np-logo img,
    .np-header .np-logo-remaster img,
    .np-logo-remaster picture img{
        height:54px !important;
        max-height:54px !important;
    }

    .np-header.is-scrolled .np-logo img,
    .np-header.is-scrolled .np-logo-remaster img{
        height:46px !important;
        max-height:46px !important;
    }
}


/* =========================================================
   MOBILE PREMIUM UI PATCH
   ========================================================= */
@media screen and (max-width:768px){

    .np-header{
        transition:all .28s ease !important;
        backdrop-filter:blur(10px) !important;
        background:rgba(255,255,255,.92) !important;
    }

    .np-header.is-scrolled{
        box-shadow:0 10px 30px rgba(15,52,82,.08) !important;
    }

    .np-header.is-scrolled .np-header-inner{
        min-height:68px !important;
        transition:all .25s ease !important;
    }

    .np-hero h1,
    .np-hero-title,
    .np-main-hero h1{
        line-height:1.08 !important;
        letter-spacing:-0.045em !important;
        max-width:92% !important;
    }

    .np-hero img,
    .np-main-hero img,
    .np-hero-visual img{
        transform:scale(1.035) !important;
        transition:transform .7s ease !important;
    }

    .np-mobile-fixed,
    .mobile-fixed-btns,
    .fix-menu,
    .mobile-bottom-fixed{
        backdrop-filter:blur(14px) !important;
        background:rgba(255,255,255,.78) !important;
        box-shadow:0 -8px 24px rgba(0,0,0,.08) !important;
    }

    .np-mobile-fixed a,
    .mobile-fixed-btns a,
    .fix-menu a,
    .mobile-bottom-fixed a{
        transition:all .18s ease !important;
    }

    .np-mobile-fixed a:active,
    .mobile-fixed-btns a:active,
    .fix-menu a:active,
    .mobile-bottom-fixed a:active{
        transform:scale(.97) !important;
    }

    .mobile-menu,
    .np-mobile-menu,
    .side-menu,
    .offcanvas{
        backdrop-filter:blur(14px) !important;
        background:rgba(255,255,255,.88) !important;
    }

    .np-card,
    .service-card,
    .nps-intro-card,
    .photos-item,
    .gallery-item{
        transition:transform .18s ease, box-shadow .18s ease !important;
    }

    .np-card:active,
    .service-card:active,
    .nps-intro-card:active,
    .photos-item:active,
    .gallery-item:active{
        transform:scale(.985) !important;
    }
}


/* =========================================================
   MOBILE SERVICE TITLE FIX
   - "늘푸른세상 청소 서비스 종류" 모바일 줄깨짐 수정
   - PC 영향 없음
   ========================================================= */
@media screen and (max-width:720px){

    .np-woojin-service{
        padding-top:56px !important;
    }

    .np-woojin-service-head{
        margin-bottom:28px !important;
        padding:0 18px !important;
        text-align:center !important;
    }

    .np-woojin-service-head h2{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        margin:0 auto !important;
        font-size:33px !important;
        line-height:1.18 !important;
        letter-spacing:-0.07em !important;
        text-align:center !important;
        word-break:keep-all !important;
        white-space:normal !important;
    }

    .np-woojin-service-head h2 span{
        display:block !important;
        margin-top:4px !important;
        padding:0 !important;
        font-size:33px !important;
        line-height:1.12 !important;
        letter-spacing:-0.075em !important;
        white-space:nowrap !important;
        word-break:keep-all !important;
        text-align:center !important;
    }
}

@media screen and (max-width:420px){

    .np-woojin-service-head h2{
        font-size:30px !important;
        line-height:1.16 !important;
        letter-spacing:-0.075em !important;
    }

    .np-woojin-service-head h2 span{
        font-size:30px !important;
        line-height:1.12 !important;
        letter-spacing:-0.08em !important;
    }
}

@media screen and (max-width:360px){

    .np-woojin-service-head h2,
    .np-woojin-service-head h2 span{
        font-size:28px !important;
    }
}


/* =========================================================
   QUICK MENU TEXT ALIGN FIX
   - 전화하기 / 견적신청 / 카톡문의 텍스트 위치 정렬
   - 후기보기 위치 기준으로 내부 텍스트만 보정
   - 퀵메뉴 외 다른 영역 영향 없음
   ========================================================= */
.np-side-tools-inside .np-inside-icon{
    position:relative !important;
    overflow:hidden !important;
}

/* 전화하기 / 견적신청 아이콘 위치 고정 */
.np-side-tools-inside .np-quick-item.is-call .np-inside-icon svg,
.np-side-tools-inside .np-quick-item.is-estimate .np-inside-icon svg{
    position:absolute !important;
    left:50% !important;
    top:18px !important;
    transform:translateX(-50%) !important;
    width:31px !important;
    height:31px !important;
    margin:0 !important;
}

/* 전화하기 / 견적신청 텍스트를 후기보기처럼 하단 중앙 정렬 */
.np-side-tools-inside .np-quick-item.is-call .np-inside-label,
.np-side-tools-inside .np-quick-item.is-estimate .np-inside-label{
    position:absolute !important;
    left:50% !important;
    bottom:13px !important;
    transform:translateX(-50%) !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    text-align:center !important;
    line-height:1 !important;
}

/* 카톡문의 TALK / 텍스트 위치 보정 */
.np-side-tools-inside .np-quick-item.is-kakao .np-talk-bubble{
    position:absolute !important;
    left:50% !important;
    top:17px !important;
    transform:translateX(-50%) !important;
    margin:0 !important;
}

.np-side-tools-inside .np-quick-item.is-kakao .np-inside-label{
    position:absolute !important;
    left:50% !important;
    bottom:13px !important;
    transform:translateX(-50%) !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    text-align:center !important;
    line-height:1 !important;
}

/* 후기보기는 현재 위치가 기준이므로 기존 유지 */
.np-side-tools-inside .np-quick-item.is-blog .np-inside-label{
    bottom:auto !important;
}

/* equipment rolling section - replaces main location map */
.np-equipment-section{position:relative;background:radial-gradient(circle at top,#eef6ff 0%,#f7fbff 42%,#ffffff 100%);overflow:hidden;padding-top:10px}
.np-equipment-section:before{content:'';position:absolute;top:-180px;left:50%;transform:translateX(-50%);width:760px;height:760px;border-radius:50%;background:radial-gradient(circle,rgba(45,123,211,.10) 0%,rgba(45,123,211,0) 72%);pointer-events:none}
.np-equipment-card{position:relative;overflow:hidden;border:1px solid rgba(18,76,135,.10);border-radius:34px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(246,250,255,.92));box-shadow:0 26px 70px rgba(12,43,74,.10),0 8px 24px rgba(15,58,104,.06);padding:42px 30px 38px;backdrop-filter:blur(18px)}
.np-equipment-card:before{content:'';position:absolute;inset:0 0 auto 0;height:180px;background:linear-gradient(180deg,rgba(40,122,204,.14),rgba(255,255,255,0));pointer-events:none}
.np-equipment-card:after{content:'';position:absolute;right:-120px;bottom:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(73,151,232,.14),rgba(73,151,232,0) 72%);pointer-events:none}
.np-equipment-head{position:relative;z-index:2;text-align:center;max-width:900px;margin:0 auto 34px;padding:0 28px}
.np-equipment-head h2{margin:14px 0 14px;font-size:clamp(34px,3.4vw,52px);line-height:1.18;font-weight:900;letter-spacing:-.05em;color:#0f2f52;text-shadow:0 4px 18px rgba(17,73,130,.08)}
.np-equipment-head p{margin:0;color:#5e7185;font-size:17px;line-height:1.9;word-break:keep-all}
.np-equipment-roller{position:relative;z-index:2;overflow:hidden;padding:10px 0 14px;mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%)}
.np-equipment-track{display:flex;gap:26px;width:max-content;animation:npEquipmentRoll 78s linear infinite;will-change:transform;padding:0 14px}
.np-equipment-item{position:relative;flex:0 0 240px;border:1px solid rgba(42,108,173,.10);border-radius:28px;background:linear-gradient(180deg,#ffffff 0%,#f3f8fd 100%);box-shadow:0 16px 34px rgba(16,49,83,.08);overflow:hidden;transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease,border-color .45s ease}
.np-equipment-item:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(66,139,219,.06) 100%);opacity:0;transition:opacity .4s ease}
.np-equipment-item:hover{transform:translateY(-10px) scale(1.02);border-color:rgba(35,115,194,.24);box-shadow:0 24px 52px rgba(16,49,83,.18)}
.np-equipment-item:hover:before{opacity:1}
.np-equipment-thumb{position:relative;height:170px;overflow:hidden;background:linear-gradient(180deg,#edf5fc,#e8f1fa)}
.np-equipment-thumb:after{content:'';position:absolute;inset:auto 0 0 0;height:60px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.88))}
.np-equipment-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1),filter .4s ease;filter:saturate(1) contrast(1.02)}
.np-equipment-item:hover .np-equipment-thumb img{transform:scale(1.14);filter:saturate(1.08) contrast(1.05)}
.np-equipment-info{position:relative;padding:18px 18px 22px;text-align:center}
.np-equipment-info strong{display:block;color:#11365b;font-size:19px;font-weight:900;letter-spacing:-.04em;line-height:1.3}
.np-equipment-info span{display:block;margin-top:8px;color:#6c7d8d;font-size:13px;font-weight:700;line-height:1.55;word-break:keep-all}
@keyframes npEquipmentRoll{0%{transform:translateX(0)}100%{transform:translateX(calc(-50% - 9px))}}
@media (max-width:991px){.np-equipment-card{padding:34px 0 30px;border-radius:28px}.np-equipment-item{flex-basis:210px}.np-equipment-thumb{height:145px}.np-equipment-track{animation-duration:88s}}
@media (max-width:640px){.np-equipment-card{border-radius:24px;padding:26px 0 28px}.np-equipment-head{padding:0 18px;margin-bottom:22px}.np-equipment-head h2{font-size:34px}.np-equipment-head p{font-size:14px;line-height:1.72}.np-equipment-roller{mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%)}.np-equipment-track{gap:16px;animation-duration:92s}.np-equipment-item{flex-basis:178px;border-radius:20px}.np-equipment-thumb{height:122px}.np-equipment-info{padding:14px 12px 16px}.np-equipment-info strong{font-size:16px}.np-equipment-info span{font-size:12px}}


/* ===== EQUIPMENT STATUS WIDTH EXPAND PATCH ===== */
.np-container,
.equipment-status-wrap,
.equipment-wrap,
.equipment-section,
.nps-equipment-wrap{
    width:min(1680px, calc(100% - 40px)) !important;
    max-width:1680px !important;
}

.np-equipment-card,
.equipment-status-card{
    padding-left:32px !important;
    padding-right:32px !important;
}

.np-equipment-track,
.equipment-track{
    gap:26px !important;
    padding-left:18px !important;
    padding-right:18px !important;
}

.np-equipment-roller,
.equipment-roller{
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 2%,#000 98%,transparent 100%) !important;
    mask-image:linear-gradient(90deg,transparent 0%,#000 2%,#000 98%,transparent 100%) !important;
}


/* ===== EQUIPMENT SECTION GAP REDUCE PATCH ===== */
.np-equipment-section,
.equipment-status-wrap,
.nps-equipment-wrap{
    margin-top:40px !important;
    padding-top:40px !important;
}

@media (max-width: 768px){
    .np-equipment-section,
    .equipment-status-wrap,
    .nps-equipment-wrap{
        margin-top:24px !important;
        padding-top:24px !important;
    }
}


/* ===== NOTICE / ESTIMATE BOTTOM OUTER GAP FINAL FIX ===== */
.notice-wrap,
.notice-section,
.live-estimate-wrap,
.estimate-wrap,
.board-wrap,
.board-section{
    margin-bottom:18px !important;
    padding-bottom:0 !important;
}

@media (max-width:768px){
    .notice-wrap,
    .notice-section,
    .live-estimate-wrap,
    .estimate-wrap,
    .board-wrap,
    .board-section{
        margin-bottom:14px !important;
    }
}


/* ===== REAL FIX: NOTICE / ESTIMATE SECTION OUTER BOTTOM GAP ===== */
/* 공지사항/실시간 견적현황 위젯 아래쪽 외부 여백만 축소 */
.np-main .np-main-live-board{
    padding-bottom:22px !important;
}

/* 바로 아래 장비보유현황 섹션과의 간격도 자연스럽게 축소 */
.np-equipment-section,
.equipment-status-wrap,
.nps-equipment-wrap{
    margin-top:22px !important;
    padding-top:22px !important;
}

@media (max-width:768px){
    .np-main .np-main-live-board{
        padding-bottom:18px !important;
    }

    .np-equipment-section,
    .equipment-status-wrap,
    .nps-equipment-wrap{
        margin-top:18px !important;
        padding-top:18px !important;
    }
}


/* ===== FINAL REAL FIX : 장비보유현황 외곽 원형 프레임/테두리 완전 제거 ===== */
/* 캡처에서 보이는 상단 둥근 외곽 박스 라인을 만드는 요소 제거 */
.np-equipment-card,
.equipment-status-card{
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    outline:0 !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
}

.np-equipment-card::before,
.np-equipment-card::after,
.equipment-status-card::before,
.equipment-status-card::after{
    display:none !important;
    content:none !important;
}

/* 섹션 자체에 남는 둥근 외곽/라인 방지 */
.np-equipment-section,
.equipment-status-wrap,
.equipment-wrap,
.equipment-section,
.nps-equipment-wrap{
    border:0 !important;
    border-radius:0 !important;
    outline:0 !important;
    box-shadow:none !important;
}

/* 장비 개별 카드 디자인은 유지하되 외곽 프레임만 제거 */


/* ===== EQUIPMENT IMAGE HOVER POPUP ONLY ===== */
/* 장비보유현황 이미지에 마우스를 올렸을 때만 확대 팝업 출력 */
.np-equipment-thumb{
    cursor:zoom-in;
}

.np-equipment-hover-popup{
    position:fixed;
    left:50%;
    top:50%;
    z-index:99999;
    width:min(520px, calc(100vw - 42px));
    max-height:calc(100vh - 72px);
    padding:18px 18px 16px;
    border-radius:26px;
    background:rgba(255,255,255,.96);
    box-shadow:0 30px 86px rgba(9,36,68,.22), 0 10px 28px rgba(9,36,68,.10);
    transform:translate(-50%, -46%) scale(.9);
    opacity:0;
    visibility:hidden;
    pointer-events:none !important;
    transition:opacity .32s ease, transform .42s cubic-bezier(.16,1,.3,1), visibility .32s ease;
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}

.np-equipment-hover-popup.is-active{
    opacity:1;
    visibility:visible;
    transform:translate(-50%, -50%) scale(1);
}

.np-equipment-hover-popup:before{
    content:'';
    position:absolute;
    inset:-18px;
    z-index:-1;
    border-radius:34px;
    background:radial-gradient(circle at 50% 38%, rgba(55,135,215,.18), rgba(255,255,255,0) 70%);
    filter:blur(12px);
}

.np-equipment-hover-popup img{
    width:100%;
    max-height:420px;
    object-fit:contain;
    border-radius:20px;
    background:#fff;
    display:block;
    opacity:.96;
    transform:scale(.985);
    transition:transform .42s cubic-bezier(.16,1,.3,1), opacity .32s ease;
}

.np-equipment-hover-popup.is-active img{
    opacity:1;
    transform:scale(1);
}

.np-equipment-hover-popup strong{
    display:block;
    margin-top:12px;
    text-align:center;
    color:#11365b;
    font-size:20px;
    font-weight:900;
    line-height:1.35;
    letter-spacing:-.04em;
}

@media (max-width:768px){
    .np-equipment-hover-popup{
        display:none !important;
    }
}


/* ===== EQUIPMENT ROLLING BOTTOM GAP REDUCE ===== */
.np-equipment-section{
    padding-bottom:8px !important;
    margin-bottom:0 !important;
}

.np-equipment-card{
    padding-bottom:6px !important;
    margin-bottom:0 !important;
}

.np-equipment-roller{
    padding-bottom:0 !important;
    margin-bottom:0 !important;
}

.np-equipment-track{
    padding-bottom:0 !important;
    margin-bottom:0 !important;
}

@media (max-width:768px){
    .np-equipment-section{
        padding-bottom:4px !important;
    }

    .np-equipment-card{
        padding-bottom:4px !important;
    }
}


/* ===== EQUIPMENT STATUS TEXT REMOVE + TOP GAP REDUCE ===== */

.np-equipment-head .np-section-kicker{
    display:none !important;
}

.np-equipment-section{
    padding-top:0 !important;
    margin-top:0 !important;
}

.np-equipment-head{
    margin-top:0 !important;
    padding-top:0 !important;
    margin-bottom:18px !important;
}

.np-equipment-card{
    padding-top:14px !important;
}

.np-equipment-section:before{
    top:-320px !important;
}

@media (max-width:768px){
    .np-equipment-card{
        padding-top:8px !important;
    }

    .np-equipment-head{
        margin-bottom:14px !important;
    }
}


/* ===== CUSTOMER REVIEW SHOWCASE - replaces main service section only ===== */
.np-review-showcase{
    position:relative;
    overflow:hidden;
    background:#fff;
    padding:76px 0 72px;
}

.np-review-showcase:before{
    content:'';
    position:absolute;
    inset:0 0 auto 0;
    height:220px;
    background:linear-gradient(180deg, rgba(235,246,255,.78), rgba(255,255,255,0));
    pointer-events:none;
}

.np-review-showcase .np-container{
    position:relative;
    z-index:1;
}

.np-review-showcase-head{
    text-align:center;
    margin-bottom:38px;
}

.np-review-showcase-head h2{
    margin:0;
    color:#4f4f4f;
    font-size:clamp(32px, 3.2vw, 52px);
    line-height:1.22;
    font-weight:500;
    letter-spacing:-.055em;
}

.np-review-showcase-head h2 span{
    color:#0876ff;
    font-weight:900;
}

.np-review-showcase-grid{
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:28px;
    align-items:start;
}

.np-review-showcase-card{
    position:relative;
    background:#fff;
    border:1px solid rgba(18,76,135,.10);
    border-radius:18px;
    box-shadow:0 8px 22px rgba(15,45,75,.10);
    overflow:visible;
    padding-top:54px;
    transition:transform .28s ease, box-shadow .28s ease;
}

.np-review-showcase-card:hover{
    transform:translateY(-6px);
    box-shadow:0 16px 38px rgba(15,45,75,.16);
}

.np-review-stars{
    position:absolute;
    left:50%;
    top:-44px;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    width:100%;
    color:#ffd400;
    font-size:35px;
    line-height:1;
    text-shadow:0 2px 8px rgba(255,197,0,.26);
    white-space:nowrap;
    pointer-events:none;
}

.np-review-photo{
    margin:0 14px;
    border-radius:18px;
    overflow:hidden;
    background:#f3f7fb;
    aspect-ratio:1.18/1;
}

.np-review-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s cubic-bezier(.22,1,.36,1);
}

.np-review-showcase-card:hover .np-review-photo img{
    transform:scale(1.045);
}

.np-review-showcase-card p{
    min-height:106px;
    margin:0;
    padding:22px 22px 28px;
    color:#555;
    text-align:center;
    font-size:17px;
    font-weight:700;
    line-height:1.62;
    letter-spacing:-.035em;
    word-break:keep-all;
}

@media (max-width:1280px){
    .np-review-showcase-grid{
        gap:20px;
    }
    .np-review-showcase-card p{
        font-size:15px;
        padding-left:16px;
        padding-right:16px;
    }
    .np-review-stars{
        font-size:30px;
    }
}

@media (max-width:991px){
    .np-review-showcase{
        padding:58px 0 56px;
    }
    .np-review-showcase-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        row-gap:54px;
    }
}

@media (max-width:560px){
    .np-review-showcase{
        padding:46px 0 46px;
    }
    .np-review-showcase-head{
        margin-bottom:42px;
    }
    .np-review-showcase-head h2{
        font-size:30px;
    }
    .np-review-showcase-grid{
        grid-template-columns:1fr;
        gap:52px;
    }
    .np-review-showcase-card{
        padding-top:46px;
    }
    .np-review-stars{
        top:-38px;
        font-size:29px;
    }
    .np-review-showcase-card p{
        min-height:auto;
        font-size:15px;
    }
}


/* ===== REVIEW TITLE / STAR GAP ADJUST ===== */
.np-review-showcase-head{
    margin-bottom:58px !important;
}

.np-review-stars{
    top:-34px !important;
}

@media (max-width:560px){
    .np-review-showcase-head{
        margin-bottom:54px !important;
    }

    .np-review-stars{
        top:-32px !important;
    }
}


/* ===== REVIEW CARD BALANCE FIX ===== */

/* 별점과 이미지 간격 자연스럽게 */
.np-review-showcase-card{
    padding-top:70px !important;
}

/* 별점 위치 조정 */
.np-review-stars{
    top:-26px !important;
    font-size:32px !important;
}

/* 이미지 영역 비율 완전 통일 */
.np-review-photo{
    margin:0 14px !important;
    height:260px !important;
    aspect-ratio:auto !important;
    border-radius:18px !important;
    overflow:hidden !important;
    background:#f3f7fb !important;
}

/* 이미지 크기 균형 */
.np-review-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
}

/* 카드 높이 균형 */
.np-review-showcase-card p{
    min-height:120px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
}

/* 모바일 */
@media (max-width:768px){

    .np-review-showcase-card{
        padding-top:60px !important;
    }

    .np-review-stars{
        top:-22px !important;
        font-size:28px !important;
    }

    .np-review-photo{
        height:220px !important;
    }

    .np-review-showcase-card p{
        min-height:auto !important;
    }
}


/* ===== REVIEW EXACT LAYOUT FIX : 별점/이미지 간격 + 카드 균형 ===== */

/* 제목과 별점 사이 여백 */
.np-review-showcase-head{
    margin-bottom:72px !important;
}

/* 카드 위쪽을 충분히 열어서 별점과 이미지가 붙지 않게 */
.np-review-showcase-card{
    padding-top:78px !important;
    border-radius:18px !important;
}

/* 별점은 카드 위쪽에 떠 있고, 이미지와 자연스러운 간격 유지 */
.np-review-stars{
    top:-42px !important;
    font-size:31px !important;
    gap:3px !important;
    line-height:1 !important;
}

/* 이미지 영역은 카드 안쪽에서 동일한 크기로 정리 */
.np-review-photo{
    margin:0 14px !important;
    height:245px !important;
    aspect-ratio:auto !important;
    border-radius:16px !important;
    overflow:hidden !important;
    background:#f3f7fb !important;
}

/* 모든 사진 동일한 비율/크기로 출력 */
.np-review-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
}

/* 후기 문구 영역 */
.np-review-showcase-card p{
    min-height:118px !important;
    padding:20px 20px 26px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    font-size:16px !important;
    line-height:1.62 !important;
}

/* PC에서 카드 간격 균형 */
.np-review-showcase-grid{
    align-items:start !important;
}

/* 모바일 */
@media (max-width:768px){
    .np-review-showcase-head{
        margin-bottom:62px !important;
    }

    .np-review-showcase-card{
        padding-top:66px !important;
    }

    .np-review-stars{
        top:-36px !important;
        font-size:28px !important;
    }

    .np-review-photo{
        height:220px !important;
    }

    .np-review-showcase-card p{
        min-height:auto !important;
        font-size:15px !important;
    }
}


/* ===== REVIEW PREMIUM STAR ACTION EFFECT ===== */
/* 별 표시만 프리미엄 스타일 + 은은한 액션 추가 */
.np-review-stars{
    color:#f6b800 !important;
    font-size:32px !important;
    letter-spacing:1px !important;
    text-shadow:
        0 2px 0 rgba(181,116,0,.18),
        0 8px 18px rgba(255,196,0,.28),
        0 0 18px rgba(255,226,88,.18) !important;
    filter:drop-shadow(0 4px 8px rgba(231,166,0,.18));
    animation:npReviewStarFloat 3.2s ease-in-out infinite;
}

.np-review-stars span{
    display:inline-block !important;
    transform-origin:center;
    background:linear-gradient(180deg,#fff4a5 0%,#ffd233 38%,#f5a900 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    animation:npReviewStarTwinkle 2.8s ease-in-out infinite;
}

.np-review-stars span:nth-child(1){animation-delay:.02s}
.np-review-stars span:nth-child(2){animation-delay:.14s}
.np-review-stars span:nth-child(3){animation-delay:.26s}
.np-review-stars span:nth-child(4){animation-delay:.38s}
.np-review-stars span:nth-child(5){animation-delay:.50s}

.np-review-showcase-card:hover .np-review-stars span{
    animation:npReviewStarPop .72s cubic-bezier(.2,1.35,.32,1) both;
}

.np-review-showcase-card:hover .np-review-stars span:nth-child(1){animation-delay:.00s}
.np-review-showcase-card:hover .np-review-stars span:nth-child(2){animation-delay:.06s}
.np-review-showcase-card:hover .np-review-stars span:nth-child(3){animation-delay:.12s}
.np-review-showcase-card:hover .np-review-stars span:nth-child(4){animation-delay:.18s}
.np-review-showcase-card:hover .np-review-stars span:nth-child(5){animation-delay:.24s}

@keyframes npReviewStarFloat{
    0%,100%{transform:translateX(-50%) translateY(0)}
    50%{transform:translateX(-50%) translateY(-3px)}
}

@keyframes npReviewStarTwinkle{
    0%,100%{
        opacity:1;
        transform:scale(1) rotate(0deg);
        filter:brightness(1);
    }
    45%{
        opacity:.94;
        transform:scale(.98) rotate(-1deg);
        filter:brightness(.98);
    }
    70%{
        opacity:1;
        transform:scale(1.05) rotate(1deg);
        filter:brightness(1.16);
    }
}

@keyframes npReviewStarPop{
    0%{transform:translateY(0) scale(1) rotate(0deg)}
    42%{transform:translateY(-7px) scale(1.18) rotate(-5deg)}
    72%{transform:translateY(1px) scale(.98) rotate(2deg)}
    100%{transform:translateY(0) scale(1) rotate(0deg)}
}

@media (prefers-reduced-motion:reduce){
    .np-review-stars,
    .np-review-stars span,
    .np-review-showcase-card:hover .np-review-stars span{
        animation:none !important;
    }
}

@media (max-width:768px){
    .np-review-stars{
        font-size:29px !important;
    }
}


/* ===== REVIEW CARD AUTO ROLLING ===== */

.np-review-showcase{
    overflow:hidden !important;
}

.np-review-showcase-grid{
    display:flex !important;
    width:max-content !important;
    gap:28px !important;
    animation:npReviewRolling 38s linear infinite;
    will-change:transform;
}

/* 카드 고정폭 */
.np-review-showcase-card{
    width:340px !important;
    flex:0 0 auto !important;
}

/* 자연스러운 롤링 */
@keyframes npReviewRolling{
    0%{
        transform:translateX(0);
    }
    100%{
        transform:translateX(-25%);
    }
}

/* 모바일 */
@media (max-width:768px){

    .np-review-showcase-grid{
        animation-duration:28s !important;
    }

    .np-review-showcase-card{
        width:290px !important;
    }
}


/* ===== REVIEW TEXT AREA SAME HEIGHT FINAL FIX ===== */

.np-review-showcase-card{
    display:flex !important;
    flex-direction:column !important;
    height:100% !important;
}

.np-review-showcase-card p{
    min-height:210px !important;
    max-height:210px !important;
    overflow:hidden !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    padding:20px 22px 24px !important;
    line-height:1.7 !important;
    word-break:keep-all !important;
}

@media (max-width:768px){

    .np-review-showcase-card p{
        min-height:auto !important;
        max-height:none !important;
    }
}


/* ===== REVIEW ROLLING INFINITE LOOP FIX - only customer review rolling area ===== */
.np-review-showcase .np-review-showcase-grid{
    animation:npReviewRollingInfinite 95s linear infinite !important;
}

.np-review-showcase .np-review-showcase-grid:hover{
    animation-play-state:running !important;
}

@keyframes npReviewRollingInfinite{
    0%{
        transform:translate3d(0,0,0);
    }
    100%{
        transform:translate3d(-50%,0,0);
    }
}

@media (max-width:768px){
    .np-review-showcase .np-review-showcase-grid{
        animation-duration:75s !important;
    }
}


/* ===== SECURE LOGIN BUTTON / POPUP ===== */

.np-secure-login-btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(14,74,130,.28);background:linear-gradient(135deg,#0b5ca3,#082f5b)}
.np-secure-login-icon{font-size:15px;line-height:1}
.np-login-security-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility .24s ease}
.np-login-security-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}
.np-login-security-backdrop{position:absolute;inset:0;background:rgba(5,20,38,.58);backdrop-filter:blur(8px)}
.np-login-security-card{position:relative;width:min(420px,100%);padding:42px 34px 34px;border-radius:30px;background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);box-shadow:0 30px 90px rgba(5,20,38,.28);border:1px solid rgba(255,255,255,.75);text-align:center;transform:translateY(18px) scale(.96);transition:transform .28s cubic-bezier(.22,1,.36,1);overflow:hidden}
.np-login-security-modal.is-open .np-login-security-card{transform:translateY(0) scale(1)}
.np-login-security-card:before{content:'';position:absolute;left:-70px;top:-90px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(30,166,114,.24),rgba(30,166,114,0) 70%)}
.np-login-security-card:after{content:'';position:absolute;right:-90px;bottom:-110px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(14,74,130,.20),rgba(14,74,130,0) 70%)}
.np-login-security-close{position:absolute;right:18px;top:16px;width:36px;height:36px;border:0;border-radius:50%;background:#eef5fb;color:#0e4a82;font-size:24px;line-height:1;cursor:pointer;z-index:2}
.np-login-security-mark{position:relative;z-index:1;margin:0 auto 18px;width:92px;height:92px;border-radius:30px;background:linear-gradient(145deg,#0e4a82,#1ea672);box-shadow:0 18px 35px rgba(14,74,130,.22);display:flex;align-items:center;justify-content:center;color:#fff}
.np-login-security-mark:before{content:'🔒';display:block;font-size:34px;line-height:1;margin-top:-8px}
.np-login-security-mark span{position:absolute;bottom:17px;font-size:10px;font-weight:900;letter-spacing:.08em}
.np-login-security-card strong{position:relative;z-index:1;display:block;font-size:27px;line-height:1.25;color:#0b355f;font-weight:900;letter-spacing:-.05em}
.np-login-security-card p{position:relative;z-index:1;margin:13px 0 24px;color:#587086;font-size:15px;line-height:1.65;font-weight:600;letter-spacing:-.03em}
.np-login-security-form{position:relative;z-index:1;display:grid;gap:10px}
.np-login-security-form input{width:100%;height:54px;border:1px solid #d8e4ee;border-radius:16px;background:#fff;padding:0 18px;color:#162230;font-size:16px;font-weight:700;outline:none;text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.np-login-security-form input:focus{border-color:#0e4a82;box-shadow:0 0 0 4px rgba(14,74,130,.10)}
.np-login-security-form button{height:56px;border:0;border-radius:16px;background:linear-gradient(135deg,#0e4a82,#08355d);color:#fff;font-size:17px;font-weight:900;cursor:pointer;box-shadow:0 14px 28px rgba(14,74,130,.22);transition:transform .18s ease,box-shadow .18s ease}
.np-login-security-form button:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(14,74,130,.28)}
.np-login-security-help{position:relative;z-index:1;display:block;margin-top:15px;color:#7a8fa3;font-size:13px;font-weight:700;letter-spacing:-.03em}
body.np-login-modal-open{overflow:hidden}
@media (max-width:991.98px){.np-secure-login-btn{width:78px;height:38px;font-size:13px}.np-secure-login-btn .np-secure-login-icon{display:none}.np-login-security-card{padding:36px 22px 28px;border-radius:24px}.np-login-security-card strong{font-size:24px}}


/* ===== HIDDEN LOGO SECURITY LOGIN ===== */
/* 로고 5초 길게 누르면 접속보안 팝업 출력 */
.np-logo,
.np-logo a,
.np-logo img{
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}

.np-logo{
  position:relative;
  cursor:pointer;
}


.np-logo.np-logo-hold-active::after{
  display:none;
}

  to{opacity:1;transform:scale(1.02)}
}


/* online-estimate-square-icon-remove-final */
@media (max-width:768px){
    body .np-main .np-main-estimate-btn::before{
        content:none !important;
        display:none !important;
        margin:0 !important;
    }
}


/* ===== 2026-05-17 header fraud-click alert badge - clean no-border style ===== */
.np-click-alert-badge{
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  position:relative;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:250px;
  height:48px;
  padding:0 16px 0 14px;
  margin-left:4px;
  border:0;
  border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.99) 0%,rgba(255,248,248,.94) 100%);
  color:#e51212;
  font-size:17px;
  font-weight:900;
  letter-spacing:-.045em;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 8px 22px rgba(229,18,18,.13);
  overflow:visible;
  isolation:isolate;
  animation:npClickAlertPulse 1.55s ease-in-out infinite;
}
.np-click-alert-badge::before{
  content:'';
  position:absolute;
  inset:-8px;
  border-radius:18px;
  background:radial-gradient(circle at center, rgba(255,36,36,.17) 0%, rgba(255,36,36,.08) 36%, rgba(255,36,36,0) 72%);
  opacity:.42;
  pointer-events:none;
  z-index:-1;
  animation:npClickAlertGlow 1.75s ease-in-out infinite;
}
.np-click-alert-badge:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(229,18,18,.22), 0 0 18px rgba(255,36,36,.12);
}
.np-click-alert-siren{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  font-size:25px;
  filter:drop-shadow(0 4px 8px rgba(230,0,0,.35));
  transform-origin:50% 70%;
  animation:npClickAlertSiren .82s ease-in-out infinite;
}
.np-click-alert-siren::before,
.np-click-alert-siren::after{
  content:'';
  position:absolute;
  top:0;
  width:2px;
  height:8px;
  border-radius:999px;
  background:#ff2424;
  opacity:.75;
}
.np-click-alert-siren::before{left:-6px;transform:rotate(-28deg)}
.np-click-alert-siren::after{right:-6px;transform:rotate(28deg)}
.np-click-alert-text{position:relative;z-index:1;text-shadow:0 0 10px rgba(255,36,36,.13)}
.np-click-alert-arrow{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:2px;
  font-size:30px;
  font-weight:500;
  line-height:1;
  animation:npClickAlertArrow 1.15s ease-in-out infinite;
}
@keyframes npClickAlertPulse{
  0%,100%{box-shadow:0 8px 22px rgba(229,18,18,.12);transform:translateY(0)}
  45%{box-shadow:0 11px 30px rgba(229,18,18,.22), 0 0 16px rgba(255,36,36,.10);transform:translateY(-1px)}
}
@keyframes npClickAlertGlow{
  0%,100%{opacity:.26;transform:scale(.98)}
  50%{opacity:.56;transform:scale(1.04)}
}
@keyframes npClickAlertSiren{
  0%,100%{transform:rotate(0deg) scale(1)}
  25%{transform:rotate(-6deg) scale(1.035)}
  50%{transform:rotate(0deg) scale(1.07)}
  75%{transform:rotate(6deg) scale(1.035)}
}
@keyframes npClickAlertArrow{
  0%,100%{transform:translateX(0);opacity:.72}
  50%{transform:translateX(5px);opacity:1}
}
@media (max-width:1440px){
  .np-click-alert-badge{min-width:224px;padding:0 14px;font-size:15.5px;gap:8px}
  .np-click-alert-siren{width:28px;height:28px;font-size:23px}
  .np-nav-list{gap:56px}
}
@media (max-width:1199px){
  .np-click-alert-badge{min-width:198px;height:44px;font-size:14px;padding:0 12px;gap:7px}
  .np-click-alert-siren{width:25px;height:25px;font-size:21px}
  .np-click-alert-arrow{font-size:25px}
}
@media (max-width:991.98px){
  .np-click-alert-badge{display:none!important}
}


/* ===== 2026-05-23 professional security module popup ===== */
.np-security-modal-lock{overflow:hidden}
.np-security-module-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
.np-security-module-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}
.np-security-module-backdrop{position:absolute;inset:0;background:rgba(3,10,18,.76);backdrop-filter:blur(8px)}
.np-security-module-panel{position:relative;width:min(520px,100%);overflow:hidden;border:1px solid rgba(102,212,255,.24);border-radius:24px;background:linear-gradient(145deg,rgba(8,18,31,.98),rgba(10,38,58,.96));color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.52),0 0 42px rgba(30,180,255,.15);padding:34px 34px 30px;transform:translateY(18px) scale(.97);transition:transform .25s ease;outline:0}
.np-security-module-modal.is-open .np-security-module-panel{transform:translateY(0) scale(1)}
.np-security-module-grid-bg{position:absolute;inset:0;background:linear-gradient(rgba(74,199,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(74,199,255,.055) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(circle at 50% 18%,#000 0%,transparent 72%);pointer-events:none}
.np-security-module-close{position:absolute;right:18px;top:16px;z-index:3;width:38px;height:38px;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:rgba(255,255,255,.07);color:#fff;font-size:28px;line-height:34px;cursor:pointer;transition:.2s ease}
.np-security-module-close:hover{background:rgba(255,255,255,.14);transform:rotate(90deg)}
.np-security-module-head{position:relative;z-index:2;text-align:center}
.np-security-module-mark{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 13px;border-radius:999px;background:rgba(53,196,255,.12);border:1px solid rgba(93,214,255,.28);color:#7de3ff;font-size:12px;font-weight:900;letter-spacing:.12em}
.np-security-module-mark:before{content:'';width:7px;height:7px;border-radius:50%;background:#37ff9b;box-shadow:0 0 14px rgba(55,255,155,.85);animation:npSecurityDot 1.1s infinite}
.np-security-module-head h3{margin:16px 0 10px;color:#fff;font-size:28px;font-weight:900;letter-spacing:-.055em;line-height:1.2}
.np-security-module-head p{margin:0 auto;color:rgba(229,246,255,.78);font-size:15px;line-height:1.65;letter-spacing:-.04em;max-width:390px}
.np-security-scan-box{position:relative;z-index:2;margin:28px auto 24px;width:210px;height:145px;border-radius:22px;background:radial-gradient(circle at 50% 40%,rgba(62,208,255,.22),rgba(62,208,255,.03) 56%,transparent 72%);border:1px solid rgba(126,223,255,.16);display:flex;align-items:center;justify-content:center;overflow:hidden}
.np-security-scan-line{position:absolute;left:18px;right:18px;height:2px;background:linear-gradient(90deg,transparent,#50f2ff,transparent);box-shadow:0 0 22px rgba(80,242,255,.75);animation:npSecurityScan 2.1s ease-in-out infinite}
.np-security-shield{position:relative;width:86px;height:100px;background:linear-gradient(180deg,rgba(80,231,255,.96),rgba(21,103,183,.96));clip-path:polygon(50% 0,90% 15%,82% 72%,50% 100%,18% 72%,10% 15%);box-shadow:0 0 34px rgba(70,211,255,.38)}
.np-security-shield:before{content:'';position:absolute;inset:12px;background:linear-gradient(180deg,rgba(9,26,42,.9),rgba(14,49,76,.88));clip-path:inherit}
.np-security-shield span:before{content:'✓';position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);color:#7cffbd;font-size:42px;font-weight:900;text-shadow:0 0 18px rgba(124,255,189,.8)}
.np-security-module-list{position:relative;z-index:2;list-style:none;margin:0;padding:0;display:grid;gap:10px}
.np-security-module-list li{display:flex;align-items:center;gap:12px;min-height:54px;padding:12px 14px;border-radius:15px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.075)}
.np-security-module-list li span{width:10px;height:10px;border-radius:50%;background:#33ff9b;box-shadow:0 0 14px rgba(51,255,155,.7);flex:0 0 auto}
.np-security-module-list strong{flex:1;color:#edfaff;font-size:14.5px;font-weight:800;letter-spacing:-.045em}
.np-security-module-list em{font-style:normal;color:#77e7ff;font-size:11px;font-weight:900;letter-spacing:.06em}
.np-security-module-foot{position:relative;z-index:2;margin-top:18px;padding:16px 18px;border-radius:16px;background:linear-gradient(90deg,rgba(50,255,155,.09),rgba(68,191,255,.08));border:1px solid rgba(117,238,255,.14)}
.np-security-module-foot b{display:block;margin-bottom:5px;color:#fff;font-size:15px;font-weight:900;letter-spacing:-.04em}
.np-security-module-foot span{display:block;color:rgba(229,246,255,.72);font-size:13.5px;line-height:1.5;letter-spacing:-.04em}
@keyframes npSecurityScan{0%,100%{top:18px;opacity:.45}50%{top:124px;opacity:1}}
@keyframes npSecurityDot{0%,100%{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.2)}}
@media (max-width:640px){.np-security-module-modal{padding:18px}.np-security-module-panel{padding:30px 20px 24px;border-radius:20px}.np-security-module-head h3{font-size:23px}.np-security-module-head p{font-size:14px}.np-security-scan-box{width:190px;height:130px}.np-security-module-list strong{font-size:13.5px}.np-security-module-list em{font-size:10px}}


/* main contact section: real kakao map + location info */
.np-contact-map-section{
  background:radial-gradient(circle at 22% 12%,rgba(42,135,205,.22),rgba(11,47,80,0) 34%),#0b2f50;
  color:#fff;
  padding:34px 0 34px;
}
.np-contact-location-wrap{
  max-width:1740px;
}
.np-contact-location-head{
  text-align:left;
  margin-bottom:30px;
}
.np-contact-location-head h2{
  margin:0;
  font-size:clamp(34px,3.4vw,56px);
  line-height:1.12;
  letter-spacing:-.055em;
  font-weight:900;
  color:#fff;
  text-shadow:0 8px 24px rgba(0,0,0,.24);
}
.np-contact-location-head:after{
  content:"";
  display:block;
  width:170px;
  height:3px;
  margin:20px 0 0;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(20,210,218,.96),rgba(20,210,218,.96) 42%,rgba(255,255,255,.18) 42%,rgba(255,255,255,.18));
}
.np-contact-location-grid{
  display:grid;
  grid-template-columns:minmax(760px,820px) minmax(620px,1fr);
  gap:64px;
  align-items:center;
  justify-content:flex-start;
}
.np-contact-map-card{
  position:relative;
  overflow:hidden;
  width:100%;
  height:485px;
  border-radius:26px;
  background:#dfe8f1;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 28px 70px rgba(0,0,0,.24);
}
.np-main-kakao-map{
  width:100%;
  height:100%;
}
.np-main-kakao-map-loading{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:24px;
  background:linear-gradient(135deg,#e9f1f8,#d7e4ef);
  color:#24435c;
  font-weight:800;
  line-height:1.55;
  z-index:2;
}
.np-location-info-card{
  color:#fff;
}
.np-location-info-row{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:24px;
  align-items:flex-start;
  padding:23px 0;
  border-bottom:1px solid rgba(255,255,255,.17);
}
.np-location-info-row:first-child{
  padding-top:0;
}
.np-location-info-row strong{
  font-size:22px;
  line-height:1.35;
  font-weight:900;
  letter-spacing:-.04em;
  color:rgba(255,255,255,.96);
}
.np-location-info-row span{
  font-size:21px;
  line-height:1.55;
  font-weight:700;
  letter-spacing:-.035em;
  color:rgba(255,255,255,.92);
}
.np-location-phone{
  color:#2f9bff!important;
  font-size:30px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
.np-subway-line,
.np-bus-list-wrap{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
}
.np-subway-line em,
.np-bus-line em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:31px;
  padding:0 11px;
  border-radius:9px;
  font-style:normal;
  font-size:18px;
  line-height:1;
  font-weight:900;
  color:#fff;
  box-shadow:inset 0 -2px 0 rgba(0,0,0,.12);
}
.np-subway-line em{
  background:#f4b600;
  color:#fff;
  border-radius:999px;
}
.np-subway-line a,
.np-bus-line a{
  color:#2097ff;
  text-decoration:underline;
  text-underline-offset:4px;
  font-weight:800;
  transition:color .18s ease, text-shadow .18s ease;
}
.np-subway-line a:hover,
.np-bus-line a:hover{
  color:#62bdff;
  text-shadow:0 0 14px rgba(47,155,255,.36);
}
.np-bus-list-wrap{
  align-items:flex-start;
  flex-direction:column;
  gap:13px;
}
.np-bus-line{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0 13px;
  line-height:1.9;
}
.np-bus-line a{
  font-size:20px;
  line-height:1.4;
}
.np-bus-normal{
  background:#17bfc8;
}
.np-bus-town{
  background:#55b92f;
}
.np-bus-list-wrap small{
  display:block;
  margin-top:3px;
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:1.55;
  letter-spacing:-.03em;
}
@media (max-width:1199.98px){
  .np-contact-location-grid{grid-template-columns:1fr;gap:34px}
  .np-location-info-card{max-width:none}
  .np-contact-map-card{height:420px}
}
@media (max-width:991.98px){
  .np-contact-map-section{padding:62px 0 72px}
  .np-contact-location-grid{gap:28px}
  .np-contact-map-card{height:400px;border-radius:24px}
  .np-location-info-row{grid-template-columns:112px 1fr;gap:18px;padding:22px 0}
  .np-location-info-row strong{font-size:20px}
  .np-location-info-row span{font-size:20px}
  .np-location-phone{font-size:27px!important}
}
@media (max-width:575.98px){
  .np-contact-location-head{margin-bottom:22px}
  .np-contact-location-head h2{font-size:34px}
  .np-contact-location-head:after{width:128px;margin-top:16px}
  .np-contact-map-card{height:330px;border-radius:18px}
  .np-location-info-row{grid-template-columns:1fr;gap:8px;padding:19px 0}
  .np-location-info-row strong{font-size:18px}
  .np-location-info-row span{font-size:18px}
  .np-location-phone{font-size:25px!important}
  .np-bus-line{gap:0 10px}
  .np-bus-line a{font-size:18px}
  .np-bus-list-wrap small{font-size:14px}
}


/* =========================================================
   MOBILE ADD TO HOME SCREEN PROMPT
   ========================================================= */
.np-a2hs-prompt{
    position:fixed;
    left:0;
    right:0;
    bottom:92px;
    z-index:9999;
    display:flex;
    justify-content:center;
    padding:0 16px;
    opacity:0;
    visibility:hidden;
    transform:translateY(18px);
    transition:opacity .28s ease, transform .28s ease, visibility .28s ease;
    pointer-events:none;
}
.np-a2hs-prompt.is-visible{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
}
.np-a2hs-card{
    position:relative;
    width:min(420px, 100%);
    display:grid;
    grid-template-columns:48px 1fr;
    gap:12px;
    padding:17px 48px 16px 16px;
    border-radius:24px;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(14,74,130,.12);
    box-shadow:0 18px 45px rgba(13,53,91,.22);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}
.np-a2hs-icon{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:linear-gradient(135deg,#0e4a82,#1ea672);
    color:#fff;
    font-size:24px;
    box-shadow:0 10px 22px rgba(14,74,130,.2);
}
.np-a2hs-copy strong{
    display:block;
    margin:0 0 3px;
    font-size:16px;
    line-height:1.35;
    font-weight:900;
    letter-spacing:-.04em;
    color:#12243a;
}
.np-a2hs-copy p{
    margin:0;
    font-size:13px;
    line-height:1.55;
    font-weight:600;
    color:#5c6d7f;
    letter-spacing:-.03em;
}
.np-a2hs-actions{
    grid-column:1 / -1;
    display:flex;
    gap:8px;
    margin-top:4px;
}
.np-a2hs-actions button{
    height:42px;
    border:0;
    border-radius:14px;
    font-size:14px;
    font-weight:900;
    letter-spacing:-.03em;
    cursor:pointer;
}
.np-a2hs-install{
    flex:1;
    background:#0e4a82;
    color:#fff;
    box-shadow:0 10px 22px rgba(14,74,130,.18);
}
.np-a2hs-later{
    width:84px;
    background:#edf4fa;
    color:#41556b;
}
.np-a2hs-close{
    position:absolute;
    top:10px;
    right:12px;
    width:28px;
    height:28px;
    border:0;
    border-radius:999px;
    background:rgba(12,55,92,.07);
    color:#617285;
    font-size:20px;
    line-height:1;
    cursor:pointer;
}
@media (min-width:769px){
    .np-a2hs-prompt{display:none!important;}
}
@media (max-width:380px){
    .np-a2hs-card{padding-right:42px;border-radius:20px;}
    .np-a2hs-copy strong{font-size:15px;}
    .np-a2hs-copy p{font-size:12.5px;}
}

/* 모바일 상단이동 버튼 숨김 */
@media (max-width: 768px){
    .np-scrolltop{
        display:none !important;
    }
}
/* ===== CUSTOMER REVIEW ADMIN RATING HALF STAR ===== */
.np-review-stars .np-star-half{
    position:relative !important;
    background:none !important;
    -webkit-background-clip:initial !important;
    background-clip:initial !important;
    -webkit-text-fill-color:rgba(218,226,235,.95) !important;
    color:rgba(218,226,235,.95) !important;
}

.np-review-stars .np-star-half:before{
    content:'★';
    position:absolute;
    left:0;
    top:0;
    width:50%;
    overflow:hidden;
    background:linear-gradient(180deg,#fff4a5 0%,#ffd233 38%,#f5a900 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:#f6b800;
}

.np-review-stars .np-star-empty{
    background:none !important;
    -webkit-background-clip:initial !important;
    background-clip:initial !important;
    -webkit-text-fill-color:rgba(218,226,235,.95) !important;
    color:rgba(218,226,235,.95) !important;
    text-shadow:none !important;
}
