.portfolio-page{color:#fff;--portfolio-accent:var(--color-action);--landing-slide-height:100dvh;background:#020207;margin-top:0}.portfolio-hero,.portfolio-projects,.portfolio-contact{background:#020207;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);position:relative;overflow:clip}.portfolio-shell{width:min(var(--landing-frame-max-width,1836px),calc(100% - (var(--landing-header-inset-inline,0px)*2)));padding-inline:var(--landing-header-inner-inline,clamp(1rem,3vw,2.6rem));z-index:2;margin:0 auto;position:relative}.portfolio-hero{isolation:isolate;min-height:max(640px,100dvh)}.portfolio-hero__bg,.portfolio-hero__overlay{position:absolute;top:0;bottom:0;left:0;right:0}.portfolio-hero__bg{--portfolio-hero-bg-offset-y:0px;filter:saturate(1.04)contrast(1.02)brightness(.8);transform:translate3d(0,var(--portfolio-hero-bg-offset-y),0)scale(1.1);transform-origin:50%;will-change:transform;background:url(/pages/Portfolio/portfolio-phone-mockup.webp) 50% 30%/cover no-repeat}.portfolio-hero__overlay{background:linear-gradient(180deg,rgba(2,2,7,.5) 0%,rgba(2,2,7,.64) 48%,rgba(2,2,7,.95) 100%),radial-gradient(circle at 35% 20%,rgba(var(--color-action-rgb),.2),transparent 48%)}.portfolio-hero__shell{grid-template-columns:minmax(0,1fr) minmax(260px,420px);align-items:end;gap:max(1.2rem,min(3vw,2.4rem));min-height:max(640px,100dvh);padding-top:max(3.8rem,min(7vh,6rem));padding-bottom:max(2.2rem,min(6vh,4rem));display:grid}.portfolio-hero__copy{align-self:start;gap:max(.8rem,min(2.2vh,1.4rem));max-width:42rem;display:grid}.portfolio-hero__title{text-transform:uppercase;letter-spacing:-.03em;max-width:7ch;margin:0;font-size:max(2.8rem,min(7.6vw,6.6rem));font-weight:700;line-height:.86}.portfolio-hero__title span{display:block}.portfolio-hero__description{color:rgba(255,255,255,.84);max-width:30ch;margin:0;font-size:max(.74rem,min(.92vw,.95rem));line-height:1.34}.portfolio-hero__brief{color:#020207;text-transform:uppercase;letter-spacing:.09em;background:#fff;border:1px solid rgba(255,255,255,.92);border-radius:999px;justify-content:center;align-items:center;gap:.3rem;width:max(84px,min(7vw,108px));height:max(84px,min(7vw,108px));margin-top:max(.45rem,min(1.6vh,1rem));margin-left:max(6rem,min(16vw,13rem));font-size:max(.52rem,min(.62vw,.66rem));font-weight:600;transition:transform .2s;display:inline-flex}.portfolio-hero__brief svg{width:.72rem;height:.72rem}.portfolio-hero__brief:hover{transform:translateY(-2px)}.portfolio-card{gap:.52rem;display:grid}.portfolio-card__link{border-radius:inherit;grid-template-rows:minmax(0,1fr) auto;gap:.52rem;height:100%;transition:transform .22s;display:grid}.portfolio-card--hero{justify-self:end;width:min(100%,420px)}.portfolio-card__image{background-color:#060d1a;background-repeat:no-repeat;background-size:cover;width:100%;min-height:0;transition:box-shadow .22s,filter .22s;box-shadow:0 12px 38px rgba(0,0,0,.5)}.portfolio-card--hero .portfolio-card__image{--portfolio-hero-card-parallax-y:0px;will-change:background-position;min-height:max(240px,min(33vw,430px))}.portfolio-card__caption{text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.94);margin:0;font-size:max(.62rem,min(.68vw,.72rem))}.portfolio-card__link:hover{transform:translateY(-2px)}.portfolio-card__link:hover .portfolio-card__image{filter:saturate(1.08);box-shadow:0 14px 44px rgba(0,0,0,.58)}.portfolio-card__link:focus-visible{outline:2px solid rgba(var(--color-action-rgb),.95);outline-offset:3px}.portfolio-projects .portfolio-shell{padding-top:max(.9rem,min(2.8vh,1.6rem));padding-bottom:max(5rem,min(12vh,8.6rem))}.portfolio-projects__grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:28px;gap:max(.74rem,min(1.2vw,1rem));display:grid}.portfolio-projects__grid .portfolio-card,.portfolio-projects__grid .portfolio-card__link{grid-template-rows:minmax(0,1fr) auto;height:100%}.portfolio-projects__grid .portfolio-card__image{height:100%}.portfolio-card--left-top{grid-area:1/1/span 10/span 4}.portfolio-card--right-top{grid-area:4/7/span 14/span 6}.portfolio-card--right-wide{grid-area:20/7/span 12/span 6}.portfolio-card--left-wide{grid-area:34/1/span 10/span 8}.portfolio-card--right-small{grid-area:45/9/span 10/span 4}.portfolio-card--center-bottom{grid-area:57/4/span 12/span 6}.portfolio-contact{min-height:var(--landing-slide-height);background:#020207}.contact-section{min-height:var(--landing-slide-height);isolation:isolate;background:#020207;position:relative;overflow:clip}.contact-section__bg{z-index:1;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.contact-section__bg-video{opacity:.96;filter:saturate(1.07)contrast(1.04);width:max(1120px,min(148vw,2450px));max-width:none;position:absolute;bottom:max(-21rem,min(-18vw,-10rem));left:50%;transform:translate(-50%)}.contact-section__bg:after{content:"";background:linear-gradient(rgba(2,2,7,.98) 0%,rgba(2,2,7,.85) 26%,rgba(2,2,7,.18) 56%,rgba(2,2,7,.72) 78%,rgba(2,2,7,.96) 100%),radial-gradient(110% 56% at 50% 84%,rgba(2,2,7,0) 42%,rgba(2,2,7,.78) 100%);position:absolute;top:0;bottom:0;left:0;right:0}.contact-shell{min-height:var(--landing-slide-height);z-index:2;flex-direction:column;gap:max(.65rem,min(1.1vw,1rem));padding-top:max(3.2rem,min(7vh,5.6rem));padding-bottom:max(7.6rem,min(12vh,10rem));display:flex;position:relative}.contact-top,.contact-social-row,.contact-footer{z-index:2;position:relative}.contact-top{gap:max(.55rem,min(1vw,.95rem));width:min(860px,100%);margin-left:auto;display:grid}.contact-title{max-width:none;font-family:var(--font-family-primary);letter-spacing:-.03em;text-transform:uppercase;margin:0;font-size:max(3rem,min(6.4vw,6.9rem));font-weight:700;line-height:.84}.contact-title__line{white-space:nowrap;display:block}.contact-title__accent{color:var(--color-action)}.contact-brief{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:max(1rem,min(1.9vw,1.4rem));width:min(520px,100%);margin-top:max(.35rem,min(1vw,.8rem));margin-left:auto;display:grid}.contact-description{color:rgba(255,255,255,.82);max-width:28ch;margin:0;font-size:max(.95rem,min(1.02vw,1.02rem));line-height:1.36}.contact-brief-cta{letter-spacing:.08em;white-space:nowrap;min-width:max(120px,min(9.5vw,168px));min-height:max(120px,min(9.5vw,168px));line-height:1}.contact-brief-cta svg{width:max(.78rem,min(.9vw,1rem));height:max(.78rem,min(.9vw,1rem))}.contact-social-row{justify-content:flex-end;align-items:center;gap:max(1.5rem,min(3.2vw,2.8rem));width:min(860px,100%);margin-top:max(.65rem,min(1.4vh,1.1rem));margin-left:auto;display:flex}.contact-social-link{color:rgba(255,255,255,.88);text-transform:none;font-size:max(.8rem,min(.88vw,.88rem))}.contact-footer{align-content:end;gap:max(.2rem,min(.55vw,.45rem));min-height:auto;padding-top:0;display:grid;position:absolute;bottom:max(1.1rem,min(1.8vh,1.9rem));left:max(1rem,min(3vw,2.6rem));right:max(1rem,min(3vw,2.6rem))}.contact-footer-nav{z-index:3;width:-moz-fit-content;width:fit-content;position:absolute;bottom:max(13rem,min(17vw,18.8rem));left:max(4.5rem,min(6.4vw,8rem));transform:none}.contact-footer-nav ul{flex-wrap:wrap;justify-content:center;gap:.62rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.contact-footer-nav-link{letter-spacing:.01em;text-transform:none;color:rgba(255,255,255,.78);font-size:max(.82rem,min(.92vw,.96rem))}.contact-wordmark{font-family:var(--font-family-primary);letter-spacing:-.078em;color:#141a28;opacity:.48;filter:blur(.8px);text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1;pointer-events:none;margin:0;font-size:max(13.7rem,min(32.4vw,39rem));font-weight:700;line-height:.76;position:absolute;bottom:max(-1.2rem,min(-.9vw,-.25rem));left:50%;transform:translate(-50%)}.contact-footer-bottom{z-index:3;grid-template-columns:1fr auto 1fr;align-items:end;gap:max(.8rem,min(1.5vw,1.3rem));display:grid;position:relative}.contact-footer-col{gap:.28rem;display:grid}.contact-footer-col--left{justify-items:start;transform:translate(clamp(.7rem,.95vw,1.15rem),clamp(-1.45rem,-1.25vw,-.9rem))}.contact-footer-col--center{justify-content:center;align-items:center;gap:max(1rem,min(2vw,2rem));display:flex}.contact-footer-col--right{justify-self:end;align-items:center;gap:.5rem;display:inline-flex}.contact-footer-link{letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.84);font-size:max(.58rem,min(.66vw,.66rem))}.contact-footer-copy{text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.62);margin:.82rem 0 0;font-size:max(.5rem,min(.56vw,.56rem))}.contact-backtop-button{border:1px solid rgba(var(--color-action-rgb),.92);background:var(--color-action);color:#fff;cursor:pointer;border-radius:50%;place-items:center;width:max(24px,min(2vw,34px));height:max(24px,min(2vw,34px));line-height:1;display:grid}@media (max-width:1199px){.portfolio-hero__shell{grid-template-columns:1fr;min-height:auto;padding-top:max(2.8rem,min(7vh,4.5rem))}.portfolio-card--hero{justify-self:start;width:min(420px,62vw)}.portfolio-hero__brief{margin-left:0}.portfolio-projects__grid{grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:24px}.portfolio-card--left-top{grid-area:1/1/span 11/span 3}.portfolio-card--right-top{grid-area:3/5/span 12/span 4}.portfolio-card--right-wide{grid-area:17/4/span 12/span 5}.portfolio-card--left-wide{grid-area:31/1/span 9/span 6}.portfolio-card--right-small{grid-area:41/6/span 9/span 3}.portfolio-card--center-bottom{grid-area:52/2/span 11/span 6}.contact-top,.contact-social-row{width:min(900px,100%);margin-left:0}.contact-brief{max-width:560px}.contact-section__bg-video{width:max(1080px,min(178vw,2200px));bottom:max(-17rem,min(-26vw,-8rem))}.contact-footer-bottom{grid-template-columns:1fr;align-items:start}.contact-footer-col--center{flex-wrap:wrap;justify-content:flex-start}.contact-footer-col--right{justify-self:start}}@media (max-width:767px){.portfolio-shell{padding-left:1rem;padding-right:1rem}.portfolio-hero{min-height:auto}.portfolio-hero__shell{padding-top:2.6rem;padding-bottom:1.8rem}.portfolio-hero__title{max-width:100%;font-size:max(2.25rem,min(13vw,4.2rem))}.portfolio-hero__description{max-width:34ch;font-size:.82rem}.portfolio-hero__brief{width:86px;height:86px;margin-top:.4rem}.portfolio-card--hero{width:min(340px,80vw)}.portfolio-card--hero .portfolio-card__image{min-height:280px}.portfolio-projects .portfolio-shell{padding-top:.7rem;padding-bottom:3.6rem}.portfolio-projects__grid{flex-direction:column;gap:1.45rem;display:flex}.portfolio-projects__grid .portfolio-card,.portfolio-projects__grid .portfolio-card__link{grid-template-rows:auto auto;height:auto}.portfolio-projects__grid .portfolio-card__image{aspect-ratio:4/3;height:auto;min-height:220px}.portfolio-card--right-small .portfolio-card__image{aspect-ratio:1}.portfolio-page{--landing-slide-height:100dvh}.portfolio-contact,.contact-section{min-height:auto}.contact-shell{gap:1rem;min-height:auto;padding-bottom:1rem}.contact-top,.contact-social-row{width:100%;margin-left:0}.contact-title{max-width:100%;font-size:max(2.4rem,min(12vw,4.1rem));line-height:.86}.contact-title__line{white-space:normal}.contact-brief{grid-template-columns:1fr;align-items:start}.contact-brief-cta{justify-self:start;min-width:108px;min-height:108px}.contact-description{max-width:100%;font-size:.9rem}.contact-social-row{flex-wrap:wrap;justify-content:flex-start;gap:.62rem 1.25rem}.contact-footer{min-height:auto;padding-top:2.8rem;position:relative;bottom:auto;left:auto;right:auto}.contact-footer-nav ul{justify-content:flex-start;gap:.5rem .8rem}.contact-footer-nav{width:auto;position:static;bottom:auto;left:auto;transform:none}.contact-wordmark{text-align:left;font-size:max(4.8rem,min(24vw,8.6rem));position:static;transform:none}.contact-footer-bottom{grid-template-columns:1fr;gap:.7rem}.contact-footer-col--left{transform:none}.contact-footer-copy{margin-top:.3rem}.contact-footer-col--center{flex-wrap:wrap;justify-content:flex-start;gap:.7rem 1rem}.contact-footer-col--right{justify-self:start}.contact-section__bg-video{width:max(220vw,980px);bottom:max(-10.5rem,min(-24vw,-6rem))}.contact-section__bg:after{background:linear-gradient(rgba(2,2,7,.98) 0%,rgba(2,2,7,.9) 30%,rgba(2,2,7,.28) 56%,rgba(2,2,7,.85) 78%,rgba(2,2,7,.97) 100%),radial-gradient(130% 65% at 50% 88%,rgba(2,2,7,0) 42%,rgba(2,2,7,.86) 100%)}}
