.project-gallery-module__c-SUEq__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:48px;display:grid}.project-gallery-module__c-SUEq__card{border:1px solid var(--line);background:var(--panel);border-radius:10px;min-width:0;transition:border-color .18s,transform .18s;overflow:hidden}.project-gallery-module__c-SUEq__card:hover{border-color:#8ea6ff80;transform:translateY(-3px)}.project-gallery-module__c-SUEq__preview{aspect-ratio:1200/630;border:0;border-bottom:1px solid var(--line);width:100%;color:var(--paper);cursor:pointer;text-align:left;background:#eef1ff;display:block;position:relative;overflow:hidden}.project-gallery-module__c-SUEq__preview video,.project-gallery-module__c-SUEq__preview img{object-fit:cover;width:100%;height:100%;display:block}.project-gallery-module__c-SUEq__previewFallback{width:100%;height:100%;color:var(--ink);letter-spacing:-.05em;place-items:center;font-size:clamp(1.4rem,4vw,2.8rem);font-weight:800;display:grid}.project-gallery-module__c-SUEq__mobilePreview{background:linear-gradient(#8ea6ff0e 1px, transparent 1px), linear-gradient(90deg, #8ea6ff0e 1px, transparent 1px), var(--ink-soft);background-size:24px 24px}.project-gallery-module__c-SUEq__mobilePreview video{object-fit:contain;border-radius:5px;width:auto;max-width:48%;height:94%;box-shadow:0 12px 34px #00000061}.project-gallery-module__c-SUEq__previewShade{background:linear-gradient(#07090f0a 42%,#07090fe0);position:absolute;inset:0}.project-gallery-module__c-SUEq__previewIndex,.project-gallery-module__c-SUEq__previewAction{z-index:1;letter-spacing:.08em;text-transform:uppercase;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.62rem;font-weight:800;position:absolute;bottom:14px}.project-gallery-module__c-SUEq__previewIndex{color:var(--accent);left:15px}.project-gallery-module__c-SUEq__previewAction{color:var(--paper);right:15px}.project-gallery-module__c-SUEq__previewAction i{color:var(--accent);font-style:normal}.project-gallery-module__c-SUEq__cardBody{padding:18px}.project-gallery-module__c-SUEq__cardMeta{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.55rem;display:flex}.project-gallery-module__c-SUEq__cardMeta span:before{background:var(--accent);content:"";border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block}.project-gallery-module__c-SUEq__card h3{color:var(--paper);letter-spacing:-.05em;margin-top:16px;font-size:1.7rem}.project-gallery-module__c-SUEq__cardType{color:var(--accent);margin-top:3px;font-size:.68rem;font-weight:750;line-height:1.4}.project-gallery-module__c-SUEq__cardSummary{min-height:2.4em;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:12px;font-size:.77rem;line-height:1.55;display:-webkit-box;overflow:hidden}.project-gallery-module__c-SUEq__cardFooter{justify-content:space-between;align-items:flex-end;gap:14px;margin-top:17px;display:flex}.project-gallery-module__c-SUEq__cardActions{flex:none;align-items:center;gap:12px;display:flex}.project-gallery-module__c-SUEq__cardActions a,.project-gallery-module__c-SUEq__liveProjectLink{color:var(--accent);font-size:.65rem;font-weight:800;text-decoration:none}.project-gallery-module__c-SUEq__cardActions a:hover,.project-gallery-module__c-SUEq__liveProjectLink:hover{color:var(--paper)}.project-gallery-module__c-SUEq__tags,.project-gallery-module__c-SUEq__techStack{flex-wrap:wrap;gap:5px;display:flex}.project-gallery-module__c-SUEq__tags span,.project-gallery-module__c-SUEq__techStack i{border:1px solid var(--line);color:var(--paper-soft);border-radius:999px;padding:5px 7px;font-size:.54rem;font-style:normal;font-weight:700;line-height:1}.project-gallery-module__c-SUEq__openButton{border:0;border-bottom:1px solid var(--accent);color:var(--paper);cursor:pointer;background:0 0;flex:none;padding:4px 0;font-size:.65rem;font-weight:800}.project-gallery-module__c-SUEq__backdrop{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#040509d6;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.project-gallery-module__c-SUEq__modal{background:var(--panel);border:1px solid #8ea6ff47;border-radius:12px;width:min(1180px,100%);max-height:calc(100vh - 40px);overflow:hidden;box-shadow:0 30px 100px #0000008c}.project-gallery-module__c-SUEq__modalHeader{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:13px 18px;display:flex}.project-gallery-module__c-SUEq__modalHeader>div:first-child{align-items:baseline;gap:14px;display:flex}.project-gallery-module__c-SUEq__modalHeader span,.project-gallery-module__c-SUEq__modalHeader time{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.57rem}.project-gallery-module__c-SUEq__modalHeader h3{color:var(--paper);letter-spacing:-.04em;font-size:1.45rem}.project-gallery-module__c-SUEq__modalHeaderActions{align-items:center;gap:16px;display:flex}.project-gallery-module__c-SUEq__liveProjectLink{border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:8px 11px}.project-gallery-module__c-SUEq__liveProjectLink:hover{border-color:var(--accent)}.project-gallery-module__c-SUEq__closeButton{border:1px solid var(--line);width:38px;height:38px;color:var(--paper);cursor:pointer;background:0 0;border-radius:50%;place-items:center;font-size:1.45rem;line-height:1;display:grid}.project-gallery-module__c-SUEq__closeButton:hover{border-color:var(--accent);color:var(--accent)}.project-gallery-module__c-SUEq__modalBody{grid-template-columns:minmax(0,1.62fr) minmax(280px,.68fr);max-height:calc(100vh - 113px);display:grid}.project-gallery-module__c-SUEq__mediaColumn{border-right:1px solid var(--line);min-width:0;overflow-y:auto}.project-gallery-module__c-SUEq__toolbar{border-bottom:1px solid var(--line);background:var(--ink-soft);justify-content:space-between;align-items:stretch;min-height:50px;display:flex}.project-gallery-module__c-SUEq__tabs,.project-gallery-module__c-SUEq__deviceSwitch{min-width:0;display:flex}.project-gallery-module__c-SUEq__tabs{overflow-x:auto}.project-gallery-module__c-SUEq__tabs button,.project-gallery-module__c-SUEq__deviceSwitch button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:.64rem;font-weight:800}.project-gallery-module__c-SUEq__tabs button{border-right:1px solid var(--line);min-width:86px;padding:0 14px}.project-gallery-module__c-SUEq__tabs button:hover,.project-gallery-module__c-SUEq__tabs .project-gallery-module__c-SUEq__activeTab{color:var(--paper)}.project-gallery-module__c-SUEq__tabs .project-gallery-module__c-SUEq__activeTab{box-shadow:inset 0 -2px var(--accent);background:#8ea6ff17}.project-gallery-module__c-SUEq__deviceSwitch{border-left:1px solid var(--line);flex:none;align-items:center;gap:3px;padding:6px}.project-gallery-module__c-SUEq__deviceSwitch button{border-radius:4px;height:34px;padding:0 10px;font-size:.58rem}.project-gallery-module__c-SUEq__deviceSwitch .project-gallery-module__c-SUEq__activeDevice{background:var(--accent);color:var(--ink)}.project-gallery-module__c-SUEq__videoStage{background:#eef1ff;place-items:center;width:100%;display:grid}.project-gallery-module__c-SUEq__videoStage iframe{object-fit:contain;background:0 0;border:0;outline:0;max-width:100%;display:block}.project-gallery-module__c-SUEq__desktopVideo{aspect-ratio:16/9;width:100%}.project-gallery-module__c-SUEq__mobileStage{background:var(--ink-soft);min-height:520px;padding:18px}.project-gallery-module__c-SUEq__mobileVideo{aspect-ratio:440/956;border-radius:8px;width:min(100%,236px)}.project-gallery-module__c-SUEq__caption{border-top:1px solid var(--line);grid-template-columns:.5fr 1.5fr;gap:18px;padding:13px 16px;display:grid}.project-gallery-module__c-SUEq__caption strong{color:var(--paper);font-size:.75rem}.project-gallery-module__c-SUEq__caption p{color:var(--muted);font-size:.68rem;line-height:1.45}.project-gallery-module__c-SUEq__projectInfo{padding:22px;overflow-y:auto}.project-gallery-module__c-SUEq__infoLead{color:var(--paper-soft);font-size:.86rem;line-height:1.6}.project-gallery-module__c-SUEq__infoBlock{margin-top:20px}.project-gallery-module__c-SUEq__infoBlock>span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.56rem;font-weight:800}.project-gallery-module__c-SUEq__infoBlock p,.project-gallery-module__c-SUEq__infoBlock li{color:var(--muted);font-size:.7rem;line-height:1.5}.project-gallery-module__c-SUEq__infoBlock p,.project-gallery-module__c-SUEq__infoBlock ul,.project-gallery-module__c-SUEq__techStack{margin-top:8px}.project-gallery-module__c-SUEq__infoBlock ul{gap:5px;list-style:none;display:grid}.project-gallery-module__c-SUEq__infoBlock li:before{color:var(--accent);content:"— "}.project-gallery-module__c-SUEq__note{border-top:1px solid var(--line);color:#747b89;margin-top:22px;padding-top:14px;font-size:.61rem;line-height:1.45}@media (max-width:920px){.project-gallery-module__c-SUEq__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-gallery-module__c-SUEq__modal{max-height:calc(100vh - 24px)}.project-gallery-module__c-SUEq__modalBody{max-height:calc(100vh - 96px);display:block;overflow-y:auto}.project-gallery-module__c-SUEq__mediaColumn,.project-gallery-module__c-SUEq__projectInfo{overflow:visible}.project-gallery-module__c-SUEq__mediaColumn{border-right:0}.project-gallery-module__c-SUEq__projectInfo{border-top:1px solid var(--line)}}@media (max-width:620px){.project-gallery-module__c-SUEq__grid{grid-template-columns:1fr;gap:16px;margin-top:34px}.project-gallery-module__c-SUEq__cardMeta{flex-wrap:wrap}.project-gallery-module__c-SUEq__cardFooter{flex-direction:column;align-items:stretch;gap:13px}.project-gallery-module__c-SUEq__cardActions{justify-content:space-between;min-height:44px}.project-gallery-module__c-SUEq__cardActions a,.project-gallery-module__c-SUEq__openButton{align-items:center;min-height:40px;padding-left:4px;padding-right:4px;display:inline-flex}.project-gallery-module__c-SUEq__backdrop{align-items:start;padding:0}.project-gallery-module__c-SUEq__modal{border:0;border-radius:0;width:100%;min-height:100dvh;max-height:none}.project-gallery-module__c-SUEq__modalHeader{z-index:3;background:var(--panel);min-height:64px;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 12px max(12px, env(safe-area-inset-left));gap:10px;position:sticky;top:0}.project-gallery-module__c-SUEq__modalHeader>div:first-child{min-width:0;display:block}.project-gallery-module__c-SUEq__modalHeader h3{text-overflow:ellipsis;white-space:nowrap;font-size:1.2rem;overflow:hidden}.project-gallery-module__c-SUEq__modalHeader time{display:none}.project-gallery-module__c-SUEq__modalHeaderActions{flex:none;gap:8px}.project-gallery-module__c-SUEq__liveProjectLink{padding:7px 9px}.project-gallery-module__c-SUEq__closeButton{flex:none;width:40px;height:40px}.project-gallery-module__c-SUEq__modalBody{max-height:none}.project-gallery-module__c-SUEq__toolbar{display:block}.project-gallery-module__c-SUEq__tabs{min-height:48px}.project-gallery-module__c-SUEq__tabs button{flex:1 0 80px;min-height:48px}.project-gallery-module__c-SUEq__deviceSwitch{border-top:1px solid var(--line);border-left:0}.project-gallery-module__c-SUEq__deviceSwitch button{flex:1;min-height:44px}.project-gallery-module__c-SUEq__mobileStage{min-height:0;padding:16px}.project-gallery-module__c-SUEq__mobileVideo{width:min(100%,210px)}.project-gallery-module__c-SUEq__caption{grid-template-columns:1fr;gap:5px;padding:14px}.project-gallery-module__c-SUEq__projectInfo{padding:20px 18px max(24px, env(safe-area-inset-bottom))}}@media (max-width:380px){.project-gallery-module__c-SUEq__liveProjectLink{font-size:0}.project-gallery-module__c-SUEq__liveProjectLink:after{content:"Site ↗";font-size:.62rem}}
