/* Portfolio index, scoped separately from project pages. */
.fi .fi-cover{width:100%!important;height:100%!important;max-height:none!important;margin:0!important}
.fi a:focus-visible,.fi button:focus-visible{outline:3px solid var(--acid)!important;outline-offset:5px}
body.page-id-829 .container-wrap{padding:0!important;background:#111214!important}
body.page-id-829 .container.main-content{width:100%!important;max-width:none!important;padding:0!important}
body.page-id-829 .container.main-content>.row{margin:0!important;padding:0!important}
.fi{padding:0 4%;overflow:clip}.fi .fx-top{padding:24px 0}.fi .fx-top>span:first-child{margin-right:auto}.fi .fx-top>span:nth-child(2){margin-right:36px;color:#b6b9af}
.fi-hero{padding-bottom:42px}.fi-title{display:flex;align-items:end;justify-content:space-between;gap:32px;padding-top:55px}.fi .fi-title h1{font-size:clamp(56px,7.8vw,138px);line-height:.98;letter-spacing:-.065em}.fi-jump{flex-shrink:0;font-size:65px;line-height:1;width:110px;height:110px;display:grid;place-items:center;border:1px solid #69705e;border-radius:50%;transition:background .3s,transform .3s;margin-bottom:5px}.fi-jump:hover{background:var(--acid);color:#111;transform:rotate(10deg)}
.fi-intro{display:flex;justify-content:space-between;gap:25px;margin-top:35px;color:#c3c5bf;font-size:19px;line-height:1.5}.fi-intro p:last-child{text-align:right;font-size:14px}.fi-intro strong{color:var(--acid);font-size:26px;font-weight:400}.fi-intro span{color:#9da398}
#fi-work{scroll-margin-top:135px}.fi-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0 30px;border-top:1px solid #ffffff30}.fi-filters{display:flex;gap:8px;flex-wrap:wrap}.fi .fi-filters button{border:1px solid #ffffff38;color:#dedfd8;background:transparent;padding:13px 19px;border-radius:40px;font-size:14px;line-height:1.2;transition:background .25s,color .25s,border-color .25s}.fi .fi-filters button:hover{border-color:var(--acid)}.fi .fi-filters button[aria-pressed=true]{background:var(--acid);border-color:var(--acid);color:#111214}.fi-filters sup{margin-left:9px;vertical-align:super;font-size:10px;opacity:.75}.fi-status{font-size:12px;color:#9da398;white-space:nowrap}
.fi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 28px}.fi-card{min-width:0;margin:0}.fi-card[hidden]{display:none!important}.fi-wide{grid-column:1/-1}.fi-card-link{display:block}.fi-visual{position:relative;aspect-ratio:1.22;overflow:hidden;background:#d8dad3;isolation:isolate}.fi-wide .fi-visual{aspect-ratio:2.05}.fi-cover{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}.fi-card-link:hover .fi-cover{transform:scale(1.035)}.fi-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0 0}.fi .fi-caption h2{font-size:clamp(27px,2.45vw,44px);line-height:1.12;letter-spacing:-.045em}.fi .fi-caption p{font-size:12px;color:#b4b9ae;letter-spacing:.025em;margin-top:10px}.fi-arrow{font-size:34px;color:var(--acid);transition:transform .35s}.fi-card-link:hover .fi-arrow{transform:translate(4px,-4px)}
.fi-number{position:absolute;top:23px;left:25px;background:#111b;color:#fff;border:1px solid #ffffff4d;border-radius:20px;padding:5px 12px;font-size:12px;z-index:4;font-variant-numeric:tabular-nums}.fi-open{position:absolute;bottom:25px;right:25px;background:var(--acid);color:#151813;padding:14px 18px;border-radius:40px;display:flex;gap:22px;align-items:center;font-size:13px;z-index:4;transition:transform .35s,opacity .35s}.fi-open b{font-size:22px;font-weight:400}.fi-video-label{position:absolute;top:24px;right:24px;background:#111b;border-radius:20px;padding:5px 13px;color:#fff;font-size:11px;letter-spacing:.1em;z-index:4}.fi-visual video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s}.fi-visual.is-playing video{opacity:1}
.fi-live-preview{position:absolute;inset:7% 7% 14%;background:white;border:6px solid #242625;border-radius:10px;overflow:hidden;opacity:0;transform:translateY(20px) scale(.96);transition:opacity .6s,transform .8s;box-shadow:0 25px 60px #0004}.fi-browserbar{height:28px;padding:3px 10px 7px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#242625;color:#ccd0c5;font-size:9px;letter-spacing:.02em}.fi-screen{height:calc(100% - 28px);overflow:hidden;background:#fff;position:relative}.fi-screen-image{display:block!important;width:100%!important;height:auto!important;margin:0!important;max-width:none!important;transform:translateY(0)}
.fi-stage{background:#dce1d3;min-height:450px}.fi-stage:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 90%,#aab99d,transparent 60%);z-index:-1}.fi-stage-word{position:absolute;top:2%;left:5%;font-size:clamp(90px,18vw,310px);letter-spacing:-.08em;line-height:1;color:#bec9b1;font-weight:700}.fi-monitor{position:absolute;left:9%;top:13%;width:73%;height:73%;border:10px solid #242625;border-radius:14px;background:#242625;box-shadow:0 30px 50px #24321d40;transform:rotate(-2deg);transition:transform 1s}.fi-phone{position:absolute;right:9%;top:31%;width:17%;height:62%;border:7px solid #222725;border-radius:30px;background:#fff;overflow:hidden;box-shadow:0 25px 45px #0005;transform:rotate(5deg);transition:transform 1s}.fi-phone .fi-screen{height:100%;border-radius:20px}.fi-notch{position:absolute;left:32%;top:5px;width:36%;height:12px;background:#222725;border-radius:20px;z-index:2}.fi-card-link:hover .fi-monitor{transform:rotate(-.5deg) translateY(-5px)}.fi-card-link:hover .fi-phone{transform:rotate(2deg) translateY(-12px)}
.fi.fx-on .fi-card.is-inview .fi-stage .fi-screen-image{animation:fi-screen-pan 24s 1.5s ease-in-out infinite alternate}.fi.fx-on .fi-card.is-inview{animation:fi-card-arrive .85s cubic-bezier(.2,.7,.2,1) both}.fi.fx-on .fi-title h1{animation:fi-title-arrive .8s both}
@media(hover:hover) and (pointer:fine){.fi-card:not(.fi-wide) .fi-open{opacity:0;transform:translateY(8px)}.fi-card-link:hover .fi-open,.fi-card-link:focus-visible .fi-open{opacity:1;transform:none}.fi-card-link:hover .fi-live-preview,.fi-card-link:focus-visible .fi-live-preview{opacity:1;transform:none}.fi.fx-on .fi-card-link:hover .fi-live-preview .fi-screen-image,.fi.fx-on .fi-card-link:focus-visible .fi-live-preview .fi-screen-image{animation:fi-screen-pan 20s 1s ease-in-out infinite alternate}}
@keyframes fi-screen-pan{0%,12%{transform:translateY(0)}88%,100%{transform:translateY(var(--fi-travel,0px))}}
@keyframes fi-card-arrive{from{opacity:.65;transform:translateY(34px)}to{opacity:1;transform:none}}
@keyframes fi-title-arrive{from{opacity:.3;transform:translateY(22px)}to{opacity:1;transform:none}}
.fi-end{margin-top:110px;padding:80px 0 25px;border-top:1px solid #ffffff40}.fi .fi-end h2{font-size:clamp(50px,7.5vw,128px);line-height:1.02}.fi-end em{font-style:normal;color:var(--acid)}.fi-end .fx-pill{margin:35px 0 90px;background:var(--acid);color:#111}.fi-end-note{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff30;padding-top:24px;font-size:11px;letter-spacing:.1em;color:#b7bcae}
.fi.fx-off .fi-screen-image{transform:none!important}.fi.fx-off .fi-visual video{opacity:0}.fi.fx-off .fi-monitor{transform:rotate(-2deg)!important}.fi.fx-off .fi-phone{transform:rotate(5deg)!important}
@media(min-width:1000px){.fi-card:not(.fi-wide):nth-child(3n) .fi-visual{aspect-ratio:1.08}}
@media(max-width:900px){.fi-toolbar{display:block}.fi-status{margin-top:15px!important}.fi .fx-top>span:nth-child(2){display:none}.fi .fx-top>span:first-child{display:block}.fi-title{padding-top:40px}.fi-jump{width:75px;height:75px;font-size:45px}.fi-grid{gap:45px 20px}.fi-stage{min-height:340px}.fi-monitor{border-width:6px}.fi-phone{border-width:5px;border-radius:22px}.fi-number{left:15px;top:15px}.fi-open{right:15px;bottom:15px}.fi-wide .fi-visual{aspect-ratio:1.65}}
@media(max-width:600px){.fi{padding:0 5%}.fi .fx-top{font-size:10px;padding:20px 0}.fi .fx-motion{font-size:10px;padding:8px 11px}.fi-title{padding-top:36px;gap:12px}.fi .fi-title h1{font-size:clamp(43px,10.4vw,64px)}.fi-jump{display:none}.fi-intro{display:block;font-size:17px;margin-top:25px}.fi-intro p:last-child{text-align:left;margin-top:20px;font-size:12px}.fi-intro p:last-child br{display:none}.fi-intro p:last-child span{display:block;margin-top:4px}.fi-intro strong{font-size:19px;margin-right:3px}.fi-hero{padding-bottom:25px}.fi-toolbar{padding:20px 0 25px}.fi .fi-filters button{padding:11px 13px;font-size:12px}.fi-filters{gap:7px}.fi-filters sup{margin-left:6px}.fi-grid{grid-template-columns:1fr;gap:38px}.fi-wide{grid-column:auto}.fi-wide .fi-visual,.fi-visual{aspect-ratio:1.1}.fi-stage{min-height:0;aspect-ratio:1.15!important}.fi-stage-word{font-size:25vw;top:8%}.fi-monitor{width:80%;left:5%;top:20%;height:57%;transform:rotate(-3deg)}.fi-phone{width:25%;right:5%;top:37%;height:48%;border-width:4px;border-radius:15px}.fi-phone .fi-screen{border-radius:11px}.fi-notch{height:7px;top:3px}.fi-browserbar{font-size:7px;height:20px;padding:2px 5px 5px}.fi-screen{height:calc(100% - 20px)}.fi-open{padding:9px 12px;font-size:11px;gap:15px;bottom:12px;right:12px}.fi-open b{font-size:18px}.fi-number{font-size:10px;top:12px;left:12px;padding:4px 9px}.fi-caption{padding-top:17px}.fi .fi-caption h2{font-size:28px}.fi .fi-caption p{font-size:11px;margin-top:7px}.fi-arrow{font-size:27px}.fi-end{margin-top:65px;padding-top:50px}.fi .fi-end h2{font-size:52px}.fi-end .fx-pill{font-size:14px;padding:17px 20px;gap:22px;margin-bottom:60px}.fi-end-note{font-size:9px;letter-spacing:.05em;display:block}.fi-end-note span{display:block;margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){.fi *{animation:none!important;transition:none!important}.fi .fi-screen-image{transform:none!important}.fi .fi-visual video{opacity:0}}
