body.project-modal-open{overflow:hidden}.project-card{position:relative;display:flex;flex-direction:column;gap:16px;width:100%;padding:12px 12px 18px;box-sizing:border-box;border:1px solid #d1d5db;border-radius:45px;background:#f9fafb}.project-card--unlocked{padding:10px}.project-card:not(.project-card--unlocked){padding:10px}.project-card__image-wrap{position:relative;width:100%;aspect-ratio:4 / 3;box-sizing:border-box;border:1px solid #d1d5db;border-radius:35px;overflow:hidden}.project-card--unlocked .project-card__image-wrap{aspect-ratio:3 / 2}.project-card__image{width:100%!important;height:100%!important;object-fit:cover;object-position:center center;display:block;transform:none}.project-card--unlocked .project-card__image{transform:scale(1);transform-origin:center center}.project-card__protected-badge{position:absolute;top:16px;right:16px;z-index:3;width:40px;height:40px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff24;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border:1px solid #d1d5db}.project-card__protected-icon{width:20px;height:20px;display:block;filter:brightness(0) saturate(100%) invert(100%);opacity:.95}.project-card__info{display:flex;flex-direction:column;gap:16px;width:100%;padding:0 8px;box-sizing:border-box}.project-card:not(.project-card--unlocked) .project-card__info{padding:10px;gap:10px;justify-content:flex-end}.project-card--unlocked .project-card__info{padding:10px;gap:10px;justify-content:flex-end}.project-card__tags{width:100%;display:flex;flex-wrap:wrap;column-gap:6px;row-gap:6px}.project-card__tags[hidden]{display:none!important}.project-card__tag{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:6px 10px 8px;border-radius:999px;border:1px solid #bfc5cf;background:transparent;color:#545454;font-family:"Inter",var(--font-sans);font-size:12px;font-weight:600;line-height:1;letter-spacing:-.02em;white-space:nowrap}.project-card__title{margin:0;width:100%;max-width:none;color:#0a0a0a;font-family:"Inter",var(--font-sans);font-size:24px;font-weight:700;line-height:32px;letter-spacing:-.033em}.project-card__actions{width:100%;display:flex;flex-direction:column;gap:10px}.project-card__actions[hidden]{display:none!important}.project-card__actions--unlocked{margin-top:2px}.project-card--unlocked .project-card__actions--unlocked{margin-top:0}.project-card__cta{width:100%;min-height:50px;border-radius:999px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 18px;box-sizing:border-box;font-family:"Inter",var(--font-sans);font-size:15px;font-weight:600;line-height:1;transition:background-color .3s cubic-bezier(.22,1,.36,1),border-color .3s cubic-bezier(.22,1,.36,1),color .3s cubic-bezier(.22,1,.36,1),opacity .3s cubic-bezier(.22,1,.36,1)}.project-card__cta--secondary{appearance:none;cursor:pointer}.project-card__cta--primary{border:1px solid transparent;background:#0a0a0a;color:#f9fafb}.project-card__cta--secondary{border:1px solid #d1d5db;color:#171717;background:#f9fafbb3;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.project-card__cta--secondary:hover,.project-card__cta--secondary:focus-visible{background:#0a0a0a;border-color:#0a0a0a;color:#f9fafb}.project-card__cta--secondary:hover .project-card__cta-icon,.project-card__cta--secondary:focus-visible .project-card__cta-icon{filter:brightness(0) saturate(100%) invert(100%)}.project-card__cta--open{min-height:56px;border:1px solid transparent;background:#0a0a0a;color:#f9fafb;font-size:18px;font-weight:700;gap:10px}.project-card__cta--primary:hover,.project-card__cta--primary:focus-visible,.project-card__cta--open:hover,.project-card__cta--open:focus-visible{background:#2a2a2a;border-color:transparent}.project-card__cta:active{opacity:.92}.project-card__cta-icon{width:20px;height:20px;display:block;flex:0 0 auto;transition:filter .3s cubic-bezier(.22,1,.36,1)}.project-card__cta-arrow{width:24px;height:24px;display:block;flex:0 0 auto}.project-card__modal-wrap{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(16px,4vw,40px);box-sizing:border-box}.project-card__modal-wrap[hidden]{display:none!important}.project-card__modal-backdrop{position:absolute;inset:0;border-radius:0;background:#0a0a0a38;opacity:0;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);transition:opacity .52s cubic-bezier(.22,1,.36,1),backdrop-filter .52s cubic-bezier(.22,1,.36,1),-webkit-backdrop-filter .52s cubic-bezier(.22,1,.36,1)}.project-card__modal{position:relative;width:min(100%,420px);max-width:100%;max-height:min(680px,calc(100dvh - 32px));overflow-y:auto;background:#fafafa;border:1px solid #d1d5db;border-radius:50px;padding:40px 24px 24px;box-sizing:border-box;display:grid;gap:14px;box-shadow:none;opacity:0;transform:translate3d(var(--modal-enter-x, 0px),var(--modal-enter-y, 0px),0) scale(var(--modal-enter-scale, .88));transform-origin:center;border-radius:var(--modal-enter-radius, 26px);transition:transform .52s cubic-bezier(.22,1,.36,1),opacity .52s cubic-bezier(.22,1,.36,1),border-radius .52s cubic-bezier(.22,1,.36,1);will-change:transform,opacity,border-radius}.project-card__modal-wrap.is-open .project-card__modal-backdrop{opacity:1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.project-card__modal-wrap.is-open .project-card__modal{opacity:1;transform:translateZ(0) scale(1);border-radius:50px}@media(prefers-reduced-motion:reduce){.project-card__modal-backdrop,.project-card__modal{transition:none}.project-card__modal{transform:none;opacity:1;border-radius:50px}}.project-card__modal-title{margin:0;font-size:28px;line-height:1.05;font-weight:700;letter-spacing:-.03em;color:#0a0a0a;font-family:"Inter",var(--font-sans)}.project-card__modal-text{margin:0;font-size:16px;line-height:1.5;color:#404040;font-family:"Inter",var(--font-sans)}.project-card__modal-form{display:grid;gap:14px}.project-card__modal-label{margin:0;font-size:12px;line-height:1;font-weight:600;color:#262626;font-family:"Inter",var(--font-sans)}.project-card__modal-input-wrap{position:relative;display:grid;align-items:center;width:100%}.project-card__modal-input{grid-area:1 / 1;width:100%;min-height:52px;border-radius:16px;border:1px solid #c5c5c5;padding:12px 46px 12px 14px;font-size:16px;line-height:1;font-family:"Inter",var(--font-sans);color:#171717;background:#fafafa}.project-card__modal-input:focus{outline:2px solid rgba(10,10,10,.12);outline-offset:1px}.project-card__modal-visibility{grid-area:1 / 1;justify-self:end;align-self:center;z-index:2;width:20px;height:20px;border:0;background:transparent;padding:0;margin:0 14px 0 0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.project-card__modal-visibility-icon{width:20px;height:20px;display:block;flex:0 0 20px}.project-card__modal-visibility:focus-visible{outline:2px solid rgba(10,10,10,.2);outline-offset:2px;border-radius:6px}.project-card__modal-error{display:none;margin:0;color:#b91c1c;font-size:12px;line-height:1.3;font-weight:600;font-family:"Inter",var(--font-sans)}.project-card__modal-error.is-visible{display:block}.project-card__modal-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:28px}.project-card__modal-btn{appearance:none;border-radius:999px;min-height:52px;border:1px solid transparent;font-size:15px;line-height:1;font-weight:600;font-family:"Inter",var(--font-sans);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .3s cubic-bezier(.22,1,.36,1),border-color .3s cubic-bezier(.22,1,.36,1),color .3s cubic-bezier(.22,1,.36,1),opacity .3s cubic-bezier(.22,1,.36,1)}.project-card__modal-btn-icon{width:20px;height:20px;display:block;flex:0 0 20px;transition:filter .3s cubic-bezier(.22,1,.36,1)}.project-card__modal-btn--primary .project-card__modal-btn-icon{filter:brightness(0) saturate(100%) invert(100%)}.project-card__modal-btn--primary{background:#0a0a0a;color:#f9fafb}.project-card__modal-btn--ghost{background:#fafafa;color:#171717;border-color:#c5c5c5}.project-card__modal-btn--primary:hover,.project-card__modal-btn--primary:focus-visible{background:#2a2a2a;border-color:transparent;color:#f9fafb}.project-card__modal-btn--ghost:hover,.project-card__modal-btn--ghost:focus-visible{background:#0a0a0a;border-color:#0a0a0a;color:#f9fafb}.project-card__modal-btn--ghost:hover .project-card__modal-btn-icon,.project-card__modal-btn--ghost:focus-visible .project-card__modal-btn-icon{filter:brightness(0) saturate(100%) invert(100%)}.project-card__modal-btn:disabled{cursor:not-allowed;opacity:.7}@media(max-width:420px){.project-card{border-radius:38px}.project-card__image-wrap{border-radius:30px}.project-card__modal-backdrop{border-radius:0}.project-card__modal-wrap{padding:16px}.project-card__modal{width:100%;max-height:calc(100dvh - 32px);border-radius:42px;padding:40px 18px 18px;gap:12px}.project-card__modal-title{font-size:22px;line-height:1.08}.project-card__modal-text{font-size:15px}.project-card__modal-form{gap:12px}.project-card__modal-input,.project-card__modal-btn{min-height:48px}}@media(min-width:640px){.project-card__modal-wrap{padding:24px}.project-card__modal{width:min(460px,calc(100vw - 48px));max-height:min(720px,calc(100dvh - 48px));padding:40px 28px 28px;gap:16px;border-radius:54px}.project-card__modal-form{gap:16px}.project-card__modal-actions{grid-template-columns:1fr 1fr}}@media(min-width:960px){.project-card__modal{width:min(480px,calc(100vw - 80px));max-height:min(760px,calc(100dvh - 64px))}}@container project-list (min-width: 672px){.project-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:14px;padding:14px;border-radius:45px}.project-card--unlocked{padding:10px}.project-card:not(.project-card--unlocked){padding:10px}.project-card__image-wrap{grid-column:2;grid-row:1;width:100%;height:100%;min-height:0;min-width:0;aspect-ratio:4 / 3;justify-self:stretch;align-self:stretch;border-radius:35px}.project-card--unlocked .project-card__image-wrap{aspect-ratio:3 / 2;align-self:start}.project-card__info{grid-column:1;grid-row:1;width:100%;max-width:none;min-width:0;min-height:100%;padding:4px 2px 4px 4px;gap:14px;align-self:stretch;justify-content:space-between}.project-card:not(.project-card--unlocked) .project-card__info{padding:10px;gap:10px;justify-content:flex-end}.project-card--unlocked .project-card__info{padding:10px;gap:10px;justify-content:flex-end}.project-card__tags{column-gap:6px;row-gap:6px}.project-card__title{max-width:none}.project-card__tag{min-height:24px;padding:6px 10px 8px;border-color:#d1d5db;font-size:12px;letter-spacing:0}.project-card__cta--open{min-height:50px;font-size:15px;font-weight:600;gap:8px}.project-card__cta-arrow{width:20px;height:20px}}
