.pt-fixed-logo .site-title,.pt-menu-logo .site-title{margin:0;line-height:1;font-size:clamp(18px,2.2vw,22px);font-weight:800}

.pt-menu-logo{margin-right:16px;list-style:none}

.ct-header,.site-header,.header-inner,nav .menu,.main-navigation .menu{align-items:center}

#pt-main{--ink:#0f172a;--ink-2:#475569;--line:#e5e7eb;--muted:#64748b;--bg:#fff;--bg-sub:#f7f9fc;--card:#fff;--brand:#2563eb;--brand-2:#3b82f6;--shadow:0 10px 30px rgba(2,6,23,.08);--max:1200px;--radius:16px;--gap:16px}

#pt-main *{box-sizing:border-box}

#pt-main img{max-width:100%;height:auto;display:block}

#pt-main a{text-decoration:none;color:inherit}

#pt-main button,#pt-main summary{cursor:pointer}

#pt-main .container{max-width:var(--max);margin:0 auto;padding:28px 18px}

#pt-main .section{background:var(--bg);overflow-x:hidden;padding:30px 0 20px}

#pt-main .section.alt{background:var(--bg-sub)}

#pt-main .sec-title{position:relative;display:flex;align-items:flex-end;gap:10px;margin:0 0 20px;font-size:1.45rem;line-height:1.22;color:var(--ink)}

#pt-main .sec-title:after{content:"";position:absolute;left:0;bottom:-10px;width:54px;height:3px;background:linear-gradient(90deg,var(--brand),rgba(37,99,235,0));border-radius:999px}

#pt-main .sec-kicker{margin:0 0 16px;color:var(--muted);line-height:1.6;font-size:.9rem}

#pt-main .points{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none}

#pt-main .points li{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:.92rem}

#pt-main .card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}

#pt-main .grid{display:grid;gap:var(--gap)}

#pt-main .flow>*+*{margin-top:10px}

#pt-main small.sub{color:var(--muted)}

#pt-main .ttl{font-weight:700;font-size:1.125rem;line-height:1.3;margin:6px 0 0;color:var(--ink)}

#pt-main .reveal{opacity:0;transform:translateY(14px);animation:ptReveal .7s ease-out forwards}

#pt-main .anim-up{opacity:0;transform:translateY(12px);animation:ptAnimUp .7s ease-out .08s forwards}

#pt-main .anim-right{opacity:0;transform:translateX(14px);animation:ptAnimRight .7s ease-out .14s forwards}

#pt-main .anim-delay-1{animation-delay:.12s}

#pt-main .anim-delay-2{animation-delay:.24s}

#pt-main .anim-delay-3{animation-delay:.36s}

@media (prefers-reduced-motion:reduce){#pt-main .reveal,#pt-main .anim-up,#pt-main .anim-right{animation:none;opacity:1;transform:none}}

#pt-main .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 18px;border-radius:999px;font-weight:800;border:1px solid rgba(255,255,255,.14);box-shadow:0 6px 18px rgba(0,0,0,.22)}

#pt-main .btn--tel{background:var(--brand);color:#fff;border-color:transparent}

#pt-main .btn--kakao{background:#FEE500;color:#191600;border-color:rgba(0,0,0,.18)}

#pt-main .btn--naver{background:#03C75A;color:#fff;border-color:rgba(0,0,0,.12)}

#pt-main .btn:hover{filter:brightness(.98)}

#pt-main #sec-notice .card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid rgba(148,163,184,.25)}

#pt-main #sec-notice .card .ntc{background:#fff;border:1px solid rgba(226,232,240,.7);border-radius:14px;padding:14px 14px 12px;box-shadow:0 8px 24px rgba(15,23,42,.02)}

#pt-main #sec-notice .card .ntc h3{font-size:.95rem;margin:0 0 6px;color:var(--ink)}

#pt-main #sec-notice .card .ntc p{margin:0;font-size:.78rem;line-height:1.55;color:#475569}

@media(max-width:980px){#pt-main #sec-notice .card{grid-template-columns:1fr}}

#pt-main #sec-process .cards{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;padding:0 18px 8px;margin:0 -18px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}

#pt-main #sec-process .cards>article{flex:0 0 300px;background:#fff;border:1px solid rgba(148,163,184,.3);border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.02);min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:10px;scroll-snap-align:center;overflow:visible}

#pt-main #sec-process .cards>article img{max-width:74px;max-height:74px;margin:10px auto 0;display:block;border-radius:999px;object-fit:cover}

#pt-main #sec-process .cards>article .ttl{margin-top:4px;font-size:.9rem;line-height:1.35;color:#0f172a}

#pt-main #sec-process .cards>article p{font-size:.78rem;line-height:1.5;color:#475569;padding:0 8px 14px}

@media(min-width:1200px){#pt-main #sec-process .cards>article{flex:0 0 320px}}

#pt-main #sec-faq .card{background:#fff;border:1px solid rgba(148,163,184,.35);box-shadow:0 10px 30px rgba(15,23,42,.03);border-radius:16px}

#pt-main #sec-faq details{border:0;border-bottom:1px solid #edf2f7;border-radius:0;padding:12px 4px}

#pt-main #sec-faq details:last-child{border-bottom:0}

#pt-main #sec-faq summary{font-weight:600;color:#0f172a;font-size:.9rem}

#pt-main #sec-faq p{font-size:.8rem;color:#475569}

#pt-main #sec-cta .shell{display:grid;gap:18px;grid-template-columns:1.15fr .85fr;align-items:stretch}

@media(max-width:980px){#pt-main #sec-cta .shell{grid-template-columns:1fr}}

#pt-main #sec-cta .card{border:1px solid rgba(148,163,184,.25);box-shadow:0 12px 28px rgba(15,23,42,.03);border-radius:16px;background:#fff!important}

#pt-main .btn-cta{height:50px;border-radius:14px;border:1px solid var(--brand-2);background:linear-gradient(180deg,var(--brand),var(--brand-2));color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800}

#pt-main .sec-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end}

#pt-main .sec-more{white-space:nowrap;font-size:.8rem;border:1px solid rgba(148,163,184,.4);border-radius:999px;padding:6px 14px;background:#fff}

#pt-main .pt-reviews-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;margin:0 -18px;padding:0 18px 6px}

#pt-main .pt-review-card{flex:0 0 280px;background:#fff;border:1px solid rgba(148,163,184,.25);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-height:230px;box-shadow:0 6px 18px rgba(15,23,42,.02);scroll-snap-align:start}

#pt-main .pt-review-card>a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}

#pt-main .pt-review-card .thumb{width:100%;aspect-ratio:16/9;background:#e2e8f0;overflow:hidden}

#pt-main .pt-review-card .thumb img{width:100%;height:100%;object-fit:cover;display:block}

#pt-main .pt-review-card .body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:5px}

#pt-main .pt-review-card .ttl{font-size:.9rem;line-height:1.35;margin:0;color:#0f172a}

#pt-main .pt-review-card .meta{font-size:.7rem;color:#94a3b8}

#pt-main .pt-review-card .desc{font-size:.78rem;line-height:1.5;color:#475569;margin:0}

#pt-main #quick{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(2,6,23,.07)}

#pt-main #quick .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}

#pt-main #quick a{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid var(--line);border-radius:12px;font-weight:800}

#pt-main #toc{position:sticky;top:0;z-index:20;background:linear-gradient(180deg,#ffffffee,#ffffffcc);backdrop-filter:saturate(140%) blur(6px);border-bottom:1px solid #eef2f7}

#pt-main #toc .scroll{display:flex;gap:8px;overflow:auto;padding:10px 18px}

#pt-main #toc a{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:700;white-space:nowrap}

#pt-main a:focus-visible{outline:2px solid #bfdbfe;outline-offset:2px;border-radius:8px}

#pt-main table{width:100%}

#pt-main ul{padding-left:18px}

/* 0) 메인 래퍼 공통 토큰 + 기본 설정 */

#pt-main{
  --ink:#0f172a;
  --ink-2:#475569;
  --line:#e5e7eb;
  --muted:#64748b;
  --bg:#fff;
  --bg-sub:#f7f9fc;
  --card:#fff;
  --brand:#2563eb;
  --brand-2:#3b82f6;
  --shadow:0 10px 30px rgba(2,6,23,.08);
  --max:1200px;
  --radius:16px;
  --gap:16px;
}

#pt-main *{
  box-sizing:border-box;
}

#pt-main img{
  max-width:100%;
  height:auto;
  display:block;
}

#pt-main a{
  text-decoration:none;
  color:inherit;
}

/* 각 섹션 공통 패딩 */

#pt-main > .section{
  width:100%;
  padding:40px 0;
}

@keyframes ptReveal{to{opacity:1;transform:none}}

@keyframes ptAnimUp{to{opacity:1;transform:none}}

@keyframes ptAnimRight{to{opacity:1;transform:none}}

@keyframes ptFadeHero{0%,30%{opacity:1}33%,100%{opacity:0}}

@keyframes ptRsvSlide{0%{transform:translateY(0)}100%{transform:translateY(-50%)}}

@keyframes pt-fadeup{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* 3) 이미지/텍스트 공통 키프레임 */

@keyframes ptHeroFade{
  0%,30%{
    opacity:1;
  }
  33.34%,100%{
    opacity:0;
  }
}

/* 한 사이클 18초: 각 슬라이드 6초씩 노출 */

@keyframes heroFade1 {
  0%, 33%   { opacity: 1; }
  38%, 100% { opacity: 0; }
}

@keyframes heroFade2 {
  0%, 33%   { opacity: 0; }
  38%, 66%  { opacity: 1; }
  71%, 100% { opacity: 0; }
}

@keyframes heroFade3 {
  0%, 66%   { opacity: 0; }
  71%, 100% { opacity: 1; }
}

#pt-main #hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;border-radius:24px;margin:16px 18px 0}

#pt-main #hero .media{position:absolute;inset:0;z-index:-2}

#pt-main #hero .media:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.6),rgba(0,0,0,.24) 40%,rgba(0,0,0,.7));z-index:1}

#pt-main #hero .slides{position:absolute;inset:0;z-index:0}

#pt-main #hero .slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:ptFadeHero 24s infinite;opacity:0}

#pt-main #hero .slides img:nth-child(1){animation-delay:0s}

#pt-main #hero .slides img:nth-child(2){animation-delay:8s}

#pt-main #hero .slides img:nth-child(3){animation-delay:16s}

@media (prefers-reduced-motion:reduce){#pt-main #hero .slides img{animation:none;opacity:1}}

#pt-main #hero .inner{position:relative;z-index:2;display:grid;place-items:center;min-height:58vh;padding:44px 18px}

#pt-main #hero .panel{display:grid;gap:10px;place-items:center;text-align:center;background:rgba(15,23,42,.46);border:1px solid rgba(255,255,255,.12);padding:20px 24px;border-radius:18px;backdrop-filter:saturate(125%) blur(6px);box-shadow:0 12px 36px rgba(0,0,0,.28)}

#pt-main #hero h1,#pt-main #hero h2{margin:0;font-size:clamp(28px,5.8vw,44px);letter-spacing:-.015em;text-shadow:0 2px 28px rgba(0,0,0,.45);color:#fff}

#pt-main #hero p.lead{margin:0 0 6px;color:#f8fafc}

#pt-main #hero .cta{display:flex;flex-wrap:wrap;gap:10px 12px;width:100%;max-width:780px;justify-content:center}

@media (max-width:600px){#pt-main #hero .cta .btn{flex:1 1 100%;height:52px;padding:0 16px}}

/* 히어로 전체 컨테이너 */

#pt-main #sec-hero {
  margin-bottom: 32px;
}

#pt-main #hero {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  background: #020617; /* 딥네이비 톤 배경 */
  color: #f9fafb;
}

/* 배경 이미지 슬라이드 레이어 */

#pt-main #hero .media.slides {
  position: absolute;
  inset: 0;
  z-index: 0;
}

#pt-main #hero .media.slides img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.7s ease-in-out;
}

/* 텍스트를 읽기 쉽게 하는 오버레이 */

#pt-main #hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(15,23,42,0.9), rgba(15,23,42,0.4), rgba(15,23,42,0.1));
  z-index: 0;
}

/* 텍스트 쪽 래퍼 */

#pt-main #hero .inner {
  position: relative;
  z-index: 1;
  padding: 32px 24px;
}

@media (min-width: 768px) {
  #pt-main #hero .inner {
    padding: 48px 40px;
  }
}

/* === H1 세로 나열 방지 핵심 부분 === */

#pt-main #hero .hero-text-slides {
  position: relative;
  min-height: 120px; /* 슬라이드 바뀔 때 높이 튀는 것 방지 */
}

/* 기본: 모든 슬라이드는 겹쳐 놓고 숨김 */

#pt-main #hero .hero-text {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
}

/* H1 기본 타이포 */

#pt-main #hero h1 {
  margin: 0 0 12px;
  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.35;
}

/* 리드 문단 */

#pt-main #hero .lead {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: #e2e8f0;
}

/* 버튼 그룹 */

#pt-main #hero .cta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

#pt-main #hero .cta .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  border: 1px solid rgba(148, 163, 184, 0.6);
  background: rgba(15,23,42,0.6);
  color: #e5e7eb;
  text-decoration: none;
  backdrop-filter: blur(6px);
}

#pt-main #hero .cta .btn--naver {
  border-color: #22c55e;
}

#pt-main #hero .cta .btn--kakao {
  border-color: #facc15;
}

/* 최종 업데이트 라벨 */

#pt-main #hero .lastmod {
  display: block;
  margin-top: 16px;
  font-size: 12px;
  color: #cbd5f5;
}

/* 텍스트 슬라이드 3장에 적용 */

#pt-main #hero .hero-text-1 {
  animation: heroFade1 18s infinite;
}

#pt-main #hero .hero-text-2 {
  animation: heroFade2 18s infinite;
}

#pt-main #hero .hero-text-3 {
  animation: heroFade3 18s infinite;
}

/* 이미지 3장에 동일한 패턴으로 적용 */

#pt-main #hero .media.slides img:nth-child(1) {
  animation: heroFade1 18s infinite;
}

#pt-main #hero .media.slides img:nth-child(2) {
  animation: heroFade2 18s infinite;
}

#pt-main #hero .media.slides img:nth-child(3) {
  animation: heroFade3 18s infinite;
}

/* 모바일에서 너무 높게 늘어나지 않도록 보정 */

@media (max-width: 767px) {
  #pt-main #hero {
    border-radius: 0;
  }
}

/* 2) 기존 #hero 구조(직접 HTML 넣은 버전) */

/* 지금 사이트에 들어간 id="hero" 버전도 같은 톤으로 맞춤 */

#pt-main #hero{
  position:relative;
  overflow:hidden;
  background:#020617;
  color:#ffffff;
}

#pt-main #hero .media{
  position:absolute;
  inset:0;
  overflow:hidden;
  z-index:0;
}

#pt-main #hero .media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.04);
  opacity:0;
}

#pt-main #hero .media img:first-child{
  opacity:1;
}

#pt-main #hero .media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    120deg,
    rgba(15,23,42,.96) 0%,
    rgba(15,23,42,.80) 35%,
    rgba(15,23,42,.55) 70%,
    rgba(15,23,42,.22) 100%
  );
}

#pt-main #hero .inner{
  position:relative;
  z-index:1;
  max-width:var(--max, 1200px);
  margin:0 auto;
  padding:80px 16px 96px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

#pt-main #hero .panel{
  max-width:720px;
}

/* hero-text 슬라이드: 기본은 1번 항상 보이기 */

#pt-main #hero .hero-text-slides{
  position:relative;
  min-height:180px;
}

#pt-main #hero .hero-text{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  opacity:0;
}

#pt-main #hero .hero-text-1{
  opacity:1;
}

/* H1/설명 공통 스타일 */

#pt-main #hero h1{
  margin:0 0 16px;
  font-size:clamp(26px, 3vw, 38px);
  line-height:1.35;
  font-weight:800;
  color:#ffffff;
  word-break:keep-all;
  overflow-wrap:break-word;
}

#pt-main #hero .lead{
  margin:0;
  font-size:clamp(15px, 1.7vw, 18px);
  line-height:1.7;
  color:#e5e7eb;
}

/* CTA 버튼 (네이버카페 / 유선상담 / 카카오톡) */

#pt-main #hero .cta{
  margin-top:28px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}

#pt-main #hero .cta .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border-radius:999px;
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}

#pt-main #hero .btn--naver{
  background:#03c75a;
  color:#ffffff;
}

#pt-main #hero .btn--tel{
  background:#0f172a;
  color:#e5e7eb;
  border:1px solid rgba(148,163,184,.7);
}

#pt-main #hero .btn--kakao{
  background:#fee500;
  color:#171717;
}

/* 업데이트 날짜 (#hero 버전) */

#pt-main #hero .lastmod{
  display:block;
  margin-top:16px;
  font-size:12px;
  color:#cbd5f5;
  text-align:right;
}

/* 2) 기존 모바일/PC 좌우 여백 제거 */

#pt-main #hero{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

#pt-main.phonetech-main,.phonetech-main *{box-sizing:border-box}

.phonetech-main img{max-width:100%;height:auto;display:block}

.phonetech-main{--ink:#0f172a;--ink-sub:#475569;--bg:#f8fafc;--card:#ffffff;--line:#e5e7eb;--accent:#2563eb;--accent-soft:#dbeafe;--accent-strong:#1d4ed8;--kakao:#fee500;--naver:#03c75a;--tel:#0f172a;--radius:18px;--shadow:0 14px 40px rgba(15,23,42,.16);--max:1200px;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;line-height:1.6;width:100%;margin:0 auto}

.phonetech-main section{margin:0;padding:0}

.phonetech-main #hero{position:relative;overflow:hidden;background:#020617;color:#f9fafb}

.phonetech-main #hero .media.slides{position:absolute;inset:0;z-index:0;display:grid}

.phonetech-main #hero .media.slides img{grid-area:1/1;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.03);transition:opacity 1s ease,transform 6s ease}

.phonetech-main #hero .media.slides img:first-child{opacity:1;transform:scale(1.01)}

.phonetech-main #hero .inner{position:relative;z-index:1;max-width:var(--max);margin:0 auto;padding:clamp(40px,6vw,64px) clamp(16px,3vw,24px)}

.phonetech-main #hero .panel{max-width:640px;background:linear-gradient(135deg,rgba(15,23,42,.92),rgba(15,23,42,.86));border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(24px,3vw,32px)}

.phonetech-main #hero h2{margin:0 0 12px;font-size:clamp(24px,3vw,30px);line-height:1.25}

.phonetech-main #hero .lead{margin:0 0 20px;font-size:15px;color:#e5e7eb}

.phonetech-main #hero .lead strong{color:#bfdbfe}

.phonetech-main .cta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}

.phonetech-main .btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border-radius:999px;font-size:14px;font-weight:600;text-decoration:none;border:1px solid transparent;white-space:nowrap}

.phonetech-main .btn--kakao{background:var(--kakao);color:#111827;border-color:#eab308}

.phonetech-main .btn--naver{background:var(--naver);color:#ffffff;border-color:#16a34a}

.phonetech-main .btn--tel{background:#0f172a;color:#f9fafb;border-color:#020617}

.phonetech-main .btn:hover{filter:brightness(1.03)}

.phonetech-main .lastmod{display:block;margin-top:4px;font-size:12px;color:#9ca3af}

.phonetech-main .pt-body{max-width:var(--max);margin:0 auto;padding:clamp(28px,4vw,40px) clamp(16px,3vw,24px) clamp(40px,5vw,56px)}

.phonetech-main .pt-sec{background:var(--card);border-radius:var(--radius);box-shadow:0 1px 0 rgba(148,163,184,.3);border:1px solid var(--line);padding:clamp(20px,3vw,26px);margin-bottom:20px}

.phonetech-main .pt-sec h2{margin:0 0 10px;font-size:18px;line-height:1.4}

.phonetech-main .pt-sec p{margin:6px 0;font-size:14px;color:var(--ink-sub)}

.phonetech-main .pt-list{margin:10px 0 4px;padding-left:18px;font-size:14px;color:var(--ink-sub)}

.phonetech-main .pt-list li{margin:3px 0}

.phonetech-main .pt-note{margin-top:12px;font-size:12px;color:#6b7280}

.phonetech-main .pt-list-cards{display:grid;gap:12px}

.phonetech-main .pt-card{border-radius:14px;border:1px solid var(--line);background:#f9fafb;padding:14px 16px}

.phonetech-main .pt-card h3{margin:0 0 6px;font-size:15px}

.phonetech-main .pt-card p{margin:0;font-size:14px;color:var(--ink-sub)}

.phonetech-main .pt-table-wrap{margin-top:8px;overflow-x:auto}

.phonetech-main .pt-table{width:100%;border-collapse:collapse;font-size:14px}

.phonetech-main .pt-table th,.phonetech-main .pt-table td{padding:8px 10px;border:1px solid var(--line);text-align:left;white-space:nowrap}

.phonetech-main .pt-table th{background:#eff6ff;font-weight:600}

.phonetech-main .pt-faq details{border-radius:12px;border:1px solid var(--line);background:#f9fafb;margin-bottom:8px;padding:10px 12px}

.phonetech-main .pt-faq summary{list-style:none;cursor:pointer;font-size:14px;font-weight:600;color:var(--ink)}

.phonetech-main .pt-faq summary::-webkit-details-marker{display:none}

.phonetech-main .pt-faq details[open]{background:#eef2ff;border-color:#c7d2fe}

.phonetech-main .pt-faq details p{margin:8px 0 4px;font-size:14px;color:var(--ink-sub)}

.phonetech-main .reveal{opacity:1;transform:translateY(0)}

.phonetech-main .anim-up{animation:pt-fadeup .6s ease-out 0s 1}

@media(max-width:768px){.phonetech-main #hero .panel{padding:18px 16px}.phonetech-main .pt-sec{padding:16px 14px}.phonetech-main .pt-card{padding:12px 12px}}

.phonetech-main .pt-body .sec-head{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:16px}

.phonetech-main .pt-body h2{margin:0 0 8px;font-size:18px;line-height:1.4;color:var(--ink)}

.phonetech-main .pt-body h2+p:not(.lead){position:relative;margin:0 0 18px;padding:10px 12px 10px 14px;border-left:3px solid var(--accent);background:linear-gradient(90deg,rgba(219,234,254,.9),rgba(219,234,254,0));font-size:14px;color:var(--ink-sub);max-width:860px}

/* 섹션 서브 설명 하이라이트 */

#pt-main h2+p:not(.lead),
  .phonetech-main h2+p:not(.lead){
    position:relative;
    padding:8px 12px;
    margin:4px 0 14px;
    font-size:.9rem;
    line-height:1.6;
    color:#64748b;
    background:linear-gradient(90deg,rgba(37,99,235,.06),rgba(248,250,252,0));
    border-radius:999px;
  }

@media(max-width:768px){
    #pt-main h2+p:not(.lead),
    .phonetech-main h2+p:not(.lead){
      margin-bottom:12px;
    }
  }

/* 히어로 전체(화이트 카드) */

.phonetech-main #hero {
  position: relative;
  background: #ffffff;
  color: var(--ink, #0f172a);
}

.phonetech-main #hero .inner {
  max-width: var(--max, 1200px);
  margin: 0 auto;
  padding: clamp(32px, 4vw, 40px) clamp(16px, 3vw, 24px);
}

.phonetech-main #hero .panel {
  max-width: 100%;
  background: #ffffff;
  border-radius: var(--radius, 18px);
  border: 1px solid var(--line, #e5e7eb);
  box-shadow: 0 10px 30px rgba(15,23,42,.05);
  padding: clamp(20px, 3vw, 26px);
}

/* 제목 + 리드 */

.phonetech-main #hero .pt-hero-head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}

.phonetech-main #hero .pt-hero-title {
  margin: 0;
  font-size: clamp(22px, 3vw, 28px);
  line-height: 1.3;
}

.phonetech-main #hero .lead {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--ink-sub, #475569);
}

/* 캐러셀 래퍼 */

.phonetech-main #hero .pt-hero-carousel {
  margin: 8px 0 18px;
}

/* 상담 섹션 여백 */

.phonetech-main #hero .pt-hero-cta {
  margin-top: 10px;
}

.phonetech-main #hero .cta {
  margin-bottom: 6px;
}

.phonetech-main #hero .lastmod {
  display: block;
  font-size: 12px;
  color: #6b7280;
}

/* 텍스트 래퍼: 겹치기 기준점 */

#pt-main #hero .hero-text-slides,
.phonetech-main #hero .hero-text-slides{
  position: relative;
  min-height: 7em; /* 필요하면 높이 조절 */
}

/* 각 슬라이드(H1 + lead)를 겹쳐놓고 opacity로만 제어 */

#pt-main #hero .hero-text,
.phonetech-main #hero .hero-text{
  position: absolute;
  inset: 0;
  opacity: 0;
  animation: ptFadeHero 24s infinite;
}

/* 1번 / 2번 / 3번 타이밍 – 이미지와 동일하게 0 / 8 / 16초 */

#pt-main #hero .hero-text-1,
.phonetech-main #hero .hero-text-1{
  animation-delay: 0s;
}

#pt-main #hero .hero-text-2,
.phonetech-main #hero .hero-text-2{
  animation-delay: 8s;
}

#pt-main #hero .hero-text-3,
.phonetech-main #hero .hero-text-3{
  animation-delay: 16s;
}

/* 안쪽 여백 정리 */

#pt-main #hero .hero-text h1,
.phonetech-main #hero .hero-text h1{
  margin: 0 0 12px;
}

#pt-main #hero .hero-text .lead,
.phonetech-main #hero .hero-text .lead{
  margin: 0 0 16px;
}

/* ============================
 * 메인(#pt-main)에서
 * .phonetech-main 쪽 첫번째 이미지 고정 규칙 무효화
 * ============================ */

/* .phonetech-main #hero .media.slides img:first-child { opacity:1; ... }
   이 규칙 때문에 1번 이미지만 계속 보이던 걸 덮어씀 */

#pt-main #hero .media.slides img:first-child{
  opacity: 0;            /* 기본값으로 돌려놓고 */
  transform: scale(1.03); /* 필요하면 원래 값 유지 */
}

/* ==========================================
 * 폰테크 메인 히어로
 * - 이미지 3장 + 텍스트 3세트 동기 슬라이드
 * - #pt-main / .phonetech-main 모두 대응
 * ========================================== */

/* 1) 배경 이미지: .media.slides 재정의 */

#pt-main #hero .media.slides,
.phonetech-main #hero .media.slides{
  position:absolute;
  inset:0;
  z-index:-2;
}

/* 이미지 3장 공통 스타일 + 애니메이션 강제 */

#pt-main #hero .media.slides img,
.phonetech-main #hero .media.slides img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  animation:ptHeroFade 24s infinite !important;
}

/* 각 이미지 타이밍 (0 / 8 / 16초) */

#pt-main #hero .media.slides img:nth-child(1),
.phonetech-main #hero .media.slides img:nth-child(1){
  animation-delay:0s !important;
}

#pt-main #hero .media.slides img:nth-child(2),
.phonetech-main #hero .media.slides img:nth-child(2){
  animation-delay:8s !important;
}

#pt-main #hero .media.slides img:nth-child(3),
.phonetech-main #hero .media.slides img:nth-child(3){
  animation-delay:16s !important;
}

/* 2) 텍스트 3세트: hero-text 슬라이드 */

#pt-main #hero .hero-text-slides,
.phonetech-main #hero .hero-text-slides{
  position:relative;
  min-height:7.5em; /* 문구 높이 확보 */
}

/* 각 세트는 서로 겹쳐놓고 opacity로만 제어 */

#pt-main #hero .hero-text,
.phonetech-main #hero .hero-text{
  position:absolute;
  inset:0;
  opacity:0;
  animation:ptHeroFade 24s infinite;
}

/* 텍스트 타이밍도 이미지와 동일 (0 / 8 / 16초) */

#pt-main #hero .hero-text-1,
.phonetech-main #hero .hero-text-1{
  animation-delay:0s;
}

#pt-main #hero .hero-text-2,
.phonetech-main #hero .hero-text-2{
  animation-delay:8s;
}

#pt-main #hero .hero-text-3,
.phonetech-main #hero .hero-text-3{
  animation-delay:16s;
}

/* 여백/가독성 정리 */

#pt-main #hero .hero-text h1,
.phonetech-main #hero .hero-text h1{
  margin:0 0 12px;
}

#pt-main #hero .hero-text .lead,
.phonetech-main #hero .hero-text .lead{
  margin:0 0 16px;
}

/* 히어로 박스/텍스트 래퍼에 남아 있는 회전/세로쓰기 싹 제거 */

#pt-main #hero,
#pt-main #hero > *,
#pt-main #hero .panel,
#pt-main #hero .pt-hero-head,
#pt-main #hero .hero-text-slides,
#pt-main #hero .hero-text,
.phonetech-main #hero,
.phonetech-main #hero > *,
.phonetech-main #hero .panel,
.phonetech-main #hero .pt-hero-head,
.phonetech-main #hero .hero-text-slides,
.phonetech-main #hero .hero-text {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  transform: none !important;
}

/* H1 안에 글자 하나씩 쪼개진 span 이 있어도 강제로 가로 한 줄로 */

#pt-main #hero h1,
#pt-main #hero h1 *,
.phonetech-main #hero h1,
.phonetech-main #hero h1 * {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  transform: none !important;
  display: inline !important;
  white-space: normal !important;
  word-break: keep-all !important;
}

/* 컨테이너 */

#pt-main .pt-hero-main,
.phonetech-main .pt-hero-main{
  position:relative;
  max-width:var(--max, 1200px);
  margin:24px auto 32px;
  padding:clamp(28px,4vw,40px) clamp(18px,3vw,28px);
  border-radius:18px;
  overflow:hidden;
  background:#020617;
  color:#f9fafb;
  box-shadow:0 18px 45px rgba(15,23,42,.35);
}

@media (max-width:768px){
  #pt-main .pt-hero-main,
  .phonetech-main .pt-hero-main{
    margin:16px 12px 24px;
    border-radius:14px;
    padding:24px 16px 26px;
  }
}

/* 혹시 상위 writing-mode 꼬였을 때 방지 */

#pt-main .pt-hero-main,
#pt-main .pt-hero-main *{
  writing-mode:horizontal-tb;
  text-orientation:mixed;
}

.phonetech-main .pt-hero-main,
.phonetech-main .pt-hero-main *{
  writing-mode:horizontal-tb;
  text-orientation:mixed;
}

/* 1) 히어로 자체를 화면 끝까지 확장 */

#pt-main #hero,
.phonetech-main #hero,
#pt-hero-main{
  position:relative !important;
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  left:auto !important;
  right:auto !important;
  border-radius:0 !important;
  overflow:hidden !important;
}

/* 3) 히어로 내부 콘텐츠는 읽기 좋게 중앙 고정 */

#pt-main #hero .inner,
.phonetech-main #hero .inner,
#pt-hero-main .main-visual,
#pt-hero-main .contain{
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* 4) 모바일에서 내부 패딩만 최소 유지 */

@media (max-width:767px){
  #pt-main #hero .inner,
  .phonetech-main #hero .inner{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  #pt-hero-main .main-visual,
  #pt-hero-main .contain{
    padding-left:14px !important;
    padding-right:14px !important;
  }
}

/* 8) 모바일에서 좌우 끝 보이는 현상 한 번 더 차단 */

@media (max-width:767px){
  html, body{
    overflow-x:hidden;
  }

  #pt-main,
  .phonetech-main{
    overflow-x:hidden !important;
  }

  #pt-main #hero,
  .phonetech-main #hero,
  #pt-hero-main{
    min-width:100vw !important;
  }
}

/* 실제 사용 중인 히어로 구조: .pt-hero-main + 기존 #hero 둘 다 처리 */

#pt-main .pt-hero-main,
.phonetech-main .pt-hero-main,
#pt-main #hero,
.phonetech-main #hero{
  position:relative !important;
  left:50% !important;
  right:auto !important;
  width:100vw !important;
  max-width:100vw !important;
  min-width:100vw !important;
  transform:translateX(-50%) !important;
  margin:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

/* .pt-hero-main 쪽 원래 좌우 패딩/여백 제거 */

#pt-main .pt-hero-main,
.phonetech-main .pt-hero-main{
  padding-left:0 !important;
  padding-right:0 !important;
}

/* 히어로 배경 레이어도 끝까지 */

#pt-main .pt-hero-main .pt-hero-bg,
.phonetech-main .pt-hero-main .pt-hero-bg,
#pt-main .pt-hero-main .pt-hero-bg .bg,
.phonetech-main .pt-hero-main .pt-hero-bg .bg,
#pt-main #hero .media,
.phonetech-main #hero .media,
#pt-main #hero .slides,
.phonetech-main #hero .slides{
  inset:0 !important;
  width:100% !important;
  max-width:none !important;
  overflow:hidden !important;
}

/* 내부 텍스트만 중앙 폭 유지 */

#pt-main .pt-hero-main .main-visual,
.phonetech-main .pt-hero-main .main-visual,
#pt-main .pt-hero-main .item .contain,
.phonetech-main .pt-hero-main .item .contain,
#pt-main #hero .inner,
.phonetech-main #hero .inner{
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:16px !important;
  padding-right:16px !important;
  box-sizing:border-box !important;
}

/* 모바일에서 마지막 1px~2px 슬리버까지 덮기 */

@media (max-width:767px){
  #pt-main .pt-hero-main,
  .phonetech-main .pt-hero-main,
  #pt-main #hero,
  .phonetech-main #hero{
    width:calc(100dvw + 2px) !important;
    max-width:calc(100dvw + 2px) !important;
    min-width:calc(100dvw + 2px) !important;
    transform:translateX(calc(-50% - 1px)) !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }

  #pt-main .pt-hero-main .main-visual,
  .phonetech-main .pt-hero-main .main-visual,
  #pt-main .pt-hero-main .item .contain,
  .phonetech-main .pt-hero-main .item .contain,
  #pt-main #hero .inner,
  .phonetech-main #hero .inner{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  html,body,
  #primary,
  .site,
  .site-main,
  .entry-content,
  .elementor,
  .elementor-section,
  .elementor-container,
  .elementor-column,
  .elementor-widget-wrap,
  .e-con,
  .e-con-inner{
    overflow-x:hidden !important;
  }
}

.card-badge,
  .feature-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    margin-right:10px;
    border-radius:10px;
    background:linear-gradient(135deg,#eef7f5 0%,#dfeee9 100%);
    color:#2f6b61;
    font-size:16px;
    font-weight:700;
    vertical-align:middle;
    box-shadow:0 8px 18px rgba(47,107,97,0.10);
  }

.card-title .card-badge,
  .feature-title .feature-badge{
    position:relative;
    top:-1px;
  }

.review-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:74px;
    height:32px;
    padding:0 12px;
    border-radius:999px;
    background:linear-gradient(135deg,#eef7f5 0%,#e5f0ec 100%);
    color:#2f6b61;
    font-size:12px;
    font-weight:700;
    letter-spacing:-0.01em;
    box-shadow:0 8px 18px rgba(47,107,97,0.08);
  }

.review-stars{
    display:flex;
    justify-content:flex-end;
    gap:2px;
    margin-top:8px;
    line-height:1;
    font-size:14px;
    color:#f1b51c;
  }

.review-stars span{
    display:inline-block;
  }

.reviewer-location{
    margin-top:6px;
  }

.review-content{
    word-break:keep-all;
  }

#pt-main .pt-rsv-wrap{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 12px 10px;margin:16px 18px 30px;box-shadow:0 6px 20px rgba(15,23,42,.03)}

#pt-main .pt-rsv-wrap,#pt-main .pt-rsv-wrap *{font-family:inherit;line-height:1.5;letter-spacing:-.01em}

#pt-main .pt-rsv-header{display:flex;flex-direction:column;gap:4px;margin:0 0 8px}

#pt-main .pt-rsv-title{position:relative;font-size:1.45rem;font-weight:700;margin:0 0 10px;color:#0f172a;line-height:1.22}

#pt-main .pt-rsv-title:after{content:"";position:absolute;left:0;bottom:-8px;width:54px;height:3px;background:linear-gradient(90deg,var(--brand),rgba(37,99,235,0));border-radius:999px}

#pt-main .pt-rsv-meta{font-size:.78rem;color:var(--muted);margin:0 0 8px}

#pt-main .pt-rsv-window{border-radius:10px;border:1px solid #e5e7eb;background:#fff;overflow:hidden}

#pt-main .pt-rsv-head,#pt-main .pt-rsv-row{display:grid;grid-template-columns:90px 60px 120px 80px 120px 80px minmax(160px,1fr);column-gap:8px;align-items:center;font-size:.8rem}

#pt-main .pt-rsv-head{padding:6px 10px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-weight:600;color:#4b5563}

#pt-main .pt-rsv-body{max-height:calc(5 * 40px);overflow:hidden}

#pt-main .pt-rsv-track{display:flex;flex-direction:column;animation:ptRsvSlide 28s linear infinite}

#pt-main .pt-rsv-row{padding:6px 10px;border-bottom:1px solid #f1f5f9;color:#111827}

#pt-main .pt-rsv-row:last-child{border-bottom:none}

#pt-main .pt-rsv-row .col-date,#pt-main .pt-rsv-row .col-time{font-variant-numeric:tabular-nums}

#pt-main .pt-rsv-row .col-region{font-weight:600}

#pt-main .pt-rsv-row .col-status{font-weight:600;color:var(--brand)}

#pt-main .pt-rsv-row .col-note{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

#pt-main .pt-rsv-window{overflow-x:auto}

#pt-main .pt-rsv-head,#pt-main .pt-rsv-row{min-width:720px}

@media(max-width:820px){#pt-main .pt-rsv-wrap{margin:16px 0 26px;border-left:0;border-right:0;border-radius:0}#pt-main .pt-rsv-body{max-height:calc(5 * 44px)}#pt-main .pt-rsv-meta{font-size:.74rem}}

.pt-rsv-archive{max-width:960px;margin:24px auto}

.pt-rsv-archive-title{font-size:1.4rem;font-weight:700;margin:0 0 6px;text-align:center;position:relative;display:inline-block}

.pt-rsv-archive-title:after{content:"";display:block;width:90px;height:2px;border-radius:999px;margin:6px auto 0;background:linear-gradient(90deg,#22c55e,#0ea5e9)}

.pt-rsv-archive-lead{font-size:.86rem;color:#4b5563;line-height:1.6;margin:0 0 16px;text-align:center}

.pt-rsv-archive .pt-rsv-table{border-radius:10px;border:1px solid #e5e7eb;background:#fff;overflow-x:auto}

.pt-rsv-archive .pt-rsv-head,.pt-rsv-archive .pt-rsv-row{display:grid;grid-template-columns:90px 60px 120px 80px 120px 80px minmax(160px,1fr);column-gap:8px;align-items:center;font-size:.8rem;min-width:720px}

.pt-rsv-archive .pt-rsv-head{padding:6px 10px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-weight:600;color:#4b5563}

.pt-rsv-archive .pt-rsv-row{padding:8px 10px;border-bottom:1px solid #e5e7eb}

.pt-rsv-archive .pt-rsv-row:last-child{border-bottom:none}

.pt-rsv-archive .col-date,.pt-rsv-archive .col-time{font-variant-numeric:tabular-nums}

.pt-rsv-archive .col-status{font-weight:600;color:#16a34a}

.pt-rsv-archive .col-note{color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.pt-rsv-pagination{margin-top:16px;text-align:center}

.pt-rsv-pagination ul{display:inline-flex;gap:6px;list-style:none;margin:0;padding:0}

.pt-rsv-pagination a,.pt-rsv-pagination span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;border:1px solid #e5e7eb;font-size:.8rem}

.pt-rsv-pagination li.is-current span{background:#111827;border-color:#111827;color:#f9fafb}

/* ===========================
   * 메인 실시간 예약현황 슬라이드
   * =========================== */

#pt-main .pt-rsv-wrap{
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    padding:14px 12px 10px;
    margin:16px 18px 30px;
    box-shadow:0 6px 20px rgba(15,23,42,.03);
  }

#pt-main .pt-rsv-wrap,
  #pt-main .pt-rsv-wrap *{
    font-family:inherit;
    line-height:1.5;
    letter-spacing:-.01em;
  }

#pt-main .pt-rsv-header{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin:0 0 8px;
  }

#pt-main .pt-rsv-title{
    position:relative;
    font-size:1.45rem;
    font-weight:700;
    margin:0 0 10px;
    color:#0f172a;
    line-height:1.22;
  }

#pt-main .pt-rsv-title:after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;
    width:54px;
    height:3px;
    background:linear-gradient(90deg,var(--brand),rgba(37,99,235,0));
    border-radius:999px;
  }

#pt-main .pt-rsv-meta{
    font-size:.78rem;
    color:var(--muted);
    margin:0 0 8px;
  }

#pt-main .pt-rsv-window{
    border-radius:10px;
    border:1px solid #e5e7eb;
    background:#fff;
    overflow:hidden;
  }

/* 메인 & 진행현황 공통 컬럼 규격(PC 기준)
     [지역 / 이름 / 기종 / 진행 / 메모] */

#pt-main .pt-rsv-head,
  #pt-main .pt-rsv-row{
    display:grid;
    grid-template-columns:150px 90px 180px 120px minmax(240px,1fr);
    column-gap:10px;
    align-items:center;
    font-size:.78rem;
    min-width:0;
  }

#pt-main .pt-rsv-head{
    padding:6px 10px;
    background:#f9fafb;
    border-bottom:1px solid #e5e7eb;
    font-weight:600;
    color:#4b5563;
  }

#pt-main .pt-rsv-head span{
    white-space:nowrap;
  }

#pt-main .pt-rsv-body{
    max-height:calc(5 * 42px);
    overflow:hidden;
  }

#pt-main .pt-rsv-track{
    display:flex;
    flex-direction:column;
    animation:ptRsvLoop 28s linear infinite;
  }

#pt-main .pt-rsv-track:hover{
    animation-play-state:paused;
  }

@keyframes ptRsvLoop{
    0%{transform:translateY(0)}
    100%{transform:translateY(-50%)}
  }

#pt-main .pt-rsv-row{
    padding:6px 10px;
    border-bottom:1px solid #f1f5f9;
    color:#111827;
  }

#pt-main .pt-rsv-row:last-child{
    border-bottom:none;
  }

#pt-main .pt-rsv-row .col-region,
  #pt-main .pt-rsv-row .col-name,
  #pt-main .pt-rsv-row .col-model,
  #pt-main .pt-rsv-row .col-status,
  #pt-main .pt-rsv-row .col-note{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

#pt-main .pt-rsv-row .col-region{font-weight:600;}

#pt-main .pt-rsv-row .col-name{font-weight:500;}

#pt-main .pt-rsv-row .col-model{font-size:.76rem;color:#4b5563;}

#pt-main .pt-rsv-row .col-status{text-align:center;}

#pt-main .pt-rsv-row .col-note{font-size:.74rem;color:var(--muted);}

/* 진행 버튼(칩) 스타일 */

#pt-main .pt-rsv-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:3px 10px;
    border-radius:999px;
    font-size:.7rem;
    font-weight:700;
    background:rgba(37,99,235,.06);
    color:var(--brand);
    border:1px solid rgba(37,99,235,.2);
    white-space:nowrap;
  }

@media(max-width:820px){
    #pt-main .pt-rsv-wrap{
      margin:16px 0 26px;
      border-left:0;
      border-right:0;
      border-radius:0;
    }
    #pt-main .pt-rsv-title{
      font-size:1.25rem;
    }
    #pt-main .pt-rsv-meta{
      font-size:.74rem;
    }
    /* 모바일: 메모 컬럼 숨김 + 4열 구성 */
    #pt-main .pt-rsv-head,
    #pt-main .pt-rsv-row{
      grid-template-columns:150px 80px 1fr 110px; /* 지역 / 이름 / 기종 / 진행 */
    }
    #pt-main .pt-rsv-head .col-note,
    #pt-main .pt-rsv-row .col-note{
      display:none;
    }
  }

/* ===========================
   * 예약현황 아카이브(리스트 페이지)
   * =========================== */

.pt-rsv-archive{
    max-width:1200px;
    margin:24px auto;
    padding:0 18px;
  }

.pt-rsv-archive-title{
    font-size:1.4rem;
    font-weight:700;
    margin:0 0 6px;
    text-align:center;
    position:relative;
    display:inline-block;
  }

.pt-rsv-archive-title:after{
    content:"";
    display:block;
    width:90px;
    height:2px;
    border-radius:999px;
    margin:6px auto 0;
    background:linear-gradient(90deg,#22c55e,#0ea5e9);
  }

.pt-rsv-archive-lead{
    font-size:.86rem;
    color:#4b5563;
    line-height:1.6;
    margin:0 0 16px;
    text-align:center;
  }

.pt-rsv-archive .pt-rsv-table{
    border-radius:10px;
    border:1px solid #e5e7eb;
    background:#fff;
    overflow-x:auto;
  }

/* 아카이브도 메인과 동일 규격 */

.pt-rsv-archive .pt-rsv-head,
  .pt-rsv-archive .pt-rsv-row{
    display:grid;
    grid-template-columns:150px 90px 180px 120px minmax(240px,1fr);
    column-gap:10px;
    align-items:center;
    font-size:.82rem;
    min-width:0;
    text-align:left;
  }

.pt-rsv-archive .pt-rsv-head{
    padding:8px 12px;
    background:#f9fafb;
    border-bottom:1px solid #e5e7eb;
    font-weight:600;
    color:#4b5563;
  }

.pt-rsv-archive .pt-rsv-row{
    padding:8px 12px;
    border-bottom:1px solid #e5e7eb;
  }

.pt-rsv-archive .pt-rsv-row:last-child{
    border-bottom:none;
  }

.pt-rsv-archive .col-region,
  .pt-rsv-archive .col-name,
  .pt-rsv-archive .col-model,
  .pt-rsv-archive .col-note{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

.pt-rsv-archive .col-region{font-weight:600;}

.pt-rsv-archive .col-name{font-weight:500;}

.pt-rsv-archive .col-model{font-size:.8rem;color:#4b5563;}

.pt-rsv-archive .col-status{text-align:center;}

.pt-rsv-archive .pt-rsv-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:4px 12px;
    border-radius:999px;
    font-size:.78rem;
    font-weight:700;
    background:rgba(22,163,74,.06);
    color:#15803d;
    border:1px solid rgba(22,163,74,.2);
    white-space:nowrap;
  }

/* 아카이브: 모바일에서도 메모 컬럼 숨김 */

@media(max-width:820px){
    .pt-rsv-archive .pt-rsv-head,
    .pt-rsv-archive .pt-rsv-row{
      grid-template-columns:150px 80px 1fr 110px; /* 지역 / 이름 / 기종 / 진행 */
    }
    .pt-rsv-archive .col-note{
      display:none;
    }
  }

.pt-rsv-pagination{
    margin-top:16px;
    text-align:center;
  }

.pt-rsv-pagination ul{
    display:inline-flex;
    gap:6px;
    list-style:none;
    margin:0;
    padding:0;
  }

.pt-rsv-pagination a,
  .pt-rsv-pagination span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:999px;
    border:1px solid #e5e7eb;
    font-size:.8rem;
  }

.pt-rsv-pagination li.is-current span{
    background:#111827;
    border-color:#111827;
    color:#f9fafb;
  }

.pt-rsv-more-board{
    margin-top:18px;
    text-align:center;
  }

.pt-rsv-more-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 18px;
    border-radius:999px;
    border:1px solid #e5e7eb;
    font-size:.82rem;
    background:#f9fafb;
    color:#111827;
  }

.pt-rsv-more-btn:hover{
    border-color:#111827;
  }

/* ===== 진행현황 공통 레이아웃 (메인 + 진행현황 페이지) ===== */

#pt-main .pt-rsv-wrap,
#pt-main .pt-rsv-archive,
.phonetech-main .pt-rsv-wrap,
.phonetech-main .pt-rsv-archive{
  margin-top:24px;
}

/* 메인/페이지 공통 박스 */

#pt-main .pt-rsv-window,
#pt-main .pt-rsv-table,
.phonetech-main .pt-rsv-window,
.phonetech-main .pt-rsv-table{
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  overflow-x:auto;
}

/* 헤더/행 공통 그리드: 지역 / 날짜 / 이름 / 연락처 / 진행방법 / 진행상황 */

#pt-main .pt-rsv-head,
#pt-main .pt-rsv-row,
.phonetech-main .pt-rsv-head,
.phonetech-main .pt-rsv-row{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr 0.9fr 1.3fr 1.3fr 0.9fr;
  gap:8px;
  align-items:center;
  min-width:780px; /* 모바일에서 좌우 스크롤 허용 */
  padding:8px 12px;
  font-size:14px;
  box-sizing:border-box;
}

/* 헤더 스타일 */

#pt-main .pt-rsv-head,
.phonetech-main .pt-rsv-head{
  font-weight:600;
  background:var(--bg-sub);
  border-bottom:1px solid var(--line);
}

/* 짝수 행 배경 */

#pt-main .pt-rsv-row:nth-child(even),
.phonetech-main .pt-rsv-row:nth-child(even){
  background:#f9fafb;
}

/* 각 컬럼 텍스트 정렬 */

#pt-main .pt-rsv-row .col-region,
#pt-main .pt-rsv-row .col-date,
#pt-main .pt-rsv-row .col-name,
#pt-main .pt-rsv-row .col-phone,
#pt-main .pt-rsv-row .col-method,
#pt-main .pt-rsv-row .col-status,
.phonetech-main .pt-rsv-row .col-region,
.phonetech-main .pt-rsv-row .col-date,
.phonetech-main .pt-rsv-row .col-name,
.phonetech-main .pt-rsv-row .col-phone,
.phonetech-main .pt-rsv-row .col-method,
.phonetech-main .pt-rsv-row .col-status{
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* 진행상황 칩은 우측 정렬 */

#pt-main .pt-rsv-row .col-status,
.phonetech-main .pt-rsv-row .col-status{
  text-align:right;
}

/* 칩 공통 스타일 */

#pt-main .pt-rsv-chip,
.phonetech-main .pt-rsv-chip{
  display:inline-block;
  padding:2px 8px;
  border-radius:999px;
  border:1px solid rgba(37,99,235,.15);
  font-size:12px;
  line-height:1.4;
}

/* 아카이브 테이블도 동일 간격 유지 */

#pt-main .pt-rsv-table .pt-rsv-head,
#pt-main .pt-rsv-table .pt-rsv-row,
.phonetech-main .pt-rsv-table .pt-rsv-head,
.phonetech-main .pt-rsv-table .pt-rsv-row{
  grid-template-columns: 1.1fr 0.9fr 0.9fr 1.3fr 1.3fr 0.9fr;
}

/* 데스크탑에서 폰트/패딩 살짝 업 */

@media (min-width:1024px){
  #pt-main .pt-rsv-head,
  #pt-main .pt-rsv-row,
  .phonetech-main .pt-rsv-head,
  .phonetech-main .pt-rsv-row{
    font-size:15px;
    padding:10px 14px;
  }
}

/* 모바일: 가독성 조정 */

@media (max-width:768px){
  #pt-main .pt-rsv-head,
  .phonetech-main .pt-rsv-head{
    font-size:13px;
  }

  #pt-main .pt-rsv-row,
  .phonetech-main .pt-rsv-row{
    font-size:13px;
    padding:8px 10px;
  }
}

/* 기본(PC 기준) – 여유 있게 */

#pt-rsv-slider .pt-rsv-track {
  animation-duration: 90s !important;
}

/* 모바일에서는 조금 더 느리게 */

@media (max-width: 767px) {
  #pt-rsv-slider .pt-rsv-track {
    animation-duration: 110s !important;
  }
}

/* ▼ 진행현황(슬라이더 + 리스트) 공통 레이아웃 초기화 */

#pt-rsv-slider .pt-rsv-head,
#pt-rsv-slider .pt-rsv-row,
#pt-rsv-archive .pt-rsv-head,
#pt-rsv-archive .pt-rsv-row {
  display: grid !important;
  grid-template-columns: 1.1fr 0.9fr 1fr 1.4fr 1.5fr 1.1fr; /* 지역 / 날짜 / 이름 / 연락처 / 진행방법 / 진행상황 */
  column-gap: 8px;
  align-items: center;
  min-width: 880px; /* 이 폭 기준으로 모바일에서 옆으로 스크롤 */
}

/* 테이블 전체를 한 덩어리로 가로 스크롤 가능하게 */

#pt-rsv-slider .pt-rsv-window,
#pt-rsv-archive .pt-rsv-table {
  overflow-x: auto;
  overflow-y: hidden;
}

/* 내부 body/track은 가로 폭에 맞춰서만 동작 */

#pt-rsv-slider .pt-rsv-body,
#pt-rsv-slider .pt-rsv-track {
  overflow: visible;
}

/* 헤더/셀 텍스트 잘림 방지 */

#pt-rsv-slider .pt-rsv-head span,
#pt-rsv-slider .pt-rsv-row span,
#pt-rsv-archive .pt-rsv-head span,
#pt-rsv-archive .pt-rsv-row span {
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
}

/* 진행상황 컬럼 텍스트/칩 가운데 정렬 */

#pt-rsv-slider .col-status,
#pt-rsv-archive .col-status {
  text-align: center;
}

/* 칩 자체를 가운데 배치 + 폭 제한 제거 */

#pt-rsv-slider .pt-rsv-chip,
#pt-rsv-archive .pt-rsv-chip {
  display: inline-block;
  margin: 0 auto;
  max-width: none;
}

@media (max-width: 767px) {
  #pt-rsv-slider .pt-rsv-window,
  #pt-rsv-archive .pt-rsv-table {
    margin: 0 -12px;  /* 밖으로 살짝 당겨서 실제 표시 폭 확보 */
    padding: 0 12px;
  }
}

/* ▼ 진행현황(슬라이더 + 리스트) 공통: 6컬럼 그리드 레이아웃 */

#pt-rsv-slider .pt-rsv-head,
#pt-rsv-slider .pt-rsv-row,
#pt-rsv-archive .pt-rsv-head,
#pt-rsv-archive .pt-rsv-row {
  display: grid !important;
  grid-template-columns: 1.1fr 0.9fr 1fr 1.4fr 1.5fr 1.1fr; /* 지역 / 날짜 / 이름 / 연락처 / 진행방법 / 진행상황 */
  column-gap: 8px;
  align-items: center;
  min-width: 880px;
}

/* 헤더 줄은 항상 위, 뒷배경 흰색으로 고정 */

#pt-rsv-slider .pt-rsv-head,
#pt-rsv-archive .pt-rsv-head {
  position: relative;
  z-index: 2;
  background: #ffffff;
  font-weight: 600;
  border-bottom: 1px solid var(--line, #e5e7eb);
  padding: 6px 8px;
}

/* 데이터 행은 헤더 아래에서만 움직이도록 레이어 분리 */

#pt-rsv-slider .pt-rsv-body,
#pt-rsv-archive .pt-rsv-table {
  position: relative;
  z-index: 1;
  margin-top: 2px;
}

/* 데이터 행 배경: 줄마다 살짝 구분 (겹쳐 보이는 느낌 제거) */

#pt-rsv-slider .pt-rsv-row,
#pt-rsv-archive .pt-rsv-row {
  background: #ffffff;
  border-bottom: 1px solid var(--line, #e5e7eb);
  padding: 6px 8px;
}

#pt-rsv-slider .pt-rsv-row:nth-child(2n),
#pt-rsv-archive .pt-rsv-row:nth-child(2n) {
  background: #f9fafb;
}

/* 테이블 전체를 한 덩어리로 가로 스크롤 (헤더/바디 같이 움직이게) */

#pt-rsv-slider .pt-rsv-window,
#pt-rsv-archive .pt-rsv-table {
  overflow-x: auto;
  overflow-y: hidden;
}

/* 내부 트랙은 overflow 숨기지 않음 */

#pt-rsv-slider .pt-rsv-body,
#pt-rsv-slider .pt-rsv-track {
  overflow: visible;
}

/* 헤더/셀 텍스트 잘림 방지 */

#pt-rsv-slider .pt-rsv-head span,
#pt-rsv-slider .pt-rsv-row span,
#pt-rsv-archive .pt-rsv-head span,
#pt-rsv-archive .pt-rsv-row span {
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
}

#pt-flow-4{--max:1200px;--gap:clamp(14px,1.6vw,20px);--radius:18px;--ink:#0f172a;--overlay:linear-gradient(150deg,rgba(2,6,23,.1) 0%,rgba(2,6,23,.88) 100%);margin:0 auto;padding:26px 18px 14px;background:#fff}

#pt-flow-4 .sec-head{max-width:var(--max);margin:0 auto 14px;display:flex;justify-content:space-between;align-items:flex-end;gap:10px}

#pt-flow-4 .sec-title{font-size:1.45rem;display:flex;gap:8px;align-items:flex-end;color:#0f172a}

#pt-flow-4 .grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}

#pt-flow-4 .card{position:relative;border-radius:var(--radius);overflow:hidden;min-height:210px;background:#000;isolation:isolate}

#pt-flow-4 .card figure{height:100%;margin:0;position:relative}

#pt-flow-4 .card img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:1/1}

#pt-flow-4 .card .overlay{position:absolute;inset:0;background:var(--overlay);pointer-events:none}

#pt-flow-4 .card .txt{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;padding:16px 14px 14px;color:#fff;text-align:center;text-shadow:0 8px 20px rgba(0,0,0,.3)}

#pt-flow-4 .badge{display:inline-flex;align-items:center;gap:4px;background:rgba(15,118,255,.85);padding:3px 10px 2px;border-radius:999px;font-size:.66rem;letter-spacing:-.01em}

#pt-flow-4 .title{font-size:1rem;font-weight:700;line-height:1.2;color:#fff}

#pt-flow-4 .desc{font-size:.7rem;line-height:1.4;color:#fff;opacity:1}

@media(hover:hover){#pt-flow-4 .card img{transition:.35s ease}#pt-flow-4 .card:hover img{transform:scale(1.04)}}

@media(max-width:1024px){#pt-flow-4 .grid{grid-template-columns:repeat(2,minmax(0,1fr))}#pt-flow-4 .card{min-height:190px}}

@media(max-width:540px){#pt-flow-4{padding:20px 0 4px}#pt-flow-4 .sec-head{max-width:100%;padding:0 18px;margin:0 0 10px;flex-direction:column;align-items:flex-start}#pt-flow-4 .sec-title{font-size:1.2rem}#pt-flow-4 .grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding:18px;margin:0;padding:0 18px 10px}#pt-flow-4 .card{flex:0 0 80%;min-width:80%;scroll-snap-align:center;min-height:210px}}

/* 섹션 헤드 & H2 하이라이트 */

#pt-main .sec-head,
  #pt-flow-4 .sec-head{
    display:flex;
    align-items:flex-end;
    gap:6px;
    margin:0 0 18px;
  }

#pt-flow-4 .sec-head{
    max-width:var(--max);
    padding:0 18px;
  }

#pt-main .sec-head .sec-more{
    margin-left:auto;
    margin-top:0;
    white-space:nowrap;
    font-size:.8rem;
    border:1px solid rgba(148,163,184,.4);
    border-radius:999px;
    padding:6px 14px;
    background:#fff;
    color:var(--ink-2);
    display:inline-flex;
    align-items:center;
    gap:6px;
  }

#pt-main .sec-head .sec-more::after{
    content:"›";
    font-size:.8rem;
    color:#9ca3af;
  }

#pt-main .sec-head .sec-more:hover{
    border-color:var(--brand);
    color:var(--brand);
    box-shadow:0 4px 10px rgba(37,99,235,.12);
  }

@media(max-width:720px){
    #pt-main .sec-head{
      flex-wrap:wrap;
      align-items:flex-start;
    }
    #pt-main .sec-head .sec-more{
      margin-top:4px;
    }
  }

/* 진행유형 섹션 내부 래퍼 */

.pt-flow-4 .pt-flow-4-carousel{
    margin-top: 24px;
  }

/* 기본 래퍼 */

#naver-carousel{
    position:relative;
    margin:0;
    --ink:#0f172a;
    --muted:#64748b;
    --card:#020617;
    --line:rgba(148,163,184,.35);
    --accent:#22c55e;
    --radius:18px;
    --shadow:0 18px 40px rgba(15,23,42,.28);
  }

/* PC 기본: 카드 그리드 (3열) */

#naver-carousel ul{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
  }

/* 카드 베이스 */

#naver-carousel .item{
    height:100%;
  }

#naver-carousel .item a{
    position:relative;
    display:block;
    height:100%;
    border-radius:var(--radius);
    overflow:hidden;
    background:#000;
    color:#f9fafb;
    text-decoration:none;
    box-shadow:var(--shadow);
    transform:translateZ(0);
    transition:
      transform .18s ease,
      box-shadow .18s ease,
      border-color .18s ease;
  }

#naver-carousel .item a:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 60px rgba(15,23,42,.4);
  }

/* 이미지 + 오버레이 (기존 진행유형 카드 느낌 재현) */

#naver-carousel .thumb{
    position:relative;
    width:100%;
    aspect-ratio:4/3;
  }

#naver-carousel .thumb img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
  }

/* 어두운 그라디언트 오버레이 */

#naver-carousel .item a::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,
      rgba(15,23,42,0.92) 0%,
      rgba(15,23,42,0.55) 45%,
      rgba(15,23,42,0.15) 75%,
      transparent 100%);
    pointer-events:none;
  }

/* 제목 영역: 기존 카드의 .txt .title 위치 느낌으로 하단 고정 */

#naver-carousel .title{
    position:absolute;
    left:16px;
    right:16px;
    bottom:14px;
    z-index:2;
    font-size:.95rem;
    line-height:1.45;
    font-weight:700;
    color:#f9fafb;
  }

/* 제목 아래 포인트 라인 (배지 느낌 보강) */

#naver-carousel .title::after{
    content:"";
    display:block;
    margin-top:6px;
    width:40px;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--accent),rgba(34,197,94,0));
    opacity:.9;
  }

/* 설명 텍스트를 따로 뽑을 수는 없어서,
     제목 안에 있는 콜론( :) 기준으로 자연스럽게 두 줄까지 허용 */

#naver-carousel .title{
    white-space:normal;
  }

/* 반응형: 태블릿 이하에서는 가로 슬라이드(무 JS) */

@media (max-width:1024px){
    #naver-carousel ul{
      display:flex;
      gap:16px;
      overflow-x:auto;
      -webkit-overflow-scrolling:touch;
      scroll-snap-type:x mandatory;
      padding-bottom:8px;
      margin:0 -16px;
      padding-left:16px;
      padding-right:16px;
    }
    #naver-carousel .item{
      flex:0 0 72%;
      scroll-snap-align:start;
    }
  }

/* 모바일 좁은 화면: 카드 폭 조금 더 넓게 */

@media (max-width:640px){
    #naver-carousel .item{
      flex:0 0 82%;
    }
  }

/* 공통: 리스트 기본 초기화 (이미 있으면 겹쳐도 무방) */

.pt-flow-4-carousel #naver-carousel > ul{
      margin:0;
      padding:0;
      list-style:none;
    }

.pt-flow-4-carousel #naver-carousel > ul > li.item{
      list-style:none;
    }

/* PC 전용: 3개씩 보이고, 가로 슬라이드 */

@media (min-width: 1024px){
      .pt-flow-4-carousel{
        position:relative;
      }

      .pt-flow-4-carousel #naver-carousel{
        overflow:hidden; /* 외곽 잘림 방지 */
      }

      /* 가로 트랙: 스크롤 가능 */
      .pt-flow-4-carousel #naver-carousel > ul{
        display:flex;
        flex-wrap:nowrap;
        gap:16px;
        overflow-x:auto;                 /* 가로 스크롤 */
        -webkit-overflow-scrolling:touch;
        scroll-snap-type:x mandatory;
        padding:4px 0 10px;
      }

      /* 카드: 한 화면에 3개만 보이도록 */
      .pt-flow-4-carousel #naver-carousel > ul > li.item{
        flex:0 0 calc(33.333% - 11px);
        max-width:calc(33.333% - 11px);
        scroll-snap-align:start;
      }

      .pt-flow-4-carousel #naver-carousel > ul > li.item > a{
        display:block;
        height:100%;
        text-decoration:none;
      }

      .pt-flow-4-carousel #naver-carousel .thumb{
        overflow:hidden;
        border-radius:12px;
      }

      .pt-flow-4-carousel #naver-carousel .thumb img{
        display:block;
        width:100%;
        height:auto;
      }

      .pt-flow-4-carousel #naver-carousel .title{
        margin-top:8px;
        font-size:14px;
        line-height:1.4;
      }

      /* PC에서 드래그 느낌 주는 커서 */
      .pt-flow-4-carousel #naver-carousel > ul{
        cursor:grab;
      }
      .pt-flow-4-carousel #naver-carousel > ul.is-dragging{
        cursor:grabbing;
      }

      /* 스크롤바 (드래그 가능) */
      .pt-flow-4-carousel #naver-carousel > ul::-webkit-scrollbar{
        height:6px;
      }
      .pt-flow-4-carousel #naver-carousel > ul::-webkit-scrollbar-thumb{
        border-radius:999px;
      }
    }

/* 헤더/버튼 정렬 보강 */

#pt-flow-4 .sec-head{
  max-width:var(--max);
  margin:0 auto 14px;
  padding:0 18px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:10px;
}

#pt-flow-4 .sec-head .sec-title{
  font-size:1.45rem;
  display:flex;
  gap:8px;
  align-items:flex-end;
  color:var(--ink,#0f172a);
}

#pt-flow-4 .sec-head .sec-more{
  margin-left:auto;
  white-space:nowrap;
  font-size:.8rem;
  border:1px solid rgba(148,163,184,.4);
  border-radius:999px;
  padding:6px 14px;
  background:#fff;
  color:#64748b;
  display:inline-flex;
  align-items:center;
  gap:6px;
}

#pt-flow-4 .sec-head .sec-more::after{
  content:"›";
  font-size:.8rem;
  color:#9ca3af;
}

/* 진행유형 설명 문단(새 kicker) */

#pt-flow-4 .sec-kicker{
  max-width:var(--max);
  margin:0 auto 18px;
  padding:0 18px;
  color:#64748b;
  font-size:.9rem;
  line-height:1.6;
}

/* 리스트 → 카드 슬라이더 기본 */

#pt-flow-4 .ngw-list{
  max-width:var(--max);
  margin:0 auto;
  padding:4px 18px 10px;
  list-style:none;
  display:flex;
  flex-wrap:nowrap;
  gap:16px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory;
}

#pt-flow-4 .ngw-item{
  flex:0 0 calc(33.333% - 11px); /* PC 기준 한 화면에 3장 */
  max-width:calc(33.333% - 11px);
  scroll-snap-align:start;
}

/* 카드 베이스 */

#pt-flow-4 .ngw-item a{
  position:relative;
  display:block;
  height:100%;
  border-radius:var(--radius,18px);
  overflow:hidden;
  background:#020617;
  color:#f9fafb;
  text-decoration:none;
  box-shadow:0 18px 40px rgba(15,23,42,.28);
  transform:translateZ(0);
  transition:
    transform .18s ease,
    box-shadow .18s ease;
}

/* 썸네일 */

#pt-flow-4 .ngw-thumb{
  position:relative;
  width:100%;
  aspect-ratio:4/3;
}

#pt-flow-4 .ngw-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

/* 어두운 오버레이 */

#pt-flow-4 .ngw-item a::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(15,23,42,.92) 0%,
    rgba(15,23,42,.55) 45%,
    rgba(15,23,42,.15) 75%,
    transparent 100%
  );
  pointer-events:none;
}

/* 캡션을 하단에 고정 */

#pt-flow-4 .ngw-caption{
  position:absolute;
  left:16px;
  right:16px;
  bottom:14px;
  z-index:2;
  font-size:.9rem;
  line-height:1.45;
  font-weight:700;
  color:#f9fafb;
  text-shadow:0 10px 25px rgba(0,0,0,.6);
}

/* 호버 효과 (PC) */

@media (hover:hover){
  #pt-flow-4 .ngw-thumb img{
    transition:transform .35s ease;
  }
  #pt-flow-4 .ngw-item a:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 60px rgba(15,23,42,.4);
  }
  #pt-flow-4 .ngw-item a:hover .ngw-thumb img{
    transform:scale(1.04);
  }
}

/* 태블릿 이하: 카드 폭 넓게 */

@media (max-width:1024px){
  #pt-flow-4 .ngw-item{
    flex:0 0 72%;
    max-width:72%;
  }
}

/* 모바일 좁은 화면: 한 장씩 크게 + 헤더 정렬 보강 */

@media (max-width:640px){
  #pt-flow-4{
    padding:20px 0 4px;
  }
  #pt-flow-4 .sec-head{
    max-width:100%;
    padding:0 18px;
    margin:0 0 10px;
    flex-direction:column;
    align-items:flex-start;
  }
  #pt-flow-4 .ngw-item{
    flex:0 0 82%;
    max-width:82%;
  }
}

/* 1) 예전 캐러셀 규칙 무력화 (충돌 제거) */

.naver-grid-widget #naver-carousel ul,
#naver-carousel ul,
#naver-carousel > ul {
  display:block !important; /* grid 제거 */
}

/* 2) ngw-list → 기본 가로 슬라이드 */

.naver-grid-widget .ngw-list {
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:16px !important;
  overflow-x:auto !important;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory;
  padding:4px 0 12px;
  list-style:none;
  margin:0;
}

/* 3) ngw-item 카드 크기 — PC 3장 */

.naver-grid-widget .ngw-item {
  flex:0 0 calc(33.333% - 12px) !important;
  max-width:calc(33.333% - 12px) !important;
  scroll-snap-align:start;
}

/* 4) 카드 공통 */

.naver-grid-widget .ngw-item a {
  position:relative;
  display:block;
  border-radius:18px;
  overflow:hidden;
  background:#020617;
  color:#fff;
  text-decoration:none;
  box-shadow:0 16px 36px rgba(15,23,42,.26);
  transition:transform .2s ease, box-shadow .2s ease;
}

.naver-grid-widget .ngw-item a:hover {
  transform:translateY(-4px);
  box-shadow:0 26px 50px rgba(15,23,42,.38);
}

/* 5) 이미지 */

.naver-grid-widget .ngw-thumb{
  width:100%;
  aspect-ratio:4/3;
  position:relative;
}

.naver-grid-widget .ngw-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* 6) 그라데이션 오버레이 */

.naver-grid-widget .ngw-item a::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(15,23,42,.92) 0%,
    rgba(15,23,42,.55) 45%,
    rgba(15,23,42,.15) 75%,
    transparent 100%
  );
}

/* 7) 캡션 */

.naver-grid-widget .ngw-caption{
  position:absolute;
  left:16px;
  right:16px;
  bottom:14px;
  font-size:.9rem;
  font-weight:700;
  color:#fff;
  line-height:1.45;
  text-shadow:0 10px 20px rgba(0,0,0,.5);
}

/* 태블릿 — 2장 */

@media(max-width:1024px){
  .naver-grid-widget .ngw-item{
    flex:0 0 60% !important;
    max-width:60% !important;
  }
}

/* 모바일 — 1장 */

@media(max-width:640px){
  .naver-grid-widget .ngw-item{
    flex:0 0 80% !important;
    max-width:80% !important;
  }
}

/* 네이버 캐러셀 래퍼 */

.phonetech-main #hero .naver-grid-widget {
  position: relative;
}

/* UL → 슬라이더 트랙: 스크롤바 제거 + transform 이동 */

.phonetech-main #hero .naver-grid-widget .ngw-list {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
  margin: 0;
  padding: 8px 0 4px;
  list-style: none;
  overflow: hidden;            /* 스크롤바 제거 */
  scroll-snap-type: none !important;
  transform: translateX(0);
  transition: transform .35s ease;
}

/* PC 기본: 한 화면에 3장 */

.phonetech-main #hero .naver-grid-widget .ngw-item {
  flex: 0 0 calc(33.333% - 11px);
  max-width: calc(33.333% - 11px);
}

/* 태블릿: 2장 */

@media (max-width: 1024px) {
  .phonetech-main #hero .naver-grid-widget .ngw-item {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

/* 모바일: 1장 (요청사항) */

@media (max-width: 640px) {
  .phonetech-main #hero .naver-grid-widget .ngw-item {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* 카드 베이스(기존 디자인 유지, 필요 시 최소만) */

.phonetech-main #hero .naver-grid-widget .ngw-item a {
  position: relative;
  display: block;
  height: 100%;
  border-radius: 18px;
  overflow: hidden;
  background: #020617;
  color: #f9fafb;
  text-decoration: none;
  box-shadow: 0 18px 40px rgba(15,23,42,.28);
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease;
}

.phonetech-main #hero .naver-grid-widget .ngw-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
}

.phonetech-main #hero .naver-grid-widget .ngw-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.phonetech-main #hero .naver-grid-widget .ngw-item a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(15,23,42,.92) 0%,
    rgba(15,23,42,.55) 45%,
    rgba(15,23,42,.15) 75%,
    transparent 100%
  );
}

.phonetech-main #hero .naver-grid-widget .ngw-caption {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 14px;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.45;
  color: #f9fafb;
  text-shadow: 0 10px 25px rgba(0,0,0,.6);
}

@media (hover:hover) {
  .phonetech-main #hero .naver-grid-widget .ngw-thumb img {
    transition: transform .35s ease;
  }
  .phonetech-main #hero .naver-grid-widget .ngw-item a:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 60px rgba(15,23,42,.4);
  }
  .phonetech-main #hero .naver-grid-widget .ngw-item a:hover .ngw-thumb img {
    transform: scale(1.04);
  }
}

/* 스크롤바 완전 감추기 (혹시 브라우저가 남겨도) */

.phonetech-main #hero .naver-grid-widget .ngw-list::-webkit-scrollbar {
  display: none;
}

.phonetech-main #hero .naver-grid-widget .ngw-list {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* 좌/우 네비 버튼 */

.phonetech-main #hero .ngw-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: none;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15,23,42,.08);
  color: #0f172a;
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(15,23,42,.18);
  backdrop-filter: blur(4px);
  z-index: 5;
}

.phonetech-main #hero .ngw-prev {
  left: 6px;
}

.phonetech-main #hero .ngw-next {
  right: 6px;
}

.phonetech-main #hero .ngw-nav:hover {
  background: rgba(15,23,42,.14);
}

/* 버튼 비활성 상태 */

.phonetech-main #hero .ngw-nav:disabled {
  opacity: .35;
  cursor: default;
  box-shadow: none;
}

/* 모바일에서 버튼이 카드 너무 가리지 않게 살짝 안쪽으로 */

@media (max-width: 640px) {
  .phonetech-main #hero .ngw-prev {
    left: 4px;
  }
  .phonetech-main #hero .ngw-next {
    right: 4px;
  }
}

/* 기본: 전부 숨기고 */

.phonetech-main #hero .naver-grid-widget .ngw-item {
  display: none;
  flex: 0 0 calc(33.333% - 11px);
  max-width: calc(33.333% - 11px);
}

/* 활성 슬라이드만 보여주기 */

.phonetech-main #hero .naver-grid-widget .ngw-item.is-active {
  display: block;
}

/* 태블릿(2장 레이아웃) */

@media (max-width: 1024px) {
  .phonetech-main #hero .naver-grid-widget .ngw-item,
  .phonetech-main #hero .naver-grid-widget .ngw-item.is-active {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

/* 모바일(1장 레이아웃) */

@media (max-width: 640px) {
  .phonetech-main #hero .naver-grid-widget .ngw-item,
  .phonetech-main #hero .naver-grid-widget .ngw-item.is-active {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* UL 자체는 flex 트랙 + 스크롤 막기 */

.phonetech-main #hero .naver-grid-widget .ngw-list {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
  margin: 0;
  padding: 8px 0 4px;
  list-style: none;
  overflow: hidden;           /* 스크롤바 안 보이게 */
  transform: none !important; /* 기존 translateX 영향 제거 */
}

/* 스크롤바 완전 제거(혹시 남는 브라우저용) */

.phonetech-main #hero .naver-grid-widget .ngw-list::-webkit-scrollbar {
  display: none;
}

.phonetech-main #hero .naver-grid-widget .ngw-list {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* 카드 기본 비주얼(이미 갖고 있는 느낌 유지) */

.phonetech-main #hero .naver-grid-widget .ngw-item a {
  position: relative;
  display: block;
  height: 100%;
  border-radius: 18px;
  overflow: hidden;
  background: #020617;
  color: #f9fafb;
  text-decoration: none;
  box-shadow: 0 18px 40px rgba(15,23,42,.28);
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease;
}

.phonetech-main #hero .naver-grid-widget .ngw-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
}

.phonetech-main #hero .naver-grid-widget .ngw-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.phonetech-main #hero .naver-grid-widget .ngw-item a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(15,23,42,.92) 0%,
    rgba(15,23,42,.55) 45%,
    rgba(15,23,42,.15) 75%,
    transparent 100%
  );
}

.phonetech-main #hero .naver-grid-widget .ngw-caption {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 14px;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.45;
  color: #f9fafb;
  text-shadow: 0 10px 25px rgba(0,0,0,.6);
}

@media (hover:hover) {
  .phonetech-main #hero .naver-grid-widget .ngw-thumb img {
    transition: transform .35s ease;
  }
  .phonetech-main #hero .naver-grid-widget .ngw-item a:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 60px rgba(15,23,42,.4);
  }
  .phonetech-main #hero .naver-grid-widget .ngw-item a:hover .ngw-thumb img {
    transform: scale(1.04);
  }
}

/* 화살표 네비 - 색상/가독성 업 */

.phonetech-main #hero .ngw-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(37,99,235,.35);
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  color: #2563eb;  /* 아이콘 색: 브랜드 블루 */
  font-size: 22px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(15,23,42,.18);
  z-index: 5;
}

.phonetech-main #hero .ngw-prev {
  left: 4px;
}

.phonetech-main #hero .ngw-next {
  right: 4px;
}

.phonetech-main #hero .ngw-nav:hover {
  background: #eff6ff;
  border-color: #2563eb;
}

/* 비활성화는 안 쓰지만 혹시 모를 대비 */

.phonetech-main #hero .ngw-nav:disabled {
  opacity: .35;
  cursor: default;
  box-shadow: none;
}

/* 모바일에서 버튼이 카드 너무 가리지 않게 살짝 위로 */

@media (max-width: 640px) {
  .phonetech-main #hero .ngw-nav {
    top: 48%;
    width: 36px;
    height: 36px;
    font-size: 20px;
  }
}

/* ==========================
 * 모바일 히어로 캐러셀 정렬 보정
 * ========================== */

@media (max-width: 640px) {

  /* 1) 리스트 가운데 정렬 + 좌우 여백 균형 맞추기 */
  .phonetech-main #hero .naver-grid-widget .ngw-list {
    justify-content: center;     /* 가운데로 몰기 */
    gap: 0;                      /* 한 장만 보일 때 좌우 간격 제거 */
    padding-left: 0;
    padding-right: 0;
  }

  /* 2) 한 장 폭을 80~86% 정도로 줄여서
        좌우 화살표 사이 딱 가운데에 오도록 */
  .phonetech-main #hero .naver-grid-widget .ngw-item,
  .phonetech-main #hero .naver-grid-widget .ngw-item.is-active {
    flex: 0 0 82%;
    max-width: 82%;
    margin: 0 auto;              /* 가운데 정렬 */
  }

  /* 3) 화살표 위치도 살짝 안쪽으로 */
  .phonetech-main #hero .ngw-prev {
    left: 10px;
  }
  .phonetech-main #hero .ngw-next {
    right: 10px;
  }
}

/* 진행유형 리스트 (가로 스크롤 캐러셀 레이아웃) */

#sec-flow-wrap .naver-grid-widget{
  width:100%;
}

#sec-flow-wrap .ngw-list{
  width:100%;
  display:flex;
  gap:16px;
  list-style:none;
  margin:0;
  padding:0;
  overflow:auto;
}

#sec-flow-wrap .ngw-item{
  flex:1 1 0;
  min-width:160px;
  max-width:260px;
}

#sec-flow-wrap .ngw-item a{
  display:block;
  cursor:pointer;
}

/* 썸네일 */

#sec-flow-wrap .ngw-thumb{
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:10px;
}

#sec-flow-wrap .ngw-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .25s ease;
}

/* 캡션 */

#sec-flow-wrap .ngw-caption{
  font-size:1rem;
  font-weight:700;
  line-height:1.2;
  padding:.75em 0;
  opacity:.9;
  transition:transform .2s ease, opacity .2s ease;
}

/* 호버 효과 */

#sec-flow-wrap .ngw-item:hover img{
  transform:scale(1.08);
}

#sec-flow-wrap .ngw-item:hover .ngw-caption{
  transform:translateY(-2px);
  opacity:1;
}

/* 선택: ‘말아올리는’ 느낌만 주고 싶으면 사용, 싫으면 이 블록은 빼도 됨 */

.elementor-shortcode.pt-flow-off .naver-grid-widget{
  transform: translateY(-9999px); /* 레이아웃에는 영향 없고, 화면에서만 위로 밀림 */
}

/* =========================================================
   naver-grid-widget / #pt-flow-4 / #sec-flow-wrap 통합 최종본
   - 중복 캐러셀 규칙 정리
   - PC/모바일 좌우 넘침 방지
   - 1200px 컨테이너 안에서만 동작
   ========================================================= */

html,body{max-width:100%;overflow-x:hidden}

.elementor,.elementor-section,.elementor-container,.elementor-column,.elementor-widget-wrap,.elementor-widget,.elementor-widget-container,.elementor-shortcode,.entry-content,.kboard-content,#pt-main,#pt-flow-4,#sec-flow-wrap,.pt-flow-4-carousel,.phonetech-main #hero{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}

#pt-main #sec-process .cards,#pt-main .pt-reviews-grid{margin-left:0!important;margin-right:0!important;max-width:100%!important}

#pt-flow-4,#sec-flow-wrap,.pt-flow-4-carousel,.elementor-shortcode>.naver-grid-widget,.phonetech-main #hero .naver-grid-widget{width:100%;max-width:1200px;margin:0 auto;overflow:hidden}

#pt-flow-4 .naver-grid-widget,#sec-flow-wrap .naver-grid-widget,.elementor-shortcode>.naver-grid-widget,.phonetech-main #hero .naver-grid-widget{--ngw-gap:16px;--ngw-radius:18px;--ngw-shadow:0 18px 40px rgba(15,23,42,.22);--ngw-overlay:linear-gradient(to top,rgba(15,23,42,.92) 0%,rgba(15,23,42,.55) 45%,rgba(15,23,42,.14) 75%,transparent 100%);width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0 18px!important;position:relative!important;overflow:hidden!important;box-sizing:border-box!important;isolation:isolate}

#pt-flow-4 .naver-grid-widget *,#sec-flow-wrap .naver-grid-widget *,.elementor-shortcode>.naver-grid-widget *,.phonetech-main #hero .naver-grid-widget *{box-sizing:border-box!important}

#pt-flow-4 .ngw-title.h2,#sec-flow-wrap .ngw-title.h2,.elementor-shortcode>.naver-grid-widget .ngw-title.h2,.phonetech-main #hero .naver-grid-widget .ngw-title.h2{margin:0 0 14px!important;font-size:clamp(22px,2.8vw,28px)!important;line-height:1.3!important;font-weight:800!important;letter-spacing:-.02em!important;color:#0f172a!important}

#pt-flow-4 .ngw-list,#sec-flow-wrap .ngw-list,.elementor-shortcode>.naver-grid-widget>.ngw-list,.phonetech-main #hero .naver-grid-widget .ngw-list{list-style:none!important;display:flex!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:var(--ngw-gap)!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-x:contain;scroll-snap-type:x mandatory!important;scrollbar-width:none!important;transform:none!important}

#pt-flow-4 .ngw-list::-webkit-scrollbar,#sec-flow-wrap .ngw-list::-webkit-scrollbar,.elementor-shortcode>.naver-grid-widget>.ngw-list::-webkit-scrollbar,.phonetech-main #hero .naver-grid-widget .ngw-list::-webkit-scrollbar{display:none;width:0;height:0}

#pt-flow-4 .ngw-item,#sec-flow-wrap .ngw-item,.elementor-shortcode>.naver-grid-widget .ngw-item,.phonetech-main #hero .naver-grid-widget .ngw-item{list-style:none;flex:0 0 calc((100% - (var(--ngw-gap) * 2)) / 3)!important;max-width:calc((100% - (var(--ngw-gap) * 2)) / 3)!important;min-width:0!important;margin:0!important;padding:0!important;scroll-snap-align:start!important;display:block!important}

#pt-flow-4 .ngw-item>a,#sec-flow-wrap .ngw-item>a,.elementor-shortcode>.naver-grid-widget .ngw-item>a,.phonetech-main #hero .naver-grid-widget .ngw-item>a{position:relative!important;display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:100%!important;border-radius:var(--ngw-radius)!important;overflow:hidden!important;background:#020617!important;color:#fff!important;text-decoration:none!important;box-shadow:var(--ngw-shadow)!important;transform:translateZ(0)!important;transition:transform .22s ease,box-shadow .22s ease!important}

#pt-flow-4 .ngw-item>a::before,#sec-flow-wrap .ngw-item>a::before,.elementor-shortcode>.naver-grid-widget .ngw-item>a::before,.phonetech-main #hero .naver-grid-widget .ngw-item>a::before{content:"";position:absolute;inset:0;background:var(--ngw-overlay)!important;pointer-events:none;z-index:1}

#pt-flow-4 .ngw-thumb,#sec-flow-wrap .ngw-thumb,.elementor-shortcode>.naver-grid-widget .ngw-thumb,.phonetech-main #hero .naver-grid-widget .ngw-thumb{position:relative!important;width:100%!important;aspect-ratio:4/3!important;overflow:hidden!important;background:#e5e7eb!important;border-radius:0!important}

#pt-flow-4 .ngw-thumb img,#sec-flow-wrap .ngw-thumb img,.elementor-shortcode>.naver-grid-widget .ngw-thumb img,.phonetech-main #hero .naver-grid-widget .ngw-thumb img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:cover!important;transform:translateZ(0)!important;transition:transform .35s ease!important}

#pt-flow-4 .ngw-caption,#sec-flow-wrap .ngw-caption,.elementor-shortcode>.naver-grid-widget .ngw-caption,.phonetech-main #hero .naver-grid-widget .ngw-caption{position:absolute!important;left:16px!important;right:16px!important;bottom:14px!important;z-index:2!important;margin:0!important;padding:0!important;font-size:.95rem!important;line-height:1.45!important;font-weight:700!important;color:#fff!important;text-shadow:0 10px 24px rgba(0,0,0,.45)!important;white-space:normal!important;word-break:keep-all!important;overflow:hidden!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important}

#pt-flow-4 .ngw-caption::after,#sec-flow-wrap .ngw-caption::after,.elementor-shortcode>.naver-grid-widget .ngw-caption::after,.phonetech-main #hero .naver-grid-widget .ngw-caption::after{content:"";display:block;width:40px;height:2px;margin-top:7px;border-radius:999px;background:linear-gradient(90deg,#22c55e,rgba(34,197,94,0))}

@media (hover:hover){#pt-flow-4 .ngw-item>a:hover,#sec-flow-wrap .ngw-item>a:hover,.elementor-shortcode>.naver-grid-widget .ngw-item>a:hover,.phonetech-main #hero .naver-grid-widget .ngw-item>a:hover{transform:translateY(-4px)!important;box-shadow:0 24px 60px rgba(15,23,42,.3)!important}#pt-flow-4 .ngw-item>a:hover .ngw-thumb img,#sec-flow-wrap .ngw-item>a:hover .ngw-thumb img,.elementor-shortcode>.naver-grid-widget .ngw-item>a:hover .ngw-thumb img,.phonetech-main #hero .naver-grid-widget .ngw-item>a:hover .ngw-thumb img{transform:scale(1.04)!important}}

@media (max-width:1024px){#pt-flow-4 .naver-grid-widget,#sec-flow-wrap .naver-grid-widget,.elementor-shortcode>.naver-grid-widget,.phonetech-main #hero .naver-grid-widget{padding:0 16px!important}#pt-flow-4 .ngw-item,#sec-flow-wrap .ngw-item,.elementor-shortcode>.naver-grid-widget .ngw-item,.phonetech-main #hero .naver-grid-widget .ngw-item{flex:0 0 calc((100% - var(--ngw-gap)) / 2)!important;max-width:calc((100% - var(--ngw-gap)) / 2)!important}}

@media (max-width:767px){#pt-flow-4 .naver-grid-widget,#sec-flow-wrap .naver-grid-widget,.elementor-shortcode>.naver-grid-widget,.phonetech-main #hero .naver-grid-widget{padding:0 14px!important}#pt-flow-4 .ngw-title.h2,#sec-flow-wrap .ngw-title.h2,.elementor-shortcode>.naver-grid-widget .ngw-title.h2,.phonetech-main #hero .naver-grid-widget .ngw-title.h2{margin-bottom:12px!important;font-size:clamp(20px,5.4vw,24px)!important}#pt-flow-4 .ngw-item,#sec-flow-wrap .ngw-item,.elementor-shortcode>.naver-grid-widget .ngw-item,.phonetech-main #hero .naver-grid-widget .ngw-item{flex:0 0 100%!important;max-width:100%!important}#pt-flow-4 .ngw-caption,#sec-flow-wrap .ngw-caption,.elementor-shortcode>.naver-grid-widget .ngw-caption,.phonetech-main #hero .naver-grid-widget .ngw-caption{left:14px!important;right:14px!important;bottom:12px!important;font-size:.9rem!important}}

/* ===== 폰테크 캐러셀 700px 중앙정렬 최종 패치 ===== */

#pt-flow-4,
#sec-flow-wrap,
.pt-flow-4-carousel,
.pt-phone-carousel-shell,
.elementor-shortcode > .naver-grid-widget,
.phonetech-main #hero .naver-grid-widget{
  width:100% !important;
  overflow:hidden !important;
}

#pt-flow-4 .naver-grid-widget,
#sec-flow-wrap .naver-grid-widget,
.elementor-shortcode > .naver-grid-widget,
.phonetech-main #hero .naver-grid-widget,
.pt-phone-carousel-shell{
  width:100% !important;
  max-width:700px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:14px !important;
  padding-right:14px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

#pt-flow-4 .ngw-list,
#sec-flow-wrap .ngw-list,
.elementor-shortcode > .naver-grid-widget > .ngw-list,
.phonetech-main #hero .naver-grid-widget .ngw-list,
.pt-phone-carousel-shell .ngw-list{
  list-style:none !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  justify-content:flex-start !important;
  gap:8px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  scroll-snap-type:x mandatory !important;
  scrollbar-width:none !important;
}

#pt-flow-4 .ngw-list::-webkit-scrollbar,
#sec-flow-wrap .ngw-list::-webkit-scrollbar,
.elementor-shortcode > .naver-grid-widget > .ngw-list::-webkit-scrollbar,
.phonetech-main #hero .naver-grid-widget .ngw-list::-webkit-scrollbar,
.pt-phone-carousel-shell .ngw-list::-webkit-scrollbar{
  display:none !important;
  width:0 !important;
  height:0 !important;
}

#pt-flow-4 .ngw-item,
#pt-flow-4 .ngw-item.is-active,
#sec-flow-wrap .ngw-item,
#sec-flow-wrap .ngw-item.is-active,
.elementor-shortcode > .naver-grid-widget .ngw-item,
.elementor-shortcode > .naver-grid-widget .ngw-item.is-active,
.phonetech-main #hero .naver-grid-widget .ngw-item,
.phonetech-main #hero .naver-grid-widget .ngw-item.is-active,
.pt-phone-carousel-shell .ngw-item,
.pt-phone-carousel-shell .ngw-item.is-active{
  flex:0 0 calc((100% - 16px) / 3) !important;
  max-width:calc((100% - 16px) / 3) !important;
  min-width:0 !important;
  scroll-snap-align:start !important;
}

#pt-flow-4 .ngw-item > a,
#sec-flow-wrap .ngw-item > a,
.elementor-shortcode > .naver-grid-widget .ngw-item > a,
.phonetech-main #hero .naver-grid-widget .ngw-item > a,
.pt-phone-carousel-shell .ngw-item > a{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 auto !important;
}

#pt-flow-4 .ngw-thumb,
#sec-flow-wrap .ngw-thumb,
.elementor-shortcode > .naver-grid-widget .ngw-thumb,
.phonetech-main #hero .naver-grid-widget .ngw-thumb,
.pt-phone-carousel-shell .ngw-thumb{
  width:100% !important;
  aspect-ratio:4 / 3 !important;
  overflow:hidden !important;
}

#pt-flow-4 .ngw-thumb img,
#sec-flow-wrap .ngw-thumb img,
.elementor-shortcode > .naver-grid-widget .ngw-thumb img,
.phonetech-main #hero .naver-grid-widget .ngw-thumb img,
.pt-phone-carousel-shell .ngw-thumb img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

#pt-flow-4 .ngw-caption,
#sec-flow-wrap .ngw-caption,
.elementor-shortcode > .naver-grid-widget .ngw-caption,
.phonetech-main #hero .naver-grid-widget .ngw-caption,
.pt-phone-carousel-shell .ngw-caption{
  left:10px !important;
  right:10px !important;
  bottom:10px !important;
  text-align:left !important;
}

/* 태블릿 */

@media (max-width:1024px){
  #pt-flow-4 .naver-grid-widget,
  #sec-flow-wrap .naver-grid-widget,
  .elementor-shortcode > .naver-grid-widget,
  .phonetech-main #hero .naver-grid-widget,
  .pt-phone-carousel-shell{
    max-width:640px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  #pt-flow-4 .ngw-item,
  #pt-flow-4 .ngw-item.is-active,
  #sec-flow-wrap .ngw-item,
  #sec-flow-wrap .ngw-item.is-active,
  .elementor-shortcode > .naver-grid-widget .ngw-item,
  .elementor-shortcode > .naver-grid-widget .ngw-item.is-active,
  .phonetech-main #hero .naver-grid-widget .ngw-item,
  .phonetech-main #hero .naver-grid-widget .ngw-item.is-active,
  .pt-phone-carousel-shell .ngw-item,
  .pt-phone-carousel-shell .ngw-item.is-active{
    flex:0 0 calc((100% - 8px) / 2) !important;
    max-width:calc((100% - 8px) / 2) !important;
  }
}

/* 모바일 */

@media (max-width:767px){
  #pt-flow-4 .naver-grid-widget,
  #sec-flow-wrap .naver-grid-widget,
  .elementor-shortcode > .naver-grid-widget,
  .phonetech-main #hero .naver-grid-widget,
  .pt-phone-carousel-shell{
    max-width:100% !important;
    padding-left:8px !important;
    padding-right:8px !important;
  }

  #pt-flow-4 .ngw-list,
  #sec-flow-wrap .ngw-list,
  .elementor-shortcode > .naver-grid-widget > .ngw-list,
  .phonetech-main #hero .naver-grid-widget .ngw-list,
  .pt-phone-carousel-shell .ngw-list{
    gap:6px !important;
  }

  #pt-flow-4 .ngw-item,
  #pt-flow-4 .ngw-item.is-active,
  #sec-flow-wrap .ngw-item,
  #sec-flow-wrap .ngw-item.is-active,
  .elementor-shortcode > .naver-grid-widget .ngw-item,
  .elementor-shortcode > .naver-grid-widget .ngw-item.is-active,
  .phonetech-main #hero .naver-grid-widget .ngw-item,
  .phonetech-main #hero .naver-grid-widget .ngw-item.is-active,
  .pt-phone-carousel-shell .ngw-item,
  .pt-phone-carousel-shell .ngw-item.is-active{
    flex:0 0 72% !important;
    max-width:72% !important;
  }
}

*{
        margin:0;
        padding:0;
        box-sizing:border-box;
    }

body{
        font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
        line-height:1.6;
        color:#111827;
        background:
            radial-gradient(circle at top left,rgba(59,130,246,.08),transparent 28%),
            radial-gradient(circle at top right,rgba(99,102,241,.08),transparent 24%),
            linear-gradient(180deg,#f8fafc 0%,#eef2ff 100%);
        overflow-x:hidden;
    }

.container{
        max-width:1440px;
        margin:0 auto;
        padding:0 20px;
    }

.hero-banner{
        min-height:88vh;
        background:
            radial-gradient(circle at 20% 20%,rgba(96,165,250,.24),transparent 26%),
            radial-gradient(circle at 80% 0%,rgba(129,140,248,.22),transparent 26%),
            linear-gradient(135deg,#0f172a 0%,#172554 50%,#1e3a8a 100%);
        display:flex;
        align-items:center;
        justify-content:center;
        color:#fff;
        text-align:center;
        position:relative;
        overflow:hidden;
        border-bottom-left-radius:40px;
        border-bottom-right-radius:40px;
    }

.hero-banner::before{
        content:'';
        position:absolute;
        inset:0;
        background:
            linear-gradient(120deg,rgba(255,255,255,.08),transparent 36%,transparent 64%,rgba(255,255,255,.06)),
            radial-gradient(circle at center,rgba(255,255,255,.08),transparent 50%);
        z-index:1;
    }

.hero-banner::after{
        content:'';
        position:absolute;
        inset:auto -8% -28% -8%;
        height:220px;
        background:radial-gradient(ellipse at center,rgba(255,255,255,.18),transparent 70%);
        filter:blur(26px);
        z-index:1;
    }

.hero-content{
        max-width:1080px;
        padding:0 32px;
        animation:fadeInUp .9s ease-out;
        position:relative;
        z-index:3;
    }

.hero-title{
        font-size:clamp(2.5rem,7vw,5.6rem);
        font-weight:800;
        margin-bottom:18px;
        letter-spacing:-0.04em;
        line-height:1.08;
        word-break:keep-all;
        hyphens:none;
    }

.hero-subtitle{
        font-size:clamp(1rem,2.4vw,1.5rem);
        font-weight:400;
        margin-bottom:34px;
        color:rgba(255,255,255,.86);
        line-height:1.55;
        word-break:keep-all;
        hyphens:none;
    }

.cta-button{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        padding:16px 30px;
        background:rgba(255,255,255,.12);
        border:1px solid rgba(255,255,255,.24);
        color:#fff;
        text-decoration:none;
        border-radius:999px;
        font-weight:700;
        font-size:17px;
        transition:all .28s ease;
        backdrop-filter:blur(14px);
        box-shadow:0 10px 30px rgba(15,23,42,.24);
    }

.cta-button:hover{
        background:rgba(255,255,255,.18);
        transform:translateY(-2px);
        box-shadow:0 16px 36px rgba(15,23,42,.28);
    }

.main-content{
        max-width:1440px;
        margin:0 auto;
        padding:96px 28px 70px;
    }

.section{
        margin-bottom:110px;
    }

.section-title{
        font-size:clamp(1.9rem,4.5vw,3.35rem);
        font-weight:800;
        margin-bottom:42px;
        text-align:center;
        color:#0f172a;
        letter-spacing:-0.03em;
        line-height:1.2;
        word-break:keep-all;
        hyphens:none;
    }

.content-grid{
        display:grid;
        grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
        gap:26px;
        margin-bottom:10px;
    }

.content-card{
        background:rgba(255,255,255,.9);
        padding:34px 30px;
        border-radius:28px;
        box-shadow:0 18px 50px rgba(15,23,42,.07);
        transition:all .28s ease;
        border:1px solid rgba(148,163,184,.18);
        backdrop-filter:blur(10px);
        position:relative;
        overflow:hidden;
    }

.content-card::before{
        content:'';
        position:absolute;
        inset:0 0 auto 0;
        height:4px;
        background:linear-gradient(90deg,#2563eb 0%,#4f46e5 55%,#7c3aed 100%);
        opacity:.92;
    }

.content-card:hover{
        transform:translateY(-6px);
        box-shadow:0 24px 60px rgba(15,23,42,.1);
    }

.card-title{
        font-size:clamp(1.1rem,2.5vw,1.35rem);
        font-weight:800;
        margin-bottom:16px;
        color:#0f172a;
        line-height:1.35;
        letter-spacing:-0.02em;
        word-break:keep-all;
        hyphens:none;
    }

.card-content{
        font-size:clamp(.94rem,2.2vw,1rem);
        line-height:1.78;
        color:#475569;
        word-break:keep-all;
        hyphens:none;
    }

.feature-section{
        background:
            linear-gradient(135deg,rgba(255,255,255,.9) 0%,rgba(238,242,255,.95) 100%);
        padding:86px 30px;
        margin:70px 0;
        border-radius:34px;
        border:1px solid rgba(148,163,184,.16);
        box-shadow:0 20px 60px rgba(15,23,42,.06);
    }

.feature-grid{
        display:grid;
        grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
        gap:26px;
        max-width:1320px;
        margin:0 auto;
    }

.feature-item{
        text-align:center;
        padding:28px 22px;
        background:rgba(255,255,255,.72);
        border:1px solid rgba(148,163,184,.12);
        border-radius:26px;
        box-shadow:0 12px 30px rgba(15,23,42,.05);
    }

.feature-icon{
        width:74px;
        height:74px;
        background:linear-gradient(135deg,#2563eb,#4f46e5);
        border-radius:22px;
        margin:0 auto 24px;
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:1.9rem;
        color:#fff;
        box-shadow:0 12px 24px rgba(37,99,235,.26);
    }

.feature-title{
        font-size:clamp(1.05rem,2.5vw,1.24rem);
        font-weight:800;
        margin-bottom:12px;
        color:#0f172a;
        line-height:1.35;
        letter-spacing:-0.02em;
        word-break:keep-all;
        hyphens:none;
    }

.feature-desc{
        color:#475569;
        line-height:1.7;
        font-size:clamp(.92rem,2.2vw,1rem);
        word-break:keep-all;
        hyphens:none;
    }

.cta-section{
        text-align:center;
        padding:82px 30px;
        background:
            radial-gradient(circle at top left,rgba(96,165,250,.22),transparent 24%),
            linear-gradient(135deg,#0f172a 0%,#172554 48%,#1e3a8a 100%);
        color:#fff;
        border-radius:34px;
        margin-top:50px;
        box-shadow:0 24px 70px rgba(15,23,42,.18);
    }

.cta-title{
        font-size:clamp(2rem,5.5vw,3.8rem);
        font-weight:800;
        margin-bottom:22px;
        letter-spacing:-0.03em;
        line-height:1.18;
        word-break:keep-all;
        hyphens:none;
    }

.cta-desc{
        font-size:clamp(1.02rem,2.5vw,1.22rem);
        margin-bottom:38px;
        opacity:.9;
        line-height:1.6;
        word-break:keep-all;
        hyphens:none;
    }

.cta-buttons{
        display:flex;
        gap:16px;
        justify-content:center;
        flex-wrap:wrap;
    }

.btn-primary{
        padding:17px 34px;
        background:#fff;
        color:#1e3a8a;
        text-decoration:none;
        border-radius:999px;
        font-weight:800;
        font-size:17px;
        transition:all .28s ease;
        box-shadow:0 10px 30px rgba(15,23,42,.18);
    }

.btn-primary:hover{
        transform:translateY(-2px);
        box-shadow:0 16px 34px rgba(15,23,42,.2);
    }

.btn-secondary{
        padding:17px 34px;
        background:transparent;
        color:#fff;
        text-decoration:none;
        border:1px solid rgba(255,255,255,.3);
        border-radius:999px;
        font-weight:700;
        font-size:17px;
        transition:all .28s ease;
    }

.btn-secondary:hover{
        background:rgba(255,255,255,.1);
        border-color:rgba(255,255,255,.44);
    }

.footer{
        background:#0f172a;
        color:#cbd5e1;
        padding:54px 26px 28px;
        text-align:center;
        margin-top:60px;
    }

.footer-content{
        max-width:1320px;
        margin:0 auto;
    }

.footer-links{
        display:flex;
        justify-content:center;
        gap:28px;
        margin-bottom:22px;
        flex-wrap:wrap;
    }

.footer-links a{
        color:#cbd5e1;
        text-decoration:none;
        transition:color .25s ease;
    }

.footer-links a:hover{
        color:#fff;
    }

.footer-text{
        font-size:.92rem;
        color:#94a3b8;
    }

.review-card{
        background:rgba(255,255,255,.92);
        padding:28px;
        border-radius:24px;
        box-shadow:0 16px 40px rgba(15,23,42,.08);
        margin-bottom:22px;
        border:1px solid rgba(148,163,184,.16);
        transition:all .28s ease;
        position:relative;
        overflow:hidden;
        opacity:0;
        animation:fadeInUp .6s ease forwards;
    }

.review-card::before{
        content:'';
        position:absolute;
        inset:0 auto 0 0;
        width:5px;
        background:linear-gradient(180deg,#2563eb 0%,#4f46e5 100%);
    }

.review-card:hover{
        transform:translateY(-4px);
        box-shadow:0 22px 48px rgba(15,23,42,.1);
    }

.review-header{
        display:flex;
        justify-content:space-between;
        align-items:center;
        margin-bottom:14px;
        gap:12px;
    }

.reviewer-name{
        font-weight:800;
        color:#0f172a;
        font-size:1.05rem;
        letter-spacing:-0.02em;
    }

.reviewer-location{
        color:#64748b;
        font-size:.92rem;
        margin-top:4px;
    }

.rating{
        font-size:1rem;
        color:#1e3a8a;
        font-weight:800;
        white-space:nowrap;
    }

.review-content{
        color:#475569;
        line-height:1.75;
        font-size:.98rem;
        word-break:keep-all;
    }

.review-card:nth-child(2){animation-delay:.08s;}

.review-card:nth-child(3){animation-delay:.16s;}

.review-card:nth-child(4){animation-delay:.24s;}

.review-card:nth-child(5){animation-delay:.32s;}

.review-card:nth-child(6){animation-delay:.4s;}

.review-card:nth-child(7){animation-delay:.48s;}

@keyframes fadeInUp{
        from{
            opacity:0;
            transform:translateY(36px);
        }
        to{
            opacity:1;
            transform:translateY(0);
        }
    }

@media (max-width:1200px){
        .content-grid{
            grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
        }

        .feature-grid{
            grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
        }
    }

@media (max-width:768px){
        .hero-banner{
            min-height:72vh;
            border-bottom-left-radius:28px;
            border-bottom-right-radius:28px;
        }

        .hero-title{
            font-size:2.45rem;
            line-height:1.12;
            margin-bottom:14px;
        }

        .hero-subtitle{
            font-size:1rem;
            line-height:1.55;
            margin-bottom:28px;
        }

        .section-title{
            font-size:1.75rem;
            line-height:1.24;
            margin-bottom:28px;
        }

        .card-title{
            font-size:1.12rem;
        }

        .card-content,
        .feature-desc,
        .review-content{
            font-size:.92rem;
            line-height:1.68;
        }

        .feature-title{
            font-size:1.08rem;
        }

        .cta-title{
            font-size:1.92rem;
            line-height:1.22;
            margin-bottom:18px;
        }

        .cta-desc{
            font-size:1rem;
            line-height:1.55;
            margin-bottom:28px;
        }

        .content-grid,
        .feature-grid{
            grid-template-columns:1fr;
            gap:18px;
        }

        .cta-buttons{
            flex-direction:column;
            align-items:center;
        }

        .footer-links{
            flex-direction:column;
            gap:16px;
        }

        .main-content,
        .feature-section,
        .cta-section,
        .footer{
            padding-left:18px;
            padding-right:18px;
        }

        .review-header{
            flex-direction:column;
            align-items:flex-start;
        }

        .rating{
            align-self:flex-start;
        }

        .review-card{
            padding:22px;
            margin-bottom:16px;
        }
    }

@media (max-width:480px){
        .hero-title{
            font-size:2.12rem;
        }

        .hero-subtitle{
            font-size:.94rem;
        }

        .section-title{
            font-size:1.58rem;
        }

        .card-title{
            font-size:1.05rem;
        }

        .card-content,
        .feature-desc,
        .review-content{
            font-size:.88rem;
        }

        .cta-title{
            font-size:1.72rem;
        }

        .cta-desc{
            font-size:.96rem;
        }
    }

.scroll-animate{
        opacity:0;
        transform:translateY(44px);
        transition:all .8s ease;
    }

.scroll-animate.active{
        opacity:1;
        transform:translateY(0);
    }

/* 5) 히어로에 덮는 캐러셀도 바깥으로 안 새게 */

#pt-main #hero .naver-grid-widget,
.phonetech-main #hero .naver-grid-widget,
#pt-hero-main .naver-grid-widget,
#pt-main #hero .pt-phone-carousel-shell,
.phonetech-main #hero .pt-phone-carousel-shell,
#pt-hero-main .pt-phone-carousel-shell{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* 6) 캐러셀 리스트가 히어로 밖으로 보여도 잘리게 */

#pt-main #hero .ngw-list,
.phonetech-main #hero .ngw-list,
#pt-hero-main .ngw-list,
#pt-main #hero #naver-carousel ul,
.phonetech-main #hero #naver-carousel ul,
#pt-hero-main #naver-carousel ul{
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding-left:0 !important;
  padding-right:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

#pt-sns-bar{background:#fff;border-top:1px solid #e2e8f0;display:flex!important;flex-wrap:wrap!important;gap:12px;align-items:center}

#pt-sns-bar br{display:none!important}

#pt-sns-bar>*{margin:0}

#pt-sns-bar ul,#pt-sns-bar ol{display:flex!important;flex-wrap:wrap!important;gap:12px;margin:0;padding:0;list-style:none}

#pt-sns-bar li{display:flex!important}

#pt-sns-bar a{display:inline-flex!important;align-items:center;gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9999px;padding:5px 12px 5px 6px;white-space:nowrap}

#pt-sns-bar a img{width:28px;height:28px;border-radius:9999px;display:block}

#pt-sns-bar .sns-title{font-size:15px;font-weight:600;color:#0f172a;margin-right:4px;white-space:nowrap}

#pt-sns-bar a:hover,#pt-sns-bar a:focus{transform:translateY(-1px);box-shadow:0 8px 24px rgba(15,23,42,.08)}

@media(max-width:720px){#pt-sns-bar{gap:8px}#pt-sns-bar a{padding:4px 10px 4px 6px}#pt-sns-bar a span{font-size:12px}}

.sns-inner{display:flex;align-items:center;gap:14px;flex-wrap:wrap}

.sns-inner .sns-title{margin:0;white-space:nowrap}

.sns-inner .sns-list{list-style:none;display:flex;gap:12px;margin:0;padding:0;flex-wrap:wrap}

.sns-inner .sns-list li{display:flex}

.sns-inner .sns-link{display:flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9999px;padding:5px 12px 5px 6px}

.sns-inner .sns-link img{width:28px;height:28px;border-radius:9999px;display:block}

@media(max-width:720px){.sns-inner{gap:8px}.sns-inner .sns-link{padding:4px 10px 4px 6px}.sns-inner .sns-link span{font-size:12px}}

/* ===== 푸터 이용약관 / 개인정보처리방침 레이어 공통 ===== */

.pt-legal-bar{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    font-size:12px;
    color:var(--muted,#6b7280);
    margin-top:12px;
    margin-bottom:4px;
  }

.pt-legal-bar span{opacity:.55;}

.pt-legal-bar a{
    color:inherit;
    text-decoration:none;
    padding:2px 4px;
    border-radius:999px;
    cursor:pointer;
  }

.pt-legal-bar a:hover,
  .pt-legal-bar a:focus-visible{
    background:rgba(15,23,42,.06);
    text-decoration:underline;
    outline:none;
  }

/* 레이어 팝업 공통 */

.pt-legal-layer{
    position:fixed;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(15,23,42,.55);
    opacity:0;
    pointer-events:none;
    z-index:9999;
    transition:opacity .18s ease;
  }

.pt-legal-layer:target{
    opacity:1;
    pointer-events:auto;
  }

.pt-legal-dialog{
    width:min(960px,92vw);
    max-height:82vh;
    background:#fff;
    border-radius:18px;
    box-shadow:0 18px 45px rgba(15,23,42,.35);
    display:flex;
    flex-direction:column;
  }

.pt-legal-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 18px;
    border-bottom:1px solid #e5e7eb;
    background:#f9fafb;
    border-radius:18px 18px 0 0;
  }

.pt-legal-head h2{
    margin:0;
    font-size:15px;
  }

.pt-legal-close{
    border:none;
    background:none;
    font-size:18px;
    cursor:pointer;
    line-height:1;
    color:#6b7280;
    text-decoration:none;
  }

.pt-legal-close:hover,
  .pt-legal-close:focus-visible{
    color:#111827;
  }

.pt-legal-body{
    padding:16px 18px 18px;
    overflow:auto;
    font-size:13px;
    line-height:1.7;
    color:#111827;
    white-space:pre-line; /* 줄바꿈 그대로 살리고 자동 줄바꿈 */
  }

@media (max-width:640px){
    .pt-legal-head{padding:12px 14px;}
    .pt-legal-body{padding:14px 14px 16px;}
  }

/* =======================================
 * 폰테크 메인 히어로 통합본
 * - pt_hero 숏코드(.pt-hero-main) + 기존 #hero 둘 다 지원
 * - H1/설명 흰색, 가운데 정렬, 배경 그라디언트
 * ======================================= */

/* 1) pt_hero 숏코드(.pt-hero-main) 버전 */

/* 배경 이미지 레이어 */

.pt-hero-main .pt-hero-bg{
  position:absolute;
  inset:0;
  z-index:0;
}

.pt-hero-main .pt-hero-bg .bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.04);
  opacity:0;
}

.pt-hero-main .pt-hero-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    120deg,
    rgba(15,23,42,.96) 0%,
    rgba(15,23,42,.80) 35%,
    rgba(15,23,42,.55) 70%,
    rgba(15,23,42,.22) 100%
  );
}

/* 텍스트/버튼 레이어 */

.pt-hero-main .main-visual{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

/* 슬라이드 틀 */

.pt-hero-main .items{
  position:relative;
  width:100%;
  min-height:150px;
}

.pt-hero-main .item{
  position:absolute;
  inset:0;
  opacity:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 8px;
}

.pt-hero-main .item .contain{
  width:100%;
}

.pt-hero-main .item .txt-wrap{
  max-width:720px;
  margin:0 auto;
}

/* H1 스타일 (3개 공통) */

.pt-hero-main .item h1{
  margin:0 0 12px;
  font-size:clamp(24px, 3vw, 32px);
  line-height:1.35;
  letter-spacing:-0.02em;
  color:#ffffff;
  word-break:keep-all;
  overflow-wrap:break-word;
}

.pt-hero-main .item h1 .type1{
  color:#38bdf8;
  font-weight:700;
}

.pt-hero-main .item h1 .type2{
  color:#22c55e;
  font-weight:700;
}

.pt-hero-main .item h1 .type3{
  color:#facc15;
  font-weight:800;
}

/* 본문 텍스트 */

.pt-hero-main .item p{
  margin:0;
  font-size:15px;
  line-height:1.7;
  color:#e2e8f0;
}

.pt-hero-main .item p.type3{
  margin-top:6px;
  font-weight:600;
}

/* 메인 버튼 영역 (카카오 버튼) */

.pt-hero-main .main_button{
  margin-top:20px;
  text-align:center;
}

.pt-hero-main .main_button .btn.blue a{
  display:inline-block;
  padding:10px 18px;
  border-radius:999px;
  background:#2563eb;
  color:#f9fafb;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  box-shadow:0 10px 25px rgba(37,99,235,.45);
}

.pt-hero-main .main_button .btn.blue a p{
  margin:0;
  line-height:1.5;
}

.pt-hero-main .main_button .btn.blue a:hover{
  filter:brightness(1.05);
}

/* 업데이트 날짜 */

.pt-hero-main .pt-hero-lastmod{
  display:block;
  margin-top:14px;
  font-size:12px;
  color:#cbd5f5;
  text-align:right;
}

/* 슬라이드 애니메이션 (텍스트/배경 공통) */

.pt-hero-main .item-1{ animation:ptHeroItem1 18s infinite; }

.pt-hero-main .item-2{ animation:ptHeroItem2 18s infinite; }

.pt-hero-main .item-3{ animation:ptHeroItem3 18s infinite; }

.pt-hero-main .pt-hero-bg .bg-1{ animation:ptHeroItem1 18s infinite; }

.pt-hero-main .pt-hero-bg .bg-2{ animation:ptHeroItem2 18s infinite; }

.pt-hero-main .pt-hero-bg .bg-3{ animation:ptHeroItem3 18s infinite; }

@keyframes ptHeroItem1{
  0%, 33%   { opacity:1; }
  38%, 100% { opacity:0; }
}

@keyframes ptHeroItem2{
  0%, 33%   { opacity:0; }
  38%, 66%  { opacity:1; }
  71%, 100% { opacity:0; }
}

@keyframes ptHeroItem3{
  0%, 66%   { opacity:0; }
  71%, 100% { opacity:1; }
}

/* 모션 감소 설정 존중 */

@media (prefers-reduced-motion:reduce){
  .pt-hero-main .item,
  .pt-hero-main .pt-hero-bg .bg{
    animation:none;
  }
  .pt-hero-main .item-1,
  .pt-hero-main .pt-hero-bg .bg-1{
    opacity:1;
    position:relative;
  }
}

/* 3) 공통 모바일 보정 */

@media (max-width:768px){
  #pt-main #hero .inner{
    padding:64px 16px 80px;
  }

  /* 제목/본문이 카드 밖으로 안 나가도록 높이 여유 증가 */
  .pt-hero-main .items,
  #pt-main #hero .hero-text-slides{
    min-height:220px;
  }

  /* 모바일에서 CTA 버튼 1열(세로) 정렬 + 폭 넓게 */
  #pt-main #hero .cta{
    justify-content:center;
    gap:8px;
  }

  #pt-main #hero .cta .btn{
    flex:0 0 100%;      /* 한 줄에 하나씩만 들어가도록 강제 */
    max-width:420px;    /* 모바일에서 살짝 넓게 */
    width:100%;
    box-sizing:border-box;
  }
}

.ptk-toggle{ margin:20px 0; }

.ptk-toggle details{
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    background:#12161c;
    overflow:hidden;
    box-shadow:0 6px 18px rgba(0,0,0,.18);
  }

.ptk-toggle summary{
    list-style:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 14px;
    font-family:'Noto Sans KR','Malgun Gothic',sans-serif;
    font-size:13px;
    font-weight:700;
    color:#eef2f6;
    background:#171c23;
    border-bottom:1px solid rgba(255,255,255,.06);
  }

.ptk-toggle summary::-webkit-details-marker{ display:none; }

.ptk-toggle summary::marker{ content:""; }

.ptk-toggle summary:focus{ outline:none; }

.ptk-toggle summary:focus-visible{
    outline:2px solid rgba(255,255,255,.12);
    outline-offset:2px;
    border-radius:10px;
  }

.ptk-toggle .sum-left{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
  }

.ptk-toggle .pill{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:5px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    color:#f2f5f8;
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
  }

.ptk-toggle .state{
    display:inline-flex;
    align-items:center;
    gap:6px;
    white-space:nowrap;
    color:rgba(255,255,255,.70);
    font-weight:600;
  }

.ptk-toggle .hint{
    font-weight:500;
    font-size:12px;
    color:rgba(255,255,255,.46);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:560px;
  }

.ptk-toggle details:not([open]) .open{ display:none; }

.ptk-toggle details[open] .open{ display:inline; }

.ptk-toggle details[open] .closed{ display:none; }

.ptk-toggle .arrow{
    flex:0 0 auto;
    width:28px; height:28px;
    border-radius:999px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.07);
    position:relative;
  }

.ptk-toggle .arrow::before{
    content:"";
    position:absolute;
    top:50%; left:50%;
    width:7px; height:7px;
    border-right:2px solid rgba(255,255,255,.72);
    border-bottom:2px solid rgba(255,255,255,.72);
    transform:translate(-50%,-60%) rotate(45deg);
    transition:transform .18s ease;
  }

.ptk-toggle details[open] .arrow::before{
    transform:translate(-50%,-40%) rotate(-135deg);
  }

.ptk-toggle .panel{
    padding:0;
    background:#12161c;
  }

@media(max-width:600px){
    .ptk-toggle .hint{ display:none; }
  }

/* =========================================================
 * PT HERO STYLE
 * - H1 클래스 스타일 유지
 * - 버튼 시인성 강화
 * - 히어로 좌우 풀폭 유지
 * - 위아래 높이 축소 버전
 * - 밝은 배경 유지 + 텍스트 가독성 보정
 * ========================================================= */

body {
  overflow-x: hidden;
}

/* H1 태그 대신 .h1 클래스로 동일 체감 유지 */

#pt-hero-main .h1 {
  display: block;
  margin: 0 0 8px;
  font-weight: 800;
  letter-spacing: -0.4px;
  line-height: 1.18;
  font-size: clamp(24px, 2.1vw + 10px, 44px);
  font-family: inherit;
  color: #fff;
  text-shadow:
    0 2px 6px rgba(0, 0, 0, 0.34),
    0 8px 24px rgba(0, 0, 0, 0.22);
}

#pt-hero-main #page-title.h1 {
  margin: 0 0 8px;
}

/* 히어로 풀폭 */

#pt-hero-main.pt-hero-main {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-top: clamp(44px, 5vw, 76px);
  padding-bottom: clamp(44px, 5vw, 76px);
  min-height: clamp(560px, 72vh, 760px);
  overflow: hidden;
  box-sizing: border-box;
}

/* 배경 */

#pt-hero-main .pt-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

#pt-hero-main .pt-hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.04);
  pointer-events: none;
  z-index: 1;
}

#pt-hero-main .pt-hero-bg .bg {
  position: absolute;
  inset: -4%;
  width: 108%;
  height: 108%;
  max-width: none;
  object-fit: cover;
  transform: scale(1.03);
  filter: brightness(1.08) saturate(1.03);
}

/* 본문 레이어 */

#pt-hero-main .main-visual {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding-left: clamp(20px, 4vw, 56px);
  padding-right: clamp(20px, 4vw, 56px);
}

#pt-hero-main .items {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

#pt-hero-main .item .contain {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

#pt-hero-main .txt-wrap {
  position: relative;
  width: 100%;
  max-width: 980px;
  padding: clamp(18px, 2vw, 28px);
  border-radius: 24px;
  background: linear-gradient(
    180deg,
    rgba(15, 23, 42, 0.24) 0%,
    rgba(15, 23, 42, 0.12) 48%,
    rgba(15, 23, 42, 0.04) 100%
  );
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

#pt-hero-main .txt-wrap > * {
  position: relative;
  z-index: 1;
}

#pt-hero-main .txt-wrap > :not(.main_button):not(.cta),
#pt-hero-main .txt-wrap > :not(.main_button):not(.cta) * {
  color: #fff;
  text-shadow:
    0 1px 3px rgba(0, 0, 0, 0.34),
    0 6px 18px rgba(0, 0, 0, 0.18);
}

/* 버튼 영역 */

#pt-hero-main .main_button {
  margin-top: 18px;
  display: flex;
  justify-content: center;
  width: 100%;
}

#pt-hero-main .cta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
}

#pt-hero-main .cta .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 240px;
  min-height: 66px;
  padding: 18px 30px;
  border-radius: 16px;
  font-size: 21px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  letter-spacing: -0.3px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

#pt-hero-main .cta .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);
  opacity: 1;
}

#pt-hero-main .cta .btn:focus {
  outline: none;
  box-shadow:
    0 0 0 3px rgba(255, 255, 255, 0.35),
    0 16px 36px rgba(0, 0, 0, 0.28);
}

#pt-hero-main .cta .btn--tel {
  color: #fff;
  background: linear-gradient(135deg, #2f80ff 0%, #1557d6 100%);
}

#pt-hero-main .cta .btn--kakao {
  color: #111;
  background: linear-gradient(135deg, #ffe14a 0%, #ffd400 100%);
}

/* 업데이트 문구 */

#pt-hero-main .pt-hero-lastmod {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  text-align: center;
  margin-top: 14px;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
  color: #fff;
  text-shadow:
    0 1px 3px rgba(0, 0, 0, 0.34),
    0 6px 18px rgba(0, 0, 0, 0.18);
}

/* 엘레멘터 내부 폭 제한 대응 */

.elementor-widget-container #pt-hero-main.pt-hero-main,
.elementor-widget-html #pt-hero-main.pt-hero-main,
.elementor-widget-shortcode #pt-hero-main.pt-hero-main {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.elementor-widget-html,
.elementor-widget-shortcode {
  width: 100%;
}

@media (max-width: 1024px) {
  #pt-hero-main.pt-hero-main {
    padding-top: 40px;
    padding-bottom: 40px;
    min-height: 620px;
  }

  #pt-hero-main .main-visual {
    padding-left: 20px;
    padding-right: 20px;
  }

  #pt-hero-main .items,
  #pt-hero-main .item .contain {
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  #pt-hero-main.pt-hero-main {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-top: 32px;
    padding-bottom: 32px;
    min-height: 500px;
  }

  #pt-hero-main .pt-hero-bg .bg {
    inset: -6%;
    width: 112%;
    height: 112%;
    transform: scale(1.05);
    filter: brightness(1.06) saturate(1.02);
  }

  #pt-hero-main .main-visual {
    padding-left: 16px;
    padding-right: 16px;
  }

  #pt-hero-main .txt-wrap {
    max-width: 100%;
    padding: 18px 16px;
    border-radius: 18px;
    background: linear-gradient(
      180deg,
      rgba(15, 23, 42, 0.22) 0%,
      rgba(15, 23, 42, 0.11) 50%,
      rgba(15, 23, 42, 0.03) 100%
    );
  }

  #pt-hero-main .main_button {
    margin-top: 16px;
  }

  #pt-hero-main .cta {
    gap: 10px;
  }

  #pt-hero-main .cta .btn {
    width: 100%;
    min-width: 0;
    min-height: 58px;
    padding: 16px 20px;
    font-size: 18px;
    border-radius: 14px;
  }

  #pt-hero-main .pt-hero-lastmod {
    margin-top: 12px;
    font-size: 12px;
  }
}

/* H1 */

#pt-hero-main .h1 {
  display: block;
  margin: 0 0 10px;
  font-weight: 800;
  letter-spacing: -0.4px;
  line-height: 1.14;
  font-size: clamp(28px, 2.2vw + 12px, 48px);
  font-family: inherit;
  color: #ffffff;
  text-shadow:
    0 2px 8px rgba(0, 0, 0, 0.36),
    0 10px 28px rgba(0, 0, 0, 0.24);
}

#pt-hero-main #page-title.h1 {
  margin: 0 0 10px;
}

/* 히어로 */

#pt-hero-main.pt-hero-main {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  min-height: clamp(520px, 66vw, 760px);
  padding: 0;
  overflow: hidden;
  box-sizing: border-box;
  background: linear-gradient(180deg, #dcebff 0%, #f6faff 100%);
}

/* 배경 */

#pt-hero-main .pt-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 35%, rgba(255,255,255,.88) 0%, rgba(255,255,255,.38) 28%, rgba(220,235,255,.16) 52%, rgba(220,235,255,.00) 72%),
    linear-gradient(180deg, #dcebff 0%, #eef5ff 52%, #f8fbff 100%);
}

#pt-hero-main .pt-hero-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(7, 18, 38, 0.12) 0%, rgba(7, 18, 38, 0.04) 32%, rgba(7, 18, 38, 0.18) 100%);
}

/* 핵심: 기존 cover / 확대 / 음수 inset 전부 제거 */

#pt-hero-main .pt-hero-bg .bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  padding: clamp(12px, 1.4vw, 22px);
  box-sizing: border-box;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  filter: none !important;
}

/* 본문 레이어 */

#pt-hero-main .main-visual {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding-left: clamp(18px, 4vw, 56px);
  padding-right: clamp(18px, 4vw, 56px);
  padding-top: clamp(28px, 4vw, 44px);
  padding-bottom: clamp(28px, 4vw, 44px);
}

#pt-hero-main .items {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

#pt-hero-main .item .contain {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

#pt-hero-main .txt-wrap {
  position: relative;
  width: 100%;
  max-width: 900px;
  padding: clamp(20px, 2vw, 30px);
  border-radius: 24px;
  background: rgba(8, 18, 38, 0.58);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

#pt-hero-main .txt-wrap > * {
  position: relative;
  z-index: 1;
}

#pt-hero-main .txt-wrap > :not(.main_button):not(.cta),
#pt-hero-main .txt-wrap > :not(.main_button):not(.cta) * {
  color: #ffffff;
  text-shadow:
    0 1px 4px rgba(0, 0, 0, 0.34),
    0 8px 22px rgba(0, 0, 0, 0.18);
}

#pt-hero-main .lead {
  margin: 0;
  font-size: clamp(15px, 1.1vw + 10px, 19px);
  line-height: 1.72;
}

#pt-hero-main .lead strong {
  color: #8fd0ff;
  font-weight: 800;
}

/* 버튼 */

#pt-hero-main .main_button {
  margin-top: 18px;
  display: flex;
  justify-content: center;
  width: 100%;
}

#pt-hero-main .cta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
}

#pt-hero-main .cta .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 240px;
  min-height: 64px;
  padding: 18px 30px;
  border-radius: 16px;
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  letter-spacing: -0.3px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

#pt-hero-main .cta .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22);
}

#pt-hero-main .cta .btn--tel {
  color: #fff;
  background: linear-gradient(135deg, #2f80ff 0%, #1557d6 100%);
}

#pt-hero-main .cta .btn--kakao {
  color: #111;
  background: linear-gradient(135deg, #ffe14a 0%, #ffd400 100%);
}

/* 업데이트 문구 */

#pt-hero-main .pt-hero-lastmod {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  text-align: center;
  margin-top: 14px;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
  color: #ffffff;
  text-shadow:
    0 1px 4px rgba(0, 0, 0, 0.34),
    0 8px 22px rgba(0, 0, 0, 0.18);
}

/* 엘레멘터 대응 */

.elementor-widget-container #pt-hero-main.pt-hero-main,
.elementor-widget-html #pt-hero-main.pt-hero-main,
.elementor-widget-shortcode #pt-hero-main.pt-hero-main {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.elementor-widget-html,
.elementor-widget-shortcode {
  width: 100%;
}

@media (max-width: 1024px) {
  #pt-hero-main.pt-hero-main {
    min-height: 620px;
  }

  #pt-hero-main .main-visual {
    padding-left: 20px;
    padding-right: 20px;
  }

  #pt-hero-main .items,
  #pt-hero-main .item .contain {
    max-width: 100%;
  }

  #pt-hero-main .txt-wrap {
    max-width: 760px;
    border-radius: 20px;
  }
}

@media (max-width: 767px) {
  #pt-hero-main.pt-hero-main {
    min-height: 540px;
    padding: 0;
  }

  #pt-hero-main .pt-hero-bg .bg {
    padding: 10px;
  }

  #pt-hero-main .main-visual {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 22px;
    padding-bottom: 22px;
    align-items: flex-end;
  }

  #pt-hero-main .txt-wrap {
    max-width: 100%;
    padding: 18px 16px;
    border-radius: 18px;
    background: rgba(8, 18, 38, 0.64);
  }

  #pt-hero-main .h1 {
    font-size: clamp(28px, 8vw, 40px);
  }

  #pt-hero-main .lead {
    font-size: 15px;
    line-height: 1.66;
  }

  #pt-hero-main .main_button {
    margin-top: 16px;
  }

  #pt-hero-main .cta {
    gap: 10px;
  }

  #pt-hero-main .cta .btn {
    width: 100%;
    min-width: 0;
    min-height: 56px;
    padding: 16px 20px;
    font-size: 17px;
    border-radius: 14px;
  }

  #pt-hero-main .pt-hero-lastmod {
    margin-top: 12px;
    font-size: 12px;
  }
}

/* ===== 추가 CSS: 섹션/예약현황/카루셀/법적 레이어 ===== */

/* 필요없으면 숨김 처리 */

#js-nav-back-layer{
    display:none;
  }

/* ===========================
   반응형
   =========================== */

/* ===== 히어로 캐러셀(폰테크 진행유형) - 스크롤바 제거 + 화살표 네비 ===== */

/* ==========================
 * 히어로 캐러셀 v2: is-active 방식
 * ========================== */

/* ===============================
   1) 진행유형 섹션 (진행현황 바로 아래)
   =============================== */

#sec-flow-wrap{
  background:var(--bg-sub);
}

#sec-flow-wrap .pt-block-flow{
  max-width:var(--max);
  margin:0 auto;
  padding:0 16px;
}

/* 섹션 헤더 (제목 + 전체보기) */

#sec-flow-wrap .sec-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:8px;
  margin:0 0 16px;
}

#sec-flow-wrap .sec-title{
  font-size:clamp(20px, 2.1vw, 26px); /* 다른 섹션과 동일 크기 */
  font-weight:800;
  margin:0;
  color:var(--ink);
  position:relative;
}

/* 제목 아래 포인트 라인 (FAQ/공지 스타일과 맞춤) */

#sec-flow-wrap .sec-title::after{
  content:"";
  display:block;
  width:48px;
  height:3px;
  margin-top:8px;
  border-radius:999px;
  background:var(--brand);
}

#sec-flow-wrap .sec-more{
  font-size:.9rem;
  color:var(--brand);
  white-space:nowrap;
}

/* ===============================
   2) FAQ 섹션
   =============================== */

#sec-faq .sec-head{
  max-width:var(--max);
  margin:0 auto 16px;
  padding:0 16px 0;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:8px;
}

#sec-faq .sec-title{
  font-size:clamp(20px, 2.1vw, 26px);
  font-weight:800;
  margin:0;
  color:var(--ink);
}

#sec-faq .sec-more{
  font-size:.9rem;
  color:var(--brand);
}

#faq-block{
  max-width:var(--max);
  margin:0 auto;
  padding:16px;
}

/* FAQ details */

#faq-block details{
  border-bottom:1px solid var(--line);
  padding:12px 0;
}

#faq-block summary{
  cursor:pointer;
  font-weight:600;
  color:var(--ink);
}

#faq-block p{
  margin:8px 0 0;
  color:var(--ink-2);
  font-size:.95rem;
  line-height:1.6;
}

/* ===============================
   3) 공지 / 진행절차 / 후기 / CTA 공통 래퍼
   =============================== */

#sec-notice-wrap .pt-block-notice,
#sec-process-wrap .pt-block-process,
#sec-reviews-wrap .pt-block-reviews,
#sec-cta-wrap .pt-block-cta{
  max-width:var(--max);
  margin:0 auto;
  padding:0 16px;
}

/* ============================
   0. 공통 버튼 스타일 (PC 기준)
   ============================ */

/* 헤더 오른쪽 CTA 래퍼 (PC용) */

.pt-header-cta--desktop{
  display:flex;
  align-items:center;
  gap:8px;
}

/* 공통 버튼 스타일 */

.pt-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 16px;
  box-sizing:border-box;

  border-radius:10px;
  border:1px solid transparent;

  font-size:0.9rem;
  font-weight:600;
  line-height:1.3;

  text-decoration:none;
  white-space:nowrap;
}

/* 전화상담 버튼 */

.pt-cta-btn--tel{
  background:#ffffff;
  border-color:#0f172a;
  color:#0f172a;
}

/* 오픈채팅 버튼 */

.pt-cta-btn--kakao{
  background:#facc15;
  border-color:#eab308;
  color:#000000;
}

/* hover (PC에서만 체감) */

.pt-cta-btn--tel:hover{
  background:#0f172a;
  color:#ffffff;
}

.pt-cta-btn--kakao:hover{
  filter:brightness(0.95);
}

/* ============================
   1. 모바일 전용: 헤더 CTA 숨기고
      메뉴 안 버튼 디자인
   ============================ */

@media (max-width: 768px){

  /* 1) 모바일에서 헤더 HTML CTA는 숨김 (로고랑 겹침 방지) */
  .pt-header-cta--desktop{
    display:none !important;
  }

  /* 2) 메뉴 항목 리셋 */
  li.menu-cta,
  li.menu-cta--tel,
  li.menu-cta--kakao{
    margin:0 !important;
    padding:0 !important;
    list-style:none;
  }

  /* 3) 메뉴 안 a 태그를 버튼처럼 다시 정의 */
  li.menu-cta--tel > a,
  li.menu-cta--kakao > a{
    display:block !important;
    width:100%;
    box-sizing:border-box;

    margin:8px 16px 0 !important;   /* 메뉴 좌우 여백 맞추기 */
    padding:12px 18px !important;   /* 세로 길이 여유 있게 */

    border-radius:10px !important;  /* 적당히 둥근 직사각형 */
    border-width:1px !important;
    border-style:solid !important;

    text-align:center !important;
    font-size:0.95rem !important;
    font-weight:600 !important;
    line-height:1.3 !important;

    white-space:nowrap;
    text-decoration:none !important;
  }

  /* 4) 모바일에서 개별 색상 */
  li.menu-cta--tel > a{
    background:#ffffff !important;
    border-color:#0f172a !important;
    color:#0f172a !important;
  }

  li.menu-cta--kakao > a{
    background:#facc15 !important;
    border-color:#eab308 !important;
    color:#000000 !important;
  }
}

/* 상단 폰테크 진행유형 캐러셀: DOM 유지, 화면에서는만 숨김 */

.elementor-shortcode.pt-flow-off{
  height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

/* ============================
 * 히어로 텍스트 3세트 슬라이드
 * - 기존 이미지 애니메이션 ptFadeHero(24s)와 동기화
 *   (0s / 8s / 16s)
 * ============================ */

/* === 폰테크 히어로 H1 세로 깨짐 강제 리셋 === */

/* ===============================
 * 폰테크 메인 히어로 레이아웃
 * - H1 3개 세로 나열되는 문제 방지
 * - 이미지/텍스트 3장 교차 슬라이드 (CSS만 사용)
 * =============================== */

/* === 슬라이드 전환 애니메이션 (이미지 + 텍스트 동기화) === */

/* =========================================================
     ✅ "나무위키 정보형" — scope: .nwki-ptk
     ========================================================= */

.nwki-ptk, .nwki-ptk *{ box-sizing:border-box; }

.nwki-ptk{
    --bg:#12161c;
    --card:#171c23;
    --card2:#1b2129;
    --ink:#edf2f6;
    --muted:rgba(255,255,255,.62);
    --line:rgba(255,255,255,.08);
    --accent:#cfd6df;
    --accent2:#aeb8c4;

    color:var(--ink);
    background:var(--bg);
    border:1px solid rgba(255,255,255,.06);
    border-radius:14px;
    padding:16px;
    max-width:980px;
    margin:0 auto;
    font-family:'Noto Sans KR','Malgun Gothic',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
    box-shadow:none;
  }

.nwki-ptk .wrap{ display:block; }

.nwki-ptk .title{
    background:#171c23;
    border:1px solid rgba(255,255,255,.06);
    border-radius:12px;
    padding:15px 15px 13px;
    margin-bottom:12px;
    position:relative;
    overflow:hidden;
  }

.nwki-ptk .title:before{ display:none; }

.nwki-ptk .title h1{
    margin:0 0 8px;
    font-size:22px;
    letter-spacing:-.4px;
    line-height:1.3;
    color:#f7fafc;
    font-weight:800;
  }

.nwki-ptk .title .sub{
    color:var(--muted);
    font-size:12px;
    line-height:1.7;
    margin-bottom:10px;
  }

.nwki-ptk .title .label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:12px;
    font-weight:800;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.07);
    color:#e8edf3;
    width:max-content;
  }

.nwki-ptk .infobox,
  .nwki-ptk .toc,
  .nwki-ptk .sec,
  .nwki-ptk .faq{
    background:var(--card);
    border:1px solid rgba(255,255,255,.06);
    border-radius:12px;
    padding:14px;
    margin:0 0 12px;
    box-shadow:none;
  }

.nwki-ptk .infobox .head{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    justify-content:space-between;
    margin-bottom:10px;
  }

.nwki-ptk .infobox .tag{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    color:#f4f7fa;
  }

.nwki-ptk .infobox .dot{
    width:9px; height:9px;
    border-radius:50%;
    background:#c8d0da;
    box-shadow:none;
  }

.nwki-ptk .infobox .hint{
    color:var(--muted);
    font-size:12px;
  }

.nwki-ptk .infobox table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    overflow:hidden;
    border-radius:10px;
    border:1px solid rgba(255,255,255,.06);
    background:rgba(255,255,255,.015);
  }

.nwki-ptk .infobox th,
  .nwki-ptk .infobox td{
    padding:12px;
    vertical-align:top;
    border-top:1px solid rgba(255,255,255,.06);
  }

.nwki-ptk .infobox tr:first-child th,
  .nwki-ptk .infobox tr:first-child td{
    border-top:0;
  }

.nwki-ptk .infobox th{
    width:32%;
    background:rgba(255,255,255,.025);
    font-size:12px;
    text-align:left;
    color:rgba(255,255,255,.80);
    font-weight:700;
  }

.nwki-ptk .infobox td{
    font-size:12px;
    line-height:1.78;
    color:#edf2f6;
  }

.nwki-ptk .muted{
    color:var(--muted);
    font-size:11px;
    margin-top:6px;
  }

.nwki-ptk .toc-title,
  .nwki-ptk .faq-head{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    margin-bottom:10px;
  }

.nwki-ptk .toc-title b,
  .nwki-ptk .faq-head b{
    font-size:13px;
    color:#f6f8fb;
  }

.nwki-ptk .toc-title span,
  .nwki-ptk .faq-head span{
    color:var(--muted);
    font-size:12px;
  }

.nwki-ptk .toc ol{
    margin:0;
    padding-left:0;
    list-style:none;
    display:grid;
    gap:8px;
  }

.nwki-ptk .toc a{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    color:inherit;
    padding:10px 10px;
    border-radius:10px;
    border:1px solid rgba(255,255,255,.05);
    background:rgba(255,255,255,.018);
    transition:background .18s ease, border-color .18s ease;
  }

.nwki-ptk .toc a:hover{
    background:rgba(255,255,255,.032);
    border-color:rgba(255,255,255,.10);
  }

.nwki-ptk .toc .n{
    width:24px; height:24px;
    display:inline-grid;
    place-items:center;
    border-radius:8px;
    font-weight:800;
    font-size:11px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.07);
    color:#e7edf4;
    flex:0 0 auto;
  }

.nwki-ptk .sec h2{
    margin:0 0 8px;
    font-size:16px;
    letter-spacing:-.2px;
    line-height:1.38;
    display:flex;
    gap:8px;
    align-items:flex-start;
    color:#f7f9fc;
    font-weight:800;
  }

.nwki-ptk .sec .num{
    color:#d5dbe3;
    font-weight:900;
  }

.nwki-ptk .sec h3{
    margin:12px 0 6px !important;
    font-size:14px !important;
    color:#eef3f8 !important;
    font-weight:700;
    line-height:1.55;
  }

.nwki-ptk .sec h4{
    margin:10px 0 6px !important;
    font-size:13px !important;
    color:#dce4ec !important;
    font-weight:700;
    line-height:1.55;
  }

.nwki-ptk .lead{
    margin:0 0 10px;
    color:rgba(255,255,255,.80);
    font-size:13px;
    line-height:1.88;
  }

.nwki-ptk ul,
  .nwki-ptk ol{
    margin:8px 0 0 18px;
  }

.nwki-ptk li{
    margin:6px 0;
    line-height:1.78;
    color:#edf2f6;
  }

.nwki-ptk .note,
  .nwki-ptk .mini{
    margin-top:10px;
    border-radius:10px;
    border:1px solid rgba(255,255,255,.06);
    background:rgba(255,255,255,.02);
    padding:12px;
  }

.nwki-ptk .note .t{
    font-weight:800;
    margin-bottom:8px;
    display:flex;
    gap:8px;
    align-items:center;
    color:#f6f9fc;
  }

.nwki-ptk .note .t:before{
    content:"!";
    display:inline-grid;
    place-items:center;
    width:18px; height:18px;
    border-radius:6px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    color:#eef3f8;
    font-weight:900;
    font-size:11px;
  }

.nwki-ptk .mini b{
    display:block;
    margin-bottom:6px;
    font-size:13px;
    color:#f4f7fb;
  }

.nwki-ptk .faq details{
    border:1px solid rgba(255,255,255,.06);
    border-radius:10px;
    padding:10px 12px;
    margin:10px 0;
    background:rgba(255,255,255,.018);
  }

.nwki-ptk .faq summary{
    cursor:pointer;
    list-style:none;
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-weight:800;
    font-size:13px;
    color:#f7f9fc;
  }

.nwki-ptk .faq summary::-webkit-details-marker{ display:none; }

.nwki-ptk .faq summary::marker{ content:""; }

.nwki-ptk .faq .q{
    width:22px; height:22px;
    display:inline-grid;
    place-items:center;
    border-radius:8px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.07);
    color:#e6edf5;
    font-weight:900;
    flex:0 0 auto;
  }

.nwki-ptk .faq .atxt{
    margin-top:8px;
    color:rgba(255,255,255,.78);
    font-size:13px;
    line-height:1.88;
  }

.nwki-ptk .disclaimer{
    margin-top:14px;
    background:#171c23;
    color:#fff;
    border:1px solid rgba(255,255,255,.06);
    border-radius:12px;
    padding:14px;
  }

.nwki-ptk .disclaimer b{
    display:block;
    margin-bottom:6px;
    font-size:13px;
    color:#f8fbff;
  }

.nwki-ptk .disclaimer p{
    margin:6px 0 0;
    color:rgba(255,255,255,.78);
    font-size:12px;
    line-height:1.85;
  }

.nwki-ptk .disclaimer .foot{
    margin-top:10px;
    opacity:.95;
  }

@media(max-width:720px){
    .nwki-ptk{ padding:14px; }
    .nwki-ptk .infobox th{ width:38%; }
    .nwki-ptk .title h1{ font-size:20px; }
  }

/* ================================
   폰테크 피해예방 전체 접기형
   기본 상태: 닫힘
================================ */

.sr-all-fold{
  --sr-bg:#ffffff;
  --sr-bg-soft:#f8fafc;
  --sr-bg-soft-2:#f3f6fa;
  --sr-line:#e5e7eb;
  --sr-line-soft:#eef2f7;
  --sr-text:#172033;
  --sr-text-2:#3b475b;
  --sr-text-3:#667085;
  --sr-point:#123a67;
  --sr-point-2:#0f2743;
  --sr-point-soft:#edf4fb;
  position:relative;
  margin:28px 0;
  border:1px solid var(--sr-line);
  border-radius:20px;
  background:var(--sr-bg);
  overflow:hidden;
  box-shadow:0 14px 34px rgba(15,23,42,.06);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans KR",Arial,sans-serif;
  color:var(--sr-text);
}

.sr-all-fold::before{
  content:"";
  display:block;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,#102a43 0%,#1f4f82 52%,#d8e6f5 100%);
}

.sr-all-fold summary{
  list-style:none;
  cursor:pointer;
  padding:20px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}

.sr-all-fold summary::-webkit-details-marker{display:none;}

.sr-all-fold .sr-sum-wrap{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.sr-all-fold .sr-badge{
  display:inline-flex;
  width:max-content;
  padding:7px 11px;
  border-radius:999px;
  background:var(--sr-point-soft);
  border:1px solid #d7e6f5;
  color:var(--sr-point);
  font-size:12px;
  font-weight:800;
  letter-spacing:.2px;
}

.sr-all-fold .sr-title{
  font-size:25px;
  line-height:1.35;
  font-weight:800;
  color:var(--sr-point-2);
  letter-spacing:-.02em;
}

.sr-all-fold .sr-sub{
  font-size:14px;
  line-height:1.8;
  color:var(--sr-text-3);
}

.sr-all-fold .sr-arrow{
  width:42px;
  height:42px;
  min-width:42px;
  border-radius:999px;
  border:1px solid #dbe5ef;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  color:var(--sr-point);
  background:#fff;
  box-shadow:0 4px 14px rgba(15,23,42,.05);
  transition:transform .22s ease, background .22s ease;
}

.sr-all-fold[open] .sr-arrow{
  transform:rotate(180deg);
  background:#f8fbff;
}

.sr-all-fold .sr-content{
  padding:0 22px 24px;
}

.sr-all-fold .sr-intro{
  margin:0 0 18px;
  padding:18px 20px;
  border:1px solid #e7eef6;
  border-radius:16px;
  background:linear-gradient(180deg,#fbfdff 0%,#f5f9fd 100%);
  font-size:15px;
  line-height:1.95;
  color:var(--sr-text-2);
}

.sr-all-fold .sr-group-title{
  margin:28px 0 14px;
  padding-left:14px;
  border-left:4px solid var(--sr-point);
  font-size:22px;
  line-height:1.4;
  font-weight:800;
  color:var(--sr-point-2);
  letter-spacing:-.02em;
}

.sr-all-fold .sr-step{
  display:grid;
  grid-template-columns:132px 1fr;
  gap:18px;
  align-items:start;
  padding:20px 0;
  border-top:1px solid var(--sr-line-soft);
}

.sr-all-fold .sr-thumb{
  width:100%;
  border-radius:16px;
  overflow:hidden;
  background:#f3f4f6;
  border:1px solid #edf2f7;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}

.sr-all-fold .sr-thumb img{
  display:block;
  width:100%;
  height:auto;
}

.sr-all-fold .sr-no{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:74px;
  height:34px;
  padding:0 12px;
  border-radius:999px;
  background:linear-gradient(180deg,#143e6e 0%,#0f2d50 100%);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.3px;
  margin:0 0 10px;
}

.sr-all-fold .sr-step-title{
  margin:0 0 9px;
  font-size:19px;
  line-height:1.5;
  font-weight:800;
  color:var(--sr-point-2);
  letter-spacing:-.02em;
}

.sr-all-fold .sr-step-text{
  margin:0;
  font-size:15px;
  line-height:1.95;
  color:var(--sr-text-2);
}

.sr-all-fold .sr-box{
  margin-top:22px;
  padding:19px 20px;
  border-radius:18px;
  background:linear-gradient(180deg,#f9fbfd 0%,#f4f8fb 100%);
  border:1px solid #e3ebf3;
}

.sr-all-fold .sr-box-title{
  margin:0 0 10px;
  font-size:17px;
  font-weight:800;
  color:var(--sr-point-2);
}

.sr-all-fold .sr-box ul{
  margin:0;
  padding-left:19px;
}

.sr-all-fold .sr-box li{
  margin:0 0 8px;
  line-height:1.9;
  color:var(--sr-text-2);
}

.sr-all-fold .sr-box li:last-child{
  margin-bottom:0;
}

@media (max-width:768px){
  .sr-all-fold{margin:22px 0;border-radius:18px;}
  .sr-all-fold summary{padding:17px 16px;}
  .sr-all-fold .sr-content{padding:0 16px 18px;}
  .sr-all-fold .sr-title{font-size:20px;line-height:1.4;}
  .sr-all-fold .sr-sub{font-size:13px;line-height:1.7;}
  .sr-all-fold .sr-group-title{font-size:19px;margin:24px 0 12px;}
  .sr-all-fold .sr-step{
    grid-template-columns:1fr;
    gap:14px;
    padding:16px 0;
  }
  .sr-all-fold .sr-intro,
  .sr-all-fold .sr-step-text{
    font-size:14px;
    line-height:1.9;
  }
}

/* ===== 히어로 풀폭 + 모바일 좌우 노출 차단 최종 패치 ===== */

/* 7) 혹시 HTML 위젯 래퍼가 잘라먹으면 풀어줌 */

.elementor-widget-html,
.elementor-widget-html .elementor-widget-container{
  overflow:visible !important;
}

/* ===== 히어로 좌우 1px까지 완전 차단 최종 패치 ===== */

/* HTML 위젯/엘레멘터 래퍼에서 잘리는 것 방지 */

.elementor-widget-html,
.elementor-widget-html .elementor-widget-container,
.elementor,
.elementor-section,
.elementor-container,
.elementor-column,
.elementor-widget-wrap,
.e-con,
.e-con-inner{
  box-sizing:border-box !important;
}

/* 중간 공백 방지용 강제 출력 */

.section,
  .feature-section,
  .cta-section{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }

/* =========================================================
   5개 개별 접기 -> 1개 통합 접기
   폰테크 사이트용 차분한 블루그레이 톤
   ========================================================= */

.ptk-onefold{
  --of-bg:#f7f9fc;
  --of-card:#ffffff;
  --of-card-2:#f1f5fb;
  --of-line:#dbe5f0;
  --of-line-2:#e6edf5;
  --of-text:#24364a;
  --of-text-2:#5a6d85;
  --of-accent:#6f95bf;
  --of-accent-2:#9eb8d6;
  --of-shadow:0 10px 30px rgba(33,52,78,.08);

  margin:24px 0;
  font-family:'Noto Sans KR','Malgun Gothic',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

.ptk-onefold *{
  box-sizing:border-box;
}

/* 바깥 통합 접기 */

.ptk-onefold > .ptk-onefold-shell{
  border:1px solid var(--of-line);
  border-radius:18px;
  background:var(--of-card);
  box-shadow:var(--of-shadow);
  overflow:hidden;
}

.ptk-onefold > .ptk-onefold-shell > summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 18px;
  background:linear-gradient(180deg,#ffffff 0%, #f7f9fc 100%);
  border-bottom:1px solid transparent;
}

.ptk-onefold > .ptk-onefold-shell[open] > summary{
  border-bottom-color:var(--of-line);
}

.ptk-onefold > .ptk-onefold-shell > summary::-webkit-details-marker{
  display:none;
}

.ptk-onefold > .ptk-onefold-shell > summary::marker{
  content:"";
}

.ptk-onefold .onefold-left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.ptk-onefold .onefold-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  background:#eef7f5;
  border:1px solid #d8ebe7;
  color:#5d8a83;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  flex:0 0 auto;
}

.ptk-onefold .onefold-title{
  font-size:16px;
  font-weight:800;
  color:var(--of-text);
  letter-spacing:-.2px;
  line-height:1.4;
}

.ptk-onefold .onefold-right{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  flex:0 0 auto;
}

.ptk-onefold .onefold-hint{
  font-size:12px;
  color:var(--of-text-2);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:620px;
}

.ptk-onefold .onefold-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  height:30px;
  padding:0 10px;
  border-radius:999px;
  background:#f2f7fb;
  border:1px solid #dce8ef;
  color:#5c7b8a;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.ptk-onefold .onefold-state{
  color:var(--of-text-2);
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}

.ptk-onefold .ptk-onefold-shell:not([open]) .txt-open{
  display:none;
}

.ptk-onefold .ptk-onefold-shell[open] .txt-close{
  display:none;
}

.ptk-onefold .onefold-arrow{
  width:30px;
  height:30px;
  border-radius:999px;
  border:1px solid #dce9e6;
  background:#f9fcfb;
  position:relative;
  flex:0 0 auto;
}

.ptk-onefold .onefold-arrow::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:7px;
  height:7px;
  border-right:2px solid #6f9992;
  border-bottom:2px solid #6f9992;
  transform:translate(-50%,-60%) rotate(45deg);
  transition:transform .2s ease;
}

.ptk-onefold .ptk-onefold-shell[open] .onefold-arrow::before{
  transform:translate(-50%,-40%) rotate(-135deg);
}

.ptk-onefold .ptk-onefold-panel{
  padding:18px;
  background:linear-gradient(180deg,#f8fcfb 0%, #f4faf8 100%);
}

/* =========================================================
   기존 5개 개별 토글 완전 제거/평탄화용
   ========================================================= */

.ptk-onefold .ptk-toggle{
  margin:0 0 20px !important;
  background:transparent !important;
}

.ptk-onefold .ptk-toggle:last-child{
  margin-bottom:0 !important;
}

/* 혹시 스크립트 전에 잠깐 보여도 안쪽 summary 숨김 */

.ptk-onefold .ptk-toggle > details > summary{
  display:none !important;
}

.ptk-onefold .ptk-toggle > details{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  overflow:visible !important;
}

.ptk-onefold .ptk-toggle > details > .panel,
.ptk-onefold .ptk-toggle > .panel{
  padding:0 !important;
  background:transparent !important;
}

/* =========================================================
   기존 nwki-ptk 다크톤 -> 차분한 상담톤으로 덮어쓰기
   ========================================================= */

.ptk-onefold .nwki-ptk,
.ptk-onefold .nwki-ptk *{
  box-sizing:border-box;
}

.ptk-onefold .nwki-ptk{
  --bg:transparent;
  --card:var(--of-card);
  --card2:var(--of-card-2);
  --ink:var(--of-text);
  --muted:var(--of-text-2);
  --line:var(--of-line);
  --accent:var(--of-accent);
  --accent2:var(--of-accent-2);

  color:var(--ink) !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  max-width:none !important;
  margin:0 !important;
  box-shadow:none !important;
  font-family:'Noto Sans KR','Malgun Gothic',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
}

.ptk-onefold .nwki-ptk .wrap{
  display:block !important;
}

.ptk-onefold .nwki-ptk .title{
  position:relative !important;
  overflow:hidden !important;
  background:linear-gradient(135deg,#ffffff 0%, #f6fbfa 100%) !important;
  border:1px solid var(--of-line) !important;
  border-radius:16px !important;
  padding:18px 18px 16px !important;
  margin-bottom:14px !important;
  box-shadow:0 8px 22px rgba(43,84,81,.05) !important;
}

.ptk-onefold .nwki-ptk .title::before{
  content:"" !important;
  position:absolute !important;
  inset:0 auto 0 0 !important;
  width:4px !important;
  background:linear-gradient(180deg,#89b7af 0%, #a1c0c8 100%) !important;
  display:block !important;
}

.ptk-onefold .nwki-ptk .title h1,
.ptk-onefold .nwki-ptk .title h2{
  margin:0 0 8px !important;
  font-size:26px !important;
  line-height:1.32 !important;
  letter-spacing:-.4px !important;
  color:#234140 !important;
  font-weight:800 !important;
}

.ptk-onefold .nwki-ptk .title .sub{
  margin-bottom:10px !important;
  color:var(--of-text-2) !important;
  font-size:13px !important;
  line-height:1.82 !important;
}

.ptk-onefold .nwki-ptk .title .label{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  background:#eef7f5 !important;
  border:1px solid #d9ebe7 !important;
  color:#547f78 !important;
  font-size:12px !important;
  font-weight:800 !important;
  width:max-content !important;
}

.ptk-onefold .nwki-ptk .infobox,
.ptk-onefold .nwki-ptk .toc,
.ptk-onefold .nwki-ptk .sec,
.ptk-onefold .nwki-ptk .faq{
  background:var(--of-card) !important;
  border:1px solid var(--of-line) !important;
  border-radius:16px !important;
  padding:16px !important;
  margin:0 0 14px !important;
  box-shadow:0 6px 18px rgba(41,84,81,.04) !important;
}

.ptk-onefold .nwki-ptk .infobox .head{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin-bottom:12px !important;
}

.ptk-onefold .nwki-ptk .infobox .tag{
  color:#254242 !important;
  font-size:13px !important;
}

.ptk-onefold .nwki-ptk .infobox .dot{
  width:9px !important;
  height:9px !important;
  border-radius:50% !important;
  background:#84b1a9 !important;
  box-shadow:none !important;
}

.ptk-onefold .nwki-ptk .infobox .hint,
.ptk-onefold .nwki-ptk .toc-title span,
.ptk-onefold .nwki-ptk .faq-head span,
.ptk-onefold .nwki-ptk .muted,
.ptk-onefold .nwki-ptk .disclaimer p,
.ptk-onefold .nwki-ptk .faq .atxt{
  color:var(--of-text-2) !important;
}

.ptk-onefold .nwki-ptk .infobox table{
  width:100% !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  border:1px solid var(--of-line) !important;
  border-radius:12px !important;
  overflow:hidden !important;
  background:#fbfdfd !important;
}

.ptk-onefold .nwki-ptk .infobox th,
.ptk-onefold .nwki-ptk .infobox td{
  padding:13px 14px !important;
  border-top:1px solid var(--of-line) !important;
  vertical-align:top !important;
}

.ptk-onefold .nwki-ptk .infobox tr:first-child th,
.ptk-onefold .nwki-ptk .infobox tr:first-child td{
  border-top:0 !important;
}

.ptk-onefold .nwki-ptk .infobox th{
  width:28% !important;
  background:#f4f9f8 !important;
  color:#506f6c !important;
  font-size:12px !important;
  font-weight:800 !important;
  text-align:left !important;
}

.ptk-onefold .nwki-ptk .infobox td{
  color:#2c4645 !important;
  font-size:13px !important;
  line-height:1.84 !important;
}

.ptk-onefold .nwki-ptk .toc-title,
.ptk-onefold .nwki-ptk .faq-head{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:10px !important;
  margin-bottom:10px !important;
}

.ptk-onefold .nwki-ptk .toc-title b,
.ptk-onefold .nwki-ptk .faq-head b{
  color:#234140 !important;
  font-size:14px !important;
}

.ptk-onefold .nwki-ptk .toc ol{
  margin:0 !important;
  padding-left:0 !important;
  list-style:none !important;
  display:grid !important;
  gap:8px !important;
}

.ptk-onefold .nwki-ptk .toc a{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  text-decoration:none !important;
  color:#2d4746 !important;
  padding:11px 12px !important;
  border-radius:12px !important;
  border:1px solid #e4efec !important;
  background:#fbfdfd !important;
  transition:all .18s ease !important;
}

.ptk-onefold .nwki-ptk .toc a:hover{
  background:#f1f5fb !important;
  border-color:#d6e7e2 !important;
}

.ptk-onefold .nwki-ptk .toc .n{
  width:26px !important;
  height:26px !important;
  display:inline-grid !important;
  place-items:center !important;
  border-radius:9px !important;
  background:#eef7f5 !important;
  border:1px solid #d9ebe7 !important;
  color:#58817a !important;
  font-size:11px !important;
  font-weight:800 !important;
  flex:0 0 auto !important;
}

.ptk-onefold .nwki-ptk .sec h2{
  margin:0 0 8px !important;
  color:#234140 !important;
  font-size:18px !important;
  line-height:1.45 !important;
  font-weight:800 !important;
}

.ptk-onefold .nwki-ptk .sec .num{
  color:#76a39b !important;
  font-weight:900 !important;
}

.ptk-onefold .nwki-ptk .sec h3{
  margin:12px 0 6px !important;
  color:#2d4a49 !important;
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1.6 !important;
}

.ptk-onefold .nwki-ptk .sec h4{
  margin:10px 0 6px !important;
  color:#456564 !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.55 !important;
}

.ptk-onefold .nwki-ptk .lead,
.ptk-onefold .nwki-ptk p,
.ptk-onefold .nwki-ptk li{
  color:#355252 !important;
  font-size:13px !important;
  line-height:1.9 !important;
}

.ptk-onefold .nwki-ptk ul,
.ptk-onefold .nwki-ptk ol{
  margin:8px 0 0 18px !important;
}

.ptk-onefold .nwki-ptk .note,
.ptk-onefold .nwki-ptk .mini{
  margin-top:12px !important;
  padding:13px 14px !important;
  border-radius:12px !important;
  border:1px solid #deece9 !important;
  background:#f6fbfa !important;
}

.ptk-onefold .nwki-ptk .note .t,
.ptk-onefold .nwki-ptk .mini b{
  color:#244141 !important;
  font-weight:800 !important;
}

.ptk-onefold .nwki-ptk .note .t::before{
  background:#eaf5f3 !important;
  border:1px solid #d7eae5 !important;
  color:#5a847d !important;
}

.ptk-onefold .nwki-ptk .faq details{
  border:1px solid #e3efec !important;
  border-radius:12px !important;
  padding:11px 13px !important;
  margin:10px 0 !important;
  background:#fbfdfd !important;
}

.ptk-onefold .nwki-ptk .faq summary{
  color:#274443 !important;
  font-size:13px !important;
  font-weight:800 !important;
}

.ptk-onefold .nwki-ptk .faq .q{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:22px !important;
  height:22px !important;
  padding:0 6px !important;
  border-radius:999px !important;
  background:#eef7f5 !important;
  border:1px solid #d8ebe6 !important;
  color:#59807a !important;
  font-size:11px !important;
  font-weight:800 !important;
  margin-right:8px !important;
}

.ptk-onefold .nwki-ptk .disclaimer{
  margin-top:14px !important;
  background:#eef7f5 !important;
  border:1px solid #dbece8 !important;
  border-radius:14px !important;
  padding:14px !important;
  color:#355151 !important;
}

.ptk-onefold .nwki-ptk .disclaimer b{
  color:#21403f !important;
  font-size:13px !important;
  font-weight:800 !important;
}

.ptk-onefold .nwki-ptk .disclaimer .foot{
  color:#6f8886 !important;
}

/* 모바일 */

@media (max-width:900px){
  .ptk-onefold > .ptk-onefold-shell > summary{
    flex-direction:column;
    align-items:flex-start;
  }

  .ptk-onefold .onefold-right{
    width:100%;
    justify-content:space-between;
  }

  .ptk-onefold .onefold-hint{
    max-width:none;
    flex:1 1 auto;
  }
}

@media (max-width:640px){
  .ptk-onefold{
    margin:20px 0;
  }

  .ptk-onefold > .ptk-onefold-shell > summary{
    padding:14px;
    gap:12px;
  }

  .ptk-onefold .onefold-title{
    font-size:15px;
  }

  .ptk-onefold .onefold-hint{
    display:none;
  }

  .ptk-onefold .onefold-count,
  .ptk-onefold .onefold-state{
    font-size:11px;
  }

  .ptk-onefold .ptk-onefold-panel{
    padding:14px;
  }

  .ptk-onefold .nwki-ptk .title h1,
  .ptk-onefold .nwki-ptk .title h2{
    font-size:22px !important;
  }

  .ptk-onefold .nwki-ptk .infobox th{
    width:36% !important;
  }
}

/* =========================================================
 * QUICK BAR STYLE
 * - 2버튼 전용
 * - 참고 사이트처럼 크기감 키우되 과하지 않게
 * - 모바일 하단 고정
========================================================= */

#pt-quick-bar-fixed{
  position: fixed;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  z-index: 9999;
  width: calc(100% - 24px);
  max-width: 560px;
  box-sizing: border-box;
}

#pt-quick-bar-fixed .ptq-wrap{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  align-items: stretch;
}

#pt-quick-bar-fixed .ptq-item{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 62px;
  padding: 14px 18px;
  border-radius: 18px;
  text-decoration: none;
  font-weight: 800;
  font-size: 16px;
  line-height: 1;
  letter-spacing: -0.3px;
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
  box-sizing: border-box;
}

#pt-quick-bar-fixed .ptq-item:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(0,0,0,.22);
}

#pt-quick-bar-fixed .ptq-item:focus{
  outline: none;
  box-shadow: 0 0 0 3px rgba(255,255,255,.28), 0 14px 34px rgba(0,0,0,.22);
}

#pt-quick-bar-fixed .ptq-ico-wrap{
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

#pt-quick-bar-fixed .ptq-ico-circle{
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#pt-quick-bar-fixed .ptq-ico-circle svg{
  width: 18px;
  height: 18px;
  display: block;
}

#pt-quick-bar-fixed .ptq-label{
  display: inline-block;
  white-space: nowrap;
}

/* 대표전화 */

#pt-quick-bar-fixed .ptq-tel{
  color: #fff;
  background: linear-gradient(135deg, #111 0%, #2d2d2d 100%);
  border: 1px solid rgba(255,255,255,.08);
}

#pt-quick-bar-fixed .ptq-tel .ptq-ico-circle{
  background: rgba(255,255,255,.14);
  color: #fff;
}

/* 카카오 */

#pt-quick-bar-fixed .ptq-kakao{
  color: #111;
  background: linear-gradient(135deg, #ffe14a 0%, #ffd400 100%);
  border: 1px solid rgba(0,0,0,.06);
}

#pt-quick-bar-fixed .ptq-kakao .ptq-ico-circle{
  background: rgba(0,0,0,.08);
  color: #111;
}

/* 태블릿 */

@media (max-width: 1024px){
  #pt-quick-bar-fixed{
    bottom: 14px;
    max-width: 520px;
  }

  #pt-quick-bar-fixed .ptq-item{
    min-height: 58px;
    padding: 13px 16px;
    font-size: 15px;
    border-radius: 16px;
  }
}

/* 모바일 */

@media (max-width: 767px){
  #pt-quick-bar-fixed{
    width: calc(100% - 16px);
    max-width: none;
    bottom: 10px;
  }

  #pt-quick-bar-fixed .ptq-wrap{
    gap: 8px;
  }

  #pt-quick-bar-fixed .ptq-item{
    min-height: 54px;
    padding: 12px 12px;
    font-size: 14px;
    border-radius: 14px;
    gap: 8px;
  }

  #pt-quick-bar-fixed .ptq-ico-circle{
    width: 30px;
    height: 30px;
  }

  #pt-quick-bar-fixed .ptq-ico-circle svg{
    width: 16px;
    height: 16px;
  }

  #pt-quick-bar-fixed .ptq-label{
    font-size: 14px;
  }
}

/* =========================================================
 * PTQ2 QUICK BAR
 * - 높이 확대
 * - 텍스트 크기 확대
 * - 더 직관적인 하단 2분할 퀵바
========================================================= */

#ptq2-fixed-bar{
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 99999 !important;
  transform: none !important;
}

#ptq2-fixed-bar,
#ptq2-fixed-bar *,
#ptq2-fixed-bar *::before,
#ptq2-fixed-bar *::after{
  box-sizing: border-box !important;
}

#ptq2-fixed-bar .ptq2-wrap{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}

#ptq2-fixed-bar .ptq2-btn{
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: 0 -6px 18px rgba(0,0,0,.15) !important;
}

#ptq2-fixed-bar .ptq2-inner{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  width: 100% !important;
  min-height: 86px !important;
  padding: 20px 16px calc(20px + env(safe-area-inset-bottom)) !important;
  text-align: center !important;
}

#ptq2-fixed-bar .ptq2-icon{
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 44px !important;
}

#ptq2-fixed-bar .ptq2-icon svg{
  width: 24px !important;
  height: 24px !important;
  display: block !important;
}

#ptq2-fixed-bar .ptq2-label{
  display: inline-block !important;
  font-size: 21px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  letter-spacing: -0.45px !important;
  white-space: nowrap !important;
  color: inherit !important;
}

/* 대표전화 */

#ptq2-fixed-bar .ptq2-btn--call{
  background: linear-gradient(180deg, #1796ff 0%, #0c6fda 100%) !important;
  color: #fff !important;
  border-right: 1px solid rgba(255,255,255,.22) !important;
}

#ptq2-fixed-bar .ptq2-btn--call .ptq2-icon{
  background: rgba(255,255,255,.18) !important;
  color: #fff !important;
}

/* 카카오 */

#ptq2-fixed-bar .ptq2-btn--kakao{
  background: linear-gradient(180deg, #ffe24d 0%, #ffd400 100%) !important;
  color: #111 !important;
}

#ptq2-fixed-bar .ptq2-btn--kakao .ptq2-icon{
  background: rgba(0,0,0,.10) !important;
  color: #111 !important;
}

#ptq2-fixed-bar .ptq2-btn:hover{
  filter: brightness(1.02) !important;
}

#ptq2-fixed-bar .ptq2-btn:focus{
  outline: none !important;
}

@media (max-width: 767px){
  #ptq2-fixed-bar .ptq2-inner{
    min-height: 72px !important;
    gap: 10px !important;
    padding: 16px 10px calc(16px + env(safe-area-inset-bottom)) !important;
  }

  #ptq2-fixed-bar .ptq2-icon{
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    flex-basis: 36px !important;
  }

  #ptq2-fixed-bar .ptq2-icon svg{
    width: 20px !important;
    height: 20px !important;
  }

  #ptq2-fixed-bar .ptq2-label{
    font-size: 17px !important;
    letter-spacing: -0.3px !important;
  }
}

@media (max-width: 390px){
  #ptq2-fixed-bar .ptq2-inner{
    min-height: 66px !important;
    gap: 8px !important;
    padding: 14px 8px calc(14px + env(safe-area-inset-bottom)) !important;
  }

  #ptq2-fixed-bar .ptq2-icon{
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    flex-basis: 32px !important;
  }

  #ptq2-fixed-bar .ptq2-icon svg{
    width: 18px !important;
    height: 18px !important;
  }

  #ptq2-fixed-bar .ptq2-label{
    font-size: 15px !important;
  }
}

body {
  overflow-x: hidden;
}

/* =========================================================
   HERO FULL OVERRIDE
   - 기존 CSS는 건드리지 말고 맨 아래에 그대로 추가
   - #pt-hero-main / #pt-main #hero / .phonetech-main #hero 동시 덮어쓰기
   - 배경은 히어로 영역을 꽉 채우되, 기존 과확대/음수 inset 제거
   - 텍스트 시인성 보강
========================================================= */

body{
  overflow-x:hidden;
}

/* -------------------------
   1) PT HERO SHORTCODE 버전
------------------------- */

#pt-hero-main.pt-hero-main{
  position:relative !important;
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-top:clamp(44px,5vw,76px) !important;
  padding-bottom:clamp(44px,5vw,76px) !important;
  min-height:clamp(560px,72vh,760px) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  background:#0f172a !important;
}

#pt-hero-main .pt-hero-bg{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  overflow:hidden !important;
  background:#0f172a !important;
}

#pt-hero-main .pt-hero-bg::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:
    linear-gradient(120deg,
      rgba(2,6,23,.62) 0%,
      rgba(2,6,23,.32) 36%,
      rgba(2,6,23,.18) 64%,
      rgba(2,6,23,.46) 100%) !important;
}

#pt-hero-main .pt-hero-bg::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:
    linear-gradient(180deg,
      rgba(255,255,255,.02) 0%,
      rgba(255,255,255,0) 34%,
      rgba(2,6,23,.22) 100%) !important;
}

#pt-hero-main .pt-hero-bg .bg{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  padding:0 !important;
  margin:0 !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  filter:none !important;
  box-sizing:border-box !important;
}

#pt-hero-main .main-visual{
  position:relative !important;
  z-index:3 !important;
  width:100% !important;
  min-height:inherit !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  padding-left:clamp(20px,4vw,56px) !important;
  padding-right:clamp(20px,4vw,56px) !important;
}

#pt-hero-main .items{
  width:100% !important;
  max-width:1440px !important;
  margin:0 auto !important;
}

#pt-hero-main .item,
#pt-hero-main .item .contain{
  width:100% !important;
  max-width:1440px !important;
  margin:0 auto !important;
}

#pt-hero-main .txt-wrap{
  position:relative !important;
  width:100% !important;
  max-width:980px !important;
  padding:clamp(18px,2vw,28px) !important;
  border-radius:24px !important;
  background:linear-gradient(
    180deg,
    rgba(2,6,23,.62) 0%,
    rgba(2,6,23,.48) 52%,
    rgba(2,6,23,.34) 100%
  ) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.22) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
}

#pt-hero-main .txt-wrap > *{
  position:relative !important;
  z-index:1 !important;
}

#pt-hero-main .h1,
#pt-hero-main #page-title.h1{
  display:block !important;
  margin:0 0 8px !important;
  font-weight:800 !important;
  letter-spacing:-0.4px !important;
  line-height:1.18 !important;
  font-size:clamp(24px,2.1vw + 10px,44px) !important;
  font-family:inherit !important;
  color:#ffffff !important;
  text-shadow:
    0 2px 8px rgba(0,0,0,.40),
    0 8px 24px rgba(0,0,0,.24) !important;
}

#pt-hero-main .txt-wrap > :not(.main_button):not(.cta),
#pt-hero-main .txt-wrap > :not(.main_button):not(.cta) *{
  color:#ffffff !important;
  text-shadow:
    0 1px 3px rgba(0,0,0,.36),
    0 8px 22px rgba(0,0,0,.22) !important;
}

#pt-hero-main .lead{
  margin:0 !important;
  font-size:clamp(15px,1.7vw,18px) !important;
  line-height:1.72 !important;
}

#pt-hero-main .lead strong{
  color:#93c5fd !important;
}

#pt-hero-main .main_button{
  margin-top:18px !important;
  display:flex !important;
  justify-content:center !important;
  width:100% !important;
}

#pt-hero-main .cta{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:14px !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  max-width:860px !important;
  margin:0 auto !important;
}

#pt-hero-main .cta .btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:240px !important;
  min-height:66px !important;
  padding:18px 30px !important;
  border-radius:16px !important;
  font-size:21px !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-decoration:none !important;
  letter-spacing:-0.3px !important;
  box-shadow:0 12px 30px rgba(0,0,0,.22) !important;
  transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease !important;
  border:1px solid rgba(255,255,255,.18) !important;
  backdrop-filter:blur(6px) !important;
  -webkit-backdrop-filter:blur(6px) !important;
}

#pt-hero-main .cta .btn:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 16px 36px rgba(0,0,0,.28) !important;
  opacity:1 !important;
}

#pt-hero-main .cta .btn--tel{
  color:#fff !important;
  background:linear-gradient(135deg,#2f80ff 0%,#1557d6 100%) !important;
}

#pt-hero-main .cta .btn--kakao{
  color:#111 !important;
  background:linear-gradient(135deg,#ffe14a 0%,#ffd400 100%) !important;
}

#pt-hero-main .pt-hero-lastmod{
  position:relative !important;
  z-index:3 !important;
  display:block !important;
  width:100% !important;
  text-align:center !important;
  margin-top:14px !important;
  padding-left:20px !important;
  padding-right:20px !important;
  box-sizing:border-box !important;
  color:#ffffff !important;
  text-shadow:
    0 1px 3px rgba(0,0,0,.36),
    0 8px 22px rgba(0,0,0,.22) !important;
}

/* 엘레멘터 내부 폭 제한 대응 유지 */

.elementor-widget-container #pt-hero-main.pt-hero-main,
.elementor-widget-html #pt-hero-main.pt-hero-main,
.elementor-widget-shortcode #pt-hero-main.pt-hero-main{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}

.elementor-widget-html,
.elementor-widget-shortcode{
  width:100% !important;
}

/* -------------------------
   2) 기존 #hero 직접 HTML 버전
------------------------- */

#pt-main #hero,
.phonetech-main #hero{
  position:relative !important;
  overflow:hidden !important;
  background:#0f172a !important;
  color:#ffffff !important;
}

#pt-main #hero .media,
#pt-main #hero .media.slides,
.phonetech-main #hero .media,
.phonetech-main #hero .media.slides{
  position:absolute !important;
  inset:0 !important;
  overflow:hidden !important;
  z-index:0 !important;
}

#pt-main #hero .media::before,
#pt-main #hero .media::after,
.phonetech-main #hero .media::before,
.phonetech-main #hero .media::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
}

#pt-main #hero .media::before,
.phonetech-main #hero .media::before{
  z-index:1 !important;
  background:
    linear-gradient(120deg,
      rgba(2,6,23,.62) 0%,
      rgba(2,6,23,.32) 36%,
      rgba(2,6,23,.18) 64%,
      rgba(2,6,23,.46) 100%) !important;
}

#pt-main #hero .media::after,
.phonetech-main #hero .media::after{
  z-index:2 !important;
  background:
    linear-gradient(180deg,
      rgba(255,255,255,.02) 0%,
      rgba(255,255,255,0) 34%,
      rgba(2,6,23,.22) 100%) !important;
}

#pt-main #hero .slides img,
#pt-main #hero .media img,
.phonetech-main #hero .media.slides img,
.phonetech-main #hero .media img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  filter:none !important;
  margin:0 !important;
  padding:0 !important;
}

#pt-main #hero .inner,
.phonetech-main #hero .inner{
  position:relative !important;
  z-index:3 !important;
}

#pt-main #hero .panel,
.phonetech-main #hero .panel{
  background:linear-gradient(
    180deg,
    rgba(2,6,23,.62) 0%,
    rgba(2,6,23,.48) 52%,
    rgba(2,6,23,.34) 100%
  ) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.22) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
}

#pt-main #hero h1,
#pt-main #hero h2,
#pt-main #hero .lead,
.phonetech-main #hero h1,
.phonetech-main #hero h2,
.phonetech-main #hero .lead{
  color:#ffffff !important;
  text-shadow:
    0 2px 8px rgba(0,0,0,.40),
    0 8px 24px rgba(0,0,0,.24) !important;
}

#pt-main #hero .lead strong,
.phonetech-main #hero .lead strong{
  color:#93c5fd !important;
}

#pt-main #hero .lastmod,
.phonetech-main #hero .lastmod{
  color:#ffffff !important;
  text-shadow:
    0 1px 3px rgba(0,0,0,.36),
    0 8px 22px rgba(0,0,0,.22) !important;
}

/* -------------------------
   3) 모바일/태블릿 대응
------------------------- */

@media (max-width:1024px){
  #pt-hero-main.pt-hero-main{
    padding-top:40px !important;
    padding-bottom:40px !important;
    min-height:620px !important;
  }

  #pt-hero-main .main-visual{
    padding-left:20px !important;
    padding-right:20px !important;
  }

  #pt-hero-main .items,
  #pt-hero-main .item,
  #pt-hero-main .item .contain{
    max-width:100% !important;
  }
}

@media (max-width:767px){
  #pt-hero-main.pt-hero-main{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding-top:32px !important;
    padding-bottom:32px !important;
    min-height:500px !important;
  }

  #pt-hero-main .pt-hero-bg .bg{
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
    filter:none !important;
  }

  #pt-hero-main .main-visual{
    padding-left:16px !important;
    padding-right:16px !important;
    align-items:flex-end !important;
  }

  #pt-hero-main .txt-wrap{
    max-width:100% !important;
    padding:18px 16px !important;
    border-radius:18px !important;
    background:linear-gradient(
      180deg,
      rgba(2,6,23,.66) 0%,
      rgba(2,6,23,.52) 52%,
      rgba(2,6,23,.38) 100%
    ) !important;
  }

  #pt-hero-main .main_button{
    margin-top:16px !important;
  }

  #pt-hero-main .cta{
    gap:10px !important;
  }

  #pt-hero-main .cta .btn{
    width:100% !important;
    min-width:0 !important;
    min-height:58px !important;
    padding:16px 20px !important;
    font-size:18px !important;
    border-radius:14px !important;
  }

  #pt-hero-main .pt-hero-lastmod{
    margin-top:12px !important;
    font-size:12px !important;
  }

  #pt-main #hero .slides img,
  #pt-main #hero .media img,
  .phonetech-main #hero .media.slides img,
  .phonetech-main #hero .media img{
    object-position:center center !important;
    transform:none !important;
  }

  #pt-main #hero .panel,
  .phonetech-main #hero .panel{
    border-radius:18px !important;
  }
}

/* -------------------------
   4) 혹시 남아 있는 세로쓰기/회전 꼬임 방지
------------------------- */

#pt-main #hero,
#pt-main #hero > *,
#pt-main #hero .panel,
#pt-main #hero .pt-hero-head,
#pt-main #hero .hero-text-slides,
#pt-main #hero .hero-text,
.phonetech-main #hero,
.phonetech-main #hero > *,
.phonetech-main #hero .panel,
.phonetech-main #hero .pt-hero-head,
.phonetech-main #hero .hero-text-slides,
.phonetech-main #hero .hero-text,
#pt-main .pt-hero-main,
#pt-main .pt-hero-main *,
.phonetech-main .pt-hero-main,
.phonetech-main .pt-hero-main *{
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
}

#pt-main #hero h1,
#pt-main #hero h1 *,
#pt-main #hero h2,
#pt-main #hero h2 *,
.phonetech-main #hero h1,
.phonetech-main #hero h1 *,
.phonetech-main #hero h2,
.phonetech-main #hero h2 *{
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  white-space:normal !important;
  word-break:keep-all !important;
  overflow-wrap:break-word !important;
}

/* ===== 모바일 히어로 텍스트/버튼 중앙 보정 ===== */

@media (max-width: 767px){

  /* 모바일에서만 풀폭 강제 이동값 제거 */
  #pt-main .pt-hero-main,
  .phonetech-main .pt-hero-main,
  #pt-hero-main.pt-hero-main{
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* 내부 여백만 유지 */
  #pt-hero-main .main-visual{
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* 래퍼 폭 기준 중앙 */
  #pt-hero-main .items,
  #pt-hero-main .item,
  #pt-hero-main .item .contain{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* 텍스트 박스 중앙 */
  #pt-hero-main .txt-wrap{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* 버튼 영역 중앙 */
  #pt-hero-main .main_button{
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
  }

  #pt-hero-main .cta{
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
    align-items: center !important;
  }

  #pt-hero-main .cta .btn{
    width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* ==========================================================
   서브페이지 히어로 버튼 -> 메인 히어로 버튼과 동일하게 통일
   적용 위치: 현재 CSS 맨 아래
   대상: #pt-hero-main 내부 버튼만
   ========================================================== */

#pt-hero-main .main_button{
  margin-top:18px !important;
  display:flex !important;
  justify-content:center !important;
  width:100% !important;
}

#pt-hero-main .cta{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px 12px !important;
  width:100% !important;
  max-width:780px !important;
  justify-content:center !important;
  align-items:center !important;
  margin:0 auto !important;
}

#pt-hero-main .cta .btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  width:auto !important;
  min-width:0 !important;
  min-height:48px !important;
  height:48px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 6px 18px rgba(0,0,0,.22) !important;
  transition:none !important;
  transform:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

#pt-hero-main .cta .btn--tel{
  background:var(--brand, #2563eb) !important;
  color:#fff !important;
  border-color:transparent !important;
}

#pt-hero-main .cta .btn--kakao{
  background:#FEE500 !important;
  color:#191600 !important;
  border-color:rgba(0,0,0,.18) !important;
}

#pt-hero-main .cta .btn--naver{
  background:#03C75A !important;
  color:#fff !important;
  border-color:rgba(0,0,0,.12) !important;
}

#pt-hero-main .cta .btn:hover,
#pt-hero-main .cta .btn:focus,
#pt-hero-main .cta .btn:active{
  transform:none !important;
  opacity:1 !important;
  filter:brightness(.98) !important;
  box-shadow:0 6px 18px rgba(0,0,0,.22) !important;
  outline:none !important;
}

@media (max-width:600px){
  #pt-hero-main .cta .btn{
    flex:1 1 100% !important;
    width:100% !important;
    min-width:0 !important;
    height:52px !important;
    min-height:52px !important;
    padding:0 16px !important;
  }
}

/* =========================================================
   * PT MAIN HERO - 메인 히어로 톤 통일용
   * 현재 주신 HTML 구조 그대로 사용
   * ========================================================= */

#pt-main.phonetech-main{
    position:relative;
    width:100%;
    margin:0;
    padding:0;
    color:#fff;
    isolation:isolate;
  }

#pt-main.phonetech-main *{
    box-sizing:border-box;
  }

#pt-main.phonetech-main #hero{
    position:relative;
    overflow:hidden;
    min-height:clamp(540px, 74vh, 820px);
    display:flex;
    align-items:center;
    background:#0b0d12;
    border-radius:28px;
  }

#pt-main.phonetech-main #hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:
      linear-gradient(90deg, rgba(8,10,16,.84) 0%, rgba(8,10,16,.62) 34%, rgba(8,10,16,.28) 62%, rgba(8,10,16,.48) 100%),
      linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 18%, rgba(0,0,0,.22) 100%);
    pointer-events:none;
  }

#pt-main.phonetech-main #hero::after{
    content:"";
    position:absolute;
    inset:auto auto -120px -120px;
    width:340px;
    height:340px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,255,255,.14) 0%, rgba(255,255,255,0) 70%);
    z-index:1;
    pointer-events:none;
    filter:blur(8px);
  }

#pt-main.phonetech-main #hero .media.slides{
    position:absolute;
    inset:0;
    z-index:0;
    overflow:hidden;
  }

#pt-main.phonetech-main #hero .media.slides img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    opacity:0;
    transform:scale(1.03);
    animation:ptHeroFade 18s infinite;
    filter:brightness(.74) saturate(1.02);
  }

#pt-main.phonetech-main #hero .media.slides img:nth-child(1){ animation-delay:0s; }

#pt-main.phonetech-main #hero .media.slides img:nth-child(2){ animation-delay:6s; }

#pt-main.phonetech-main #hero .media.slides img:nth-child(3){ animation-delay:12s; }

@keyframes ptHeroFade{
    0%{opacity:0;transform:scale(1.03);}
    6%{opacity:1;}
    28%{opacity:1;transform:scale(1);}
    33%{opacity:0;}
    100%{opacity:0;transform:scale(1.03);}
  }

#pt-main.phonetech-main #hero .inner{
    position:relative;
    z-index:2;
    width:100%;
    max-width:1280px;
    margin:0 auto;
    padding:clamp(36px, 5vw, 64px);
  }

#pt-main.phonetech-main #hero .panel{
    position:relative;
    width:min(100%, 620px);
    padding:clamp(26px, 3vw, 38px);
    border-radius:30px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.09) 100%);
    border:1px solid rgba(255,255,255,.18);
    box-shadow:
      0 24px 80px rgba(0,0,0,.34),
      inset 0 1px 0 rgba(255,255,255,.16);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }

#pt-main.phonetech-main #hero .panel::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:linear-gradient(135deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 45%, rgba(255,255,255,.04) 100%);
    pointer-events:none;
  }

#pt-main.phonetech-main #hero .panel > *{
    position:relative;
    z-index:1;
  }

#pt-main.phonetech-main #hero h2{
    margin:0 0 16px;
    font-size:clamp(34px, 5vw, 58px);
    line-height:1.08;
    font-weight:800;
    letter-spacing:-0.04em;
    color:#fff;
    text-shadow:0 8px 30px rgba(0,0,0,.24);
  }

#pt-main.phonetech-main #hero .lead{
    margin:0;
    font-size:clamp(15px, 1.8vw, 18px);
    line-height:1.85;
    color:rgba(255,255,255,.92);
    word-break:keep-all;
  }

#pt-main.phonetech-main #hero .lead strong{
    color:#fff;
    font-weight:800;
  }

#pt-main.phonetech-main #hero .cta{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:24px;
  }

#pt-main.phonetech-main #hero .btn{
    appearance:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:148px;
    min-height:54px;
    padding:0 22px;
    border-radius:16px;
    text-decoration:none;
    font-size:15px;
    font-weight:800;
    letter-spacing:-0.02em;
    transition:
      transform .22s ease,
      box-shadow .22s ease,
      background .22s ease,
      border-color .22s ease,
      color .22s ease;
  }

#pt-main.phonetech-main #hero .btn:hover{
    transform:translateY(-2px);
  }

#pt-main.phonetech-main #hero .btn--tel{
    color:#0f1115;
    background:#fff;
    border:1px solid rgba(255,255,255,.92);
    box-shadow:0 12px 28px rgba(0,0,0,.18);
  }

#pt-main.phonetech-main #hero .btn--tel:hover{
    background:#f3f5f8;
  }

#pt-main.phonetech-main #hero .btn--kakao{
    color:#1b1b1b;
    background:#FEE500;
    border:1px solid rgba(254,229,0,.9);
    box-shadow:0 12px 28px rgba(0,0,0,.18);
  }

#pt-main.phonetech-main #hero .btn--kakao:hover{
    background:#f6de00;
  }

#pt-main.phonetech-main #hero .lastmod{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:18px;
    font-size:12px;
    line-height:1.5;
    color:rgba(255,255,255,.78);
    letter-spacing:-0.01em;
  }

#pt-main.phonetech-main #hero .lastmod::before{
    content:"";
    width:6px;
    height:6px;
    border-radius:50%;
    background:rgba(255,255,255,.72);
    flex:0 0 auto;
  }

#pt-main.phonetech-main .reveal,
  #pt-main.phonetech-main .anim-up{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
  }

@media (max-width: 1024px){
    #pt-main.phonetech-main #hero{
      min-height:620px;
      border-radius:24px;
    }

    #pt-main.phonetech-main #hero::before{
      background:
        linear-gradient(180deg, rgba(8,10,16,.42) 0%, rgba(8,10,16,.68) 34%, rgba(8,10,16,.86) 100%),
        linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 20%, rgba(0,0,0,.20) 100%);
    }

    #pt-main.phonetech-main #hero .panel{
      width:min(100%, 100%);
    }
  }

@media (max-width: 640px){
    #pt-main.phonetech-main #hero{
      min-height:560px;
      border-radius:20px;
    }

    #pt-main.phonetech-main #hero .inner{
      padding:20px;
    }

    #pt-main.phonetech-main #hero .panel{
      padding:22px 18px 20px;
      border-radius:22px;
    }

    #pt-main.phonetech-main #hero h2{
      margin-bottom:12px;
      font-size:30px;
    }

    #pt-main.phonetech-main #hero .lead{
      font-size:15px;
      line-height:1.72;
    }

    #pt-main.phonetech-main #hero .cta{
      flex-direction:column;
      gap:10px;
      margin-top:20px;
    }

    #pt-main.phonetech-main #hero .btn{
      width:100%;
      min-height:52px;
      border-radius:14px;
    }

    #pt-main.phonetech-main #hero .lastmod{
      margin-top:14px;
      font-size:11px;
    }
  }

@media (prefers-reduced-motion: reduce){
    #pt-main.phonetech-main #hero .media.slides img{
      animation:none;
      opacity:0;
    }
    #pt-main.phonetech-main #hero .media.slides img:first-child{
      opacity:1;
    }
    #pt-main.phonetech-main #hero .btn{
      transition:none;
    }
  }

/* ==========================================================
   HERO CTA BUTTON FINAL SYNC FIX
   메인(#pt-hero-main) + 직접 HTML 서브(#pt-main.phonetech-main #hero / .phonetech-main #hero)
   버튼 크기/간격/높이 최종 통일
   반드시 CSS 맨 아래 유지
   ========================================================== */

#pt-hero-main .main_button,
#pt-main.phonetech-main #hero .cta,
.phonetech-main #hero .cta,
#pt-main #hero .cta{
  width:100% !important;
}

#pt-hero-main .cta,
#pt-main.phonetech-main #hero .cta,
.phonetech-main #hero .cta,
#pt-main #hero .cta{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  gap:14px !important;
  max-width:860px !important;
  margin:0 auto !important;
}

#pt-hero-main .cta .btn,
#pt-main.phonetech-main #hero .cta .btn,
.phonetech-main #hero .cta .btn,
#pt-main #hero .cta .btn{
  appearance:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  width:auto !important;
  min-width:240px !important;
  min-height:66px !important;
  height:66px !important;
  padding:0 30px !important;
  border-radius:16px !important;
  box-sizing:border-box !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  font-size:21px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:-0.3px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.22) !important;
  transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease !important;
  backdrop-filter:blur(6px) !important;
  -webkit-backdrop-filter:blur(6px) !important;
}

#pt-hero-main .cta .btn:hover,
#pt-hero-main .cta .btn:focus,
#pt-hero-main .cta .btn:active,
#pt-main.phonetech-main #hero .cta .btn:hover,
#pt-main.phonetech-main #hero .cta .btn:focus,
#pt-main.phonetech-main #hero .cta .btn:active,
.phonetech-main #hero .cta .btn:hover,
.phonetech-main #hero .cta .btn:focus,
.phonetech-main #hero .cta .btn:active,
#pt-main #hero .cta .btn:hover,
#pt-main #hero .cta .btn:focus,
#pt-main #hero .cta .btn:active{
  transform:translateY(-2px) !important;
  opacity:1 !important;
  box-shadow:0 16px 36px rgba(0,0,0,.28) !important;
  outline:none !important;
}

#pt-hero-main .cta .btn--tel,
#pt-main.phonetech-main #hero .cta .btn--tel,
.phonetech-main #hero .cta .btn--tel,
#pt-main #hero .cta .btn--tel{
  color:#fff !important;
  background:linear-gradient(135deg,#2f80ff 0%,#1557d6 100%) !important;
  border-color:transparent !important;
}

#pt-hero-main .cta .btn--kakao,
#pt-main.phonetech-main #hero .cta .btn--kakao,
.phonetech-main #hero .cta .btn--kakao,
#pt-main #hero .cta .btn--kakao{
  color:#111 !important;
  background:linear-gradient(135deg,#ffe14a 0%,#ffd400 100%) !important;
  border-color:rgba(0,0,0,.16) !important;
}

#pt-hero-main .cta .btn--naver,
#pt-main.phonetech-main #hero .cta .btn--naver,
.phonetech-main #hero .cta .btn--naver,
#pt-main #hero .cta .btn--naver{
  color:#fff !important;
  background:linear-gradient(135deg,#03c75a 0%,#02b350 100%) !important;
  border-color:rgba(0,0,0,.12) !important;
}

@media (max-width: 767px){
  #pt-hero-main .cta,
  #pt-main.phonetech-main #hero .cta,
  .phonetech-main #hero .cta,
  #pt-main #hero .cta{
    gap:10px !important;
  }

  #pt-hero-main .cta .btn,
  #pt-main.phonetech-main #hero .cta .btn,
  .phonetech-main #hero .cta .btn,
  #pt-main #hero .cta .btn{
    flex:1 1 100% !important;
    width:100% !important;
    min-width:0 !important;
    min-height:58px !important;
    height:58px !important;
    padding:0 20px !important;
    font-size:18px !important;
    border-radius:14px !important;
  }
}


  .wiki-instagram-wrap{
    width:100%;
    max-width:1180px;
    margin:0 auto;
    padding:28px 18px 52px;
    box-sizing:border-box;
    color:#222;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR","Malgun Gothic",Arial,sans-serif;
    line-height:1.82;
    word-break:keep-all;
    background:#fff;
  }

  .wiki-instagram-wrap *{
    box-sizing:border-box;
  }

  .wiki-instagram-title{
    margin:0 0 12px;
    padding:0 0 16px;
    border-bottom:2px solid #d9dde7;
    font-size:32px;
    font-weight:800;
    letter-spacing:-.04em;
    color:#111827;
    line-height:1.28;
  }

  .wiki-instagram-subtitle{
    margin:0 0 24px;
    padding:14px 16px;
    border:1px solid #e5e7eb;
    border-left:5px solid #7c3aed;
    border-radius:8px;
    background:#fafafa;
    font-size:15px;
    color:#374151;
  }

  .wiki-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 310px;
    gap:24px;
    align-items:start;
  }

  .wiki-main{
    min-width:0;
  }

  .wiki-info-box{
    border:1px solid #cfd5df;
    border-radius:10px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 8px 22px rgba(17,24,39,.06);
  }

  .wiki-info-box .info-head{
    padding:14px 16px;
    text-align:center;
    font-weight:800;
    color:#fff;
    letter-spacing:-.03em;
    background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);
  }

  .wiki-info-box table{
    width:100%;
    border-collapse:collapse;
    font-size:14px;
  }

  .wiki-info-box th,
  .wiki-info-box td{
    border-top:1px solid #e5e7eb;
    padding:10px 12px;
    vertical-align:top;
  }

  .wiki-info-box th{
    width:34%;
    background:#f8fafc;
    color:#374151;
    font-weight:700;
  }

  .wiki-info-box td{
    color:#1f2937;
  }

  .wiki-info-box a,
  .wiki-instagram-wrap a{
    color:#2563eb;
    text-decoration:none;
  }

  .wiki-info-box a:hover,
  .wiki-instagram-wrap a:hover{
    text-decoration:underline;
  }

  .wiki-toc{
    margin:0 0 28px;
    padding:18px 18px 18px 22px;
    border:1px solid #d8dee9;
    border-radius:10px;
    background:#fbfbfd;
  }

  .wiki-toc-title{
    display:block;
    margin-bottom:10px;
    font-size:18px;
    font-weight:800;
    color:#111827;
  }

  .wiki-toc ol{
    margin:0;
    padding-left:22px;
  }

  .wiki-toc li{
    margin:4px 0;
    color:#374151;
    font-size:15px;
  }

  .wiki-section{
    margin:34px 0 0;
    padding-top:6px;
  }

  .wiki-section h2{
    margin:0 0 14px;
    padding:0 0 9px;
    border-bottom:1px solid #d8dee9;
    font-size:24px;
    color:#111827;
    font-weight:800;
    letter-spacing:-.04em;
  }

  .wiki-section h3{
    margin:26px 0 10px;
    padding-left:12px;
    border-left:4px solid #a78bfa;
    font-size:19px;
    color:#1f2937;
    font-weight:800;
    letter-spacing:-.035em;
  }

  .wiki-section p{
    margin:0 0 16px;
    font-size:16px;
    color:#2f3440;
  }

  .wiki-note{
    margin:18px 0;
    padding:14px 16px;
    border:1px solid #e5e7eb;
    border-left:5px solid #6366f1;
    border-radius:8px;
    background:#f9fafb;
    font-size:15px;
    color:#374151;
  }

  .wiki-warning{
    margin:18px 0;
    padding:14px 16px;
    border:1px solid #fed7aa;
    border-left:5px solid #f97316;
    border-radius:8px;
    background:#fff7ed;
    font-size:15px;
    color:#7c2d12;
  }

  .wiki-keyword-box{
    margin:20px 0;
    padding:18px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:linear-gradient(180deg,#ffffff,#f9fafb);
  }

  .wiki-keyword-box strong{
    display:block;
    margin-bottom:8px;
    font-size:16px;
    color:#111827;
  }

  .wiki-keyword-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0;
    padding:0;
    list-style:none;
  }

  .wiki-keyword-list li{
    padding:6px 10px;
    border:1px solid #e5e7eb;
    border-radius:999px;
    background:#fff;
    font-size:14px;
    color:#374151;
  }

  .wiki-link-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:18px 0 0;
  }

  .wiki-link-grid a{
    display:block;
    padding:12px 14px;
    border:1px solid #e5e7eb;
    border-radius:10px;
    background:#fff;
    color:#1f2937;
    font-size:15px;
  }

  .wiki-faq{
    margin-top:18px;
    border-top:1px solid #e5e7eb;
  }

  .wiki-faq-item{
    padding:16px 0;
    border-bottom:1px solid #e5e7eb;
  }

  .wiki-faq-q{
    margin:0 0 8px;
    font-size:17px;
    font-weight:800;
    color:#111827;
  }

  .wiki-faq-a{
    margin:0;
    font-size:15px;
    color:#374151;
  }

  @media (max-width:900px){
    .wiki-layout{
      display:block;
    }

    .wiki-info-box{
      margin:0 0 24px;
    }

    .wiki-instagram-title{
      font-size:27px;
    }

    .wiki-link-grid{
      grid-template-columns:1fr;
    }
  }