:root{color-scheme:dark;--bg:#101110;--paper:#e8e9e1;--muted:#a1a49a;--line:#333630;--accent:#c8ef75;--display:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.skip{position:absolute;top:-80px;left:12px;background:#fff;color:#000;z-index:20;padding:10px}.skip:focus{top:10px}.wrap{width:min(1380px,calc(100% - 100px));margin:auto}.header{height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 50px}.logo{font-weight:800;letter-spacing:-2px;font-size:25px}.logo span{color:var(--accent);font-size:15px;vertical-align:top;margin-left:3px}.header nav{display:flex;gap:38px;color:#bfc2b8;font-size:13px}.header nav a:hover,.footer a:hover{color:var(--accent)}.header-contact{font-size:13px;border-bottom:1px solid #92968b;padding-bottom:6px}.header-contact span{padding-left:16px;color:var(--accent)}.hero{padding:85px 0 0}.hero-top,.hero-bottom,.hero-foot,.section-intro,.feature-top,.footer-bottom{display:flex;justify-content:space-between}.eyebrow,.hero-index,.hero-foot,.feature-top,.caption,.tags,.grid article>span,.grid article>small,.case-meta,.case-number,.approach-grid article>span,.footer-bottom,.footer-main>span,.privacy{font-size:10px;letter-spacing:.13em;font-weight:700}.eyebrow{color:var(--accent)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:9px}.hero-index{color:#777b72}.hero h1{font-weight:400;font-family:var(--display);font-size:clamp(70px,8.8vw,142px);letter-spacing:-.065em;line-height:.98;margin:96px 0 50px}.hero h1 em,h2 em,.footer-main em{font-weight:400;color:#a6ab9d}.hero-bottom{align-items:end;gap:40px;margin-bottom:100px}.hero-bottom p{max-width:465px;font-size:20px;color:#bdc1b5;margin:0;line-height:1.6}.button{background:var(--accent);color:#172011;padding:18px 22px;font-size:13px;font-weight:700;min-width:190px;display:flex;justify-content:space-between;gap:25px}.button:hover{background:#defaa4}.hero-foot{border-top:1px solid var(--line);padding:20px 0;color:#888c81;gap:20px}.section{padding:150px 0 0}.section-intro{align-items:end;gap:40px;margin-bottom:65px}.section-intro>p{color:var(--muted);max-width:380px;margin:0;font-size:15px}.section h2,.engineering h2,.about h2{font-family:var(--display);font-size:clamp(52px,6vw,92px);font-weight:400;letter-spacing:-.06em;line-height:1.03;margin:26px 0 0}.featured{display:grid;gap:18px}.feature{min-height:490px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:#20231e}.feature-copy{padding:32px 36px;display:flex;flex-direction:column;justify-content:space-between;position:relative;z-index:1}.feature-top{gap:10px;color:#b8beb0}.feature-top span:last-child{text-align:right}.project-mark{width:45px;height:45px;border:1px solid #858d7f;display:flex;align-items:center;justify-content:center;border-radius:12px;font:italic 23px var(--display);margin-bottom:26px}.project-mark span{font:11px var(--sans);color:var(--accent);align-self:flex-start;margin:5px 0 0 1px}.feature h3{font:400 clamp(48px,5vw,72px)/1 var(--display);letter-spacing:-.05em;margin:0 0 12px}.lead{font:italic 23px var(--display);color:#d5dbcf!important;margin:0 0 17px!important}.feature-main>p:not(.lead){color:#b8bdb1;max-width:430px;font-size:14px}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:22px}.tags span{border:1px solid #61675d;padding:5px 9px;border-radius:30px;color:#d0d5ca;letter-spacing:.04em}.caption{color:#9da298;font-weight:400;letter-spacing:.02em}.sheer{background:#292029}.sheer-art{background:#493240;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden}.sheer-art img{height:85%;max-height:418px;width:auto;position:relative;border-radius:16px;box-shadow:0 20px 60px #0008;z-index:2}.orbit{position:absolute;border:1px solid #bb8fa777;border-radius:50%;width:400px;height:400px}.orbit-two{width:530px;height:530px}.unsay{background:#202625}.lumen{background:#292823}.cursor{background:#222430}.pocketly{background:#1c2922}.abstract{position:relative;min-height:420px;overflow:hidden;display:flex;align-items:center;justify-content:center}.abstract small{position:absolute;bottom:22px;right:25px;font-size:9px;letter-spacing:.1em;color:#ffffff99}.unsay-art{background:#34433f}.sheet{position:absolute;width:230px;height:285px;background:#c9d4c3;box-shadow:0 16px 50px #0004}.s1{transform:rotate(-13deg) translate(-45px,-5px);opacity:.35}.s2{transform:rotate(6deg) translate(20px,-5px);opacity:.5}.s3{transform:rotate(-3deg);padding:45px 28px;display:flex;flex-direction:column;gap:16px}.s3 i{height:3px;background:#637c70}.s3 i:nth-child(3){width:70%}.unsay-art b{position:absolute;bottom:55px;left:35px;font:400 13px/1.3 var(--sans);letter-spacing:.1em;color:#eef6e9}.lumen-art{background:#49463b}.paper{background:#e3dfcf;color:#282820;width:270px;height:350px;padding:35px;transform:rotate(5deg);box-shadow:0 20px 50px #0004}.paper span,.paper div{font-size:9px;letter-spacing:.12em}.paper b{display:block;font:400 43px/.95 var(--display);letter-spacing:-.06em;margin:34px 0}.paper i{display:block;height:2px;background:#a6a396;margin:10px 0}.paper i:nth-of-type(3){width:70%}.paper div{margin-top:40px}.cursor-art{background:#353a50;gap:35px}.node{border:1px solid #a4acc4;border-radius:50%;width:130px;height:130px;display:grid;place-items:center;font-size:11px;letter-spacing:.15em}.line{height:1px;background:#a4acc4;width:45px}.cursor-art>span{position:absolute;bottom:45px;left:35px;font-size:11px;letter-spacing:.14em}.pocket-art{background:#344d3d}.rings{width:290px;height:290px;border:1px solid #a3c5a5;border-radius:50%;display:grid;place-items:center}.rings div{position:absolute;border:1px solid #a3c5a5;border-radius:50%}.rings div:nth-child(1){width:220px;height:220px}.rings div:nth-child(2){width:150px;height:150px}.rings div:nth-child(3){width:75px;height:75px;background:#bbd2ad}.pocket-art>span{position:absolute;left:35px;bottom:45px;font-size:11px;letter-spacing:.14em}.grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.grid article{min-height:240px;padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.grid article>span{color:var(--accent)}.grid h3{font:400 29px var(--display);letter-spacing:-.03em;margin:25px 0 10px}.grid p{color:var(--muted);font-size:13px;margin:0}.grid article>small{color:#888e82;letter-spacing:.03em;margin-top:auto;padding-top:22px;font-weight:400}.grid-note{background:var(--accent);color:#172011!important}.grid-note span,.grid-note p{color:#172011!important}.grid-note p{font:italic 30px/1.1 var(--display);margin-top:25px}.grid-note a{font-size:12px;margin-top:auto;font-weight:bold}.engineering{margin-top:150px;background:#e4e7dd;color:#1a1d18;padding:135px 0}.engineering .eyebrow{color:#506e29}.engineering h2 em{color:#7c8475}.engineering .section-intro>p{color:#60675c}.cases{border-top:1px solid #a9b0a3}.cases article{display:grid;grid-template-columns:110px 1fr;border-bottom:1px solid #a9b0a3;padding:38px 0;gap:25px}.case-number{color:#6a7464}.cases h3{font:400 38px var(--display);letter-spacing:-.04em;margin:12px 0}.cases p{max-width:800px;color:#4c5549;font-size:15px}.case-meta{color:#4b6036;letter-spacing:.02em;margin-top:22px}.cases .aside{font-size:12px;color:#687164;margin:12px 0 0}.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;border-top:1px solid var(--line)}.approach-grid article{padding:25px 0}.approach-grid article>span{color:var(--accent)}.approach-grid h3{font:400 24px var(--display);margin:36px 0 12px}.approach-grid p{color:var(--muted);font-size:13px;max-width:260px}.about{margin-top:150px;padding:80px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:60px}.about p{font-size:18px;color:#c4c8bc;max-width:550px}.about a{display:inline-block;margin-top:20px;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:5px;font-size:13px}.about a span{padding-left:25px}.footer{padding:100px 0 35px}.footer-main>span{color:var(--accent)}.footer-main>a{display:block;font:400 clamp(52px,7vw,105px)/1 var(--display);letter-spacing:-.06em;margin:30px 0 95px}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;color:#a5aa9e;gap:20px}.privacy{color:#8d9386;font-weight:400;letter-spacing:.02em;margin-top:25px;font-size:11px}@media(max-width:900px){.wrap{width:calc(100% - 48px)}.header{padding:0 24px}.header nav{gap:16px}.hero h1{margin-top:70px}.grid{grid-template-columns:repeat(2,1fr)}.approach-grid{grid-template-columns:repeat(2,1fr)}.feature{min-height:450px}.feature-copy{padding:25px}.section{padding-top:110px}.engineering{margin-top:110px}.hero-bottom{margin-bottom:70px}}@media(max-width:600px){.header{height:70px}.header nav{gap:14px}.header nav a{font-size:11px}.header nav a:nth-child(3),.header nav a:nth-child(4){display:none}.header-contact{font-size:11px}.hero{padding-top:55px}.hero-index{display:none}.hero h1{font-size:clamp(57px,12vw,75px);margin:75px 0 35px}.hero-bottom{align-items:start;flex-direction:column;margin-bottom:65px}.hero-bottom p{font-size:17px}.hero-foot{display:grid;grid-template-columns:1fr 1fr;row-gap:10px}.section{padding-top:90px}.section-intro{align-items:start;flex-direction:column;gap:22px;margin-bottom:38px}.section h2,.engineering h2,.about h2{font-size:55px}.feature{grid-template-columns:1fr}.feature-copy{min-height:410px}.feature-top{font-size:9px}.abstract,.sheer-art{min-height:330px}.sheer-art img{height:300px}.orbit{width:300px;height:300px}.orbit-two{width:400px;height:400px}.grid article{padding:20px;min-height:235px}.grid h3{font-size:24px}.engineering{padding:90px 0;margin-top:90px}.cases article{grid-template-columns:38px 1fr;gap:12px}.cases h3{font-size:30px}.approach-grid{gap:15px}.about{grid-template-columns:1fr;gap:25px;margin-top:85px;padding:65px 0}.about p{font-size:16px}.footer-main>a{margin-bottom:70px}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Expanded featured projects and journey use the existing editorial system. */
.gfpal{background:#302426}.gfpal-art{background:#614148}.unfollow{background:#252439}.unfollow-art{background:#464366}.pdfe{background:#282a2c}.pdfe-art{background:#50575c}.collage{background:#2c2822}.collage-art{background:#665745}.feature-graphic{position:relative;width:300px;height:300px;display:grid;place-items:center}.feature-graphic strong{font:italic 35px var(--display);text-align:center}.graphic-orbit{position:absolute;inset:10px;border:1px solid #ffffff88;border-radius:50%}.graphic-orbit:before,.graphic-orbit:after{content:'';position:absolute;border:1px solid #ffffff66;border-radius:50%;inset:35px}.graphic-orbit:after{inset:65px}.graphic-paper{width:190px;height:240px;background:#e4e9e2;color:#3a4546;transform:rotate(-7deg);padding:35px;font:58px var(--display);box-shadow:0 20px 50px #0004}.graphic-paper i{display:block;font:9px Arial;letter-spacing:.1em;margin-top:90px}.graphic-tiles{width:230px;height:230px;display:grid;grid-template-columns:1fr 1fr;gap:8px;transform:rotate(7deg)}.graphic-tiles i{background:#d2bd9d}.graphic-tiles i:nth-child(2){background:#ac9279}.graphic-tiles i:nth-child(3){background:#e3cabe}.graphic-tiles i:nth-child(4){background:#96866d}.sheer-concept{height:340px;width:250px;background:#cf9fa9;color:#3a2832;padding:24px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0007;transform:rotate(-4deg)}.sheer-concept>span,.sheer-concept small{font:9px Arial;letter-spacing:.12em}.sheer-concept small{margin-top:auto}.sheer-shape{font-size:110px;color:#51374b;text-align:center;margin:auto}.sheer-concept b{font:italic 27px Georgia}.journey-body{display:grid;grid-template-columns:1fr 1fr;background:#22271f}.journey-year{padding:45px;background:#343d2d;display:flex;flex-direction:column;min-height:420px;justify-content:space-between}.journey-year>span,.journey-year small{font-size:10px;letter-spacing:.13em}.journey-year strong{font:400 90px/.78 Georgia;letter-spacing:-.06em}.journey-year strong span{color:var(--accent);font:25px Arial}.journey-copy{padding:45px}.journey-copy h3{font:400 36px/1.1 Georgia;letter-spacing:-.035em;margin:0 0 25px}.journey-copy p{color:#bbc1b4;font-size:14px}.journey-link{display:inline-block;color:var(--accent);border-bottom:1px solid var(--accent);padding:8px 0;font-size:13px;margin-top:16px}.journey-link span{padding-left:18px}.journey-copy small{display:block;color:#999f94;font-size:11px;margin-top:18px}@media(max-width:600px){.journey-body{grid-template-columns:1fr}.journey-year{min-height:270px;padding:28px}.journey-year strong{font-size:70px}.journey-copy{padding:28px}.journey-copy h3{font-size:30px}.feature-graphic{width:260px;height:260px}}
@media(max-width:600px){.header nav a:nth-child(3){display:inline}.header nav{gap:10px}.header-contact span{padding-left:6px}}

/* Journey: a warmer editorial treatment within the existing portfolio. */
.journey-body{background:#23201f;border:1px solid #393231}.journey-year{position:relative;isolation:isolate;background:#412c2b;color:#f4e8dc;overflow:hidden;min-height:440px}.journey-year:before,.journey-year:after{content:'';position:absolute;z-index:-1;border:1px solid #d7a99b55;border-radius:50%;width:340px;height:340px;right:-80px;bottom:-70px}.journey-year:after{width:245px;height:245px;right:-31px;bottom:-23px}.journey-year>span,.journey-year small{color:#ddbbb0}.journey-year strong{font:400 clamp(48px,5.6vw,78px)/1 Georgia,serif;letter-spacing:-.06em;white-space:nowrap}.journey-year strong span{color:#e5b7a6;font:inherit;letter-spacing:inherit}.journey-copy{background:#22201f;padding:52px}.journey-copy h3{color:#f3eae1}.journey-copy p{color:#c9bfb9}.journey-copy small{color:#b4a8a1}.journey-link{color:#f1c9b7;border-color:#c69e8e}.journey-link:hover{color:#fff}.grid article:has(h3) {min-width:0}@media(max-width:600px){.journey-year{min-height:265px;padding:28px}.journey-year strong{font-size:clamp(42px,11vw,62px)}.journey-year:before{width:250px;height:250px}.journey-year:after{width:175px;height:175px}.journey-copy{padding:28px}.journey-copy h3{font-size:30px}}

/* GymMeals identity: greens drawn from its existing application palette. */
.journey-body{background:#101d18;border-color:#294b37}.journey-year{background:#103b29;color:#f0faf2}.journey-year:before,.journey-year:after{border-color:#47d4884d}.journey-year>span,.journey-year small{color:#b2d7bc}.journey-year strong span{color:#00e676}.journey-copy{background:#131e19}.journey-copy h3{color:#f0f8ef}.journey-copy p{color:#c2d1c5}.journey-copy small{color:#a9bfaf}.journey-link{color:#65ee9f;border-color:#45c67e}.journey-link:hover{color:#caffdd}.gymmeals-card{background:#10241a}.gymmeals-card>span{color:#65ee9f!important}.gymmeals-card h3{color:#e5f7e8}.gymmeals-card p{color:#b8d2bf}.gymmeals-card>small{color:#a9c4af!important}.legal-main{max-width:820px;min-height:65vh;padding-top:90px}.legal-main h1{font:400 clamp(52px,7vw,90px)/1 var(--display);letter-spacing:-.06em;margin:28px 0 45px}.legal-main p{font-size:17px;color:#c2c7bb;max-width:690px}.legal-back{display:inline-block;color:var(--accent);border-bottom:1px solid var(--accent);font-size:13px;margin-top:30px}.legal-footer{margin-top:100px}.legal-footer p{border-top:1px solid var(--line);padding-top:24px;color:#a5aa9e;font-size:11px}.footer-bottom{flex-wrap:wrap}@media(max-width:600px){.legal-main{padding-top:65px}.legal-main p{font-size:15px}.legal-footer{margin-top:70px}}
/* Prevent long project and section headings widening narrow screens. */
.feature > *{min-width:0}
@media(max-width:374px){.section h2,.engineering h2,.about h2{font-size:clamp(40px,13vw,48px)}.feature h3{font-size:clamp(36px,12vw,48px)}}
/* Improve contrast for evidence context on the light case-study background. */
.cases .aside{color:#4c5549}
