.aurora-container{width:100%;height:100%}.aurora-container canvas{width:100%;height:100%;display:block}
.dome-gallery{--dg-radius:660px;touch-action:none;-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();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;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-open-image{width:94vw;height:84vh}}@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-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-controls>span{display:none}.social-controls{grid-template-columns:1fr 1fr}}@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{animation:none}.social-controls button,.social-controls svg{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:1fr;min-height:0}.video-format-nav{border-right:0;border-bottom:1px solid var(--border);padding:18px 16px}.video-nav-label{margin-bottom:12px}.video-format-list{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.video-format-list::-webkit-scrollbar{display:none}.video-format-list button{min-width:190px;min-height:60px}.video-format-list button:hover{transform:none}.video-view-all{margin-top:16px}.video-library{padding:24px 16px}.video-grid{grid-template-columns:1fr}}@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}}
.target-cursor-wrapper{pointer-events:none;z-index:2147483647;mix-blend-mode:difference;width:0;height:0;position:fixed;top:0;left:0}.target-cursor-dot{background:var(--white);border-radius:50%;width:4px;height:4px;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.target-cursor-corner{border:2px solid var(--white);will-change:transform;width:12px;height:12px;position:absolute;top:0;left:0}.corner-tl{border-bottom:0;border-right:0}.corner-tr{border-bottom:0;border-left:0}.corner-br{border-top:0;border-left:0}.corner-bl{border-top:0;border-right:0}@media (hover:hover) and (pointer:fine){.target-cursor-enabled,.target-cursor-enabled *{cursor:none!important}}@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.target-cursor-wrapper{display:none}}
