
:root{--pz-fg:#0B0B0C;--pz-fg2:#5E6268;--pz-line:#D9DBDE;--pz-card:#FFFFFF;--pz-accent:#B03409;--pz-bg:#FFFFFF;--pz-r:0px}
:root{
  --bg:#E6E7E9; --panel:#FFFFFF; --panel2:#F4F5F6; --grey:#D5D7DA;
  --ink:#0B0B0C; --ink2:#5E6268; --ink3:#5F646B;
  --orange:#B03409; --peach:#F3BFA6; --line:#D9DBDE;
  --gut:clamp(18px,3.5vw,44px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--bg);color:var(--ink);
  font-family:"Helvetica Neue",Pretendard,"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif;
  font-size:16px;line-height:1.55;letter-spacing:-.005em;overflow-x:hidden;word-break:keep-all;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2.5px solid var(--orange);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;z-index:200;padding:12px 18px;font-size:13px;font-weight:700;background:#111;color:#fff}
.skip:focus{left:8px;top:8px}
.lab{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink2)}
.wrap{max-width:1320px;margin:0 auto;padding:0 var(--gut)}

/* 배경 헤어라인 아크 — 레퍼런스의 스월 라인 */
.arcs{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5}
.arcs svg{width:100%;height:100%}

/* ---------- 스테이지 ---------- */
.stage{position:relative;z-index:1;max-width:1320px;margin:clamp(16px,3vw,44px) auto clamp(40px,6vw,80px);padding:0 var(--gut)}
.card{background:var(--panel);box-shadow:0 40px 90px -50px rgba(11,11,12,.5);display:grid;grid-template-columns:1.55fr 1fr;min-height:min(76vh,660px);position:relative;overflow:hidden}
.card__l{background:linear-gradient(100deg,var(--grey) 0%,var(--panel2) 62%,var(--panel) 100%);position:relative;padding:26px 26px 30px}
.card__r{padding:26px 30px 30px;display:flex;flex-direction:column;justify-content:space-between;gap:26px;position:relative;z-index:5}

/* 상단 내비 */
.topnav{display:flex;gap:26px;font-size:12.5px;font-weight:600;color:var(--ink2);position:relative;z-index:6}
.topnav a.on{color:var(--ink);border-bottom:2px solid var(--ink);padding-bottom:3px}
.topnav a:hover{color:var(--ink)}
.utils{display:flex;gap:26px;font-size:12.5px;font-weight:600;color:var(--ink2);justify-content:flex-end}
.utils a:hover{color:var(--ink)}

/* 시그니처: 세로 초대형 로고타입 */
.vtype{
  position:absolute;left:clamp(46px,6vw,88px);top:-2%;height:104%;
  writing-mode:vertical-rl;transform:rotate(180deg);
  font-size:clamp(78px,11.5vw,168px);font-weight:800;letter-spacing:-.055em;line-height:.86;
  color:var(--ink);z-index:3;user-select:none;
}
.vtype span{display:inline-block;transform:translateY(0);opacity:0;animation:rise .8s cubic-bezier(.16,.9,.24,1) forwards}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
/* 좌측 마커 사각형 열 */
.marks{position:absolute;left:14px;top:11%;display:flex;flex-direction:column;gap:clamp(28px,5vw,64px);z-index:4}
.marks i{width:26px;height:26px;border:3px solid var(--peach);display:block}
.marks i:first-child{border-color:var(--orange)}
/* 워터마크 대문자 */
.ghost{position:absolute;right:-14%;bottom:-30%;font-size:clamp(200px,30vw,430px);font-weight:800;letter-spacing:-.06em;color:rgba(11,11,12,.05);z-index:1;user-select:none;line-height:.8}

/* 크레딧 블록 */
.credit{position:absolute;left:clamp(150px,17vw,250px);top:42%;max-width:250px;z-index:5}
.credit h1{font-size:clamp(19px,1.7vw,24px);font-weight:800;letter-spacing:-.035em;line-height:1.26;margin:8px 0 10px}
.credit .lab{margin-bottom:2px}
.credit p{font-size:12.5px;line-height:1.5;color:var(--ink2)}
.credit p+p{margin-top:12px}
/* 모바일 전용 히어로 CTA — 데스크톱은 우측 패널의 .acts 가 담당한다 */
.mcta{display:none;gap:8px;margin-top:26px}
.mcta a{flex:1;text-align:center;padding:15px 10px;font-size:14px;font-weight:700}
.mcta__p{background:var(--orange);color:#fff}
.mcta__g{background:var(--grey);color:var(--ink)}
.socials{position:absolute;left:clamp(150px,17vw,250px);bottom:26px;display:flex;gap:18px;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--ink2);z-index:5}

/* 제품(폰) */
.device{
  position:absolute;right:-15%;bottom:0;width:min(42%,308px);z-index:4;
  filter:drop-shadow(-34px 34px 46px rgba(11,11,12,.34));
  opacity:0;animation:rise .9s .25s cubic-bezier(.16,.9,.24,1) forwards;
}
.device .bez{background:#0B0B0C;border-radius:34px;padding:9px 9px 11px}
.device .bez img{border-radius:26px}
.device .notch{width:36%;height:5px;background:#2A2C2F;border-radius:3px;margin:0 auto 7px}

/* 우측 패널 */
.spec{margin-top:0;display:grid;gap:30px;padding-left:clamp(24px,7vw,104px)}
.spec__row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.spec__row .v{font-size:14px;font-weight:700}
.spec__row .big{font-size:clamp(26px,3vw,34px);font-weight:800;letter-spacing:-.04em}
.spec dt{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink3);margin-bottom:5px}
.acts{display:grid;grid-template-columns:1fr 1fr;margin-top:26px;margin-left:clamp(24px,7vw,104px)}
.cta .btns{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.cta .btns a{text-align:center}
@media(max-width:700px){.cta .btns{grid-template-columns:1fr 1fr}}
.acts a{padding:19px 10px;text-align:center;font-size:13.5px;font-weight:700;transition:filter .15s}
.acts a:first-child{background:var(--orange);color:#fff}
.acts a:last-child{background:var(--grey);color:var(--ink)}
.acts a:hover{filter:brightness(.94)}
.thumbs{display:flex;gap:8px;margin-top:0;padding-left:clamp(24px,7vw,104px)}
.thumbs img{width:150px;height:98px;object-fit:cover;object-position:top;filter:grayscale(1);opacity:.85}
.thumbs img:first-child{filter:none;opacity:1}
.nextline{display:block;margin-top:9px;padding-left:clamp(24px,7vw,104px);font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--ink3)}
.priv{display:block;margin-top:14px;margin-left:clamp(24px,7vw,104px);font-size:11.5px;font-weight:600;color:var(--ink2);width:fit-content;border-bottom:1px solid var(--line)}

@media(max-width:940px){
  .card{grid-template-columns:1fr;min-height:0}
  .card__l{padding:22px 22px 30px}
  .vtype{writing-mode:horizontal-tb;transform:none;position:static;height:auto;font-size:clamp(46px,13vw,86px);margin:34px 0 0}
  .marks{flex-direction:row;position:static;margin-top:22px}
  .credit,.socials{position:static;max-width:none;margin-top:26px;left:auto}
  .device{position:static;right:auto;width:min(66%,280px);margin:30px auto 0}
  .card__r{padding-top:26px}
  .utils{display:none}
  .mcta{display:flex}
  .ghost{display:none}
  .topnav{flex-wrap:wrap;gap:16px}
  .spec,.acts,.thumbs,.nextline,.priv{padding-left:0;margin-left:0}
  .ghost{font-size:34vw}
}

/* ---------- 이하 섹션 ---------- */
.sec{position:relative;z-index:1;padding:clamp(44px,5.4vw,76px) 0}
.sec--w{background:var(--panel)}
.sec__head{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;border-bottom:1px solid var(--line);padding-bottom:16px}
.sec__head::after{content:"";position:absolute;left:0;bottom:-1px;width:96px;height:3px;background:var(--orange)}
h2{font-size:clamp(26px,3.8vw,46px);font-weight:800;letter-spacing:-.045em;line-height:1.08}
h2 em{font-style:normal;color:var(--orange)}
.sec__head p{font-size:13px;color:var(--ink2);max-width:34ch}
.rail-hint{margin-top:6px;font-size:12px;color:var(--ink2)}

.six{display:grid;grid-template-columns:repeat(3,1fr);margin-top:0}
@media(max-width:900px){.six{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.six{grid-template-columns:1fr}.sec__head{flex-direction:column;align-items:flex-start;gap:10px}}
@media(min-width:901px){.six article:nth-child(3n){border-right:0}}
@media(max-width:900px) and (min-width:561px){.six article:nth-child(2n){border-right:0}}
@media(max-width:560px){.six article{border-right:0}}
.six article{padding:30px 26px 34px;border-right:1px solid var(--line);border-top:1px solid var(--line);position:relative;transition:background .18s}
.six article:hover{background:var(--panel2)}
.six .no{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--ink3)}
.six h3{font-size:20px;font-weight:800;letter-spacing:-.035em;margin:12px 0 9px}
.six h3::before{content:"";display:block;width:22px;height:3px;background:var(--orange);margin-bottom:12px}
.six p{font-size:13.5px;color:var(--ink2);line-height:1.6}

.split{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(26px,5vw,64px);align-items:center;margin-top:38px}
@media(max-width:900px){.split{grid-template-columns:1fr}}
.tasks{list-style:none;margin-top:26px}
.tasks li{display:flex;gap:18px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}
.tasks b{font-size:15px;font-weight:800;min-width:76px}
.tasks span{font-size:13.5px;color:var(--ink2);flex:1}
.tasks em{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.12em;color:var(--orange)}
.inline-cta{display:inline-block;margin-top:22px;font-size:13.5px;font-weight:700;color:var(--orange);border-bottom:2px solid var(--orange);padding-bottom:3px}
.shotbox{position:relative;z-index:2;background:var(--panel);padding:14px;box-shadow:0 30px 70px -46px rgba(11,11,12,.55)}

.railwrap{position:relative}
.railwrap::after{content:"";position:absolute;right:0;top:34px;bottom:14px;width:110px;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.85) 55%,#fff 100%);pointer-events:none}
.rail{display:flex;gap:12px;overflow-x:auto;margin-top:34px;padding-bottom:14px;scroll-snap-type:x mandatory}
.rail img{width:186px;height:290px;object-fit:cover;object-position:top;flex:none;scroll-snap-align:start;background:#fff;box-shadow:0 16px 34px -24px rgba(11,11,12,.5)}

.cta{background:var(--ink);color:#fff;padding:clamp(44px,7vw,80px) 0;position:relative;z-index:1;overflow:hidden}
.cta .wrap{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:center;position:relative;z-index:2}
.cta h2{max-width:14ch}
.cta__ghost{position:absolute;right:-2%;top:-30%;font-size:clamp(160px,24vw,340px);font-weight:800;letter-spacing:-.06em;color:rgba(255,255,255,.05);z-index:1;line-height:1}
.btns{display:flex;flex-wrap:wrap;gap:8px}
.btns a{padding:15px 22px;font-size:13.5px;font-weight:700;border:1.5px solid rgba(255,255,255,.34)}
.btns a:first-child{background:var(--orange);border-color:var(--orange)}
.btns a:hover{background:rgba(255,255,255,.1)}
.btns a:first-child:hover{filter:brightness(1.08);background:var(--orange)}
.foot{position:relative;z-index:1;padding:26px 0 44px;font-size:12.5px;color:var(--ink2)}
.foot ul{list-style:none;display:flex;flex-wrap:wrap;gap:20px;font-weight:600}
.foot p{margin-top:14px;font-size:11.5px;color:var(--ink3)}
/* 그리드 아이템이 이미지 고유 폭 때문에 컬럼을 밀어내 가로 스크롤이 생기는 것을 막는다 */
.card>*,.split>*,.hero__in>*,.admin__grid>*,.panel>*,.greenbox>*,.contact>*,.menu>*,.six>*,.four>*,.cards>*,.plates>*,.skills>*,.stats>*,.band__grid>*,.features__grid>*,.quotes>*,.heroimg,.shotbox,.admin__shot,.band__shot,.shotframe{min-width:0}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.vtype span,.device{opacity:1!important;transform:none!important}}

/* ---------------------------------------------------------------
   .pz — v1 랜딩에 있던 섹션(동영상·관리자툴 영상·크로스플랫폼·후기·문의)을
   각 시안의 색으로 입혀 재현한 공용 블록. 안마다 변수 이름이 달라
   (F 는 --muted/--cream, 나머지는 --ink2) 여기서는 --pz-* 만 쓴다.
   --------------------------------------------------------------- */
.pz{padding:clamp(44px,5.6vw,80px) 0;color:var(--pz-fg);background:var(--pz-bg)}
.pz .wrap{position:relative}
.pz-kick{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--pz-accent)}
.pz-h{font-size:clamp(24px,3.4vw,38px);font-weight:700;letter-spacing:-.035em;line-height:1.18;margin:12px 0 0;color:var(--pz-fg)}
.pz-lede{margin-top:12px;font-size:14.5px;color:var(--pz-fg2);max-width:56ch}
.pz-lede a{color:var(--pz-accent);text-decoration:underline}
.pz-note{margin-top:10px;font-size:12.5px;color:var(--pz-fg2)}

.pz-yts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}
.pz-yt{position:relative;display:block;padding:0;border:1px solid var(--pz-line);background:var(--pz-card);border-radius:var(--pz-r);overflow:hidden;cursor:pointer;text-align:left;font:inherit;color:inherit}
.pz-yt img{width:100%;height:auto;display:block}
.pz-yt__play{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:var(--pz-accent);color:#fff;display:grid;place-items:center;font-size:15px}
.pz-yt__t{display:block;padding:11px 14px 13px;font-size:13px;font-weight:600;color:var(--pz-fg)}
.pz-yt:hover{border-color:var(--pz-accent)}
.pz-yt-frame{width:100%;aspect-ratio:4/3;border:0;display:block;border-radius:var(--pz-r)}

.pz-adm{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:26px}
.pz-adm p{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:14px 16px;border:1px solid var(--pz-line);border-radius:var(--pz-r);background:var(--pz-card)}
.pz-adm b{font-size:13.5px;font-weight:700;margin-right:4px;color:var(--pz-fg)}
.pz-adm a{width:26px;height:26px;display:grid;place-items:center;border-radius:6px;font-size:12px;font-weight:700;color:var(--pz-accent);border:1px solid var(--pz-line);text-decoration:none}
.pz-adm a:hover{background:var(--pz-accent);color:#fff;border-color:var(--pz-accent)}

.pz-plat{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
.pz-plat>*{min-width:0}
.pz-plat img{width:100%;height:auto}

.pz-qs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.pz-q{margin:0;padding:24px;border:1px solid var(--pz-line);border-radius:var(--pz-r);background:var(--pz-card)}
.pz-q blockquote{margin:0;font-size:15px;line-height:1.65;color:var(--pz-fg)}
.pz-q figcaption{display:flex;align-items:center;gap:11px;margin-top:18px}
.pz-q figcaption img{width:38px;height:38px;border-radius:50%;object-fit:cover}
.pz-q figcaption b{display:block;font-size:13.5px;color:var(--pz-fg)}
.pz-q figcaption span{font-size:12px;color:var(--pz-fg2)}

@media(max-width:900px){
  .pz-yts{grid-template-columns:1fr 1fr}
  .pz-qs{grid-template-columns:1fr}
  .pz-plat{grid-template-columns:1fr}
}
@media(max-width:560px){.pz-yts{grid-template-columns:1fr}}
