.project-showcase{--showcase-muted:var(--story-muted,var(--muted));--showcase-accent:var(--story-text,var(--accent));min-width:0}.phone-thumb{aspect-ratio:720/1560;background:#0b0f18;border:1px solid #ffffff30;border-radius:16px;flex-shrink:0;width:96px;padding:3px;transition:transform .2s;position:relative;box-shadow:0 10px 30px #0005}.media-row:hover .phone-thumb{transform:translateY(-2px)}.phone-thumb video{object-fit:cover;background:#0b0f18;border-radius:13px;width:100%;height:100%;display:block}.phone-play{color:#fff4e9;background:#0b0f18cc;border:1px solid #fff4;border-radius:50%;place-items:center;width:34px;height:34px;margin:-17px 0 0 -17px;padding-left:3px;font-size:12px;display:grid;position:absolute;top:50%;left:50%}.community-demo{margin:0 0 20px}.community-demo iframe{aspect-ratio:16/9;background:#0a101b;border:1px solid #ffffff28;border-radius:12px;width:100%;display:block}.community-demo figcaption{color:var(--showcase-muted);margin-top:8px;font-size:11px;line-height:1.5}.community-demo figcaption a{color:var(--showcase-accent);white-space:nowrap}.project-gallery{margin:0 0 20px}.polsa-showcase{grid-template-columns:minmax(0,1fr) minmax(0,2.7fr);align-items:center;gap:20px;margin-bottom:24px;display:grid}.polsa-preview{width:100%;min-width:0;color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:10px;padding:0;display:flex}.polsa-app-preview .phone-thumb{width:100%;max-width:96px;display:block}.polsa-preview-label{color:var(--showcase-muted);text-align:center;font-size:11px;line-height:1.4}.polsa-desktop-image{box-sizing:border-box;background:#0b0f18;border:1px solid #ffffff30;border-radius:10px;width:100%;padding:3px;display:block;position:relative;box-shadow:0 10px 30px #0005}.polsa-desktop-image video{aspect-ratio:16/9;border-radius:6px;width:100%;height:auto;display:block}.polsa-video-dialog{color:#fff;background:0 0;border:0;width:min(1100px,94vw);max-width:94vw;max-height:94dvh;margin:auto;padding:42px 0 0}.polsa-video-dialog::backdrop{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#05070fd9}.polsa-video-dialog video{object-fit:contain;width:100%;max-height:82dvh;display:block}.polsa-video-phone{width:auto}.polsa-video-phone video{border:5px solid #0b0f18;border-radius:28px;width:auto;max-width:90vw;height:82dvh}.polsa-showcase button:focus-visible{outline-offset:4px;outline:2px solid #f2d4b5}.gallery-preview{aspect-ratio:1512/827;cursor:zoom-in;background:0 0;border:0;border-radius:0;width:100%;padding:0;display:block;position:relative}.gallery-preview img{object-fit:contain;border-radius:6px;width:100%;height:100%;margin:auto;display:block;position:absolute;inset:0}.gallery-preview>span{color:#fff;filter:drop-shadow(0 1px 3px #000);place-items:center;width:30px;height:30px;font-size:20px;display:grid;position:absolute;bottom:8px;right:8px}.gallery-caption{color:var(--showcase-muted);margin:8px 0;font-size:11px;line-height:1.5}.gallery-stage{position:relative}.gallery-arrow{color:#fff4e9;text-shadow:0 1px 4px #000,0 0 8px #000;cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0 0 3px;font-size:30px;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.gallery-prev{left:8px}.gallery-next{right:8px}.gallery-arrow:hover{color:#ffdfc4}.gallery-arrow:focus-visible,.gallery-preview:focus-visible{outline-offset:3px;outline:2px solid #f2d4b5}.gallery-count{color:#fff4e9;pointer-events:none;background:#101827b3;border-radius:12px;padding:3px 8px;font-size:10px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}@media (hover:hover) and (pointer:fine){.gallery-arrow,.gallery-count,.gallery-preview>span{opacity:0;transition:opacity .18s}.gallery-arrow{pointer-events:none}.gallery-stage:hover .gallery-arrow,.gallery-stage:hover .gallery-count,.gallery-stage:hover .gallery-preview>span{opacity:1}.gallery-stage:has(:focus-visible) .gallery-arrow{opacity:1}.gallery-stage:has(:focus-visible) .gallery-count{opacity:1}.gallery-stage:has(:focus-visible) .gallery-preview>span{opacity:1}.gallery-stage:hover .gallery-arrow{pointer-events:auto}.gallery-stage:has(:focus-visible) .gallery-arrow{pointer-events:auto}}.gallery-dialog{color:#fff;background:0 0;border:0;width:min(1100px,94vw);max-width:94vw;max-height:92dvh;margin:auto;padding:0}.gallery-dialog::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#05070fe6}.gallery-full{background:0 0;padding:45px 0 12px;position:relative}.gallery-full .gallery-stage{height:min(72dvh,600px)}.gallery-full img{object-fit:contain;border-radius:6px;width:100%;height:100%;margin:auto;display:block;position:absolute;inset:0}.gallery-full video{object-fit:contain;width:100%;height:100%;display:block}.gallery-full .gallery-stage:has(video) .gallery-count{top:8px;bottom:auto}.gallery-preview>.gallery-play{opacity:1;width:44px;height:44px;font-size:24px;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.gallery-full p{margin:12px 8px 0;font-size:13px}.gallery-close{color:#fff;cursor:pointer;background:0 0;border:0;width:34px;height:34px;font-size:28px;position:absolute;top:5px;right:10px}.project-gallery button:focus-visible,.community-demo:focus-visible{outline-offset:3px;outline:2px solid #f2d4b5}@media (prefers-reduced-motion:reduce){.project-showcase *{transition:none!important}}
.about-photos{min-width:0;max-width:640px;margin:24px 0}.about-photos-stage{background:#0b0f18;border:1px solid #ffffff47;border-radius:10px;padding:3px;position:relative;box-shadow:0 10px 30px #0005}.about-photos-track{scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:6px;display:flex;overflow-x:auto}.about-photos-track::-webkit-scrollbar{display:none}.about-photos-slide{aspect-ratio:4/3;scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;position:relative;overflow:hidden}.about-photos-stage button{color:#fff;text-shadow:0 1px 5px #000,0 0 10px #000;cursor:pointer;background:0 0;border:0;width:44px;height:44px;padding:0;font-size:32px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.about-photos-prev{left:4px}.about-photos-next{right:4px}.about-photos-stage button:focus-visible{outline-offset:-3px;border-radius:4px;outline:2px solid #fff}@media (hover:hover) and (pointer:fine){.about-photos-stage button{opacity:0}.about-photos-stage:hover button,.about-photos-stage:focus-within button{opacity:1}}
.experience-list{--experience-muted:var(--muted);--experience-line:var(--border);--experience-accent:var(--accent);margin:20px 0 0;padding:0;list-style:none}.planet-story .experience-list{--experience-muted:#d9cfcc;--experience-line:#ffffff20;--experience-accent:#ffdfc4}.experience-list>li{border-bottom:1px solid var(--experience-line)}.experience-list>li:last-child{border-bottom:0}.experience-detail>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto 16px;align-items:start;gap:12px;padding:18px 0;list-style:none;display:grid}.experience-detail>summary::-webkit-details-marker{display:none}.experience-role{font-size:15px;font-weight:500;line-height:1.45;display:block}.experience-company{color:var(--experience-muted);align-items:center;gap:7px;margin-top:4px;font-size:14px;line-height:1.5;display:flex}.experience-date{color:var(--experience-muted);white-space:nowrap;font-size:12px;line-height:1.8}.experience-toggle{color:var(--experience-muted);text-align:center;font-size:19px;line-height:1.2}.experience-detail[open] .experience-toggle{transform:rotate(45deg)}.experience-detail>summary:hover .experience-role{color:var(--experience-accent)}.experience-body{padding:0 0 20px}.experience-blurb{margin:0 0 14px;font-size:14px;line-height:1.7}.experience-bullets{color:var(--experience-muted);margin:20px 0;padding-left:18px;font-size:14px;line-height:1.75;list-style:outside}.experience-bullets li{margin-bottom:9px;padding-left:3px}.experience-bullets li::marker{color:var(--experience-accent)}.experience-meta{color:var(--experience-muted);flex-direction:column;gap:4px;padding-top:0;font-size:14px;line-height:1.6;display:flex}.experience-links{flex-wrap:wrap;gap:4px 24px;margin-top:16px;display:flex}.experience-links a{align-items:center;gap:9px;min-height:44px;font-size:14px;font-weight:500;display:inline-flex}.experience-links a>svg{width:19px;height:19px;color:var(--experience-muted);flex-shrink:0}.experience-links a>span:first-of-type{border-bottom:1px solid var(--experience-line);padding-bottom:2px}.experience-link-arrow{color:var(--experience-muted);font-size:17px}.experience-links a:hover,.experience-links a:hover svg,.experience-links a:hover .experience-link-arrow{color:var(--experience-accent)}.experience-links a:hover>span:first-of-type{border-color:currentColor}@media (max-width:760px){.experience-detail>summary{grid-template-columns:minmax(0,1fr) 20px;gap:5px 12px;padding:17px 0}.experience-date{grid-area:2/1}.experience-toggle{grid-area:1/2}}.experience-company-logo{object-fit:contain;flex-shrink:0;width:22px;height:22px}.experience-bullets li:last-child{margin-bottom:0}
.famzy-showcase{width:100%;max-width:340px;margin:22px auto;padding:0 48px;position:relative}.famzy-screen-track{scroll-snap-type:x mandatory;scrollbar-width:none;background:#0b0f18;border-radius:27px;display:flex;overflow-x:auto}.famzy-screen-track::-webkit-scrollbar{display:none}.famzy-screen{aspect-ratio:1284/2778;scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;min-width:0;overflow:hidden}.famzy-screen img{object-fit:contain;width:100%;height:100%;display:block}.famzy-showcase button{width:44px;height:44px;color:inherit;cursor:pointer;opacity:.75;background:0 0;border:0;place-items:center;padding:0;font-size:30px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.famzy-showcase button:hover,.famzy-showcase button:focus-visible{opacity:1}.famzy-prev{left:0}.famzy-next{right:0}@media (max-width:400px){.famzy-showcase{padding:0 38px}.famzy-showcase button{width:36px}}.famzy-screen-frame{background:#0b0f18;border:1px solid #fff3;border-radius:36px;padding:8px;box-shadow:0 10px 30px #0005}
.graduation-video{box-sizing:border-box;background:#0b0f18;border:1px solid #ffffff30;border-radius:10px;width:100%;max-width:640px;margin:18px 0;padding:3px;position:relative;box-shadow:0 10px 30px #0005}.graduation-video video{aspect-ratio:788/444;border-radius:6px;width:100%;display:block}.graduation-video-control{color:#fff4e9;cursor:pointer;background:#0b0f18cc;border:1px solid #fff4;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.graduation-video-control.is-playing{opacity:0}.graduation-video:hover .graduation-video-control,.graduation-video-control:focus-visible{opacity:1}.graduation-video-control:focus-visible{outline-offset:3px;outline:2px solid #fff4e9}
.websites-section{padding:56px 0;scroll-margin-top:80px}.websites-section>h2{letter-spacing:-.035em;margin:0 0 24px;font-size:26px;font-weight:550}.website-gallery{--sites-muted:var(--muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;margin:0;padding:0;list-style:none;display:grid}.website-card{border-radius:8px;display:block}.website-card:focus-visible{outline-offset:7px;outline:2px solid}.website-preview{aspect-ratio:16/9;background:#272832;border:1px solid #85859b30;border-radius:8px;position:relative;overflow:hidden}.website-preview img{object-fit:cover;object-position:top}.website-card-title{justify-content:space-between;align-items:baseline;gap:12px;margin-top:14px;display:flex}.website-card-title h3{letter-spacing:-.025em;margin:0;font-size:17px;font-weight:550;line-height:1.35}.website-card-title>span{color:var(--sites-muted)}.website-card:hover h3{text-underline-offset:4px;text-decoration:underline}.website-card p{color:var(--sites-muted);margin:7px 0 9px;font-size:14px;line-height:1.55}.website-address{color:var(--sites-muted);overflow-wrap:anywhere;font-size:12px}.websites-open{width:100%;min-height:52px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #ffffff30;align-items:center;gap:10px;margin-top:28px;padding:14px 0 0;font-size:15px;display:flex}.websites-open svg{width:21px;height:21px}.websites-open>span{margin-left:auto}.websites-open:hover{color:#ffe4be}.websites-dialog{color:#f6f2ed;overscroll-behavior:contain;background:#202431;border:1px solid #ffffff25;border-radius:18px;width:min(1040px,100vw - 32px);max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0;box-shadow:0 24px 100px #0006}.websites-dialog::backdrop{background:#141724c9}.websites-dialog .website-gallery{--sites-muted:#bcbfca}.websites-dialog-header{z-index:1;background:#202431;border-bottom:1px solid #ffffff18;justify-content:space-between;align-items:center;gap:16px;padding:20px 28px;display:flex;position:sticky;top:0}.websites-dialog-header h2{letter-spacing:-.035em;margin:0;font-size:clamp(21px,3vw,29px);font-weight:500}.websites-dialog-header button{height:44px;color:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff30;border-radius:50%;flex:0 0 44px;place-items:center;font-size:27px;display:grid}.websites-dialog-header button:hover{background:#ffffff12}.websites-dialog-content{padding:28px}@media (max-width:600px){.website-gallery{grid-template-columns:minmax(0,1fr);gap:28px}.websites-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px)}.websites-dialog-header{padding:14px 18px}.websites-dialog-content{padding:20px 18px}}
