.wsp-card-link{display:block;text-decoration:none;color:inherit;width:100%}.wsp-card{position:relative;aspect-ratio:1/1;overflow:hidden;background:#f5f5f5;isolation:isolate}.wsp-card,.wsp-card__image{width:100%;border-radius:20px}.wsp-card__image{height:100%;object-fit:cover;z-index:0;transition:transform .4s ease}.wsp-card__image,.wsp-card__overlay{position:absolute;inset:0;pointer-events:none}.wsp-card__overlay{border-radius:20px;opacity:0;transition:opacity .3s ease;z-index:1}.wsp-card__overlay-bg{position:absolute;inset:0;background:rgba(43,124,255,.9);border-radius:20px}.wsp-card__inner{position:absolute;inset:30px;flex-direction:column;color:#ffffff}.wsp-card__inner,.wsp-card__top{display:flex;justify-content:space-between}.wsp-card__top{align-items:flex-start;gap:12px}.wsp-card__number,.wsp-card__type{font-family:Freesentation,Pretendard,system-ui,sans-serif;font-weight:500;font-size:14px;line-height:normal;color:#ffffff}.wsp-card__type{text-align:right}.wsp-card__bottom{display:flex;flex-direction:column;gap:6px;align-items:flex-start;width:100%}.wsp-card__title-row{display:flex;gap:8px;align-items:center}.ws-portfolio-page .wsp-card__title,.wsp-card .wsp-card__title{margin:0;font-family:Freesentation,Pretendard,system-ui,sans-serif;font-weight:600;font-size:28px;line-height:normal;color:#ffffff;white-space:nowrap}.wsp-card__arrow{flex-shrink:0;width:16px;height:16px;color:#ffffff}.ws-portfolio-page .wsp-card__desc,.wsp-card .wsp-card__desc{margin:0;font-family:Freesentation,Pretendard,system-ui,sans-serif;font-weight:400;font-size:16px;line-height:normal;color:#ffffff}.wsp-card-link:focus-visible .wsp-card__overlay,.wsp-card-link:hover .wsp-card__overlay{opacity:1}.wsp-card-link:focus-visible .wsp-card__image,.wsp-card-link:hover .wsp-card__image{transform:scale(1.04)}@media (max-width:1024px){.wsp-card__title{font-size:24px}.wsp-card__desc{font-size:14px}.wsp-card__inner{inset:24px}}@media (max-width:600px){.wsp-card__title{font-size:20px}.wsp-card__desc{font-size:14px}.wsp-card__number,.wsp-card__type{font-size:13px}.wsp-card__inner{inset:20px}.wsp-card__overlay{opacity:1}.wsp-card__overlay-bg{background:linear-gradient(180deg,rgba(5,12,26,0) 42%,rgba(5,12,26,.82))}.wsp-card__inner{justify-content:flex-end}.wsp-card__top{display:none}}.wsp-preview{position:fixed;inset:0;z-index:100000;background:rgba(10,16,36,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:40px;animation:wspPreviewFade .25s ease-out}@keyframes wspPreviewFade{0%{opacity:0}to{opacity:1}}.wsp-preview__stage{display:flex;gap:48px;align-items:center;max-width:1000px;width:100%;animation:wspPreviewRise .35s cubic-bezier(.22,1,.36,1)}.wsp-preview--laptop .wsp-preview__stage{max-width:1280px}@keyframes wspPreviewRise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.wsp-preview__meta{flex:1;display:flex;flex-direction:column;gap:32px;color:#ffffff;min-width:0}.wsp-preview__title-block{display:flex;flex-direction:column;gap:12px}.wsp-preview__eyebrow{font-family:Freesentation,Pretendard,system-ui,sans-serif;font-size:14px;font-weight:500;letter-spacing:.02em;color:rgba(255,255,255,.72)}.wsp-preview .wsp-preview__title{font-size:32px;font-weight:600;line-height:1.2;color:#ffffff;letter-spacing:-.02em}.wsp-preview .wsp-preview__desc,.wsp-preview .wsp-preview__title{margin:0;font-family:Freesentation,Pretendard,system-ui,sans-serif}.wsp-preview .wsp-preview__desc{font-size:16px;font-weight:400;line-height:1.6;color:rgba(255,255,255,.72)}.wsp-preview__actions{display:flex;gap:12px;align-items:center}.wsp-preview__open{display:inline-flex;align-items:center;height:44px;padding:0 20px;border-radius:999px;background:#55a1fd;color:#ffffff;font-family:Freesentation,Pretendard,system-ui,sans-serif;font-size:15px;font-weight:500;text-decoration:none;letter-spacing:-.01em;transition:background .2s ease,transform .2s ease}.wsp-preview__open:hover{background:#3d8ff0;transform:translateY(-1px)}.wsp-preview__close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#ffffff;font-size:22px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.wsp-preview__close:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5)}.wsp-preview__phone{position:relative;flex-shrink:0;width:375px;height:780px;background:#0a1024;border-radius:48px;padding:12px;box-shadow:0 0 0 3px #1a2143,0 30px 60px -20px rgba(0,0,0,.7)}.wsp-preview__notch{position:absolute;top:24px;left:50%;transform:translateX(-50%);width:108px;height:28px;background:#0a1024;border-radius:999px;z-index:2;pointer-events:none}.wsp-preview__statusbar{position:absolute;top:0;left:0;right:0;height:46px;padding:12px 26px 0;z-index:3;pointer-events:none;display:flex;align-items:center;justify-content:space-between;color:#000;background:rgba(255,255,255,.85);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Pretendard,system-ui,sans-serif;font-size:15px;font-weight:600;letter-spacing:-.02em;line-height:1}.wsp-preview__statusbar-time{padding-left:4px}.wsp-preview__statusbar-icons{display:inline-flex;align-items:center;gap:5px}.wsp-preview__statusbar-battery{position:relative;display:inline-block;width:25px;height:12px;border:1px solid;border-radius:3px;margin-left:2px}.wsp-preview__statusbar-battery:after{content:"";position:absolute;top:3px;right:-3px;width:2px;height:4px;border-radius:0 1px 1px 0;background:currentColor}.wsp-preview__statusbar-battery-fill{position:absolute;top:1.5px;left:1.5px;right:1.5px;bottom:1.5px;background:currentColor;border-radius:1.5px}.wsp-preview__home-indicator{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);width:128px;height:4px;background:rgba(255,255,255,.6);border-radius:999px;z-index:2;pointer-events:none}.wsp-preview__screen{position:relative;width:100%;height:100%;border-radius:38px;overflow:hidden;background:#ffffff;-webkit-overflow-scrolling:touch;touch-action:pan-y}.wsp-preview__iframe{width:100%;height:100%;border:0;display:block;touch-action:pan-y}.wsp-preview__phone .wsp-preview__iframe{width:calc(100% + 20px);height:calc(100% - 46px);margin-top:46px}.wsp-preview__laptop{position:relative;flex-shrink:0;width:780px;display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 30px 60px rgba(0,0,0,.5))}.wsp-preview__laptop-body{position:relative;width:100%;background:#0a1024;border-radius:14px 14px 4px 4px;padding:24px 18px 18px;box-shadow:inset 0 0 0 2px #1a2143}.wsp-preview__laptop-camera{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:6px;height:6px;border-radius:999px;background:#2a3560;pointer-events:none}.wsp-preview__laptop .wsp-preview__screen{position:relative;width:100%;aspect-ratio:16/10;border-radius:6px;overflow:hidden;background:#ffffff;container-type:size}.wsp-preview__laptop .wsp-preview__iframe{position:absolute;top:0;left:0;width:1440px;height:900px;border:0;transform-origin:top left;transform:scale(calc(100cqw / 1440px))}.wsp-preview__laptop-base{position:relative;width:108%;height:14px;background:linear-gradient(180deg,#1a2143,#0a1024);border-radius:0 0 20px 20px;margin-top:2px;box-shadow:0 8px 20px -8px rgba(0,0,0,.4)}.wsp-preview__laptop-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:84px;height:6px;background:#050818;border-radius:0 0 8px 8px}@media (max-width:900px){.wsp-preview__laptop{width:min(90vw,640px)}.wsp-preview{padding:20px}.wsp-preview__stage{flex-direction:column-reverse;gap:24px;align-items:stretch}.wsp-preview__phone{align-self:center;width:min(320px,100%);height:min(680px,calc(100vh - 260px))}.wsp-preview__meta{text-align:left;gap:20px}.wsp-preview .wsp-preview__title{font-size:24px}.wsp-preview .wsp-preview__desc{font-size:14px}.wsp-preview__notch{top:16px;width:90px;height:22px}.wsp-preview__home-indicator{bottom:12px;width:96px;height:3px}.wsp-preview__screen{border-radius:32px}}.ws-portfolio-page{min-height:100vh;background:transparent}.wsp-section{padding:91px 0 96px}.wsp-container{width:100%;max-width:1440px;margin:0 auto;padding:0 60px}.wsp-filter{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:30px;padding-top:60px}.wsp-filter,.wsp-filter__pill{align-items:center;justify-content:center}.wsp-filter__pill{display:inline-flex;padding:9px 18px;border-radius:999px;border:1px solid #55a1fd;background:#ffffff;color:#55a1fd;font-family:Freesentation,Pretendard,system-ui,sans-serif;font-size:16px;font-weight:500;line-height:normal;letter-spacing:-.01em;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.wsp-filter__pill:hover{transform:translateY(-1px)}.wsp-filter__pill.is-active{background:#55a1fd;color:#ffffff;border-color:#55a1fd}.wsp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.wsp-empty{padding:clamp(56px,8vh,96px) 24px;text-align:center;border:1px dashed rgba(5,8,24,.15);border-radius:20px;background:rgba(5,8,24,.02)}.wsp-empty__title{margin:0 0 8px;font-size:20px;font-weight:500;color:#000}.wsp-empty__desc,.wsp-empty__title{font-family:Freesentation,Pretendard,system-ui,sans-serif;letter-spacing:-.01em}.wsp-empty__desc{margin:0;font-size:15px;color:#4c4c4c}.ws-detail-modal{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:99999;display:flex;align-items:flex-start;justify-content:center;padding:48px;overflow-y:auto;animation:wspFadeIn .3s ease-out}@keyframes wspFadeIn{0%{opacity:0}to{opacity:1}}.ws-detail-modal__content{position:relative;max-width:600px;width:100%}.ws-detail-modal__close{position:fixed;top:16px;right:16px;width:48px;height:48px;background:rgba(255,255,255,.1);border:none;border-radius:50%;color:#ffffff;font-size:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;z-index:100000}.ws-detail-modal__close:hover{background:rgba(255,255,255,.2)}.ws-detail-modal__image{width:100%;height:auto;border-radius:12px;display:block}@media (max-width:1200px){.wsp-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:1024px){.wsp-container{padding:0 32px}.wsp-grid{grid-template-columns:repeat(2,1fr);gap:20px}}@media (max-width:600px){.wsp-section{padding:103px 0 60px}.wsp-container,.wsp-filter{padding:0 16px}.wsp-filter{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;gap:8px;margin-left:-16px;margin-right:-16px;margin-bottom:20px;scroll-snap-type:x proximity}.wsp-filter::-webkit-scrollbar{display:none}.wsp-filter__pill{flex-shrink:0;padding:8px 16px;font-size:15px;scroll-snap-align:start}.wsp-grid{grid-template-columns:1fr;gap:16px}.ws-detail-modal{padding:16px}}