.portfolio .title-line{color:inherit;margin-bottom:-.12em;padding-bottom:.12em;display:block;overflow:hidden}.portfolio .title-line>span{color:inherit;transform-origin:0 100%;display:block}.portfolio .title-line.muted-title{color:#727a75}.portfolio .hero-image{transform:translate3d(0,var(--hero-shift,0px),0) scale(var(--hero-scale,1.025));transform-origin:50% 60%;will-change:transform}.portfolio .hero:after{content:"";opacity:var(--hero-dim,0);pointer-events:none;background:#090a0a;position:absolute;inset:0}.portfolio .hero-copy,.portfolio .hero-coordinate,.portfolio .hero-bottom,.portfolio .reel-button{z-index:1}.portfolio .hero-copy{opacity:var(--hero-copy-opacity,1)}.portfolio.motion-ready .hero h1 .title-line>span{animation:1.15s cubic-bezier(.16,1,.3,1) .12s both title-arrive}.portfolio.motion-ready .hero h1 .title-line:nth-child(2)>span{animation-delay:.26s}.portfolio.motion-ready .hero .eyebrow,.portfolio.motion-ready .hero .explore{animation:1s .48s both detail-arrive}.portfolio.motion-ready .hero .explore{animation-delay:.7s}.portfolio.motion-ready .reveal{opacity:0;transition:opacity .85s,transform 1.1s cubic-bezier(.16,1,.3,1);transform:translateY(28px)}.portfolio.motion-ready .reveal.revealed,.portfolio.motion-ready .section-heading{opacity:1;transform:none}.portfolio.motion-ready .section-heading .title-line>span{transition:transform 1.15s cubic-bezier(.16,1,.3,1);transform:translateY(112%)rotate(3deg)}.portfolio.motion-ready .section-heading .title-line:nth-child(2)>span{transition-delay:.12s}.portfolio.motion-ready .section-heading.revealed .title-line>span{transform:none}.portfolio.motion-ready .section-heading>p{opacity:0;transition:opacity .7s .25s,transform .8s .25s;transform:translateY(15px)}.portfolio.motion-ready .section-heading.revealed>p{opacity:1;transform:none}.portfolio.motion-ready .project-card{transform:none}.portfolio.motion-ready .project-card .project-image{clip-path:inset(12% 0);transition:clip-path 1.2s cubic-bezier(.16,1,.3,1)}.portfolio .project-image img{height:calc(100% + 80px);transform:translate3d(0,var(--image-shift,0px),0) scale(1);transition:scale .8s cubic-bezier(.16,1,.3,1),filter .5s;position:absolute;top:-40px;scale:1}.portfolio .project-card:hover img{transform:translate3d(0,var(--image-shift,0px),0);scale:1.035}.portfolio.motion-ready .project-caption{opacity:0;transition:opacity .7s .2s,transform .8s .2s;transform:translateY(16px)}.portfolio.motion-ready .revealed .project-caption{opacity:1;transform:none}.portfolio .project-action svg,.portfolio .text-link svg,.portfolio .contact-link svg{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.portfolio .project-card:hover .project-action svg,.portfolio .text-link:hover svg,.portfolio .contact-link:hover svg{transform:translate(3px,-3px)}.portfolio .site-header nav>a:not(.contact-link){padding-block:6px;position:relative;overflow:hidden}.portfolio .site-header nav>a:not(.contact-link):after{content:"";transform-origin:0;background:currentColor;height:1px;transition:transform .4s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.portfolio .site-header nav>a:hover:after{transform:scaleX(1)}@keyframes title-arrive{0%{transform:translateY(115%)rotate(3deg)}to{transform:translateZ(0)rotate(0)}}@keyframes detail-arrive{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@media (max-width:700px){.portfolio .project-image img{height:calc(100% + 32px);top:-16px}.portfolio.motion-ready .project-card .project-image{clip-path:inset(5% 0)}.portfolio.motion-ready .project-card.revealed .project-image{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){.portfolio .hero-image,.portfolio .project-image img,.portfolio .project-card:hover img{will-change:auto;transform:scale(1)!important}.portfolio .hero-copy{opacity:1!important}.portfolio .hero:after{opacity:0!important}.portfolio.motion-ready .reveal,.portfolio.motion-ready .project-caption,.portfolio.motion-ready .section-heading>p{opacity:1!important;transform:none!important}.portfolio .title-line>span{transform:none!important}.portfolio .project-image{clip-path:none!important}}.portfolio{--glass-line:#ffffff38;--glass-fill:#232b33a3;color:#f4f5f7;background:radial-gradient(at 85% 35%,#18232c 0,#0000 45%),#0b0f13;padding:14px;font-family:-apple-system,BlinkMacSystemFont,DM Sans,sans-serif;position:relative}.portfolio .site-header{border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(24px)saturate(150%);backdrop-filter:blur(24px)saturate(150%);background:linear-gradient(140deg,#fff2,#ffffff08),#121b2080;border-radius:100px;width:calc(100% - 64px);padding:12px 18px;top:32px;left:32px;box-shadow:inset 0 1px #ffffff30,0 10px 35px #0002}.portfolio .monogram{background:#ffffff15;border-color:#ffffff40}.portfolio .contact-link,.portfolio .explore,.portfolio .project-action,.portfolio .text-link{border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(135deg,#ffffff24,#ffffff0b);border-radius:100px;padding:13px 20px;box-shadow:inset 0 1px #ffffff20,0 6px 20px #0001}.portfolio .contact-link svg{color:inherit}.portfolio .hero{isolation:isolate;border:1px solid #ffffff1c;border-radius:32px;height:calc(100svh - 28px)}.portfolio .hero-coordinate{top:126px;left:4%;right:4%}.portfolio .hero-copy{bottom:126px;left:4%;right:4%}.portfolio h1,.portfolio h2,.portfolio h3,.portfolio .footer-cta{letter-spacing:-.065em;font-family:-apple-system,BlinkMacSystemFont,DM Sans,sans-serif;font-weight:600}.portfolio .hero h1{text-shadow:0 4px 35px #0002;font-size:clamp(48px,6.8vw,104px);line-height:1.02}.portfolio .hero .eyebrow{letter-spacing:.1em;font-size:12px}.portfolio .explore{background:linear-gradient(140deg,#ffffff32,#ffffff13);gap:26px;margin-top:30px;font-weight:500}.portfolio .hero-bottom{left:4%;right:4%}.portfolio .section-pad{padding:90px 4%}.portfolio .section-heading h2,.portfolio .about h2{font-size:clamp(58px,8vw,116px);line-height:1.04}.portfolio .title-line.muted-title,.portfolio .about h2 span{color:#8996a3}.portfolio .section-heading{margin:45px 0 55px}.portfolio .project-grid{gap:32px}.portfolio .project-card{background:linear-gradient(145deg,#ffffff10,#ffffff03);border:1px solid #ffffff20;border-radius:32px;padding:10px;overflow:hidden;box-shadow:inset 0 1px #ffffff12,0 20px 50px #0002}.portfolio .project-image{border-radius:24px}.portfolio.motion-ready .project-card .project-image{clip-path:inset(12% 0 round 24px)}.portfolio.motion-ready .project-card.revealed .project-image{clip-path:inset(0 round 24px)}.portfolio .project-caption{margin:0;padding:22px 16px 16px}.portfolio .project-caption h3{letter-spacing:-.045em;text-transform:none;font-size:clamp(24px,3vw,38px)}.portfolio .project-caption>span{color:#c7cdd4}.portfolio .project-index{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#101a2666;border:1px solid #ffffff35;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.portfolio .project-action{background:#13202d70;gap:12px}.portfolio .demo-badge{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#101a2699;border-radius:30px;padding:8px 12px}.portfolio .about{border-color:#ffffff18;margin-top:70px}.portfolio .about-layout{gap:5vw}.portfolio .about-text{background:linear-gradient(145deg,#ffffff0e,#ffffff03);border:1px solid #ffffff20;border-radius:32px;padding:38px;box-shadow:inset 0 1px #ffffff12}.portfolio .about-text>p{font-size:clamp(20px,2vw,29px)}.portfolio .disciplines{color:#c0c9d2;gap:10px;margin:28px 0}.portfolio .text-link{gap:18px}.portfolio footer{color:#19222b;background:linear-gradient(125deg,#eef2f6,#c5d1db);border:1px solid #ffffff70;border-radius:32px;box-shadow:inset 0 1px #fff}.portfolio .footer-cta{margin:55px 0 65px;font-size:clamp(64px,10.5vw,170px);line-height:1.05}.portfolio .footer-bottom{border-color:#19222b30}.project-dialog,.menu-dialog{-webkit-backdrop-filter:blur(32px)saturate(140%);backdrop-filter:blur(32px)saturate(140%);background:linear-gradient(135deg,#26323aef,#10181ef5);border:1px solid #ffffff35;box-shadow:inset 0 1px #ffffff20,0 30px 100px #0008;border-radius:28px!important}.project-dialog .project-title{letter-spacing:-.045em;text-transform:none;padding-right:24px;font-family:-apple-system,BlinkMacSystemFont,DM Sans,sans-serif}.project-dialog .project-player,.project-dialog img{border-radius:18px}.portfolio a:hover,.portfolio button:hover{border-color:#fff5}@media (max-width:700px){.portfolio{padding:8px}.portfolio .site-header{width:calc(100% - 40px);padding:10px 14px;top:20px;left:20px}.portfolio .identity{gap:9px;font-size:13px}.portfolio .monogram{width:36px;height:36px;font-size:18px}.portfolio .mobile-menu{background:#ffffff12;border-radius:50%;padding:8px}.portfolio .hero{border-radius:26px;height:calc(100svh - 16px);min-height:620px}.portfolio .hero-coordinate{font-size:10px;top:108px;left:6%;right:6%}.portfolio .hero-copy{bottom:132px;left:6%;right:6%}.portfolio .hero h1{letter-spacing:-.06em;font-size:clamp(34px,8.2vw,58px)}.portfolio .hero .eyebrow{letter-spacing:.025em;font-size:10px}.portfolio .explore{margin-top:25px;padding:13px 17px;font-size:12px}.portfolio .hero-bottom{left:6%;right:6%}.portfolio .section-pad{padding:58px 5%}.portfolio .section-heading h2,.portfolio .about h2{font-size:14vw}.portfolio .section-heading{margin:35px 0}.portfolio .project-grid{gap:22px}.portfolio .project-card{border-radius:25px;padding:7px}.portfolio .project-image{border-radius:19px}.portfolio.motion-ready .project-card .project-image{clip-path:inset(5% 0 round 19px)}.portfolio.motion-ready .project-card.revealed .project-image{clip-path:inset(0 round 19px)}.portfolio .project-caption{gap:10px;padding:18px 9px 12px}.portfolio .project-caption h3{font-size:23px}.portfolio .project-caption>span{font-size:11px}.portfolio .project-action{gap:6px;padding:9px 11px;font-size:10px;bottom:14px}.portfolio .demo-badge{padding:6px 9px;font-size:8px;bottom:14px}.portfolio .project-index{width:32px;height:32px;font-size:12px;top:12px;left:12px}.portfolio .about{margin-top:38px}.portfolio .about-layout{gap:32px}.portfolio .about-text{border-radius:26px;padding:24px}.portfolio .about-text>p{font-size:21px}.portfolio footer{border-radius:26px}.portfolio .footer-cta{margin:40px 0 50px;font-size:13.5vw}.project-dialog{padding:20px!important}.project-dialog .project-title{font-size:29px}}@media (prefers-reduced-transparency:reduce){.portfolio .site-header,.project-dialog,.menu-dialog{background:#172029}.portfolio .explore,.portfolio .project-action{background:#263440}}.portfolio .project-card{perspective:1400px}.portfolio .project-image{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-origin:50%}.portfolio.motion-ready .project-card .project-image{transition:clip-path 1.2s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}.portfolio .project-image:before{content:"";z-index:1;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at var(--light-x,50%) var(--light-y,50%),#e4f3ff30,transparent 65%);opacity:0;transition:opacity .5s;position:absolute;inset:0}.portfolio .project-card.glass-tracking .project-image:before{opacity:1}.portfolio .project-action{transition:background .35s,box-shadow .35s}.portfolio .explore,.portfolio .contact-link,.portfolio .text-link{isolation:isolate;translate:var(--magnet-x,0px) var(--magnet-y,0px);transition:translate .5s cubic-bezier(.16,1,.3,1),box-shadow .35s,background .35s;position:relative;overflow:hidden}.portfolio .explore:before,.portfolio .contact-link:before,.portfolio .text-link:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(110deg,#0000 35%,#ffffff30 50%,#0000 65%);position:absolute;inset:-100% -50%;translate:-70%}.portfolio .footer-cta svg{transition:transform .65s cubic-bezier(.16,1,.3,1)}.portfolio .project-card:focus-visible .project-action{background:#526d8580;box-shadow:0 0 0 1px #ffffff60}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.portfolio .explore:hover:before,.portfolio .contact-link:hover:before,.portfolio .text-link:hover:before{animation:.8s cubic-bezier(.2,.65,.3,1) both glass-pass}.portfolio .project-card:hover .project-action{background:#59768c70;box-shadow:inset 0 1px #fff5,0 8px 30px #0002}.portfolio .footer-cta:hover svg{transform:translate(9px,-9px)rotate(5deg)}.portfolio .explore:hover svg{animation:.65s both arrow-invite}}@keyframes glass-pass{to{translate:70%}}@keyframes arrow-invite{0%,to{transform:translateY(0)}45%{transform:translateY(4px)}}@media (prefers-reduced-motion:no-preference){.project-dialog[data-state=open],.menu-dialog[data-state=open]{animation:.4s cubic-bezier(.16,1,.3,1) glass-open}@keyframes glass-open{0%{opacity:0;filter:blur(5px);scale:.96}to{opacity:1;filter:blur();scale:1}}}@media (prefers-reduced-motion:reduce){.portfolio .project-image,.portfolio .footer-cta svg{transform:none!important}.portfolio .explore,.portfolio .contact-link,.portfolio .text-link{translate:none!important}.portfolio .project-image:before,.portfolio .explore:before,.portfolio .contact-link:before,.portfolio .text-link:before{display:none}}.project-dialog .film-heading{color:#c1ced8;justify-content:space-between;gap:16px;margin:20px 0 14px;font-size:13px;display:flex}.project-dialog .film-picker{flex-wrap:wrap;gap:10px;margin:14px 0 20px;display:flex}.project-dialog .film-picker button{background:#ffffff09;border:1px solid #ffffff25;border-radius:100px;align-items:center;gap:10px;padding:12px 18px;font-size:13px;transition:background .2s,border-color .2s;display:flex}.project-dialog .film-picker button[aria-pressed=true]{background:#fff2;border-color:#ffffff70}.project-dialog .photo-mosaic{columns:3;column-gap:12px}.project-dialog .photo-mosaic.compact-mosaic{columns:2}.project-dialog .photo-mosaic.single-photo{columns:1;max-width:700px;margin:auto}.project-dialog .mosaic-tile{break-inside:avoid;background:#ffffff08;border:1px solid #ffffff20;border-radius:18px;width:100%;margin:0 0 12px;display:block;position:relative;overflow:hidden}.project-dialog .mosaic-tile img{border-radius:0;width:100%;height:auto;transition:transform .6s cubic-bezier(.16,1,.3,1);display:block}.project-dialog .mosaic-tile>span{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);opacity:0;background:#14202b88;border:1px solid #ffffff40;border-radius:50%;padding:10px;transition:opacity .25s;position:absolute;bottom:12px;right:12px}.project-dialog .mosaic-tile:focus-visible>span{opacity:1}.photo-lightbox{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#101820ee;border:1px solid #ffffff30;max-height:94svh;border-radius:24px!important;width:96vw!important;max-width:1400px!important;padding:16px!important}.photo-lightbox img{object-fit:contain;border-radius:14px;width:100%;height:auto;max-height:85svh;display:block}.photo-lightbox>[data-slot=dialog-close]{opacity:1;background:#111b;border-radius:50%;padding:8px}@media (hover:hover) and (prefers-reduced-motion:no-preference){.project-dialog .mosaic-tile:hover img{transform:scale(1.025)}.project-dialog .mosaic-tile:hover>span{opacity:1}}@media (max-width:700px){.project-dialog .photo-mosaic{columns:2;column-gap:8px}.project-dialog .mosaic-tile{border-radius:12px;margin-bottom:8px}.project-dialog .film-picker button{padding:10px 14px}}@media (prefers-reduced-motion:reduce){.project-dialog .mosaic-tile img{transition:none;transform:none}}.project-dialog,.menu-dialog{z-index:60!important}.photo-lightbox{z-index:80!important}
