.ff-case{--ff-ink:#172218;--ff-green:#4eaf5a;--ff-green-dark:#244e2b;--ff-mint:#e4f8e1;--ff-yellow:#efc42b;--ff-paper:#fbf8ef;--ff-cyan:#a3e6df;--ff-page:0;--ff-hero:0;min-height:100vh;color:var(--ff-ink);background:var(--ff-paper);font-family:var(--font-geist-sans),Arial,sans-serif;overflow:clip}.ff-case *,.ff-case :before,.ff-case :after{box-sizing:border-box}.ff-case img{max-width:100%}.ff-page-progress{z-index:120;pointer-events:none;background:#1722181a;height:3px;position:fixed;inset:0 0 auto}.ff-page-progress span{width:calc(var(--ff-page) * 100%);background:var(--ff-green);height:100%;display:block}[data-ff-reveal]{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.2,.8,.2,1);transform:translateY(42px)}[data-ff-reveal][data-visible=true]{opacity:1;transform:none}.ff-hero{background:radial-gradient(circle at 15% 20%,#efc42b2e,#0000 24rem),linear-gradient(135deg,#fdfaf2 0%,#f3f6e9 100%);grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);align-items:center;gap:clamp(2rem,5vw,7rem);min-height:112svh;padding:clamp(8rem,12vw,11rem) clamp(1.25rem,5vw,5rem) 5rem;display:grid}.ff-kicker{color:#527057;letter-spacing:.13em;text-transform:uppercase;margin:0 0 1.5rem;font-size:.72rem;font-weight:700}.ff-hero h1{letter-spacing:-.075em;max-width:760px;margin:0;font-size:clamp(4.2rem,8.1vw,9.2rem);font-weight:560;line-height:.82}.ff-hero h1 em{color:var(--ff-green);font-style:normal}.ff-hero__lede{color:#536055;max-width:590px;margin:2rem 0;font-size:clamp(1rem,1.4vw,1.28rem);line-height:1.6}.ff-hero__meta{flex-wrap:wrap;gap:.5rem;margin-bottom:1.6rem;display:flex}.ff-hero__meta span{color:#536055;border:1px solid #c4cdbd;border-radius:999px;padding:.55rem .7rem;font-size:.68rem}.ff-hero__copy>a{color:var(--ff-ink);border:1px solid #90a68f;border-radius:999px;align-items:center;gap:.8rem;padding:.8rem 1.1rem;text-decoration:none;transition:color .25s,background .25s;display:inline-flex}.ff-hero__copy>a:hover,.ff-hero__copy>a:focus-visible{color:#fff;background:var(--ff-ink)}.ff-hero__stage{isolation:isolate;min-height:min(74vw,780px);transform:translateY(calc(var(--ff-hero) * -6rem));place-items:center;display:grid;position:relative}.ff-sun{aspect-ratio:1;background:var(--ff-yellow);width:min(45vw,620px);transform:scale(calc(1 + var(--ff-hero) * .18));border-radius:50%;position:absolute;box-shadow:0 0 0 5vw #efc42b1a}.ff-opening-phone{filter:drop-shadow(0 28px 40px #1f412333);width:clamp(215px,19vw,315px);margin:0;position:absolute}.ff-opening-phone img{border-radius:11%/5%;width:100%;height:auto;display:block}.ff-opening-phone--1{z-index:1;transform:translate(calc(-66% - var(--ff-hero) * 25%),calc(8% + var(--ff-hero) * 10%)) rotate(calc(-9deg - var(--ff-hero) * 5deg)) scale(.88)}.ff-opening-phone--2{z-index:3;transform:translateY(calc(-2% + var(--ff-hero) * -5%))}.ff-opening-phone--3{z-index:2;transform:translate(calc(66% + var(--ff-hero) * 25%),calc(8% + var(--ff-hero) * 10%)) rotate(calc(9deg + var(--ff-hero) * 5deg)) scale(.88)}.ff-hero__stage>p{z-index:4;color:#fff;letter-spacing:.1em;text-transform:uppercase;background:#172218e0;border-radius:999px;margin:0;padding:.7rem 1rem;font-size:.7rem;position:absolute;bottom:2%}.ff-boundary{color:#dfe9dc;background:#223426;border-top:1px solid #ffffff1f;grid-template-columns:minmax(180px,.3fr) 1fr;gap:2rem;padding:1.5rem clamp(1.25rem,5vw,5rem);display:grid}.ff-boundary strong{color:#9cdaa3;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem}.ff-boundary p{max-width:980px;margin:0;font-size:.8rem;line-height:1.6}.ff-intro{color:#f3f5ed;background:var(--ff-ink);align-content:center;gap:1.5rem;min-height:100vh;padding:clamp(7rem,12vw,12rem) clamp(1.25rem,8vw,9rem);display:grid}.ff-intro>p,.ff-thesis__copy>p:first-child,.ff-product__copy>p,.ff-source-shift__copy>p,.ff-architecture header>p,.ff-process header>p,.ff-language__type>p,.ff-mechanisms header>p,.ff-reflection>p{color:#8bc693;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:650}.ff-intro h2{letter-spacing:-.06em;max-width:1240px;margin:0;font-size:clamp(2.7rem,6.4vw,7.5rem);font-weight:520;line-height:.94}.ff-intro h2 em{color:#93d49b;font-style:normal}.ff-worlds{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:3rem;display:flex}.ff-worlds span{font-size:clamp(1rem,1.4vw,1.35rem)}.ff-worlds i{background:#55705a;width:clamp(30px,5vw,90px);height:1px}.ff-thesis,.ff-architecture,.ff-process,.ff-language,.ff-mechanisms,.ff-reflection{padding:clamp(7rem,12vw,12rem) clamp(1.25rem,5vw,5rem)}.ff-thesis{background:var(--ff-mint);align-content:center;gap:clamp(4rem,8vw,8rem);min-height:100vh;display:grid}.ff-thesis__copy h2,.ff-architecture header h2,.ff-process header h2,.ff-language__type h2,.ff-mechanisms header h2,.ff-reflection h2{letter-spacing:-.065em;max-width:1100px;margin:1rem 0 0;font-size:clamp(3rem,6.2vw,7rem);font-weight:540;line-height:.93}.ff-thesis__lede{color:#4f6252;max-width:740px;font-size:clamp(1rem,1.4vw,1.3rem);line-height:1.65}.ff-thesis__shift{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:clamp(1rem,3vw,3rem);display:grid}.ff-thesis__shift div{background:#ffffff73;border:1px solid #b9dbba;border-radius:1.2rem;flex-direction:column;justify-content:space-between;min-height:210px;padding:1.5rem;display:flex}.ff-thesis__shift span{color:#648269;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.ff-thesis__shift strong{letter-spacing:-.035em;max-width:250px;font-size:clamp(1.4rem,2.3vw,2.4rem)}.ff-thesis__shift b{color:var(--ff-green);font-size:2rem;font-weight:400}.ff-product{color:#f4f5ef;background:#101711;min-height:520vh}.ff-product__sticky{grid-template-columns:minmax(360px,.8fr) minmax(560px,1.2fr);align-items:center;gap:clamp(2rem,6vw,7rem);min-height:100vh;padding:8rem clamp(1.25rem,5vw,5rem) 4rem;display:grid;position:sticky;top:0;overflow:hidden}.ff-product__copy h2{letter-spacing:-.065em;margin:1rem 0 2rem;font-size:clamp(3.1rem,5.7vw,6.5rem);font-weight:520;line-height:.9}.ff-product__copy h2 em{color:#93d49b;font-style:normal}.ff-product__tabs{border-top:1px solid #3c493e;border-bottom:1px solid #3c493e;grid-template-columns:repeat(4,1fr);display:grid}.ff-product__tabs button{color:#8f9b90;min-width:0;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:.55rem;padding:1rem .35rem;font-size:.72rem;display:grid}.ff-product__tabs button span{font-size:.6rem}.ff-product__tabs button[data-active=true]{color:#9ed8a5}.ff-product__tabs button:focus-visible{outline-offset:3px;outline:2px solid #9ed8a5}.ff-product__active{min-height:265px;padding-top:2rem}.ff-product__active>span{color:#9ed8a5;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.ff-product__active h3{letter-spacing:-.045em;max-width:560px;margin:.8rem 0;font-size:clamp(2rem,3.3vw,3.6rem);font-weight:520;line-height:1}.ff-product__active p{color:#aeb9af;max-width:570px;line-height:1.6}.ff-product__active small{color:#6f8172;margin-top:1.5rem;display:block}.ff-product__stage{place-items:center;min-height:750px;display:grid;position:relative}.ff-product__halo{aspect-ratio:1;opacity:.72;filter:blur(8px);background:radial-gradient(circle,#4eaf5a 0%,#4eaf5a33 36%,#0000 68%);border-radius:50%;width:min(45vw,650px);position:absolute}.ff-screen-set{opacity:0;pointer-events:none;transition:opacity .65s,transform .85s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;transform:translate(12%)scale(.93)}.ff-screen-set[data-active=true]{opacity:1;transform:none}.ff-screen-set[data-passed=true]{opacity:0;transform:translate(-12%)scale(.93)}.ff-screen{filter:drop-shadow(0 32px 45px #00000057);width:clamp(215px,18vw,300px);margin:0;position:absolute;top:50%;left:50%}.ff-screen img{border-radius:11%/5%;width:100%;height:auto;display:block}.ff-screen--1{z-index:1;transform:translate(-112%,-46%)rotate(-8deg)scale(.86)}.ff-screen--2{z-index:3;transform:translate(-50%,-50%)}.ff-screen--3{z-index:2;transform:translate(12%,-46%)rotate(8deg)scale(.86)}.ff-product__mobile{display:none}.ff-source-shift{background:var(--ff-yellow);grid-template-columns:.6fr 1.4fr;align-items:center;gap:4rem;min-height:115vh;padding:clamp(7rem,10vw,10rem) clamp(1.25rem,5vw,5rem);display:grid}.ff-source-shift__copy>p{color:#675919}.ff-source-shift__copy h2{letter-spacing:-.075em;margin:1rem 0 0;font-size:clamp(4rem,8vw,9rem);font-weight:540;line-height:.8}.ff-source-shift__copy h2 em{color:#326b39;font-style:normal}.ff-source-shift__screens{grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;display:grid}.ff-source-shift__screens figure{text-align:center;margin:0}.ff-source-shift__screens img{border-radius:11%/5%;width:min(22vw,310px);height:auto;margin:auto;display:block;box-shadow:0 30px 60px #392d0533}.ff-source-shift__screens figcaption{text-transform:uppercase;letter-spacing:.1em;margin-top:1rem;font-size:.72rem}.ff-source-shift__screens>div{color:#615619;letter-spacing:.1em;text-transform:uppercase;writing-mode:vertical-rl;justify-items:center;gap:1rem;font-size:.62rem;display:grid}.ff-source-shift__screens>div i{background:#6b5d17;width:1px;height:150px}.ff-architecture{color:#eef5ec;background:var(--ff-green-dark)}.ff-architecture header h2{max-width:980px}.ff-architecture__system{border-top:1px solid #607965;border-left:1px solid #607965;grid-template-columns:repeat(4,1fr);margin-top:5rem;display:grid}.ff-architecture__system article{border-bottom:1px solid #607965;border-right:1px solid #607965;flex-direction:column;min-height:320px;padding:1.5rem;display:flex}.ff-architecture__system span{color:#8fca96;font-size:.7rem}.ff-architecture__system h3{margin:auto 0 1rem;font-size:clamp(1.4rem,2vw,2rem)}.ff-architecture__system p{color:#b4c4b6;margin:0;line-height:1.55}.ff-architecture__note{color:#96aa99;max-width:820px;margin:2rem 0 0;font-size:.78rem;line-height:1.6}.ff-process{color:var(--ff-ink);background:#f6f1e7}.ff-process header h2 em{color:#678b6c;font-style:normal}.ff-process__grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:5rem;display:grid}.ff-process__grid article{background:#fff;border-radius:1.2rem;min-height:320px;padding:1.5rem}.ff-process__grid span{color:var(--ff-green);font-size:.7rem}.ff-process__grid h3{margin:7rem 0 1rem;font-size:1.5rem}.ff-process__grid p{color:#69706a;line-height:1.55}.ff-process>aside{color:#e7efe5;background:var(--ff-ink);border-radius:1.2rem;grid-template-columns:210px 1fr;gap:2rem;margin-top:1rem;padding:2rem;display:grid}.ff-process>aside strong{color:#9bd3a2;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.ff-process>aside p{max-width:850px;margin:0;line-height:1.6}.ff-language{background:#fff;grid-template-columns:.9fr 1.1fr;align-items:center;gap:5rem;min-height:100vh;display:grid}.ff-language__type h2{font-size:clamp(3rem,5vw,5.8rem)}.ff-language__type>div{align-items:center;gap:1.5rem;margin-top:3rem;display:flex}.ff-language__type>div>span{letter-spacing:-.1em;font-size:clamp(6rem,12vw,13rem);font-weight:600;line-height:.7}.ff-language__type>div p,.ff-language__type>div strong,.ff-language__type>div small{margin:0;display:block}.ff-language__type>div small{color:#738075;margin-top:.4rem}.ff-language__colors{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(2,1fr);gap:.65rem;min-height:650px;display:grid}.ff-language__colors article{color:var(--ff-ink);background:var(--swatch);border-radius:1rem;flex-direction:column;justify-content:space-between;padding:1.2rem;display:flex}.ff-language__colors article:first-child{color:#fff;grid-row:span 2}.ff-language__colors span{font-size:1.2rem}.ff-language__colors small{font-family:var(--font-geist-mono),monospace}.ff-mechanisms{color:#f6f8f2;background:#111812}.ff-mechanisms header h2{max-width:1150px}.ff-mechanisms>div{background:#435045;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:5rem;display:grid}.ff-mechanisms article{background:#111812;min-height:410px;padding:2rem}.ff-mechanisms article span{color:#91cc98;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.ff-mechanisms article h3{letter-spacing:-.04em;margin:8rem 0 1rem;font-size:clamp(1.7rem,2.6vw,2.8rem)}.ff-mechanisms article p{color:#a4b0a6;line-height:1.6}.ff-reflection{background:var(--ff-cyan);align-content:center;gap:2rem;min-height:100vh;display:grid}.ff-reflection>p{color:#32675f}.ff-reflection h2{max-width:1300px}.ff-reflection h2 em{color:#2e755f;font-style:normal}.ff-reflection>div{border-top:1px solid #6ca89f;grid-template-columns:180px 1fr;gap:2rem;max-width:780px;margin-top:2rem;padding-top:2rem;display:grid}.ff-reflection>div strong{color:#28584e;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.ff-reflection>div p{margin:0;line-height:1.6}.ff-ending{color:#f6f7f0;background:var(--ff-ink);grid-template-columns:.7fr 1.3fr;align-items:center;gap:clamp(3rem,8vw,9rem);min-height:100vh;padding:clamp(7rem,10vw,10rem) clamp(1.25rem,10vw,12rem);display:grid}.ff-ending>img{border-radius:11%/5%;width:min(31vw,380px);height:auto;display:block;transform:rotate(-5deg);box-shadow:0 40px 80px #00000061}.ff-ending p{color:#90c997;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.ff-ending h2{letter-spacing:-.075em;max-width:900px;margin:1rem 0 3rem;font-size:clamp(4rem,8vw,9rem);font-weight:520;line-height:.85}.ff-ending a{color:var(--ff-ink);background:#fff;border-radius:999px;padding:.85rem 1.1rem;text-decoration:none;display:inline-flex}.ff-footer{color:#aab6aa;background:var(--ff-ink);justify-content:space-between;padding:1.5rem clamp(1.25rem,5vw,5rem);font-size:.75rem;display:flex}.ff-footer a{color:#fff;text-decoration:none}@media (max-width:1100px){.ff-product__sticky{grid-template-columns:.8fr 1.2fr}.ff-screen{width:min(23vw,270px)}.ff-process__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:980px){.ff-hero{grid-template-columns:1fr}.ff-hero__stage{min-height:680px;transform:none}.ff-sun{width:min(80vw,540px);transform:none}.ff-opening-phone{width:min(31vw,270px)}.ff-product{min-height:auto}.ff-product__sticky{min-height:auto;padding-bottom:2rem;display:block;position:relative}.ff-product__tabs,.ff-product__active,.ff-product__stage{display:none}.ff-product__mobile{gap:1rem;padding:0 1.25rem 7rem;display:grid}.ff-product__mobile>article{border:1px solid #354238;border-radius:1.2rem;padding:2rem;scroll-margin-top:6rem}.ff-product__mobile>article>span,.ff-product__mobile small{color:#8ecb95;font-size:.7rem}.ff-product__mobile h3{letter-spacing:-.04em;margin:.8rem 0;font-size:clamp(2rem,7vw,3.5rem)}.ff-product__mobile p{color:#aeb9af;max-width:700px;line-height:1.6}.ff-product__mobile>article>div{grid-template-columns:repeat(3,1fr);align-items:center;gap:.75rem;margin:2rem 0;display:grid}.ff-product__mobile img{border-radius:10%/5%;width:100%;height:auto}.ff-source-shift,.ff-language{grid-template-columns:1fr}.ff-source-shift__screens img{width:min(31vw,280px)}.ff-architecture__system,.ff-mechanisms>div{grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){.ff-hero{min-height:auto;padding:8rem 1rem 3rem}.ff-hero h1{font-size:clamp(4rem,19vw,6rem)}.ff-hero__stage{min-height:560px}.ff-opening-phone{width:47vw}.ff-opening-phone--1{transform:translate(-38%,5%)rotate(-8deg)scale(.82)}.ff-opening-phone--2{transform:translateY(-5%)}.ff-opening-phone--3{transform:translate(38%,5%)rotate(8deg)scale(.82)}.ff-boundary,.ff-process>aside,.ff-reflection>div{grid-template-columns:1fr;gap:.7rem}.ff-thesis__shift{grid-template-columns:1fr}.ff-thesis__shift b{justify-self:center;transform:rotate(90deg)}.ff-product__mobile{padding-left:1rem;padding-right:1rem}.ff-product__mobile>article{padding:1.25rem}.ff-product__mobile>article>div{gap:.35rem}.ff-source-shift{padding-left:1rem;padding-right:1rem}.ff-source-shift__screens{gap:.35rem}.ff-source-shift__screens img{width:35vw}.ff-source-shift__screens>div span{display:none}.ff-source-shift__screens>div i{height:80px}.ff-architecture__system,.ff-process__grid,.ff-mechanisms>div{grid-template-columns:1fr}.ff-architecture__system article,.ff-process__grid article,.ff-mechanisms article{min-height:250px}.ff-process__grid h3,.ff-mechanisms article h3{margin-top:4rem}.ff-language__colors{min-height:560px}.ff-ending{text-align:center;grid-template-columns:1fr}.ff-ending>img{justify-self:center;width:min(70vw,300px);transform:none}.ff-ending h2{font-size:clamp(3.8rem,17vw,6rem)}.ff-footer{flex-direction:column;align-items:center;gap:.7rem}}@media (prefers-reduced-motion:reduce){.ff-case{scroll-behavior:auto}[data-ff-reveal]{opacity:1;transition:none;transform:none}.ff-hero__stage,.ff-sun{transform:none}.ff-opening-phone--1{transform:translate(-66%,8%)rotate(-9deg)scale(.88)}.ff-opening-phone--2{transform:translateY(-2%)}.ff-opening-phone--3{transform:translate(66%,8%)rotate(9deg)scale(.88)}.ff-product{min-height:auto}.ff-product__sticky{min-height:auto;display:block;position:relative}.ff-product__tabs,.ff-product__active,.ff-product__stage{display:none}.ff-product__mobile{gap:1rem;padding:0 1.25rem 7rem;display:grid}}
