/* AIGEN 포트폴리오: yunhee.eehstudio.kr 포트폴리오(jw.css) 위에 얹는 추가분 */
html,body{margin:0;background:#fff}
html{scroll-behavior:smooth}
.jw-mnu[hidden]{display:none!important}
.jw{--pfs-top:0px;--jw-bot:0px;--blue:#2f6bff}
.jw,.jw .ko,.jw p,.jw small,.jw b{word-break:keep-all}

/* 소개: 원본은 영문 대문자. 한글은 조금 작게 */
.jw-intro p.ko-intro{width:min(62vw,980px);font-family:"Pretendard YH","Pretendard",sans-serif;font-size:clamp(22px,2.3vw,36px)!important;line-height:1.45!important;text-transform:none;letter-spacing:-.02em}
.jw-intro p.ko-intro::first-line{font-weight:600}

/* 블록 본문 */
.jw-blockrow{border-top:1px solid #d9d9d9}
.jw-bl .lab{font-size:12px;letter-spacing:.02em;text-transform:uppercase}
.jw-br{font-family:"Pretendard YH","Pretendard",sans-serif;letter-spacing:-.015em}
.jw-br p.lead{font-size:clamp(24px,2.6vw,40px);line-height:1.38;font-weight:500;color:#000;margin-bottom:.8em}
.jw-br p{color:#333}
.jw-br mark{background:linear-gradient(transparent 62%,rgba(47,107,255,.22) 62%);color:inherit;padding:0 .04em}
.jw-br p.q{margin-top:1.1em;padding-left:22px;border-left:2px solid #000;color:#000;font-weight:500}
.jw-facts b{font-variant-numeric:tabular-nums}
.jw-facts span{font-family:"Pretendard YH","Pretendard",sans-serif;text-transform:none;font-size:13px;color:#333}
.fnote{padding:0 20px;margin:-60px 0 0;font-size:11px;color:#8a8a8a;font-family:"Pretendard YH","Pretendard",sans-serif}
.jw-row{cursor:pointer}
.jw-row.hl .jw-r1{color:var(--blue)}
.jw-row.hl .jw-r2 b{color:var(--blue)}
.jw-r2 small{font-size:13px!important;line-height:1.55;color:#555!important;max-width:640px}

/* 세로 앱 화면 카드 */
.jw-card.tall{width:min(calc(25vw - 40px),300px)}
.jw-card.tall .jw-card-img{aspect-ratio:9/16;background:#ececec;border:1px solid #e3e3e3}
.jw-card.tall .jw-card-img img{object-fit:cover;object-position:top}
.jw-card.tall.pos1{top:22%}
.jw-all-n{font-size:clamp(48px,6vw,92px)}

/* 어두운 케이스 상세 (ashcamp 구성) */
.dk{--ac-g:#8a8a8a;--ac-ln:rgba(255,255,255,.1);--ac-mono:"Martian Mono","Pretendard YH",ui-monospace,monospace;--ac-pad:40px;--ac-pr:80px;position:relative;z-index:2;background:#0a0a0a;color:#fff;font-family:"Inter Tight","Pretendard YH","Pretendard",sans-serif;letter-spacing:0}
.dk .ac-blk{padding-top:110px;padding-bottom:110px}
.dk .ac-blk:first-child{border-top:0}
.dk .ac-stick{top:40px}
.dk-k{display:block;margin-bottom:22px;font:400 11px/1.3 var(--ac-mono);text-transform:uppercase;color:#fff;letter-spacing:.02em}
.dk .ac-l h2{font-size:clamp(24px,2.1vw,32px);line-height:1.3;font-family:"Pretendard YH","Pretendard",sans-serif;font-weight:500;letter-spacing:-.02em}
.dk .ac-l p{font-size:15px;line-height:1.65;max-width:400px;margin-top:18px;font-family:"Pretendard YH","Pretendard",sans-serif}
.dk .ac-stats{margin-bottom:40px}
.dk .ac-stats span{font-family:"Pretendard YH","Pretendard",sans-serif;text-transform:none;font-size:13px;line-height:1.5;color:#9a9a9a}
.dk .ac-xp b{font-family:"Pretendard YH","Pretendard",sans-serif;font-size:17px;line-height:1.4}
.dk .ac-xp p{font-family:"Pretendard YH","Pretendard",sans-serif;font-size:15px;line-height:1.55}
.dk .ac-xp>span{font:400 12px/1.4 var(--ac-mono);color:#9a9a9a;letter-spacing:0}
.dk .ac-xp>span.big{font:400 34px/1 "Inter Tight",sans-serif;color:#fff}
.dk-tl{padding-top:8px}
.dk .ac-media{margin-bottom:40px}
.dk .ac-fig img{max-height:none;object-fit:cover}
.dk .ac-media>.ac-fig{aspect-ratio:16/10}
.dk .ac-media>.ac-fig img{height:100%}
.dk .ac-press .t{font-family:"Pretendard YH","Pretendard",sans-serif;max-width:520px}
.dk .ac-press .k{font:400 12px/1.4 var(--ac-mono)}
.dk .ac-note p{font-family:"Pretendard YH","Pretendard",sans-serif;font-size:clamp(19px,1.6vw,24px);line-height:1.6;color:#e6e6e6}
.dk [data-ac-rv]{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1)}
.dk [data-ac-rv].in{opacity:1;transform:none}
.dk::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--ac-ln) 50%,transparent 0),linear-gradient(var(--ac-ln) 50%,transparent 0);background-size:1px 8px;background-repeat:repeat-y;background-position:20px 0,calc(100% - 20px) 0}

/* EXPLORE 캡션은 길어서 한글 허용 */
.jw-exp-card .jw-cap>span:first-child{font-family:"Inter Tight","Pretendard YH","Pretendard",sans-serif}

/* NEXT 4칸 */
.jw-gc small{display:block;margin-bottom:12px;font-family:"Pretendard YH","Pretendard",sans-serif}
.jw-gc b{font-family:"Pretendard YH","Pretendard",sans-serif;font-weight:500;font-size:20px;text-transform:none}
.jw-gc p{font-family:"Pretendard YH","Pretendard",sans-serif;font-size:14px;line-height:1.55}

/* 검은 꼬리 한글 문장 */
.ko-sub{max-width:560px;font-family:"Pretendard YH","Pretendard",sans-serif!important;font-size:16px!important;line-height:1.6!important;color:#9a9a9a;text-transform:none!important;opacity:0;transform:translateY(14px);transition:opacity .8s .1s,transform 1s .1s var(--jw-ez)}
.jw-blk-lines.in .ko-sub{opacity:1;transform:none}

@media (max-width:1100px){
  .dk{--ac-pad:28px;--ac-pr:28px}
  .dk .ac-blk{grid-template-columns:minmax(0,1fr);row-gap:36px}
  .dk .ac-stick{position:static;padding-top:0}
}
@media (max-width:767px){
  .jw-intro p.ko-intro{width:100%;font-size:21px!important}
  .jw-card.tall{width:54vw}
  .jw-card.tall.pos0{top:7%}
  .jw-card.tall.pos1{top:16%}
  .fnote{margin-top:-40px}
  .dk{--ac-pad:20px;--ac-pr:20px}
  .dk .ac-blk{padding-top:72px;padding-bottom:72px}
  .dk .ac-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .dk .ac-stats>div{min-height:150px;padding:20px 18px}
  .dk .ac-press>a{flex-direction:column;gap:8px}
  .dk .ac-press .t{text-align:left}
  .jw-grid4{grid-template-columns:minmax(0,1fr)}
  .ko-sub{font-size:14px!important}
}



.jw-br p.try{margin-top:1.4em}
.jw-br p.try .jw-pill{font-family:"Inter Tight","Pretendard",sans-serif;font-size:clamp(16px,1.5vw,22px)!important}

/* ===== 모션 2차: 진행 막대 · Why 스크롤 스토리 · 글자 띠 · 인쇄되는 영수증 · 타임라인 ===== */
.jw-prog{position:fixed;left:0;top:0;right:0;height:2px;z-index:70;pointer-events:none;mix-blend-mode:difference}
.jw-prog i{display:block;height:100%;width:100%;background:#fff;transform-origin:0 50%;transform:scaleX(var(--pg,0))}

/* Why AIGEN: 고정된 화면에서 01→05가 장면처럼 넘어감 (넓은 화면 + 움직임 허용일 때만) */
.why-pin{display:none}
.jw-why.scrolly .why-pin{display:block;position:relative;height:calc(var(--jw-vh)*4.6);border-top:1px solid #d9d9d9}
.jw-why.scrolly .why-rows{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.why-stick{position:sticky;top:0;height:var(--jw-vh);display:grid;grid-template-columns:25% 37.5% 37.5%;align-items:center}
.why-l{padding:0 20px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.why-n{height:.84em;overflow:hidden;font-size:clamp(120px,15vw,240px);line-height:.84;letter-spacing:-.04em}
.why-nn{display:flex;flex-direction:column;transition:transform 1s var(--jw-ez);transform:translateY(calc(var(--wi,0)*-.84em))}
.why-nn span{display:block;height:.84em}
.why-lab{margin-top:22px;font-size:13px;letter-spacing:.02em;text-transform:uppercase}
.why-bar{margin-top:16px;height:1px;background:#d9d9d9;width:min(220px,80%)}
.why-bar i{display:block;height:100%;background:#000;transform-origin:0 50%;transform:scaleX(var(--wp,0))}
.why-m{padding:0 20px}
.why-frame{position:relative;aspect-ratio:4/5;max-height:72vh;overflow:hidden;background:#111;clip-path:inset(0 0 0 0)}
.why-frame img{position:absolute;inset:0;opacity:0;transform:scale(1.08);transition:opacity .9s ease,transform 1.6s var(--jw-ez)}
.why-frame img.on{opacity:1;transform:scale(1)}
.why-frame img[src$=".png"]{object-fit:contain;background:#ececec}
.why-r{padding:0 40px 0 20px}
.why-txt{position:relative;min-height:320px}
.why-step{position:absolute;inset:0 0 auto 0;opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .9s var(--jw-ez);pointer-events:none;font-family:"Pretendard YH","Pretendard",sans-serif}
.why-step.on{opacity:1;transform:none;pointer-events:auto;transition-delay:.12s}
.why-step.past{transform:translateY(-30px)}
.why-step b{display:block;font-weight:500;font-size:clamp(26px,2.4vw,38px);line-height:1.25;letter-spacing:-.025em;color:#000}
.why-step p{margin-top:18px;font-size:16px;line-height:1.7;color:#333}
.why-step small{display:block;margin-top:22px;font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:#777;font-family:"Inter Tight","Pretendard",sans-serif}
html.ae-on .jw-why.scrolly .why-pin{display:none}
html.ae-on .jw-why.scrolly .why-rows{position:static;width:auto;height:auto;overflow:visible;clip:auto}

/* 스크롤 따라 흐르는 큰 글자 띠 */
.mq{position:relative;overflow:hidden;padding:5vw 0;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;background:#fff}
.mq-t{display:flex;align-items:center;gap:.35em;white-space:nowrap;font-size:13vw;line-height:.9;letter-spacing:-.03em;will-change:transform;transform:translate3d(var(--mx,0px),0,0)}
.mq-t span{color:transparent;-webkit-text-stroke:1.4px #000}
.mq-t span.f{color:#000;-webkit-text-stroke:0}
.mq-t i{font-style:normal;font-size:.5em;color:#2f6bff}

/* 스크롤 따라 인쇄되는 영수증 */
.prn{position:relative;margin-top:34px;width:min(100%,290px)}
.prn-slot{height:14px;border-radius:7px;background:#111;position:relative;z-index:2;box-shadow:0 6px 14px rgba(0,0,0,.18)}
.prn-paper{position:relative;margin:-6px 12px 0;padding:22px 16px 18px;background:#fff;font:400 11px/1.55 "Fragment Mono","Martian Mono",ui-monospace,monospace;color:#111;box-shadow:0 14px 34px rgba(0,0,0,.12);clip-path:inset(0 0 calc((1 - var(--pp,0))*100%) 0);transform:translateY(calc((1 - var(--pp,0))*-24px))}
.prn-paper .pt{font:600 20px/1.05 "Inter Tight",sans-serif;letter-spacing:-.02em;text-align:center}
.prn-paper .pc{text-align:center;margin-top:6px;font-family:"Pretendard",sans-serif;font-size:11px}
.prn-paper hr{border:0;border-top:1px dashed #111;margin:9px 0}
.prn-paper .pb{display:flex;justify-content:space-between;background:#111;color:#fff;padding:1px 5px;margin:7px 0 3px;font-size:10px}
.prn-paper .pr{display:flex;justify-content:space-between;gap:8px}
.prn-paper .pr span:first-child{font-family:"Pretendard",sans-serif}
.prn-paper .ptot{font:600 15px/1.4 "Inter Tight",sans-serif}
.prn-paper .pbc{height:34px;margin-top:10px;background:repeating-linear-gradient(90deg,#111 0 2px,transparent 2px 4px,#111 4px 5px,transparent 5px 8px,#111 8px 11px,transparent 11px 12px)}
.prn-paper .pm{margin-top:10px;text-align:center;font-family:"Pretendard",sans-serif;font-size:11px;line-height:1.5}

/* 6주 타임라인: 스크롤 따라 선이 차고 날짜에 불이 켜짐 */
.dk .dk-tl{position:relative;padding-left:26px}
.dk .dk-tl::before,.dk .dk-tl::after{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:rgba(255,255,255,.14)}
.dk .dk-tl::after{background:#9ec5ff;transform-origin:50% 0;transform:scaleY(var(--tp,0))}
.dk .dk-tl .ac-xp{position:relative}
.dk .dk-tl .ac-xp::before{content:"";position:absolute;left:-25px;top:6px;width:9px;height:9px;border-radius:50%;background:#0a0a0a;border:1px solid rgba(255,255,255,.3);transition:background .4s,border-color .4s,box-shadow .4s}
.dk .dk-tl .ac-xp.lit::before{background:#9ec5ff;border-color:#9ec5ff;box-shadow:0 0 0 5px rgba(158,197,255,.15)}
.dk .dk-tl .ac-xp b{transition:color .4s}
.dk .dk-tl .ac-xp:not(.lit) b{color:#8a8a8a}

/* 카드 이미지: 들어올 때 커튼처럼 열림 */
.jw-card-img,.jw-exp-img{clip-path:inset(0 0 0 0);transition:clip-path 1.2s var(--jw-ez)}
.mo-ready .jw-card-img:not(.seen),.mo-ready .jw-exp-img:not(.seen){clip-path:inset(12% 8% 12% 8%)}
.dk .ac-fig{transition:clip-path 1.2s var(--jw-ez),transform 1.2s var(--jw-ez)}
.mo-ready .dk .ac-fig:not(.seen){clip-path:inset(10% 0 10% 0);transform:scale(.98)}

@media (prefers-reduced-motion:reduce){
  .why-nn,.why-frame img,.why-step,.jw-card-img,.jw-exp-img,.dk .ac-fig{transition:none!important}
  .prn-paper{clip-path:none;transform:none}
}
@media (max-width:899px){.jw-why.scrolly .why-pin{display:none}.jw-why.scrolly .why-rows{position:static;width:auto;height:auto;overflow:visible;clip:auto}}
@media (max-width:767px){.prn{margin:24px auto 0}.mq-t{font-size:18vw}}

/* ===== 기기 목업 (맥북 · 아이폰) ===== */
.mk-mac,.mk-ph{position:relative;display:block}
.mk-mac{aspect-ratio:1800/1169}
.mk-ph{aspect-ratio:440/900}
.mk-mac .scr,.mk-ph .scr{position:absolute;overflow:hidden;background:#0b0b0b}
.mk-mac .scr{left:9.33%;right:9.39%;top:9.58%;bottom:9.58%;border-radius:.5% .5% 0 0}
.mk-ph .scr{left:5.45%;right:5.45%;top:2.56%;bottom:2.56%;border-radius:12.5%/5.8%}
.mk-mac .scr img,.mk-ph .scr img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.mk-mac::after,.mk-ph::after{content:"";position:absolute;inset:0;background:center/100% 100% no-repeat;pointer-events:none;z-index:2}
.mk-mac::after{background-image:url(img/bezel-mba.png)}
.mk-ph::after{background-image:url(img/bezel-iphone.png)}
.mk-sw{opacity:0;transition:opacity 1s ease}
.mk-sw.on{opacity:1}
/* 트랙의 세로 앱 카드 → 아이폰 */
.jw-card.tall .jw-card-img.mk-ph{aspect-ratio:440/900;background:none;border:0;overflow:visible;filter:drop-shadow(0 18px 30px rgba(0,0,0,.14))}
.jw-card.tall .jw-card-img.mk-ph img{transition:transform 1.2s var(--jw-ez)}
.jw-card.tall:hover .jw-card-img.mk-ph img{transform:none}
.jw-card.tall{width:min(calc(25vw - 60px),250px)}
/* EXPLORE 카드 안 맥북 */
.jw-exp-img.mk-bg{background:#f1f1ef;display:flex;align-items:center;justify-content:center}
.jw-exp-img.mk-bg .mk-mac{width:86%}

/* How I used AI */
.jw-row-h{cursor:default;border-top:1px solid #000!important}
.jw-row-h .jw-r1,.jw-row-h .jw-r2 b,.jw-row-h .jw-r3 span{font-size:12px!important;letter-spacing:.02em;text-transform:uppercase;color:#777!important;font-family:"Inter Tight","Pretendard",sans-serif}
.jw-row-h:hover .jw-r2 b{transform:none}
#ai .jw-r3 span{font-size:15px;color:#000;font-weight:500}
#ai .jw-r3 small{max-width:220px}
.ai4{margin-top:60px}
.ai4 .jw-gc b{font-size:19px}

/* This site, made with AI */
.made-g{display:grid;grid-template-columns:62.5% 37.5%;align-items:center;border-top:1px solid #d9d9d9;padding:50px 0 40px}
.made-l{padding:0 20px}
.made-r{padding:0 40px 0 20px;font-family:"Pretendard YH","Pretendard",sans-serif}
.lead2{font-size:clamp(26px,2.5vw,40px);line-height:1.3;font-weight:500;letter-spacing:-.025em;color:#000;margin-bottom:22px}
.made-r mark{background:linear-gradient(transparent 62%,rgba(47,107,255,.22) 62%);color:inherit}
.made-r>p:not(.lead2){font-size:16px;line-height:1.7;color:#333}
.made-list{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid #d9d9d9}
.made-list li{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #d9d9d9;font-size:14px;align-items:baseline}
.made-list b{font-family:"Inter Tight",sans-serif;font-weight:500;font-size:20px;letter-spacing:-.01em}
.made-list span{color:#444}
.made-2{display:grid;grid-template-columns:1fr 1fr;padding:30px 0 90px}
.made-c{display:block;padding:0 20px}
.made-c .mk-mac{background:#f1f1ef;padding:0}
.made-c .jw-cap{margin-top:12px}
@media (max-width:1100px){.made-g{grid-template-columns:minmax(0,1fr);row-gap:30px}.made-r{padding:0 20px}}
@media (max-width:767px){
  .jw-card.tall{width:44vw}
  .made-2{grid-template-columns:minmax(0,1fr);row-gap:30px}
  .made-list li{grid-template-columns:110px 1fr}
  #ai .jw-r3 small{max-width:none}
}

/* ===== 3차: Behance식 · 수치 · 태그 ===== */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chips span{display:inline-flex;align-items:center;height:30px;padding:0 13px;border:1px solid #000;border-radius:999px;font:500 12.5px/1 "Inter Tight","Pretendard",sans-serif;letter-spacing:.01em;color:#000;background:#fff;white-space:nowrap}
.chips span.hl{background:#2f6bff;border-color:#2f6bff;color:#fff}
.dk .chips span{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}

/* 프로젝트 헤더 */
.pj{position:relative;padding:110px 0 70px;border-top:1px solid #d9d9d9}
.pj-top{padding:0 20px}
.pj-k{display:block;font-size:13px;letter-spacing:.02em;text-transform:uppercase;margin-bottom:22px}
.pj-t{font-size:clamp(64px,10.5vw,176px)!important;line-height:.86!important;letter-spacing:-.045em;font-weight:500!important;color:#000}
.pj-s{margin-top:26px!important;font-family:"Pretendard YH","Pretendard",sans-serif;font-size:clamp(17px,1.5vw,22px);color:#333;max-width:720px}
.pj-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:56px 0 0;border-top:1px solid #000}
.pj-meta div{padding:16px 20px 0}
.pj-meta dt{font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:#777}
.pj-meta dd{margin:6px 0 0;font-family:"Pretendard YH","Pretendard",sans-serif;font-size:15px;color:#000;font-weight:500}
.pj-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:64px;border-top:1px solid #d9d9d9}
.pj-stats>div{padding:22px 20px 0;border-right:1px solid #d9d9d9}
.pj-stats>div:last-child{border-right:0}
.pj-stats b{display:flex;align-items:baseline;font-weight:400;font-size:clamp(44px,5.4vw,92px);line-height:.9;letter-spacing:-.045em;font-variant-numeric:tabular-nums;color:#000}
.pj-stats b em{font-style:normal;font-size:.36em;margin-left:4px;letter-spacing:0;color:#2f6bff}
.pj-stats>div:first-child b{color:#2f6bff}
.pj-stats>div>span{display:block;margin-top:14px;font-family:"Pretendard YH","Pretendard",sans-serif;font-size:14px;font-weight:500;color:#000}
.pj-stats>div>i{display:block;margin-top:4px;font-style:normal;font-size:12px;color:#777;font-family:"Pretendard YH","Pretendard",sans-serif}
.pj-note{padding:28px 20px 0;font-size:11px;color:#8a8a8a;font-family:"Pretendard YH","Pretendard",sans-serif}

/* 갤러리 */
.gal{position:relative;padding:110px 0 30px;background:#fff}
.gal-h{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:0 20px 34px;flex-wrap:wrap}
.gal-h .chips{margin-top:0}
.g{position:relative;margin:0;overflow:hidden;background:#f1f1ef}
.g img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--jw-ez)}
.g:hover img{transform:scale(1.025)}
.g figcaption{position:absolute;left:16px;bottom:14px;display:flex;gap:10px;align-items:baseline;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);font-family:"Inter Tight","Pretendard",sans-serif;font-size:12.5px;color:#000}
.g figcaption b{font-weight:500;text-transform:uppercase;letter-spacing:.02em}
.g figcaption span{color:#555;font-family:"Pretendard YH","Pretendard",sans-serif}
.g-w{margin:0 20px 20px;aspect-ratio:21/9}
.g-row{display:grid;gap:20px;margin:0 20px 20px}
.g-2{grid-template-columns:1fr 1fr}.g-2 .g{aspect-ratio:4/5}
.g-3{grid-template-columns:1.3fr 1fr 1fr}.g-3 .g{aspect-ratio:4/5}
.g-2b{grid-template-columns:1.4fr 1fr}.g-2b .g{aspect-ratio:3/2}
.g-2b .g:last-child{aspect-ratio:auto}
.mo-ready .g:not(.seen){clip-path:inset(8% 6% 8% 6%)}
.g{transition:clip-path 1.2s var(--jw-ez)}

/* 글 줄인 행: 굵은 제목을 더 크게 */
.jw-row .jw-r2 b{font-size:clamp(22px,2vw,30px)}
.why-step p{font-size:18px}
.jw-br .chips{margin-top:6px}
@media (max-width:1100px){.pj-stats{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:34px}.pj-stats>div:nth-child(3n){border-right:0}.pj-meta{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}}
@media (max-width:767px){
  .pj{padding:80px 0 50px}.pj-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pj-stats>div{border-right:0}
  .g-w{aspect-ratio:4/3;margin:0 12px 12px}.g-row{gap:12px;margin:0 12px 12px}.g-2,.g-3,.g-2b{grid-template-columns:1fr 1fr}.g-3 .g:first-child{grid-column:1/3}
  .g figcaption{left:10px;bottom:10px;font-size:11px}.g figcaption span{display:none}
}

/* ===== 4차: 이력 · AI 역량 · 비전 ===== */
.cr-top,.cap-top{display:grid;grid-template-columns:1.4fr 1fr;gap:30px;align-items:end;padding:10px 20px 40px;border-top:1px solid #d9d9d9}
.cr-lead{font-family:"Pretendard YH","Pretendard",sans-serif;font-size:clamp(26px,2.7vw,42px);line-height:1.32;font-weight:500;letter-spacing:-.03em;color:#000}
.cr-lead mark{background:linear-gradient(transparent 62%,rgba(47,107,255,.22) 62%);color:inherit}
.cr-sum{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #000}
.cr-sum div{padding:14px 0 0}
.cr-sum b{display:block;font:400 clamp(40px,4.2vw,70px)/.9 "Inter Tight",sans-serif;letter-spacing:-.04em}
.cr-sum span{display:block;margin-top:8px;font:500 13px/1.3 "Pretendard",sans-serif;color:#333}
.cr-tl{list-style:none;margin:0;padding:0}
.cr-tl li{display:grid;grid-template-columns:25% 1fr auto;gap:20px;align-items:start;padding:22px 20px;border-top:1px solid #d9d9d9}
.cr-tl li:last-child{border-bottom:1px solid #d9d9d9}
.cr-tl .y{font:500 13px/1.6 "Inter Tight",sans-serif;letter-spacing:.02em;color:#555;font-variant-numeric:tabular-nums}
.cr-tl .w b{display:block;font:500 clamp(19px,1.6vw,24px)/1.3 "Pretendard YH","Pretendard",sans-serif;letter-spacing:-.02em;color:#000}
.cr-tl .w p{margin-top:6px;font-family:"Pretendard YH","Pretendard",sans-serif;font-size:14.5px;line-height:1.6;color:#555}
.cr-tl .nums{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:12px}
.cr-tl .nums span{display:flex;align-items:baseline;gap:6px;font:500 12.5px/1 "Pretendard",sans-serif;color:#555}
.cr-tl .nums b{font:500 26px/1 "Inter Tight",sans-serif;letter-spacing:-.03em;color:#2f6bff}
.cr-tl .chips{margin-top:0;justify-content:flex-end;max-width:260px}
.cr-tl .chips span{height:26px;padding:0 10px;font-size:11.5px}
.cr-tl li.now{background:#f6f8ff}
.cr-tl li.now .y{color:#2f6bff}
.cr-skill{display:flex;gap:20px;align-items:center;padding:26px 20px 0;flex-wrap:wrap}
.cr-skill small{font-size:12px;letter-spacing:.02em;text-transform:uppercase}
.cr-skill .chips{margin-top:0}

.cap-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #000}
.cap-g article{position:relative;padding:22px 20px 26px;border-bottom:1px solid #d9d9d9;border-right:1px solid #d9d9d9;min-height:200px;display:flex;flex-direction:column}
.cap-g article:nth-child(3n){border-right:0}
.cap-g .cn{font:500 13px/1 "Inter Tight",sans-serif;color:#2f6bff}
.cap-g b{display:block;margin-top:14px;font:500 22px/1.3 "Pretendard YH","Pretendard",sans-serif;letter-spacing:-.02em;color:#000}
.cap-g p{margin-top:8px;font-family:"Pretendard YH","Pretendard",sans-serif;font-size:14.5px;line-height:1.6;color:#555}
.cap-g .chips{margin-top:auto;padding-top:16px}
.cap-g .chips span{height:26px;padding:0 10px;font-size:11.5px}
.cap-g article.hl{background:#0a0a0a}
.cap-g article.hl b{color:#fff}.cap-g article.hl p{color:#bbb}.cap-g article.hl .chips span{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.cap-g article.hl .chips span.hl{background:#2f6bff;border-color:#2f6bff}

.bc-d{margin:60px 20px 0;padding:36px 34px 38px;background:#0a0a0a;color:#fff;border-radius:2px}
.bc-h small{font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:#9ec5ff}
.bc-h b{display:block;margin-top:12px;font:500 clamp(22px,2vw,30px)/1.3 "Pretendard YH","Pretendard",sans-serif;letter-spacing:-.02em}
.bc-h p{margin-top:8px;font-family:"Pretendard YH","Pretendard",sans-serif;font-size:15px;color:#aaa;max-width:640px}
.bc-row{display:flex;gap:10px;margin-top:30px;flex-wrap:wrap}
.seg{display:flex;flex-wrap:wrap;gap:4px;flex:var(--n) 0 0;min-width:0;position:relative;padding-bottom:42px}
.seg i{font-style:normal;flex:1;min-width:30px;height:64px;display:flex;align-items:center;justify-content:center;font:400 34px/1 "Fragment Mono",ui-monospace,monospace;background:#1b1b1b;border-radius:4px}
.seg em{position:absolute;left:0;right:0;bottom:0;padding-top:10px;border-top:2px solid currentColor;font:500 12.5px/1.35 "Pretendard",sans-serif;font-style:normal;color:#ddd}
.seg.s1{color:#9ec5ff}.seg.s2{color:#2f6bff}.seg.s3{color:#c7c7c7}.seg.s4{color:#f5a524}.seg.s5{color:#3dd68c}
.seg i{color:#fff}

.loop{padding:50px 20px 20px}
.loop small{font-size:12px;letter-spacing:.02em;text-transform:uppercase}
.loop ol{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);counter-reset:l}
.loop li{position:relative;padding:18px 16px 0 0;border-top:2px solid #000;counter-increment:l}
.loop li::before{content:counter(l,decimal-leading-zero);font:500 13px/1 "Inter Tight",sans-serif;color:#2f6bff}
.loop li::after{content:"→";position:absolute;right:10px;top:16px;color:#bbb}
.loop li:last-child::after{content:"↺";color:#2f6bff}
.loop b{display:block;margin-top:10px;font:500 20px/1.3 "Pretendard YH","Pretendard",sans-serif}
.loop span{display:block;margin-top:6px;font-family:"Pretendard YH","Pretendard",sans-serif;font-size:13.5px;line-height:1.55;color:#555}

.vis{background:#fff}
.vis-q{padding:30px 20px 50px;border-top:1px solid #d9d9d9;font-family:"Pretendard YH","Pretendard",sans-serif;font-size:clamp(36px,5vw,84px);line-height:1.15;font-weight:500;letter-spacing:-.04em;color:#000}
.vis-q mark{background:linear-gradient(transparent 62%,rgba(47,107,255,.22) 62%);color:inherit}
.vis-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #000}
.vis-g>div{padding:22px 20px 28px;border-right:1px solid #d9d9d9}
.vis-g>div:last-child{border-right:0;background:#f6f8ff}
.vy{font:500 13px/1 "Inter Tight",sans-serif;color:#2f6bff;letter-spacing:.02em}
.vis-g b{display:block;margin-top:14px;font:500 26px/1.25 "Pretendard YH","Pretendard",sans-serif;letter-spacing:-.02em}
.vis-g p{margin-top:10px;font-family:"Pretendard YH","Pretendard",sans-serif;font-size:15px;line-height:1.65;color:#444}
.vis-me{display:flex;gap:24px;align-items:baseline;padding:34px 20px 90px;flex-wrap:wrap}
.vis-me small{font-size:12px;letter-spacing:.02em;text-transform:uppercase}
.vis-me p{font-family:"Pretendard YH","Pretendard",sans-serif;font-size:clamp(20px,1.8vw,28px);color:#000;letter-spacing:-.02em}
.vis-me b{font-weight:600;color:#2f6bff}
@media (max-width:1100px){.cap-g{grid-template-columns:repeat(2,minmax(0,1fr))}.cap-g article:nth-child(3n){border-right:1px solid #d9d9d9}.cap-g article:nth-child(2n){border-right:0}.loop ol{grid-template-columns:repeat(3,1fr);row-gap:24px}}
@media (max-width:767px){
  .cr-top,.cap-top{grid-template-columns:1fr}
  .cr-tl li{grid-template-columns:1fr;gap:8px}.cr-tl .chips{justify-content:flex-start;max-width:none}
  .cap-g{grid-template-columns:1fr}.cap-g article{border-right:0!important;min-height:0}
  .bc-d{margin:40px 12px 0;padding:24px 18px}.seg i{min-width:20px;height:44px;font-size:22px}.seg.s2{flex-basis:100%}
  .loop ol{grid-template-columns:1fr 1fr}.vis-g{grid-template-columns:1fr}.vis-g>div{border-right:0;border-bottom:1px solid #d9d9d9}
}
