/* 비지오플랜 하위 페이지 공통(2026-10-01) — 새 홈과 같은 머리·꼬리·글꼴. 색은 restyle_sub.py 가 스타일 파일에서 직접 바꾼다. */
:root{--vp-bg:#08080a;--vp-fg:#f3f1ea;--vp-muted:#9a9891;--vp-line:rgba(243,241,234,.1);--vp-line-strong:rgba(243,241,234,.22);--vp-accent:#ff3b1d;
  --vp-display:"Anton","Black Han Sans",sans-serif;--vp-sans:"Onest","Pretendard Variable",Pretendard,-apple-system,sans-serif}
html,body.vp-site{background:var(--vp-bg)!important;color:var(--vp-fg)}
body.vp-site{word-break:keep-all;-webkit-font-smoothing:antialiased}
body.vp-site ::selection{background:var(--vp-accent);color:var(--vp-bg)}
body.vp-site main :is(h1,h2){font-family:var(--vp-display)!important;font-weight:400!important;letter-spacing:-.01em!important;text-transform:uppercase;text-shadow:none!important;-webkit-text-stroke:0!important}
body.vp-site main .blog-prose h2,body.vp-site main article h2{font-family:"Pretendard Variable",Pretendard,sans-serif!important;font-weight:700!important;text-transform:none}
body.vp-site main a:not([class]){color:inherit;text-decoration-color:var(--vp-accent)}

/* 머리 */
.vpx-header{position:sticky;top:0;z-index:50;background:rgba(8,8,10,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--vp-line)}
.vpx-nav{display:flex;align-items:center;justify-content:space-between;padding:18px max(16px,4vw);font-family:var(--vp-sans)}
.vpx-nav .vpx-logo{display:flex;align-items:center;gap:12px;color:var(--vp-fg);text-decoration:none}
.vpx-nav .vpx-mono{display:grid;place-items:center;width:40px;height:40px;border-radius:9999px;border:1px solid var(--vp-line-strong);font-weight:600;font-size:14px;letter-spacing:-.01em}
.vpx-nav .vpx-name{font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:var(--vp-muted)}
.vpx-links{display:none;gap:36px;list-style:none;margin:0;padding:0}
.vpx-links a{position:relative;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--vp-muted);text-decoration:none;transition:color .3s}
.vpx-links a::after{content:"";position:absolute;bottom:-4px;left:0;height:1px;width:0;background:var(--vp-accent);transition:width .34s cubic-bezier(.16,1,.3,1)}
.vpx-links a:hover,.vpx-links a[aria-current=page]{color:var(--vp-fg)}
.vpx-links a:hover::after,.vpx-links a[aria-current=page]::after{width:100%}
.vpx-burger{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:40px;height:40px;background:none;border:0;cursor:pointer;position:relative;z-index:60}
.vpx-burger span{display:block;height:2px;width:24px;background:var(--vp-fg);transition:transform .42s cubic-bezier(.16,1,.3,1),opacity .3s}
.vpx-burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}.vpx-burger.open span:nth-child(2){opacity:0}.vpx-burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media (min-width:860px){.vpx-links{display:flex}.vpx-burger{display:none}}
.vpx-mmenu{position:fixed;inset:0;z-index:49;background:var(--vp-bg);display:flex;flex-direction:column;justify-content:center;padding:0 max(16px,4vw);opacity:0;pointer-events:none;transition:opacity .45s ease-out}
.vpx-mmenu.open{opacity:1;pointer-events:auto}
.vpx-mmenu ul{list-style:none;margin:0;padding:0}.vpx-mmenu li{overflow:hidden}
.vpx-mmenu a{display:block;font-family:var(--vp-display);font-size:44px;line-height:1.2;color:var(--vp-fg);text-decoration:none;transform:translateY(48px);opacity:0;transition:transform .42s ease-out,opacity .42s ease-out}
.vpx-mmenu.open a{transform:none;opacity:1}

/* 꼬리 */
.vpx-foot{padding:0 max(16px,4vw);font-family:var(--vp-sans);color:var(--vp-fg);background:var(--vp-bg)}
.vpx-foot .foot{border-top:1px solid var(--vp-line);padding:56px 0 48px;display:grid;gap:40px}
@media (min-width:1024px){.vpx-foot .foot{grid-template-columns:6fr 2fr 2fr 2fr}.vpx-foot .c{text-align:right}}
.vpx-foot .sig{margin:0;font-family:var(--vp-display);font-size:52px;line-height:1;letter-spacing:-.01em;text-transform:uppercase}
.vpx-foot .tag{margin:16px 0 0;font-size:13px;text-transform:uppercase;letter-spacing:.22em;color:var(--vp-muted)}
.vpx-foot .biz{margin:12px 0 0;font-size:13px;color:var(--vp-muted)}
.vpx-foot .mail{display:inline-flex;gap:10px;margin-top:24px;font-size:22px;font-weight:600;color:var(--vp-fg);text-decoration:none;transition:transform .34s ease-out,color .34s ease-out}
.vpx-foot .mail .arr{color:var(--vp-accent)}.vpx-foot .mail:hover{transform:translateX(10px);color:var(--vp-accent)}
.vpx-foot ul{list-style:none;margin:0;padding:0}.vpx-foot li+li{margin-top:8px}
.vpx-foot nav a{display:inline-flex;align-items:center;font-size:16px;color:var(--vp-muted);text-decoration:none;transition:color .3s,gap .34s}
.vpx-foot nav a::before{content:"";width:0;height:1px;background:var(--vp-accent);transition:width .34s cubic-bezier(.16,1,.3,1)}
.vpx-foot nav a:hover{color:var(--vp-fg);gap:8px}.vpx-foot nav a:hover::before{width:20px}
.vpx-foot .copy{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.18em;color:var(--vp-muted);line-height:1.8}

/* ---------- 자주 묻는 질문 페이지(2026-10-01) ---------- */
.vpq{font-family:var(--vp-sans);color:var(--vp-fg)}
.vpq a{color:inherit}
.vpq-hero{position:relative;overflow:hidden;min-height:78vh;display:flex;align-items:flex-end;padding:120px max(16px,4vw) 72px}
.vpq-bg{position:absolute;inset:0;pointer-events:none}
.vpq-bg img{position:absolute;right:2vw;bottom:0;height:100%;width:auto;max-width:none;opacity:.75;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 45%),linear-gradient(to top,transparent 0%,#000 32%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0%,#000 45%),linear-gradient(to top,transparent 0%,#000 32%);mask-composite:intersect}
.vpq-hero-in{position:relative;max-width:760px}
.vpq-crumb{margin:0 0 40px;font-size:13px;color:var(--vp-muted)}.vpq-crumb a{text-decoration:none}
.vpq-eyebrow{display:flex;align-items:center;gap:12px;margin:0;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:var(--vp-muted)}
.vpq-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--vp-accent)}
.vpq .vpq-hero h1{margin:24px 0 0;font-size:clamp(56px,8vw,120px)!important;line-height:.95!important;color:var(--vp-fg)}
.vpq-lead{margin:28px 0 0;max-width:46ch;font-size:19px;line-height:1.6;color:#b9b7b0}
.vpq-speaking{display:flex;align-items:center;gap:12px;margin:28px 0 0;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:var(--vp-accent)}
.vpq-eq{display:inline-flex;align-items:flex-end;gap:3px;height:14px}.vpq-eq i{width:3px;height:30%;background:var(--vp-accent);border-radius:2px;animation:vpq-eq 800ms ease-in-out infinite}
.vpq-eq i:nth-child(2){animation-delay:-.2s}.vpq-eq i:nth-child(3){animation-delay:-.45s}.vpq-eq i:nth-child(4){animation-delay:-.1s}
@keyframes vpq-eq{0%,100%{height:25%}50%{height:100%}}
.vpq-body{padding:40px max(16px,4vw) 120px}
.vpq-tools{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--vp-line)}
.vpq-chips{display:flex;flex-wrap:wrap;gap:8px}
.vpq-chips button{padding:10px 18px;border:1px solid var(--vp-line-strong);border-radius:9999px;background:transparent;color:var(--vp-muted);font:500 14px var(--vp-sans);cursor:pointer;transition:all .3s}
.vpq-chips button:hover{color:var(--vp-fg);border-color:var(--vp-fg)}
.vpq-chips button[aria-pressed=true]{background:var(--vp-fg);border-color:var(--vp-fg);color:var(--vp-bg)}
.vpq-search{display:grid;gap:8px;flex:0 1 320px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--vp-muted)}
.vpq-search input{width:100%;background:transparent;border:0;border-bottom:1px solid var(--vp-line-strong);padding:10px 0;font:500 16px var(--vp-sans);color:var(--vp-fg);letter-spacing:0;text-transform:none}
.vpq-search input:focus{outline:none;border-bottom-color:var(--vp-accent)}
.vpq-count{margin:20px 0 0;font-size:13px;color:var(--vp-muted)}
.vpq-list{list-style:none;margin:8px 0 0;padding:0;counter-reset:none}
.vpq-item{border-bottom:1px solid var(--vp-line)}
.vpq-q{width:100%;display:grid;grid-template-columns:64px 1fr 32px;align-items:center;gap:16px;padding:28px 0;background:none;border:0;text-align:left;color:var(--vp-fg);cursor:pointer;font-family:var(--vp-sans)}
.vpq-n{font-size:15px;font-variant-numeric:tabular-nums;letter-spacing:.18em;color:var(--vp-muted);transition:color .3s}
.vpq-h{display:block;font-size:clamp(19px,1.7vw,26px);font-weight:600;line-height:1.4;letter-spacing:-.01em}
.vpq-c{display:block;margin-top:6px;font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--vp-muted)}
.vpq-ic{position:relative;width:20px;height:20px;justify-self:end}
.vpq-ic::before,.vpq-ic::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:var(--vp-fg);transition:transform .4s cubic-bezier(.16,1,.3,1)}
.vpq-ic::after{transform:rotate(90deg)}
.vpq-q:hover .vpq-n,.vpq-item.open .vpq-n{color:var(--vp-accent)}
.vpq-item.open .vpq-ic::after{transform:rotate(0)}
.vpq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s cubic-bezier(.16,1,.3,1)}
.vpq-a>div{overflow:hidden}
.vpq-item.open .vpq-a{grid-template-rows:1fr}
.vpq-a p{margin:0;padding:0 0 32px 80px;max-width:64ch;font-size:17px;line-height:1.85;color:#c9c7c0}
.vpq-empty{padding:48px 0;color:var(--vp-muted)}
.vpq-cta{padding:100px max(16px,4vw) 120px;border-top:1px solid var(--vp-line)}
.vpq .vpq-cta h2{margin:24px 0 0;font-size:clamp(44px,6vw,96px)!important;line-height:.95!important}
.vpq-btn{display:inline-flex;align-items:center;gap:16px;margin-top:40px;padding:18px 32px;border-radius:9999px;background:var(--vp-accent);color:var(--vp-bg)!important;font:600 17px var(--vp-sans);text-decoration:none;transition:transform .34s ease-out}
.vpq-btn:hover{transform:translateX(8px)}
@media (max-width:760px){.vpq-hero{min-height:70vh;padding-top:80px}.vpq-bg img{right:-30%;height:70%;opacity:.4}.vpq-q{grid-template-columns:44px 1fr 24px;gap:10px;padding:22px 0}.vpq-a p{padding-left:54px;font-size:16px}}
@media (prefers-reduced-motion:reduce){.vpq-eq i{animation:none}.vpq-a{transition:none}}

.vpx-logo img{height:22px;width:auto;display:block}
@media (max-width:640px){.vpx-logo img{height:19px}}
.vpx-burger span{flex:none!important;height:2px!important;min-height:2px!important;max-height:none!important;padding:0!important;margin:0!important;border:0!important}
/* 2026-10-01 칼럼·서비스 제목 글자 겹침: 굵기가 한 가지뿐인 제목 글꼴(Anton·Black Han Sans)에 브라우저가 가짜 굵게를 입히고 자간도 -0.05em 이라 글자가 붙었다 */
html{font-synthesis:none}
main h1{letter-spacing:-.01em!important}
main h2{letter-spacing:-.01em}
/* 하단 고정 상담 바(2026-10-02 대표 지시 "페이지 고정 문의 하단") — 홈 .vp-dock 과 같은 모양 */
.vpx-dock{position:fixed;z-index:60;left:50%;bottom:16px;transform:translate(-50%,calc(100% + 32px));width:min(736px,calc(100% - 32px));display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 10px 10px 24px;background:rgba(17,17,20,.92);border:1px solid rgba(243,241,234,.18);border-radius:9999px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-family:var(--vp-sans);transition:transform .52s cubic-bezier(.16,1,.3,1),opacity .4s ease;opacity:0}
.vpx-dock.on{transform:translate(-50%,0);opacity:1}
.vpx-dock p{margin:0;font-size:15px;line-height:1.4;color:var(--vp-fg)}
.vpx-dock p span{color:var(--vp-muted,#8d8b85)}
.vpx-dock a{flex:none;display:inline-flex;align-items:center;gap:10px;padding:14px 22px;background:var(--vp-accent,#ff3b1d);color:#08080a!important;font:600 15px/1 var(--vp-sans);border-radius:9999px;text-decoration:none!important;transition:transform .3s ease-out}
.vpx-dock a:hover{transform:translateX(4px)}
.vpx-dock a:focus-visible{outline:2px solid var(--vp-fg);outline-offset:3px}
@media (max-width:560px){.vpx-dock{padding:8px 8px 8px 18px}.vpx-dock p span{display:none}.vpx-dock a{padding:13px 18px}}
@media (prefers-reduced-motion:reduce){.vpx-dock{transition:none}}
.vpx-foot{padding-bottom:96px}
/* 일부 페이지(상담·서비스)의 옛 링크 색 규칙이 머리 메뉴까지 빨갛게 칠하던 것 */
.vpx-header .vpx-links a{color:var(--vp-muted)!important}
.vpx-header .vpx-links a:hover,.vpx-header .vpx-links a[aria-current=page]{color:var(--vp-fg)!important}
/* 서비스 드롭다운(2026-10-02 대표 지시) */
.vpx-links .vpx-dd{position:relative}
.vpx-links .vpx-sub{position:absolute;top:100%;left:50%;transform:translate(-50%,6px);min-width:168px;margin:0;padding:10px 0;list-style:none;background:rgba(12,12,14,.97);border:1px solid var(--vp-line);border-radius:10px;box-shadow:0 18px 40px rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:60}
.vpx-links .vpx-dd::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px}
.vpx-links .vpx-dd:hover .vpx-sub,.vpx-links .vpx-dd:focus-within .vpx-sub{opacity:1;visibility:visible;transform:translate(-50%,12px)}
.vpx-links .vpx-sub li{display:block}
.vpx-header .vpx-links .vpx-sub a{display:block;padding:9px 20px;white-space:nowrap;font-size:14px;letter-spacing:0;color:var(--vp-muted)!important}
.vpx-header .vpx-links .vpx-sub a:hover,.vpx-header .vpx-links .vpx-sub a:focus{color:var(--vp-fg)!important;background:rgba(255,255,255,.05)}
.vpx-mmenu .vpx-msub{list-style:none;margin:6px 0 4px;padding:0 0 0 18px;display:grid;gap:6px}
.vpx-mmenu .vpx-msub a{font-family:var(--vp-sans);font-size:20px;line-height:1.5;color:var(--vp-muted)}
.vpx-links .vpx-sub a::after{display:none}
@media (prefers-reduced-motion:reduce){.vpx-links .vpx-sub{transition:none}}
