/* ============================================================
   theme/46 — PURE SPACE (B2B 전문 클리닝) · 원본 개별 흡수
   컨셉: 다크 에디토리얼 / 거대 워드마크 / 글로벌 네트워크
   본문은 Tailwind utility 중심, 이 파일은 보조 구조/모션만.
   ============================================================ */
:root{
  --clean:#15d6c1;       /* 포인트 민트(원본 네트워크 노드 톤) */
  --ink:#101010;         /* 다크 배경 */
  --ink-2:#161718;
}
html{font-family:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;overflow-x:hidden;scroll-behavior:smooth;}
body{word-break:keep-all;overflow-x:hidden;background:#fff;}
.text-ink{color:var(--ink);}
.bg-ink{background:var(--ink);}
.text-clean{color:var(--clean);}
.font-mono{font-family:'Inter',ui-monospace,monospace;}

/* 컨테이너 */
.ps-area{max-width:84rem;margin:0 auto;padding-left:1.25rem;padding-right:1.25rem;}
@media (min-width:768px){.ps-area{padding-left:2rem;padding-right:2rem;}}
@media (min-width:1280px){.ps-area{padding-left:2.75rem;padding-right:2.75rem;}}

/* 공통 라벨 */
.sec-eyebrow{display:inline-flex;align-items:center;gap:.7rem;font-size:.8rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;}
.sec-eyebrow .dash{width:2.2rem;height:2px;background:currentColor;display:inline-block;}

/* ====== Header ====== */
#siteHeader{color:#fff;}
#siteHeader .brand-mark{color:var(--ink);}
#siteHeader.scrolled{background:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(16,16,16,.07);}
.brand-mark{font-family:'Inter','Pretendard',sans-serif;}
.nav-item{position:relative;}
.nav-link{position:relative;color:var(--ink);padding:.4rem 0;transition:color .2s;}
.nav-link::after{content:"";position:absolute;left:0;bottom:-.1rem;width:0;height:2px;background:var(--clean);transition:width .25s ease;}
.nav-link:hover{color:#000;}
.nav-link:hover::after{width:100%;}
.mega{position:absolute;top:calc(100% + .9rem);left:50%;transform:translateX(-50%) translateY(.4rem);min-width:13rem;background:#fff;border-radius:1rem;box-shadow:0 1.4rem 3rem rgba(16,16,16,.16);padding:.75rem;opacity:0;visibility:hidden;transition:.22s ease;display:grid;gap:.1rem;z-index:30;}
.nav-item:hover .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.mega a{display:block;padding:.6rem .8rem;border-radius:.6rem;font-size:.85rem;font-weight:700;color:#3a3a3a;white-space:nowrap;transition:.18s;}
.mega a:hover{background:#f4f4f5;color:var(--ink);padding-left:1.1rem;}

/* MENU 버튼(햄버거) */
.menu-btn{color:var(--ink);height:2.75rem;}
#siteHeader.scrolled .menu-btn{color:var(--ink);}
.menu-bars{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;width:1.5rem;height:1.5rem;}
.menu-bars i{display:block;height:2px;width:100%;background:currentColor;transition:.25s;border-radius:2px;}
.menu-bars i:nth-child(2){width:70%;margin-left:auto;}

/* ====== Hero ====== */
.hero{min-height:100vh;display:flex;flex-direction:column;}
.hero-kicker{max-width:38rem;}
.hero-wordmark{font-family:'Inter','Pretendard',sans-serif;font-size:clamp(3.2rem,12.5vw,11rem);}
.hero-cta{color:var(--ink);}
.hero-cta.light{color:#fff;}
.hero-cta-ic{width:3rem;height:3rem;border-radius:999rem;border:1.5px solid currentColor;display:grid;place-items:center;transition:.28s ease;}
.hero-cta-ic svg{width:1.15rem;height:1.15rem;transition:transform .28s ease;}
.hero-cta:hover .hero-cta-ic{background:var(--clean);border-color:var(--clean);color:var(--ink);}
.hero-cta:hover .hero-cta-ic svg{transform:translateX(.18rem);}

/* 네트워크 글로브 비주얼 */
.globe-card{height:15rem;border-radius:1.25rem;background:radial-gradient(circle at 65% 35%,#11313a 0%,#0a1418 55%,#070b0d 100%);overflow:hidden;box-shadow:0 1.4rem 3.4rem rgba(7,11,13,.45);}
@media (min-width:1280px){.globe-card{height:16.5rem;}}
.globe-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(21,214,193,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(21,214,193,.09) 1px,transparent 1px);background-size:2.2rem 2.2rem;mask-image:radial-gradient(circle at 60% 40%,#000 35%,transparent 78%);}
.globe-dots{position:absolute;inset:0;}
.globe-dots .dot{position:absolute;width:6px;height:6px;border-radius:999rem;background:var(--clean);box-shadow:0 0 12px 2px rgba(21,214,193,.55);animation:dotPulse 2.6s ease-in-out infinite;}
@keyframes dotPulse{0%,100%{opacity:.35;transform:scale(.7);}50%{opacity:1;transform:scale(1.15);}}
.globe-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(21,214,193,.5),transparent);transform-origin:left center;}
.globe-label{position:absolute;left:1.1rem;bottom:1.1rem;z-index:2;}

/* ====== Marquee ====== */
.marquee{width:100%;overflow:hidden;border-top:1px solid rgba(16,16,16,.08);border-bottom:1px solid rgba(16,16,16,.08);}
.marquee-track{display:inline-flex;align-items:center;gap:2.5rem;white-space:nowrap;will-change:transform;animation:marquee 26s linear infinite;}
.marquee-track span{font-family:'Inter',sans-serif;font-size:clamp(1.6rem,4.5vw,3.2rem);font-weight:900;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1.2px rgba(16,16,16,.28);text-stroke:1.2px rgba(16,16,16,.28);}
.marquee-track i{color:var(--clean);font-style:normal;font-size:1.3rem;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ====== Showcase (full-bleed) ====== */
.showcase{position:relative;overflow:hidden;background:var(--ink);}
.showcase-bg{position:absolute;inset:0;background-image:url("https://images.unsplash.com/photo-1581578731548-c64695cc6952?auto=format&fit=crop&w=1800&q=80");background-size:cover;background-position:center;transform:scale(1.04);}
.showcase-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,16,16,.25) 0%,rgba(16,16,16,.45) 45%,rgba(16,16,16,.86) 100%);}

/* ====== Stats ====== */
.stat-grid{display:grid;gap:0;}
.stat-row{display:grid;grid-template-columns:3.5rem minmax(0,1fr) auto;align-items:center;gap:1.25rem;padding:1.6rem 0;border-bottom:1px solid rgba(255,255,255,.1);}
.stat-ic{width:3.2rem;height:3.2rem;border-radius:999rem;display:grid;place-items:center;background:rgba(21,214,193,.12);color:var(--clean);font-size:1.15rem;}
.stat-meta{font-size:1rem;font-weight:700;color:rgba(255,255,255,.62);}
.stat-val{font-family:'Inter',sans-serif;font-weight:900;letter-spacing:-.04em;font-size:clamp(2rem,6vw,3.6rem);line-height:1;}
.stat-val .num{color:#fff;}
@media (min-width:768px){.stat-meta{font-size:1.15rem;}}

/* ====== Global Network ====== */
.net-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
.net-stat{border-top:2px solid var(--clean);padding-top:1.1rem;}
.net-stat b{display:block;font-family:'Inter',sans-serif;font-size:clamp(2.6rem,9vw,5.5rem);font-weight:900;letter-spacing:-.05em;line-height:.9;color:#fff;}
.net-stat b small{font-size:.45em;color:var(--clean);}
.net-stat span{display:block;margin-top:.5rem;font-size:.82rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);}
.cert-row{display:flex;flex-wrap:wrap;gap:.6rem;}
.cert-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.05rem;border-radius:999rem;border:1px solid rgba(255,255,255,.16);font-size:.82rem;font-weight:700;color:rgba(255,255,255,.8);}
.cert-chip i{color:var(--clean);}
.city-ticker{overflow:hidden;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);padding:1.1rem 0;}
.city-track{display:inline-flex;gap:2.2rem;white-space:nowrap;animation:marquee 30s linear infinite;}
.city-track span{font-family:'Inter',sans-serif;font-size:1.05rem;font-weight:700;color:rgba(255,255,255,.4);letter-spacing:.02em;}
.city-track span::after{content:"·";margin-left:2.2rem;color:var(--clean);}

/* ====== Our Services (interactive list) ====== */
.svc-list{position:relative;}
.svc-row{display:grid;grid-template-columns:3rem 3rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.5rem 0;border-top:1px solid rgba(255,255,255,.12);cursor:pointer;position:relative;z-index:2;transition:padding .3s ease;}
.svc-row:last-of-type{border-bottom:1px solid rgba(255,255,255,.12);}
.svc-no{font-family:'Inter',sans-serif;font-size:.85rem;font-weight:800;color:rgba(255,255,255,.4);}
.svc-ic{width:2.8rem;height:2.8rem;border-radius:.85rem;display:grid;place-items:center;background:rgba(255,255,255,.06);color:#fff;font-size:1.05rem;transition:.3s;}
.svc-en{font-family:'Inter',sans-serif;font-size:clamp(1.4rem,3.6vw,2.4rem);font-weight:900;letter-spacing:-.03em;color:#fff;transition:.3s;}
.svc-kr{justify-self:end;text-align:right;font-size:.9rem;font-weight:600;color:rgba(255,255,255,.5);}
.svc-arrow{width:2.6rem;height:2.6rem;border-radius:999rem;border:1.5px solid rgba(255,255,255,.2);display:grid;place-items:center;color:#fff;transition:.3s;}
.svc-arrow svg{width:1.05rem;height:1.05rem;}
.svc-row:hover{padding-left:1.2rem;}
.svc-row:hover .svc-en{color:var(--clean);}
.svc-row:hover .svc-ic{background:var(--clean);color:var(--ink);}
.svc-row:hover .svc-arrow{background:var(--clean);border-color:var(--clean);color:var(--ink);}
.svc-row.active .svc-en{color:var(--clean);}
.svc-preview{position:absolute;right:9%;top:0;width:18rem;height:12rem;border-radius:1rem;background-size:cover;background-position:center;pointer-events:none;opacity:0;transform:translateY(-30%) scale(.96);transition:opacity .3s ease,transform .3s ease;box-shadow:0 1.4rem 3rem rgba(0,0,0,.5);z-index:1;}
.svc-preview.show{opacity:1;}
@media (max-width:1023px){.svc-preview{display:none;}.svc-row{grid-template-columns:2.4rem minmax(0,1fr) auto;}.svc-ic{display:none;}.svc-kr{display:none;}}
@media (max-width:479px){.svc-row{grid-template-columns:2rem minmax(0,1fr) auto;gap:.7rem;}}

/* ====== Contact ====== */
.ci-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--clean);}
.ci-label svg{width:1rem;height:1rem;}
.ci-val{margin-top:.7rem;font-size:1.15rem;font-weight:700;color:#fff;line-height:1.5;}
.get-touch{display:inline-flex;align-items:center;gap:1rem;background:var(--clean);color:var(--ink);font-family:'Inter',sans-serif;font-weight:900;font-size:clamp(1.1rem,3vw,1.7rem);padding:1.1rem 1.1rem 1.1rem 2.2rem;border-radius:999rem;transition:.28s ease;}
.get-touch:hover{transform:translateY(-.2rem);box-shadow:0 1rem 2.4rem rgba(21,214,193,.32);}
.get-touch-ic{width:3rem;height:3rem;border-radius:999rem;background:var(--ink);color:#fff;display:grid;place-items:center;transition:.28s;}
.get-touch-ic svg{width:1.2rem;height:1.2rem;transition:transform .28s;}
.get-touch:hover .get-touch-ic svg{transform:translateX(.2rem);}

/* ====== Footer ====== */
.footer-sns{display:flex;gap:.7rem;}
.footer-sns a{width:2.7rem;height:2.7rem;border-radius:999rem;border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;color:rgba(255,255,255,.7);transition:.22s;}
.footer-sns a:hover{background:var(--clean);border-color:var(--clean);color:var(--ink);}
.foot-select{appearance:none;-webkit-appearance:none;width:100%;max-width:22rem;height:3rem;border-radius:.7rem;background:rgba(255,255,255,.06) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2315d6c1' stroke-width='2'><path d='M4 6l4 4 4-4'/></svg>") no-repeat right 1rem center;border:1px solid rgba(255,255,255,.16);padding:0 2.5rem 0 1rem;color:#fff;font-weight:700;font-size:.9rem;cursor:pointer;}
.foot-select option{color:#111;}

/* ====== Fullscreen Nav Overlay ====== */
.nav-overlay{position:fixed;inset:0;z-index:60;background:var(--ink);transform:translateY(-100%);transition:transform .5s cubic-bezier(.76,0,.24,1);display:flex;flex-direction:column;overflow-y:auto;}
.nav-overlay.open{transform:translateY(0);}
.nav-overlay-bar{height:4.5rem;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
@media (min-width:768px){.nav-overlay-bar{height:5.5rem;}}
.ov-close{width:2.9rem;height:2.9rem;border-radius:999rem;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;color:#fff;transition:.22s;}
.ov-close:hover{background:var(--clean);border-color:var(--clean);color:var(--ink);transform:rotate(90deg);}
.ov-close svg{width:1.3rem;height:1.3rem;}
.nav-overlay-body{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.5rem;align-content:center;padding-top:2rem;padding-bottom:2rem;}
@media (min-width:768px){.nav-overlay-body{grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5rem;}}
.ov-col h3{font-family:'Inter',sans-serif;font-size:1.5rem;font-weight:900;color:#fff;letter-spacing:-.03em;margin-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:.7rem;}
@media (min-width:768px){.ov-col h3{font-size:1.9rem;}}
.ov-col a{display:block;padding:.5rem 0;font-size:.95rem;font-weight:600;color:rgba(255,255,255,.55);transition:.2s;}
.ov-col a:hover{color:var(--clean);padding-left:.5rem;}
.nav-overlay-foot{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.5rem;padding-bottom:2rem;border-top:1px solid rgba(255,255,255,.1);}
.ov-contact{display:inline-flex;align-items:center;gap:.7rem;font-family:'Inter',sans-serif;font-size:1.6rem;font-weight:900;color:#fff;letter-spacing:-.03em;transition:.2s;}
.ov-contact:hover{color:var(--clean);}
.ov-contact svg{width:1.3rem;height:1.3rem;}

/* ====== Popup ====== */
.popup-wrap{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(10,11,12,.7);backdrop-filter:blur(4px);padding:1.25rem;}
.popup-wrap.hidden{display:none;}
.popup-card{width:min(92vw,26rem);border-radius:1.4rem;overflow:hidden;background:var(--ink-2);box-shadow:0 2rem 5rem rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.08);}
.popup-visual{height:9rem;background-image:url("https://images.unsplash.com/photo-1628177142898-93e36e4e3a50?auto=format&fit=crop&w=900&q=80");background-size:cover;background-position:center;}
.popup-body{padding:1.6rem 1.6rem 1.9rem;}
.popup-eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.22em;}
.popup-apply{display:inline-flex;align-items:center;gap:.5rem;background:var(--clean);color:var(--ink);font-weight:900;padding:.8rem 1.4rem;border-radius:999rem;font-size:.92rem;transition:.22s;}
.popup-apply svg{width:1rem;height:1rem;}
.popup-apply:hover{transform:translateY(-.15rem);}
.popup-bar{width:min(92vw,26rem);display:flex;align-items:center;justify-content:space-between;margin-top:.7rem;background:rgba(255,255,255,.06);border-radius:.9rem;padding:.35rem .5rem;}
.popup-today,.popup-close{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:700;color:rgba(255,255,255,.7);padding:.55rem .8rem;border-radius:.6rem;transition:.18s;}
.popup-today:hover,.popup-close:hover{color:#fff;background:rgba(255,255,255,.08);}
.popup-today .chk{width:1.1rem;height:1.1rem;border-radius:.3rem;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;}
.popup-today .chk svg{width:.8rem;height:.8rem;opacity:0;color:var(--clean);}
.popup-today.on .chk{border-color:var(--clean);}
.popup-today.on .chk svg{opacity:1;}
.popup-close svg{width:.95rem;height:.95rem;}

/* ====== Top Button ====== */
.top-btn{position:fixed;right:1.25rem;bottom:1.25rem;z-index:55;width:3rem;height:3rem;border-radius:999rem;background:var(--clean);color:var(--ink);display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(.6rem);transition:.28s;box-shadow:0 .6rem 1.6rem rgba(21,214,193,.35);}
.top-btn.show{opacity:1;visibility:visible;transform:translateY(0);}
.top-btn svg{width:1.25rem;height:1.25rem;}

/* ====== AOS 폴백(브라우저 CDN stale 시 IO로 등장 보강) ====== */
[data-aos]{opacity:0;transform:translateY(1.4rem);transition:opacity .6s ease,transform .6s ease;}
[data-aos].in-view,[data-aos].aos-animate{opacity:1;transform:none;}

/* 아이콘 정렬 고정 — '밀림' 방지 */
svg[data-lucide]{display:inline-block;vertical-align:middle;}
.fa-solid,.fa-brands,.fa-regular{line-height:1;vertical-align:middle;}

/* 320 이하 미세 조정 */
@media (max-width:374px){
  .ps-area{padding-left:1rem;padding-right:1rem;}
  .net-grid{gap:.5rem;}
  .stat-row{grid-template-columns:minmax(0,1fr) auto;gap:.6rem;}
  .stat-ic{display:none;}
}
