/* Portfolio: native layout, editable content, no scroll hijacking. */
[hidden]{display:none!important}.client-list{align-items:center}.client-list img{display:block;width:155px;height:48px;object-fit:contain;filter:grayscale(1) brightness(0) invert(1);opacity:.62;transition:opacity .3s}.client-list img:hover{opacity:1}.project-track{display:grid;grid-template-columns:1fr 1fr;gap:65px 38px;overflow:visible;scroll-snap-type:none;padding:0 4.2% 35px}.project{width:100%;min-width:0}.project:nth-child(even){margin-top:65px}.project-img{aspect-ratio:1.48;border-radius:3px}.project-caption p{font-size:9px;line-height:1.7;letter-spacing:.5px;color:#75818e;margin:10px 0 0}.project-caption div>span{color:#b8c5d1;font-size:10px;letter-spacing:1px}.project h3{font-size:clamp(20px,2.15vw,31px)}.project-filters{display:flex;gap:9px;flex-wrap:wrap;padding:0 4.2% 45px}.project-filters button{font-size:11px;padding:11px 18px;background:none;border:1px solid #ffffff2b;border-radius:24px;transition:background .3s,color .3s}.project-filters button[aria-pressed=true]{background:#dfe8ef;color:#080b10;border-color:#dfe8ef}.project-filters button:hover:not([aria-pressed=true]){border-color:var(--blue);color:var(--blue)}.gallery-controls>span{display:block;white-space:nowrap;margin:0}.portfolio-source{font-size:9px;color:#74818e;padding:10px 4.2% 0;line-height:1.8;margin:0}.mockup-label{position:absolute;top:17px;left:17px;z-index:2;border:1px solid #ffffff66;background:#071018b3;padding:8px 11px;border-radius:20px;font-size:8px;letter-spacing:1.4px}.project.motion-pending .project-img{clip-path:inset(0 0 100% 0);transform:translateY(35px)}.project.motion-pending .project-caption{opacity:0;transform:translateY(20px)}.project .project-img{transition:clip-path 1s cubic-bezier(.18,.75,.2,1),transform 1s cubic-bezier(.18,.75,.2,1),border-color .4s}.project .project-caption{transition:opacity .75s .2s,transform .75s .2s}.project.is-revealed .project-img{clip-path:inset(0);transform:translateY(0)}.project.is-revealed .project-caption{opacity:1;transform:translateY(0)}
/* Full-screen vertical strips reveal each visual chapter on native scroll. */
.showreel{position:relative;height:100svh;min-height:560px;background:#111923}.showreel.film-enhanced{height:270svh;min-height:1400px}.showreel-pin{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;isolation:isolate}.film-panel{position:absolute;inset:0;overflow:hidden;background:#111923}.film-panel:not(:first-child){display:none;background:transparent}.film-base{width:100%;height:100%;object-fit:cover;display:block}.film-enhanced .film-panel{display:block}.film-enhanced .film-fallback{display:none}.film-slice{position:absolute;top:0;height:100%;width:12.6%;background-repeat:no-repeat;transform:translateY(102%);will-change:transform}.film-shade{position:absolute;inset:0;background:linear-gradient(0deg,#030910dc 0%,#03091020 55%,#03091070 100%);pointer-events:none}.film-top{position:absolute;top:35px;left:4.2%;right:4.2%;display:flex;justify-content:space-between;gap:20px}.film-top .eyebrow{font-size:9px}.film-top>span:last-child{font-size:10px;letter-spacing:1px}.film-copy{position:absolute;bottom:90px;left:4.2%;right:4.2%}.film-copy>.eyebrow{color:#a8def2;font-size:9px;letter-spacing:2px}.film-copy h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(65px,8vw,130px);line-height:1.02;letter-spacing:-.065em;font-weight:500;margin:20px 0 30px;max-width:900px;text-shadow:0 3px 30px #0003}.film-copy a{display:inline-flex;gap:60px;align-items:center;border-bottom:1px solid #fff8;padding-bottom:10px;font-size:12px}.film-copy a:hover{color:#9ce5ff}.film-track{display:flex;gap:7px;position:absolute;bottom:39px;left:4.2%;width:200px}.film-track span{height:2px;flex:1;background:#ffffff45;transition:background .3s}.film-track span.active{background:#fff}.film-hint{position:absolute;bottom:34px;right:4.2%;font-size:8px;letter-spacing:1.5px;color:#d0dae1}
/* Sticky process cards accumulate in a gently receding stack. */
.process{display:grid;grid-template-columns:1fr 1.2fr;gap:9%;padding:110px 4.2% 120px;border-top:1px solid var(--line);position:relative}.process-intro{position:sticky;top:110px;align-self:start}.process-intro>.eyebrow{color:var(--blue);font-size:9px}.process h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(34px,4vw,60px);font-weight:500;letter-spacing:-2px;line-height:1.15;margin:25px 0}.process h2 span{color:#8393a2}.process-intro>p:not(.eyebrow){font-size:13px;color:#a8b3bf;line-height:1.9;max-width:350px}.process-intro>.text-link{display:inline-block;margin-top:20px}.process-cards{position:relative;padding-bottom:50px}.process-card{position:sticky;top:95px;min-height:420px;border:1px solid #ffffff24;background:#111923;border-radius:12px;overflow:hidden;transform-origin:center top;margin-bottom:45px;box-shadow:0 -10px 40px #0003;isolation:isolate}.process-card:nth-child(2){top:111px}.process-card:nth-child(3){top:127px}.process-card:nth-child(4){top:143px}.process-card:after{content:"";position:absolute;inset:0;background:#03070c;opacity:var(--dim,0);pointer-events:none;z-index:3}.process-card-copy{padding:30px 30px 25px;position:relative}.step-no{display:block;font-family:Manrope,Arial,sans-serif;font-size:55px;line-height:1;font-weight:500;letter-spacing:-3px;color:#00a7e499;margin-bottom:32px}.process-card h3{font-family:Manrope,Arial,sans-serif;font-size:clamp(23px,2.6vw,36px);font-weight:500;letter-spacing:-1.2px;line-height:1.2;margin:0 0 12px}.process-card p{font-size:12px;color:#98a8b6;line-height:1.7;margin:0;max-width:390px}.process-card>img{display:block;width:100%;height:230px;object-fit:cover}.process-card:last-child{margin-bottom:0}
/* Project pages open through a layered frame; albums keep the real image proportions. */
#project-dialog[open]{animation:case-frame .7s cubic-bezier(.18,.75,.2,1) both}@keyframes case-frame{from{clip-path:inset(48% 12% 48% 12% round 24px);transform:translateY(35px)}to{clip-path:inset(0% 0% 0% 0% round 10px);transform:translateY(0)}}.case-head{animation:soft-in .8s .18s both}.case-cover{animation:soft-in .9s .3s both}.case-album{padding:65px 6%;border-top:1px solid var(--line)}.album-heading>.eyebrow{font-size:8px;color:var(--muted)}.album-heading h3{font-family:Manrope,Arial,sans-serif;font-size:clamp(26px,3vw,40px);letter-spacing:-1.2px;font-weight:500;margin:20px 0 35px}.album-grid{columns:2;column-gap:22px}.album-grid figure{margin:0 0 30px;break-inside:avoid;display:inline-block;width:100%}.album-grid img{display:block;width:100%;height:auto;background:#17212c;border-radius:3px}.album-grid figcaption{font-size:9px;line-height:1.7;color:#9caab6;margin-top:12px}.case-cover .case-photo>img{height:auto;width:100%}.section-heading{scroll-margin-top:80px}
@media(min-width:1600px){.project-track,.project-filters{padding-left:max(4.2%,calc((100vw - 1500px)/2));padding-right:max(4.2%,calc((100vw - 1500px)/2))}}
@media(max-width:850px){header nav{gap:18px}.project-track{padding-left:6%;padding-right:6%;gap:45px 23px}.project-filters{padding-left:6%;padding-right:6%;gap:7px}.project-filters button{font-size:10px;padding:10px 14px}.project:nth-child(even){margin-top:45px}.project-caption div>span{font-size:9px}.project h3{font-size:22px}.project-img{aspect-ratio:1.25}.project-label{font-size:7px;padding:8px 10px;bottom:14px;right:14px}.film-copy,.film-top{left:6%;right:6%}.process{padding:75px 6%;gap:5%;grid-template-columns:1fr 1.15fr}.process h2{font-size:35px}.process-intro>p:not(.eyebrow){font-size:12px}.process-card-copy{padding:25px 22px}.process-card h3{font-size:25px}.process-card>img{height:210px}.step-no{font-size:46px}.client-list img{width:135px;height:42px}}
@media(max-width:540px){.showreel,.showreel-pin{min-height:530px}.showreel.film-enhanced{height:230svh;min-height:1300px}.film-copy{bottom:100px}.film-copy h2{font-size:clamp(57px,14vw,74px);letter-spacing:-3.4px}.film-top{top:27px}.film-top .eyebrow{font-size:7px;letter-spacing:1.2px}.film-copy>.eyebrow{font-size:8px;letter-spacing:1.5px}.film-copy a{font-size:11px;gap:45px}.film-track{bottom:35px;left:6%;width:135px}.film-hint{right:6%;font-size:7px;letter-spacing:1px}.project-track{grid-template-columns:1fr;gap:36px;padding-bottom:15px}.project:nth-child(even){margin-top:0}.project-img{aspect-ratio:1.4}.project h3{font-size:23px}.project-caption{margin-top:18px}.project-caption p{font-size:8px}.project-filters{padding-bottom:28px;gap:7px}.project-filters button{font-size:9px;padding:10px 13px}.portfolio-source{font-size:8px;padding-left:6%;padding-right:6%}.gallery-controls{margin-top:6px}.gallery-controls>span{font-size:8px;white-space:normal;text-align:right}.section-heading h2{font-size:30px}.project .project-img{transition-duration:.85s}.mockup-label{font-size:7px;top:12px;left:12px;padding:7px 9px}.process{grid-template-columns:1fr;gap:40px;padding-top:55px;padding-bottom:65px}.process-intro{position:static}.process h2{font-size:39px}.process-intro>p:not(.eyebrow){max-width:100%}.process-card{top:20px;min-height:0;margin-bottom:30px;border-radius:10px}.process-card:nth-child(2){top:32px}.process-card:nth-child(3){top:44px}.process-card:nth-child(4){top:56px}.process-card-copy{padding:25px 25px 23px}.step-no{margin-bottom:22px;font-size:42px}.process-card h3{font-size:27px}.process-card p{font-size:11px}.process-card>img{height:190px}.process-cards{padding-bottom:0}.album-grid{columns:1}.case-album{padding-top:40px;padding-bottom:35px}.album-grid figcaption{font-size:8px}.client-list img{width:110px;height:36px}#project-dialog[open]{animation-duration:.55s}}
@media(prefers-reduced-motion:reduce){.showreel.film-enhanced{height:90svh;min-height:530px}.film-enhanced .film-panel:not(:first-child){display:none}.film-slice{display:none}.process-card,.process-card:nth-child(n){position:relative;top:auto;transform:none!important}.process-card:after{display:none}.process-intro{position:static}.project.motion-pending .project-img,.project.motion-pending .project-caption{clip-path:none;transform:none;opacity:1}#project-dialog[open],.case-cover,.case-head{animation:none}}
.footer-socials{display:flex;flex-wrap:wrap;gap:10px 19px;max-width:285px;font-size:10px;color:#a9b4bf}.footer-socials>a:hover{color:var(--blue)}.footer-socials>span{flex-basis:100%;font-size:7px;letter-spacing:1px;color:#71808e;margin-top:5px}.contact{border-radius:50% 50% 0 0 / 45px 45px 0 0;padding-top:100px}
@media(max-width:540px){.footer-socials{max-width:100%;flex-basis:100%;font-size:10px;padding:10px 0}.contact{border-radius:50% 50% 0 0 / 25px 25px 0 0;padding-top:70px}}
.client-list{width:max(1640px,100vw)}
@media(max-width:850px){.client-list{width:1480px}}
@media(max-width:540px){.client-list{width:1240px}#mobile-nav:not([hidden]){animation:menu-scene .55s cubic-bezier(.2,.7,.2,1) both}#mobile-nav:not([hidden]) a{animation:soft-in .5s both}#mobile-nav:not([hidden]) a:nth-child(2){animation-delay:.07s}#mobile-nav:not([hidden]) a:nth-child(3){animation-delay:.14s}#mobile-nav:not([hidden]) a:nth-child(4){animation-delay:.21s}@keyframes menu-scene{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}}
@media(prefers-reduced-motion:reduce){.client-list{width:auto;gap:25px;flex-wrap:wrap}}
