.aurora-container{width:100%;height:100%}.aurora-container canvas{width:100%;height:100%;display:block}
.contact-trigger{font:inherit;cursor:pointer}.contact-dialog{z-index:1200;background:color-mix(in srgb,var(--bg-primary) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);place-items:center;padding:20px;animation:.22s both contact-backdrop-in;display:grid;position:fixed;inset:0}.contact-dialog-panel{border:1px solid var(--border-strong);background:var(--bg-secondary);width:min(100%,500px);box-shadow:0 28px 90px var(--bg-primary);border-radius:16px;padding:42px;animation:.38s cubic-bezier(.2,.8,.2,1) both contact-panel-in;position:relative}.contact-dialog-close{border:1px solid var(--border);background:var(--bg-card);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:background .18s,color .18s,transform .18s;display:grid;position:absolute;top:15px;right:15px}.contact-dialog-close:hover{background:var(--bg-hover);color:var(--text-primary);transform:rotate(5deg)}.contact-dialog-close svg{width:16px;height:16px}.contact-dialog-panel h2{color:var(--text-primary);margin:7px 0 12px;font-size:32px;line-height:1.05}.contact-dialog-intro{max-width:390px;color:var(--text-secondary);margin:0;font-size:13px;line-height:1.65}.contact-dialog-actions{gap:9px;margin-top:28px;display:grid}.contact-dialog-actions>a{border:1px solid var(--border);background:var(--bg-card);min-height:76px;color:var(--text-secondary);border-radius:10px;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;gap:13px;padding:13px 15px;transition:background .2s,border-color .2s,transform .2s;display:grid}.contact-dialog-actions>a:hover{background:var(--bg-hover);border-color:var(--border-strong);transform:translateY(-2px)}.contact-action-icon{border:1px solid var(--border-strong);border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.contact-action-icon svg{width:17px;height:17px}.contact-dialog-actions strong{color:var(--text-primary);font-size:13px;display:block}.contact-dialog-actions small{color:var(--text-muted);margin-top:4px;font-size:10px;display:block}.contact-dialog-actions>a>svg{width:16px;height:16px;transition:transform .18s}.contact-dialog-actions>a:hover>svg{transform:translate(2px,-2px)}.contact-email-row{border:1px solid var(--border);min-height:42px;color:var(--text-muted);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding:0 5px 0 11px;font-size:10px;display:flex}.contact-email-row>span{text-overflow:ellipsis;overflow:hidden}.contact-email-row button{min-height:30px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;align-items:center;gap:6px;padding:0 9px;display:flex}.contact-email-row button:hover{background:var(--bg-hover);color:var(--text-primary)}.contact-email-row svg{width:13px;height:13px}.contact-response{text-align:center;color:var(--text-muted);letter-spacing:.04em;margin:14px 0 0;font-size:9px}@keyframes contact-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes contact-panel-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}@media (max-width:620px){.contact-dialog{place-items:end center;padding:0}.contact-dialog-panel{width:100%;padding:36px 20px max(22px,env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:18px 18px 0 0;animation-name:contact-sheet-in}.contact-dialog-panel h2{font-size:28px}.contact-dialog-actions>a{min-height:72px}.contact-email-row{margin-top:14px}@keyframes contact-sheet-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}}@media (prefers-reduced-motion:reduce){.contact-dialog,.contact-dialog-panel{animation:none}.contact-dialog-close,.contact-dialog-actions>a,.contact-dialog-actions>a>svg{transition:none}}
.dome-gallery{--dg-radius:660px;touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;width:100%;height:560px;position:relative;overflow:hidden}.dome-gallery:active{cursor:grabbing}.dg-stage{perspective:1100px;perspective-origin:50% 48%;contain:layout paint size;place-items:center;display:grid;position:absolute;inset:0}.dg-sphere{transform-style:preserve-3d;transform:translateZ(calc(var(--dg-radius) * -1));will-change:transform;position:relative}.dg-item{width:196px;height:140px;transform-style:preserve-3d;backface-visibility:hidden;transform:rotateY(var(--dg-rotate-y)) rotateX(var(--dg-rotate-x)) translateZ(var(--dg-radius));margin:auto;position:absolute;inset:-70px -98px}.dg-tile{background:var(--bg-card);cursor:pointer;border:0;border-radius:22px;padding:0;transition:transform .22s;position:absolute;inset:7px;overflow:hidden}.dg-tile:hover,.dg-tile:focus-visible{transform:translateZ(12px)scale(1.035)}.dg-tile img{object-fit:cover;filter:grayscale();-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none;transition:filter .25s}.dg-edge{z-index:3;pointer-events:none;background:radial-gradient(ellipse at center,transparent 52%,var(--bg-primary) 96%);position:absolute;inset:0}.dome-gallery:before,.dome-gallery:after{content:"";z-index:4;pointer-events:none;height:92px;position:absolute;left:0;right:0}.dome-gallery:before{background:linear-gradient(to bottom,var(--bg-primary),transparent);top:0}.dome-gallery:after{background:linear-gradient(to top,var(--bg-primary),transparent);bottom:0}.dg-viewer{z-index:1000;cursor:default;place-items:center;width:100dvw;height:100dvh;padding:24px;display:grid;position:fixed;inset:0}.dg-scrim{background:var(--bg-primary);opacity:.9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:0;position:absolute;inset:0}.dg-open-image{pointer-events:none;background:0 0;border:0;border-radius:0;width:min(92vw,1400px);height:88vh;animation:.3s both dg-open;position:relative;overflow:visible}.dg-open-image>img{object-fit:contain;filter:none}@keyframes dg-open{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (max-width:620px){.dome-gallery{--dg-radius:500px;height:460px}.dg-item{width:150px;height:110px;inset:-55px -75px}.dg-viewer{padding:12px}.dg-open-image{width:calc(100dvw - 24px);height:calc(100dvh - 24px)}}@media (prefers-reduced-motion:reduce){.dg-tile,.dg-tile img{transition:none}.dg-open-image{animation:none}}
.social-showcase{border-block:1px solid var(--border);background:var(--bg-secondary);grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);width:min(1120px,100%);min-height:520px;margin:0 auto;animation:.62s cubic-bezier(.2,.75,.25,1) both social-enter;display:grid}.social-summary{border-right:1px solid var(--border);flex-direction:column;padding:34px 30px;animation:.48s cubic-bezier(.2,.75,.25,1) both social-panel-enter;display:flex}.social-client{align-items:center;gap:18px;display:flex}.social-logo{border:1px solid var(--border);background:var(--bg-card);width:82px;height:82px;color:var(--text-primary);letter-spacing:-.04em;border-radius:12px;flex:0 0 82px;place-items:center;font-size:22px;font-weight:750;display:grid;position:relative;overflow:hidden}.social-logo img{object-fit:contain;padding:10px}.social-client h3{margin:5px 0 0;font-size:22px}.social-account{color:var(--text-muted);margin:5px 0 0;font-size:11px}.social-label{color:var(--text-muted);letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px;font-size:9px;font-weight:700}.social-overview{border-top:1px solid var(--border);margin-top:34px;padding-top:24px}.social-overview>p:last-child{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.7}.social-results{margin-top:30px}.social-results dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;display:grid}.social-results dl>div{border:1px solid var(--border);background:var(--bg-card);border-radius:7px;min-height:78px;padding:13px}.social-results dt{color:var(--text-muted);font-size:9px}.social-results dd{color:var(--text-primary);margin:10px 0 0;font-size:15px;font-weight:650}.social-evidence{min-width:0;padding:30px}.social-evidence>header{justify-content:space-between;align-items:end;gap:18px;margin-bottom:20px;display:flex}.social-evidence h3{margin:5px 0 0;font-size:25px}.social-evidence>header>span{color:var(--text-muted);letter-spacing:.1em;font-size:10px}.social-screenshot{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;height:360px;animation:.45s cubic-bezier(.2,.75,.25,1) both social-screen-enter;position:relative;overflow:hidden}.social-screenshot>img{object-fit:contain;padding:10px}.social-screenshot-empty{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;position:absolute;inset:0}.social-screenshot-empty svg{width:32px;height:32px;margin-bottom:18px}.social-screenshot-empty strong{color:var(--text-secondary);font-size:14px}.social-screenshot-empty span{margin-top:7px;font-size:10px}.social-screenshot-trigger{width:100%;color:inherit;cursor:zoom-in;text-align:inherit;padding:0;display:block}.social-preview-hint{z-index:2;border:1px solid var(--border-strong);background:var(--bg-secondary);min-height:30px;color:var(--text-secondary);opacity:0;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:9px;font-weight:650;transition:opacity .2s,transform .2s;display:flex;position:absolute;bottom:14px;right:14px;transform:translateY(4px)}.social-preview-hint svg{width:12px;height:12px}.social-screenshot-trigger:hover .social-preview-hint,.social-screenshot-trigger:focus-visible .social-preview-hint{opacity:1;transform:none}.social-lightbox{z-index:1000;background:color-mix(in srgb,var(--bg-primary) 92%,transparent);place-items:center;padding:18px;animation:.22s both social-lightbox-enter;display:grid;position:fixed;inset:0}.social-lightbox-panel{border:1px solid var(--border-strong);background:var(--bg-secondary);width:min(1440px,100%);height:min(900px,100dvh - 36px);box-shadow:0 24px 80px var(--bg-primary);border-radius:10px;grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.social-lightbox-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:8px 10px 8px 18px;display:flex}.social-lightbox-toolbar p{color:var(--text-secondary);margin:0;font-size:11px;font-weight:650}.social-lightbox-toolbar p span{color:var(--text-muted);margin-left:10px;font-size:9px;font-weight:500}.social-lightbox-toolbar>div{gap:5px;display:flex}.social-lightbox-toolbar button{border:1px solid var(--border);background:var(--bg-card);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:6px;place-items:center;padding:0;transition:background .18s,color .18s,border-color .18s;display:grid}.social-lightbox-toolbar button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.social-lightbox-toolbar button:disabled{opacity:.35;cursor:not-allowed}.social-lightbox-toolbar svg{width:16px;height:16px}.social-lightbox-viewport{overscroll-behavior:contain;touch-action:pan-x pan-y;background:var(--bg-primary);min-width:0;min-height:0;padding:20px;overflow:auto}.social-lightbox-media{width:calc(100% * var(--social-zoom));height:calc(100% * var(--social-zoom));min-width:100%;min-height:100%;transition:width .18s,height .18s;position:relative}.social-lightbox-media img{object-fit:contain}.social-lightbox-viewport:active{cursor:grabbing}@keyframes social-lightbox-enter{0%{opacity:0}to{opacity:1}}.social-controls{border-block:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:center;height:54px;margin-top:14px;display:grid}.social-controls>span{color:var(--text-muted);letter-spacing:.09em;text-transform:uppercase;padding:0 18px;font-size:9px}.social-controls button{height:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0 4px;font-size:11px;font-weight:650;transition:color .2s;display:flex}.social-controls button:last-child{justify-content:flex-end}.social-controls button:hover{color:var(--text-primary)}.social-controls svg{width:17px;height:17px;transition:transform .2s}.social-controls button:first-child:hover svg{transform:translate(-3px)}.social-controls button:last-child:hover svg{transform:translate(3px)}@keyframes social-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes social-panel-enter{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}@keyframes social-screen-enter{0%{opacity:0;transform:translate(10px)scale(.99)}to{opacity:1;transform:none}}@media (max-width:760px){.social-showcase{grid-template-columns:1fr}.social-summary{border-right:0;border-bottom:1px solid var(--border);padding:24px 18px}.social-results dl{grid-template-columns:repeat(2,minmax(0,1fr))}.social-evidence{padding:24px 18px}.social-screenshot{height:min(430px,75vw)}.social-preview-hint{opacity:1;transform:none}.social-controls>span{display:none}.social-controls{grid-template-columns:1fr 1fr}.social-lightbox{padding:0}.social-lightbox-panel{border:0;border-radius:0;width:100%;height:100dvh}.social-lightbox-toolbar{padding-left:14px}.social-lightbox-toolbar button{width:34px;height:34px}.social-lightbox-viewport{padding:10px}}@media (max-width:430px){.social-client{align-items:flex-start}.social-logo{flex-basis:66px;width:66px;height:66px}.social-results dl{grid-template-columns:1fr 1fr}.social-results dl>div{min-height:70px;padding:11px}.social-controls button span{display:none}}@media (prefers-reduced-motion:reduce){.social-showcase,.social-summary,.social-screenshot,.social-lightbox{animation:none}.social-controls button,.social-controls svg,.social-preview-hint,.social-lightbox-media{transition:none}}
.video-showcase{border-block:1px solid var(--border);background:var(--bg-secondary);grid-template-columns:250px minmax(0,1fr);width:min(1120px,100%);min-height:520px;margin:0 auto;animation:.65s cubic-bezier(.2,.75,.25,1) both video-enter;display:grid}.video-format-nav{border-right:1px solid var(--border);flex-direction:column;padding:28px 20px;display:flex}.video-nav-label{color:var(--text-muted);letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px;font-size:10px;font-weight:700}.video-format-list{gap:6px;display:grid}.video-format-list button{width:100%;min-height:68px;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:25px 1fr 18px;align-items:center;gap:10px;padding:12px 10px;transition:background .24s,border-color .24s,color .24s,transform .24s;display:grid}.video-format-list button:hover{background:var(--bg-card);color:var(--text-primary);transform:translate(3px)}.video-format-list button[aria-selected=true]{border-color:var(--border);background:var(--bg-card);color:var(--text-primary)}.video-format-number{color:var(--text-muted);align-self:start;padding-top:3px;font-size:10px}.video-format-list strong{font-size:13px;font-weight:650;display:block}.video-format-list small{color:var(--text-muted);margin-top:4px;font-size:10px;display:block}.video-format-list svg{opacity:0;width:14px;transition:opacity .22s,transform .22s;transform:translate(-4px,4px)}.video-format-list button:is(:hover,[aria-selected=true]) svg{opacity:1;transform:none}.video-view-all{border:1px solid var(--border-strong);min-height:48px;color:var(--text-primary);letter-spacing:.02em;background:var(--bg-card);border-radius:7px;justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding:0 14px;font-size:11px;font-weight:700;transition:background .22s,border-color .22s,transform .22s;display:flex}.video-view-all:hover{background:var(--bg-hover);border-color:var(--text-muted);transform:translateY(-2px)}.video-view-all svg{width:15px;height:15px;transition:transform .22s}.video-view-all:hover svg{transform:translate(2px,-2px)}.video-library{min-width:0;padding:28px 30px}.video-library-heading{justify-content:space-between;align-items:end;gap:20px;padding-right:2px;display:flex}.video-library-heading .eyebrow{font-size:10px}.video-library-heading h3{margin:4px 0 0;font-size:27px}.video-library-heading>span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.video-filters{scrollbar-width:none;gap:7px;margin:22px 0 26px;display:flex;overflow-x:auto}.video-filters::-webkit-scrollbar{display:none}.video-filters button{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:7px 12px;font-size:10px;transition:color .2s,border-color .2s,background .2s}.video-filters button:hover{color:var(--text-primary);border-color:var(--border-strong)}.video-filters button[aria-pressed=true]{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-primary)}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.video-project{min-width:0;animation:.48s cubic-bezier(.2,.75,.25,1) both video-card-enter}.video-frame{aspect-ratio:16/9;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;position:relative;overflow:hidden}.video-project--portrait{grid-column:auto}.video-project--portrait .video-frame{aspect-ratio:9/16;width:min(100%,230px)}.video-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.video-meta{justify-content:space-between;gap:16px;padding-top:12px;display:flex}.video-meta h4{color:var(--text-primary);margin:0;font-size:13px}.video-meta p,.video-meta>span{color:var(--text-muted);margin:4px 0 0;font-size:10px}.video-meta>span{flex:none}.video-empty{border:1px dashed var(--border);text-align:center;background:var(--bg-card);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:330px;padding:40px;display:flex}@keyframes video-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes video-card-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (max-width:620px){.video-showcase{grid-template-columns:minmax(0,1fr);width:100%;min-width:0;min-height:0;overflow:hidden}.video-format-nav{border-right:0;border-bottom:1px solid var(--border);min-width:0;padding:20px 14px}.video-nav-label{margin-bottom:12px}.video-format-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid;overflow:visible}.video-format-list button{grid-template-columns:20px minmax(0,1fr);gap:7px;min-width:0;min-height:66px;padding:10px}.video-format-list button:last-child{grid-column:1/-1}.video-format-list button:hover{transform:none}.video-format-list button svg{display:none}.video-format-list strong{font-size:12px}.video-format-list small{font-size:9px;line-height:1.35}.video-view-all{min-height:44px;margin-top:10px}.video-library{min-width:0;padding:24px 14px 28px;scroll-margin-top:82px;overflow:hidden}.video-library-heading{align-items:end;gap:12px}.video-library-heading h3{font-size:25px}.video-library-heading>span{white-space:nowrap;font-size:9px}.video-filters{flex-wrap:wrap;gap:7px;margin:20px 0 24px;overflow:visible}.video-filters button{padding:7px 11px}.video-grid{grid-template-columns:minmax(0,1fr);gap:24px}.video-project,.video-frame{width:100%;max-width:100%}.video-frame{aspect-ratio:16/9}.video-project--portrait .video-frame{aspect-ratio:9/16;width:min(100%,240px);margin-inline:auto}.video-meta{gap:10px}}@media (prefers-reduced-motion:reduce){.video-showcase,.video-project{animation:none}.video-format-list button{transition:none}}
.web-showcase{border-block:1px solid var(--border);background:var(--bg-secondary);isolation:isolate;width:min(1120px,100%);margin:0 auto;position:relative;overflow:hidden}.web-showcase:before{content:"";border:1px solid var(--border);opacity:.6;pointer-events:none;border-radius:50%;width:360px;height:360px;position:absolute;top:-190px;right:-140px}.web-project{grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);align-items:center;gap:48px;min-height:520px;padding:38px 34px;display:grid}.web-project--next{animation:.65s cubic-bezier(.2,.75,.25,1) both web-enter-next}.web-project--previous{animation:.65s cubic-bezier(.2,.75,.25,1) both web-enter-previous}.web-project-copy{z-index:1;position:relative}.web-project-count{color:var(--text-muted);letter-spacing:.12em;align-items:center;gap:9px;margin-bottom:36px;font-size:9px;display:flex}.web-project-count i{background:var(--border-strong);width:48px;height:1px}.web-project-copy h3{letter-spacing:-.045em;max-width:400px;margin:8px 0 16px;font-size:clamp(30px,4vw,48px);line-height:1}.web-summary{max-width:440px;color:var(--text-secondary);margin:0;font-size:12px;line-height:1.75}.web-facts{border-block:1px solid var(--border);grid-template-columns:1fr 1fr;gap:20px;margin:28px 0 0;padding-block:17px;display:grid}.web-facts dt,.web-stack>p{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:700}.web-facts dd{color:var(--text-primary);margin:7px 0 0;font-size:11px}.web-stack{margin-top:24px}.web-stack>p{margin:0 0 11px}.web-stack ul{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.web-stack li{border:1px solid var(--border);min-height:34px;color:var(--text-secondary);background:var(--bg-card);border-radius:7px;align-items:center;gap:8px;padding:7px 10px;font-size:9px;transition:color .2s,border-color .2s,transform .2s;display:flex}.web-stack li:hover{color:var(--text-primary);border-color:var(--border-strong);transform:translateY(-2px)}.web-stack li svg{flex:none;width:15px;height:15px}.web-links{flex-wrap:wrap;align-items:center;gap:10px;margin-top:28px;display:flex}.web-links a,.web-link-disabled{border:1px solid var(--border-strong);min-height:43px;color:var(--text-primary);background:var(--bg-card);border-radius:6px;align-items:center;gap:12px;padding:0 15px;font-size:10px;font-weight:700;transition:background .22s,transform .22s;display:flex}.web-links a:hover{background:var(--bg-hover);transform:translateY(-2px)}.web-links svg{width:14px;height:14px}.web-link-disabled{color:var(--text-muted);border-color:var(--border)}.web-repository{background:0 0!important}.web-visual-column{z-index:1;min-width:0;position:relative}.web-browser{border:1px solid var(--border-strong);background:var(--bg-card);box-shadow:0 24px 60px var(--bg-primary);border-radius:11px;padding:8px;transition:transform .45s cubic-bezier(.2,.75,.25,1);transform:perspective(1100px)rotateY(-2deg)}.web-browser:hover{transform:perspective(1100px)rotateY(0)translateY(-4px)}.web-browser-bar{align-items:center;gap:6px;height:33px;padding:0 8px;display:flex}.web-browser-bar>span{background:var(--border-strong);border-radius:50%;width:6px;height:6px}.web-browser-bar i{min-width:0;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-left:8px;font-size:8px;font-style:normal;overflow:hidden}.web-screen{aspect-ratio:16/10;background:var(--bg-primary);scrollbar-width:thin;scrollbar-color:var(--border-strong) var(--bg-primary);border-radius:6px;position:relative;overflow:hidden auto}.web-screen::-webkit-scrollbar{width:7px}.web-screen::-webkit-scrollbar-track{background:var(--bg-primary)}.web-screen::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.web-screen>img{width:100%;height:auto;display:block;position:static}.web-screen-empty{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.web-screen-empty svg{width:34px;height:34px;margin-bottom:18px}.web-screen-empty strong{color:var(--text-secondary);font-size:13px}.web-screen-empty span{margin-top:7px;font-size:9px}.web-carousel-controls{border-block:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:center;height:54px;margin-top:16px;display:grid}.web-carousel-controls>button{height:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0;font-size:10px;font-weight:700;transition:color .2s;display:flex}.web-carousel-controls>button:last-child{justify-content:flex-end}.web-carousel-controls>button:hover{color:var(--text-primary)}.web-carousel-controls svg{width:16px;height:16px;transition:transform .2s}.web-carousel-controls>button:first-child:hover svg{transform:translate(-3px)}.web-carousel-controls>button:last-child:hover svg{transform:translate(3px)}.web-carousel-controls>div{align-items:center;gap:6px;padding:0 18px;display:flex}.web-carousel-controls>div button{background:var(--border-strong);cursor:pointer;border:0;border-radius:999px;width:5px;height:5px;padding:0;transition:width .25s,background .25s}.web-carousel-controls>div button.active{background:var(--text-secondary);width:23px}@keyframes web-enter-next{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}@keyframes web-enter-previous{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:none}}@media (max-width:820px){.web-project{grid-template-columns:1fr;gap:38px;padding:30px 22px}.web-project-count{margin-bottom:24px}.web-project-copy h3{font-size:38px}.web-summary{max-width:620px}.web-browser{transform:none}.web-browser:hover{transform:translateY(-3px)}}@media (max-width:460px){.web-project{padding:25px 16px}.web-project-copy h3{font-size:32px}.web-carousel-controls>button span{display:none}.web-links{flex-direction:column;align-items:stretch}.web-links a,.web-link-disabled{justify-content:space-between}}@media (prefers-reduced-motion:reduce){.web-project--next,.web-project--previous{animation:none}.web-browser,.web-links a,.web-carousel-controls svg{transition:none}}
