@font-face{font-family:displayFont;src:url(../media/space_grotesk_latin_wght_normal-s.p.092gko6h6levo.woff2)format("woff2");font-display:swap;font-weight:300 700}@font-face{font-family:displayFont Fallback;src:local(Arial);ascent-override:88.78%;descent-override:26.34%;line-gap-override:0.0%;size-adjust:110.84%}.displayfont_d43fd1e7-module__rw57VW__className{font-family:displayFont,displayFont Fallback}.displayfont_d43fd1e7-module__rw57VW__variable{--font-space:"displayFont", "displayFont Fallback"}
@font-face{font-family:bodyFont;src:url(../media/ibm_plex_sans_latin_400_normal-s.p.1xf5nwxyfigak.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:bodyFont Fallback;src:local(Arial);ascent-override:101.35%;descent-override:27.19%;line-gap-override:0.0%;size-adjust:101.13%}.bodyfont_fd45598-module__XDE_DG__className{font-family:bodyFont,bodyFont Fallback;font-weight:400}.bodyfont_fd45598-module__XDE_DG__variable{--font-plex:"bodyFont", "bodyFont Fallback"}
@font-face{font-family:monoFont;src:url(../media/ibm_plex_mono_latin_400_normal-s.3xdfs0-p_zi4c.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:monoFont Fallback;src:local(Arial);ascent-override:77.95%;descent-override:20.91%;line-gap-override:0.0%;size-adjust:131.49%}.monofont_8dc880da-module__my363q__className{font-family:monoFont,monoFont Fallback;font-weight:400}.monofont_8dc880da-module__my363q__variable{--font-plex-mono:"monoFont", "monoFont Fallback"}
:root{--paper:#f3efe7;--ink:#182321;--accent:#47685b;--sage:#a8c6b1;--warm:#e3b386;--copper:#8f5138;--blue:var(--accent);--teal:var(--sage);--lime:var(--warm);--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--font-display:var(--font-space), sans-serif;--font-body:var(--font-plex), sans-serif;--font-mono:var(--font-plex-mono), monospace}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:100px}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}section:focus,main:focus{outline:none}button[hidden]{display:none}.svg-definitions{width:0;height:0;position:absolute;overflow:hidden}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--lime);padding:14px 20px;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:none}.section-kicker{font:10px/1.5 var(--font-mono);text-transform:uppercase;letter-spacing:.13em}.site-header{z-index:100;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;inset:24px 30px auto}.site-header a,.site-header button{pointer-events:auto}.brand{width:54px;height:46px;color:var(--ink);font:600 29px/.8 var(--font-display);letter-spacing:-.13em;background:#f3efe7eb;border-radius:14px;grid-auto-flow:column;place-content:center;text-decoration:none;display:grid}.brand svg{width:34px;height:28px;display:block}.main-nav{color:var(--ink);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);pointer-events:auto;background:#f3efe7db;border:1px solid #f3efe773;border-radius:999px;align-items:center;gap:26px;padding:17px 26px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.main-nav a{font:500 12px/1 var(--font-display);text-decoration:none;position:relative}.main-nav a:after{content:"";opacity:0;background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;bottom:-9px;left:calc(50% - 2px)}.main-nav a[aria-current=location]:after{opacity:1}.grain{z-index:2;opacity:.17;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");position:absolute;inset:0}.entrance{z-index:200;background:var(--paper);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.entrance.is-active{display:flex}.entrance-mark{width:140px;height:140px;color:var(--ink)}.entrance span{font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.12em;margin-top:24px}.hero-scene{height:100svh;min-height:660px;padding:14px;position:relative}.hero-surface{isolation:isolate;width:100%;height:100%;color:var(--paper);background:#233b30;border-radius:22px;position:relative;overflow:hidden}.hero-field{pointer-events:none;position:absolute}.hero-field-blue{background:radial-gradient(at 27% 60%,#263f33 0,#345342 35%,#0000 66%);inset:-30%}.hero-field-mint{background:radial-gradient(at 60% 45%,#805638 0,#6d5038 25%,#8f513859 44%,#0000 64%);width:130%;height:135%;top:-48%;left:18%}.hero-field-lime{opacity:.75;background:radial-gradient(at 52% 45%,#956940 0,#6c563b 15%,#e3b3861f 38%,#0000 55%);width:100%;height:100%;top:53%;left:12%}.hero-eyebrow{z-index:4;font:10px/1.7 var(--font-mono);text-transform:uppercase;letter-spacing:.1em;position:absolute;top:17%;left:5%}.hero-eyebrow span{opacity:.67}.hero-title{z-index:3;font:500 clamp(100px,16.2vw,250px)/.77 var(--font-display);letter-spacing:-.095em;margin:0;position:absolute;inset:28% 8% auto}.hero-title>span{display:block}.hero-title>span+span{padding-left:33%}.title-dot{color:var(--lime)}.monogram{z-index:5;pointer-events:none;width:min(47vw,620px);height:min(47vw,620px);position:absolute;top:50%;left:51%;transform:translate(-50%,-50%)}.monogram-fallback{fill:url(#cs-gradient);filter:drop-shadow(9px 11px #18232138);width:68%;height:68%;position:absolute;inset:16%}.monogram-canvas{position:absolute;inset:0}.monogram-canvas canvas{width:100%;height:100%;display:block}.monogram.is-webgl .monogram-fallback{visibility:hidden}.hero-disciplines{z-index:4;pointer-events:none;justify-content:space-between;align-items:center;padding:0 9%;display:none;position:absolute;inset:0}.hero-disciplines p{font:400 clamp(44px,6vw,92px)/.95 var(--font-display);letter-spacing:-.06em;margin:0}.hero-disciplines em{color:var(--lime);font-style:normal}.discipline-right{text-align:right;align-self:flex-start;margin-top:21%!important}.discipline-left{align-self:flex-end;margin-bottom:20%!important}.hero-bottom{z-index:6;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:6%;left:5%;right:5%}.hero-bottom p{font:400 clamp(21px,2.6vw,38px)/1.08 var(--font-display);letter-spacing:-.045em;margin:0}.explore-link{font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:24px;text-decoration:none;display:flex}.explore-link span{border:1px solid #ffffff80;border-radius:50%;place-items:center;width:48px;height:48px;font-size:23px;display:grid}.hero-side{writing-mode:vertical-rl;font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;opacity:.75;position:absolute;top:46%;right:22px}.manifest{flex-direction:column;justify-content:space-between;min-height:80svh;padding:100px 6%;display:flex;position:relative}.manifest-window{overflow:visible}.manifest-track{font:500 clamp(60px,8vw,132px)/1.12 var(--font-display);letter-spacing:-.07em;margin:70px 0;position:relative}.manifest-track em{color:var(--blue);font-style:normal}.char{display:inline-block}.word{white-space:nowrap;display:inline-block}.manifest-bottom{font:11px/1.7 var(--font-mono);justify-content:space-between;align-items:flex-end;display:flex}.manifest-bottom span:last-child{text-transform:uppercase;letter-spacing:.07em}.journey{background:var(--ink);color:var(--paper);position:relative}.journey-static{padding:120px 7%}.journey-static h2{font:500 clamp(54px,8vw,120px)/1 var(--font-display);letter-spacing:-.065em;margin:35px 0 80px}.journey-static article{border-top:1px solid #ffffff30;grid-template-columns:40px 1fr 32%;align-items:center;gap:24px;padding:50px 0;display:grid}.journey-static article>span{font:11px var(--font-mono);color:var(--teal)}.journey-static h3{font:500 clamp(36px,5.6vw,82px)/1.1 var(--font-display);letter-spacing:-.07em;margin:0}.journey-static article p{font-size:17px;line-height:1.5}.journey-screen{height:100%;display:none;position:relative}.journey-label{opacity:.65;position:absolute;top:16%;left:7%}.journey-frame{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:90px 4% 65px;display:flex;position:absolute;inset:0}.journey-intro p{font:400 clamp(48px,7vw,108px)/1.15 var(--font-display);letter-spacing:-.065em}.chapter-number{font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--teal);margin-bottom:38px}.journey-chapter h3{font:500 clamp(70px,10.7vw,166px)/1 var(--font-display);letter-spacing:-.075em;margin:0}.journey-chapter p{font:400 clamp(18px,2.1vw,30px)/1.3 var(--font-display);letter-spacing:-.025em;color:#c6d1c8;margin-top:36px}.journey-cue p{font:500 clamp(64px,8vw,118px)/1 var(--font-display);letter-spacing:-.065em}.journey-chapter h3{font-size:clamp(64px,9vw,140px);line-height:.98}.journey-engineering h3{color:var(--warm)}.journey-design h3{color:#a8c6b1}.journey-progress{font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:#acbdb1;align-items:center;gap:28px;display:flex;position:absolute;bottom:7%;left:7%;right:7%}.journey-progress-track{background:#ffffff25;flex:1;height:1px}.journey-progress-track i{background:var(--lime);transform-origin:0;height:1px;display:block}.bridge{place-items:center;min-height:75svh;display:grid;position:relative;overflow:hidden}.bridge-fields{position:absolute;inset:0;overflow:hidden}.bridge-field{border-radius:20px;place-items:center;width:42%;height:26svh;display:grid;position:absolute;top:50%;left:50%}.bridge-left{transform-origin:100%;background:radial-gradient(at 100%,#bed0bd,#8eaf9a 75%);transform:translate(-100%,-50%)}.bridge-right{transform-origin:0;background:radial-gradient(ellipse at 0 50%,#f1d5b9,var(--warm) 60%,#d39a69);transform:translateY(-50%)}.bridge-fusion{opacity:0;background:radial-gradient(ellipse at 50% 50%,#ece3d1,transparent 65%),linear-gradient(105deg,#8eaf9a 5%,var(--sage) 38%,#e8ca9f 60%,var(--warm) 95%);border-radius:20px;width:84%;height:26svh;position:absolute;top:50%;left:8%;transform:translateY(-50%)}.bridge-field span{color:var(--ink);font:500 clamp(19px,3vw,46px)/1.05 var(--font-display);letter-spacing:-.055em}.bridge-left span{color:var(--ink)}.bridge-static{z-index:4;text-align:center;font:500 clamp(32px,5vw,76px)/1.12 var(--font-display);letter-spacing:-.055em;padding:0 6%;position:relative}.bridge-static em{font-size:.55em;font-style:normal}.portfolio-home:not(.has-motion) .bridge-fields{opacity:.2}.portfolio-home:not(.has-motion) .bridge-field span,.bridge-narrative{display:none}.has-motion .bridge-static{clip-path:inset(50%);width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.has-motion .bridge-narrative{z-index:4;place-items:center;display:grid;position:absolute;inset:0}.bridge-narrative p{font:500 clamp(42px,6.6vw,100px)/1.05 var(--font-display);letter-spacing:-.065em;text-align:center;margin:0;position:absolute}.bridge-together{color:var(--ink)}.toolkit{background:var(--ink);color:var(--paper);min-height:850px;padding:110px 5% 70px;position:relative;overflow:hidden}.toolkit-head{text-align:center}.toolkit-head .section-kicker{color:var(--teal)}.toolkit-head h2{font:500 clamp(54px,6vw,90px)/1 var(--font-display);letter-spacing:-.075em;margin:15px 0}.toolkit-head>p:last-child{font:400 17px var(--font-display);color:#bdcdbf;margin:0}.toolkit-tabs{z-index:15;flex-wrap:wrap;justify-content:center;gap:8px;margin:28px 0;display:flex;position:relative}.toolkit-tabs button{color:#bdcdbf;font:12px var(--font-display);background:0 0;border:1px solid #ffffff25;border-radius:999px;padding:11px 18px;transition:background-color .16s,color .16s}.toolkit-tabs button[aria-selected=true]{background:var(--paper);border-color:var(--paper);color:var(--ink)}.toolkit button:focus-visible{outline-color:var(--lime)}.decks{perspective:1000px;max-width:1280px;height:365px;margin:auto;position:relative}.deck{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.deck[aria-hidden=true]{visibility:hidden;pointer-events:none}.card-slot{perspective:900px;flex:0 0 clamp(140px,13vw,185px);height:260px;margin-left:-38px}.card-slot:first-child{margin-left:0}.tool-card{background:var(--card);width:100%;height:100%;color:var(--card-ink);text-align:left;transform-origin:50% 80%;transition:transform .18s var(--ease-out), box-shadow .18s ease;border:1px solid #ffffff12;border-radius:12px;flex-direction:column;align-items:flex-start;padding:17px;display:flex;position:relative;box-shadow:0 10px 25px #030c1633}.card-index{font:9px var(--font-mono);letter-spacing:.08em}.card-symbol{font:600 44px/1 var(--font-display);letter-spacing:-.07em;margin:auto 0 12px}.tool-card strong{font:600 clamp(18px,2vw,25px)/1.02 var(--font-display);letter-spacing:-.07em;overflow-wrap:anywhere}.tool-card small{font:8px/1.4 var(--font-mono);margin-top:auto;padding-top:15px}.card-slot.is-selected{z-index:30!important}.is-selected .tool-card{transform:translateY(-22px)rotate(-2deg);box-shadow:0 24px 30px #030c1650}.toolkit-bottom{max-width:1100px;margin:30px auto 0}.toolkit-hint{text-align:center;font:9px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:#b6c6b8;margin:0 0 24px}.toolkit-detail{border-top:1px solid #ffffff20;justify-content:space-between;align-items:flex-start;gap:40px;min-height:80px;padding-top:22px;display:flex}.toolkit-detail span{font:10px var(--font-mono);color:var(--teal);text-transform:uppercase;letter-spacing:.05em}.toolkit-detail p{font:400 clamp(17px,1.7vw,23px)/1.3 var(--font-display);letter-spacing:-.025em;max-width:590px;margin:0}.noscript-tools{max-width:700px;margin:40px auto;line-height:2}.projects{padding:130px 6% 100px}.projects h2{font:500 clamp(55px,8.5vw,128px)/.97 var(--font-display);letter-spacing:-.075em;margin:35px 0}.projects h2 em{color:var(--blue);font-style:normal;font-weight:400}.projects-header>p:last-child{margin:40px 0 70px;font-size:18px;line-height:1.5}.project-list{border-top:1px solid #18232160}.project-row{border-bottom:1px solid #18232160;grid-template-columns:5% 1fr 22% 4%;align-items:center;gap:20px;min-height:150px;text-decoration:none;transition:background-color .18s;display:grid}.project-number,.project-kind{font:10px/1.6 var(--font-mono)}.project-name{font:500 clamp(31px,4.6vw,72px)/1.05 var(--font-display);letter-spacing:-.065em}.project-arrow{transition:transform .18s var(--ease-out);font-size:28px}.project-row{position:relative}.project-preview{z-index:5;pointer-events:none;background:var(--ink);width:clamp(220px,30vw,410px);color:var(--paper);opacity:0;transition:opacity .16s ease, transform .18s var(--ease-out);border-radius:12px;padding:7px;position:absolute;top:50%;right:8%;overflow:hidden;transform:translateY(-50%)scale(.95)rotate(-3deg);box-shadow:0 20px 45px #18232140}.project-preview img{aspect-ratio:1265/714;object-fit:cover;border-radius:7px;width:100%;height:auto;display:block}.project-preview>span{font:10px var(--font-mono);padding:10px 6px 5px;display:block}.project-row:focus-visible .project-preview{opacity:1;transition:none;transform:translateY(-50%)}@media (min-width:701px){.project-list:has(.project-row:focus-visible) .project-row:not(:focus-visible) .project-preview{opacity:0}}.contact{isolation:isolate;color:var(--paper);background:linear-gradient(125deg,var(--ink),var(--accent) 65%,#6b4b36);border-radius:22px;margin:14px;padding:90px 6% 35px;position:relative;overflow:hidden}.contact-glow{z-index:-1;background:radial-gradient(#e3b38633 0,#e3b38626 20%,#0000 64%);width:80%;height:140%;position:absolute;top:20%;right:-25%}.contact-content{z-index:3;position:relative}.contact h2{font:500 clamp(48px,7.8vw,118px)/1.02 var(--font-display);letter-spacing:-.07em;margin:90px 0 35px}.contact h2 em{color:var(--lime);font-style:normal}.contact-content>p:not(.section-kicker){font-size:18px;line-height:1.5}.contact-cta{background:var(--lime);color:var(--ink);font:500 15px var(--font-display);transition:transform .18s var(--ease-out);border-radius:999px;justify-content:space-between;align-items:center;gap:50px;margin:25px 0 100px;padding:18px 24px;text-decoration:none;display:inline-flex}.contact-cta span{font-size:22px}.contact-bottom{z-index:3;font:10px/1.5 var(--font-mono);border-top:1px solid #ffffff60;justify-content:space-between;gap:20px;padding-top:24px;display:flex;position:relative}.contact-bottom a{text-decoration:none}.site-footer{font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;padding:30px 6% 40px;display:flex}.site-footer a{text-decoration:none}.has-motion .hero-disciplines{display:flex}.has-motion .hero-scene{min-height:0}.has-motion .manifest{height:100svh;min-height:0;padding:16svh 6% 10svh;overflow:hidden}.has-motion .manifest-window{width:100%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.has-motion .manifest-track{white-space:nowrap;width:max-content;margin:0;font-size:clamp(85px,11.5vw,180px);line-height:1.4}.has-motion .manifest-bottom{margin-top:auto}.has-motion .journey{height:100svh;overflow:hidden}.has-motion .journey-static{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.has-motion .journey-screen{display:block}.has-motion .bridge{height:100svh;min-height:0}.has-motion .toolkit{height:100svh;min-height:0;padding:0}.has-motion .toolkit-head{position:absolute;top:14%;left:0;right:0}.has-motion .toolkit-head>p:last-child{display:none}.has-motion .toolkit-tabs{margin:0;position:absolute;top:33%;left:0;right:0}.has-motion .decks{width:100%;height:0;position:absolute;top:56%;left:50%;transform:translate(-50%)}.has-motion .deck{height:0;display:block;overflow:visible}.has-motion .card-slot{width:clamp(130px,12vw,175px);height:clamp(200px,20vw,245px);margin:-110px 0 0 calc(clamp(130px,12vw,175px)/-2);position:absolute;top:0;left:50%}.has-motion .toolkit-bottom{margin:0 auto;position:absolute;bottom:5%;left:7%;right:7%}.has-motion .toolkit-hint{margin-bottom:14px}.has-motion .toolkit-detail{min-height:65px;padding-top:16px}.has-motion .card-slot,.has-motion .hero-title,.has-motion .hero-field,.has-motion .manifest-track{will-change:transform}@media (hover:hover) and (pointer:fine){.main-nav a:hover{color:var(--blue)}.card-slot:hover{z-index:40!important}.tool-card:hover{transform:translateY(-18px)rotate(-2deg)}.is-selected .tool-card:hover{transform:translateY(-22px)rotate(-2deg)}.project-row:hover{background:#e3b3864f}.project-row:hover .project-preview{opacity:1;transform:translateY(-50%)scale(1)rotate(2deg)}.project-row:hover .project-arrow{transform:translate(4px,-4px)}.contact-cta:hover{transform:translateY(-3px)}}@media (max-height:650px) and (min-width:701px){.has-motion .toolkit-head{top:16%}.has-motion .toolkit-head h2{font-size:48px}.has-motion .toolkit-head .section-kicker{display:none}.has-motion .toolkit-tabs{top:34%}.has-motion .card-slot{width:125px;height:185px;margin-top:-80px;margin-left:-62px}.has-motion .card-symbol{font-size:30px}.has-motion .tool-card strong{font-size:20px}.has-motion .toolkit-bottom{bottom:2%}.has-motion .toolkit-detail p{font-size:15px}}@media (max-width:700px){.site-header{inset:18px 22px auto}.brand{border-radius:11px;width:44px;height:39px;font-size:25px}.main-nav{background:#f3efe7f0;justify-content:space-around;gap:16px;width:auto;padding:18px 20px;position:fixed;inset:auto 16px 15px;transform:none;box-shadow:0 6px 25px #18232125}.main-nav a{font-size:11px}.hero-scene{min-height:680px;padding:10px}.hero-surface{border-radius:18px}.hero-eyebrow{font-size:8px;top:15%;left:7%}.hero-title{letter-spacing:-.085em;font-size:clamp(80px,22vw,140px);line-height:.88;top:34%;left:5%;right:5%}.hero-title>span+span{padding-left:20%}.monogram{width:82vw;height:82vw;top:46%;left:52%}.hero-bottom{bottom:14%;left:7%;right:7%}.hero-bottom p{font-size:clamp(21px,5.5vw,34px)}.explore-link{gap:0;font-size:0}.explore-link span{width:39px;height:39px;font-size:19px}.hero-side{display:none}.hero-disciplines{padding:0 7%}.hero-disciplines p{font-size:10vw}.discipline-left{margin-bottom:36%!important}.discipline-right{margin-top:37%!important}.manifest{min-height:650px;padding:90px 7%}.manifest-track{margin:60px 0;font-size:15vw}.manifest-bottom{gap:25px;font-size:9px}.manifest-bottom span:last-child{text-align:right}.has-motion .manifest{padding-top:17svh;padding-bottom:17svh}.has-motion .manifest-track{font-size:24vw}.journey-static{padding:90px 7%}.journey-static h2{font-size:14vw}.journey-static article{padding:35px 0;display:block}.journey-static h3{margin:20px 0;font-size:11vw}.journey-static article p{font-size:16px}.journey-label{top:16%}.journey-frame{padding:90px 4% 105px}.journey-intro p{font-size:10vw}.journey-chapter h3{font-size:12vw}.chapter-number{margin-bottom:26px;font-size:8px}.journey-chapter p{margin-top:26px;padding:0 12px;font-size:18px}.journey-progress{gap:16px;font-size:7px;bottom:15%}.bridge{min-height:550px}.bridge-field,.bridge-fusion{border-radius:12px;height:21svh}.bridge-field span{font-size:5vw}.bridge-narrative p{font-size:10vw}.bridge-narrative .bridge-connect{font-size:8.5vw}.journey-cue p{font-size:13vw}.toolkit{min-height:800px;padding:90px 0 65px}.toolkit-head h2{font-size:58px}.toolkit-head>p:last-child{font-size:14px}.toolkit-tabs{gap:5px;margin-top:24px;padding:0 12px}.toolkit-tabs button{padding:9px 10px;font-size:10px}.decks{height:315px}.portfolio-home:not(.has-motion) .decks{overflow-x:auto}.portfolio-home:not(.has-motion) .deck{justify-content:flex-start;gap:12px;padding:35px 30px}.portfolio-home:not(.has-motion) .card-slot{flex:0 0 170px;height:245px;margin:0}.toolkit-bottom{margin:20px 7% 0}.toolkit-detail{min-height:105px;display:block}.toolkit-detail p{margin-top:12px;font-size:17px}.toolkit-hint{font-size:8px}.has-motion .toolkit-head{top:14%}.has-motion .toolkit-head h2{font-size:54px}.has-motion .toolkit-head .section-kicker{font-size:8px}.has-motion .toolkit-tabs{padding:0 7px;top:32%}.has-motion .decks{top:52%;overflow:visible}.has-motion .card-slot{width:100px;height:155px;margin-top:-68px;margin-left:-50px}.has-motion .tool-card{border-radius:8px;padding:10px}.has-motion .card-index{font-size:6px}.has-motion .card-symbol{margin-bottom:9px;font-size:28px}.has-motion .tool-card strong{font-size:17px}.has-motion .tool-card small{padding-top:9px;font-size:6px}.has-motion .toolkit-bottom{bottom:13%;left:7%;right:7%}.has-motion .toolkit-detail{min-height:94px;padding-top:12px}.has-motion .toolkit-detail span{font-size:8px}.has-motion .toolkit-detail p{margin-top:9px;font-size:15px}.has-motion .toolkit-hint{margin-bottom:13px}.projects{padding:90px 7%}.projects h2{font-size:13vw}.projects-header>p:last-child{margin-bottom:50px;font-size:16px}.project-row{grid-template-columns:20px 1fr 25px;gap:12px;min-height:128px;padding-top:24px}.project-name{font-size:7.8vw}.project-kind{grid-area:2/2;margin:0;font-size:10px}.project-arrow{grid-area:1/3}.project-preview{opacity:1;width:100%;box-shadow:none;grid-area:3/2/auto/4;margin:0 0 25px;position:relative;top:auto;right:auto;transform:none}.project-row:hover .project-preview,.project-row:focus-visible .project-preview{transform:none}.contact{margin:10px;padding:70px 7% 35px}.contact h2{margin-top:70px;font-size:11.4vw}.contact-content>p:not(.section-kicker){font-size:16px}.contact-cta{gap:35px;margin-bottom:80px;font-size:13px}.contact-bottom{font-size:9px;line-height:2.2;display:block}.contact-bottom a{display:block}.site-footer{padding-bottom:105px;font-size:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}.tool-card,.project-arrow,.contact-cta{transition:opacity .16s}.tool-card:hover,.is-selected .tool-card,.contact-cta:hover,.project-row:hover .project-arrow{transform:none}.entrance{display:none!important}.project-preview,.project-row:hover .project-preview{transition:opacity .16s;transform:translateY(-50%)}}.is-reduced .project-preview,.is-reduced .project-row:hover .project-preview{transition:opacity .16s;transform:translateY(-50%)}@media (max-width:700px){.is-reduced .project-preview,.is-reduced .project-row:hover .project-preview{transform:none}}@media (max-width:700px) and (prefers-reduced-motion:reduce){.project-preview,.project-row:hover .project-preview{transform:none}}.is-reduced .tool-card,.is-reduced .project-arrow,.is-reduced .contact-cta{transition:opacity .16s}.is-reduced .tool-card:hover,.is-reduced .is-selected .tool-card,.is-reduced .contact-cta:hover{transform:none}.header-controls{pointer-events:auto;align-items:center;gap:8px;display:flex}.language-nav{background:#f3efe7f0;border-radius:999px;padding:4px;display:flex}.language-nav a{font:9px var(--font-mono);border-radius:999px;padding:8px 7px;text-decoration:none}.language-nav a[aria-current=page]{background:var(--ink);color:var(--paper)}.case-study{padding:125px 6% 0}.case-back{font:12px var(--font-mono);margin-bottom:55px;text-decoration:none;display:inline-block}.case-heading h1{font:500 clamp(58px,10vw,156px)/1 var(--font-display);letter-spacing:-.075em;overflow-wrap:anywhere;margin:25px 0 32px}.case-heading h1:focus{outline:none}.case-summary{max-width:880px;font:400 clamp(23px,3vw,40px)/1.25 var(--font-display);letter-spacing:-.035em}.case-meta{font:11px var(--font-mono);border-top:1px solid #18232150;justify-content:space-between;gap:20px;margin:55px 0 30px;padding-top:20px;display:flex}.case-meta a{text-underline-offset:5px}.case-cover{border-radius:22px;margin:0;padding:clamp(14px,4vw,64px)}.case-cover img{border-radius:8px;width:100%;height:auto;display:block}.case-cover figcaption{background:var(--paper);color:var(--ink);font:11px var(--font-mono);border-radius:5px;margin-top:16px;padding:8px 12px;display:inline-block}.case-body{max-width:1150px;margin:90px auto}.case-body section{border-top:1px solid #18232135;grid-template-columns:1fr 1.6fr;gap:50px;padding:42px 0;display:grid}.case-body h2{font:500 clamp(25px,3vw,42px)/1.1 var(--font-display);letter-spacing:-.055em;margin:0}.case-body p,.case-body ul{margin:0;font-size:clamp(17px,1.7vw,23px);line-height:1.6}.case-body ul{padding-left:22px}.case-body li+li{margin-top:14px}.case-next{background:var(--ink);color:var(--paper);border-radius:22px;grid-template-columns:1fr auto;gap:25px;margin-bottom:40px;padding:clamp(30px,6vw,90px);text-decoration:none;display:grid}.case-next .section-kicker{color:var(--teal);grid-column:1/-1}.case-next strong{font:500 clamp(35px,6vw,85px)/1.05 var(--font-display);letter-spacing:-.065em}.case-next>span:last-child{font-size:38px}.case-gallery{margin:110px 0}.gallery-heading{max-width:760px;margin-bottom:50px}.gallery-heading h2,.case-contact h2{font:500 clamp(36px,5vw,72px)/1.05 var(--font-display);letter-spacing:-.06em;margin:20px 0}.gallery-heading>p:last-child{max-width:560px;font-size:20px;line-height:1.5}.gallery-grid{grid-template-columns:minmax(0,2.3fr) minmax(0,1fr);align-items:start;gap:clamp(24px,5vw,80px);display:grid}.gallery-item{min-width:0;margin:0}.gallery-image{background:#e3e2d7;border:1px solid #18232125;border-radius:14px;padding:clamp(10px,2vw,28px);display:block;position:relative}.gallery-image img{border-radius:6px;width:100%;height:auto;display:block}.gallery-mobile{justify-self:center;max-width:310px}.gallery-mobile .gallery-image{background:var(--ink);border-radius:25px;padding:9px}.gallery-mobile img{border-radius:17px}.gallery-enlarge{background:var(--paper);width:38px;height:38px;color:var(--ink);border:1px solid #18232135;border-radius:50%;place-items:center;font-size:22px;display:grid;position:absolute;bottom:14px;right:14px}.gallery-item figcaption{padding:22px 0}.gallery-item figcaption p{max-width:600px;margin:12px 0 0;font-size:17px;line-height:1.6}.case-contact{border-top:1px solid #18232135;grid-template-columns:1fr 1fr;align-items:start;gap:60px;margin-bottom:50px;padding:55px 0;display:grid}.case-contact h2{margin:0;font-size:clamp(32px,4vw,58px)}.case-contact p{margin-top:0;font-size:20px;line-height:1.6}.case-contact .contact-cta{margin:15px 0 0}.language-nav a{place-items:center;min-width:36px;min-height:36px;display:grid}.main-nav{padding-block:8px}.main-nav a{align-items:center;min-height:32px;display:flex}.main-nav a:after{bottom:1px}.toolkit-tabs button{min-height:36px}button:focus-visible,a:focus-visible{outline:3px solid var(--paper);outline-offset:2px;box-shadow:0 0 0 6px var(--ink)}.tool-card:focus-visible{z-index:45;position:relative}.card-slot:focus-within{z-index:45!important}.case-back,.case-meta a,.site-footer a{align-items:center;min-height:32px;display:inline-flex}.error-page{min-height:85svh;padding:180px 8%}.error-page h1{font:500 clamp(45px,7vw,100px)/1 var(--font-display);letter-spacing:-.06em}.error-page p{font-size:20px}@media (min-width:701px) and (max-width:1050px){.main-nav{gap:17px;padding:16px 20px}.language-nav a{min-width:32px}.main-nav{gap:14px;padding-block:8px}}@media (max-width:700px){.header-controls{gap:6px}.language-nav a{padding:7px 6px;font-size:8px}.main-nav{gap:8px;padding-inline:10px}.case-study{padding:110px 6% 0}.case-back{margin-bottom:35px;font-size:10px}.case-heading h1{font-size:15vw}.case-meta{flex-direction:column;line-height:1.5}.case-cover{border-radius:14px}.case-body{margin:45px 0}.case-body section{grid-template-columns:1fr;gap:22px;padding:30px 0}.case-next{gap:20px;padding:28px 22px}.case-next strong{font-size:9vw}.language-nav a{min-width:40px;min-height:40px;font-size:10px}.main-nav{bottom:max(15px,env(safe-area-inset-bottom));padding-block:4px}.main-nav a{min-height:44px}.site-footer{padding-bottom:calc(105px + env(safe-area-inset-bottom))}.case-gallery{margin:65px 0}.gallery-heading{margin-bottom:30px}.gallery-heading>p:last-child{font-size:17px}.gallery-grid{grid-template-columns:1fr;gap:25px}.gallery-mobile{width:100%;max-width:280px}.case-contact{grid-template-columns:1fr;gap:24px;margin-bottom:30px;padding:35px 0}.case-contact p{font-size:17px}}.journey-chapter .journey-body{letter-spacing:-.015em;max-width:620px;color:var(--paper);margin:28px 0 0;font-size:clamp(16px,1.65vw,23px);line-height:1.45}@media (max-width:700px){.journey-chapter .journey-body{max-width:340px;margin-top:22px;padding:0 14px;font-size:15px}}
.project-curtain{z-index:500;background:var(--ink);color:var(--paper);visibility:hidden;pointer-events:auto;place-items:center;display:grid;position:fixed;inset:0;transform:translateY(100%)}.project-curtain>svg{width:110px;height:auto}.case-experience{background:var(--paper)}.case-panel{min-height:100svh;padding:120px 6% 100px;scroll-margin-top:0;position:relative}.case-panel h2{font:500 clamp(42px,6vw,100px)/.98 var(--font-display);letter-spacing:-.065em;margin:22px 0}.case-opening{grid-template-columns:46% 1fr;align-items:center;gap:5%;display:grid;overflow:hidden}.case-poster{height:76svh;min-height:450px;color:var(--paper);border-radius:18px;flex-direction:column;justify-content:space-between;padding:36px;display:flex;position:relative;overflow:hidden}.case-poster .section-kicker{z-index:2;background:var(--ink);width:fit-content;padding:10px 12px;position:relative}.case-poster img{border-radius:8px;width:100%;height:auto;box-shadow:0 16px 45px #18232150}.poster-name{font:500 clamp(38px,5vw,80px)/.95 var(--font-display);letter-spacing:-.07em}.case-opening-title{z-index:5;position:relative}.case-opening-title h1{font:500 clamp(55px,8vw,140px)/.9 var(--font-display);letter-spacing:-.08em;overflow-wrap:anywhere;margin:20px 0 40px}.case-opening-title h1:focus{outline:none}.case-scroll-cue{font:11px var(--font-mono);align-items:center;gap:22px;display:flex}.case-scroll-cue span{font-size:28px}.case-opening-stack{pointer-events:none;width:32vw;height:52svh;position:absolute;top:26%;left:32%}.opening-card{background:var(--ink);border:6px solid var(--ink);border-radius:10px;position:absolute;inset:0;overflow:hidden;box-shadow:0 12px 28px #18232130}.opening-card img{object-fit:contain;width:100%;height:100%}.opening-card-0{transform:rotate(-5deg)}.opening-card-1{transform:translate(8%,4%)rotate(4deg)}.opening-card-2{width:48%;left:auto;right:-6%;transform:translate(6%,12%)rotate(9deg)}.case-opening-stack{display:none}.case-overview{grid-template-columns:1fr 1fr;align-items:center;gap:8%;display:grid}.case-tags{flex-wrap:wrap;gap:8px;margin:28px 0;display:flex}.case-tags span{font:11px var(--font-mono);border:1px solid #18232170;border-radius:999px;padding:8px 12px}.case-lead{font:400 clamp(20px,2vw,28px)/1.4 var(--font-display);letter-spacing:-.025em;max-width:640px}.case-visit{text-underline-offset:6px;align-items:center;gap:30px;min-height:44px;margin-top:20px;display:inline-flex}.case-overview-body{max-width:650px}.case-overview-body h3{font:500 21px/1.2 var(--font-display);margin:0 0 10px}.case-overview-body p{margin:0;font-size:clamp(15px,1.3vw,19px);line-height:1.55}.case-overview-body>div+div{border-top:1px solid #18232130;margin-top:28px;padding-top:22px}.case-aperture{flex-direction:column;justify-content:center;align-items:center;gap:25px;display:flex}.case-aperture-heading{align-self:flex-start}.case-aperture-heading h2{font-size:clamp(30px,4vw,65px)}.case-aperture-heading em{color:var(--blue);font-style:normal}.case-oval{clip-path:inset(0 round 999px);background:var(--case-color);width:90%;height:48svh;overflow:hidden}.case-oval img{object-fit:cover;width:100%;height:100%}.case-reel{grid-template-columns:1fr 2fr;align-items:start;gap:7%;display:grid}.case-reel h2{font-size:clamp(35px,4.5vw,70px)}.case-reel-heading ul{padding-left:20px;font-size:16px;line-height:1.6}.case-reel-heading li+li{margin-top:14px}.case-reel-card{margin:0 0 65px}.reel-window{background:var(--ink);border-radius:14px;padding:16px}.reel-window img{border-radius:5px;width:100%;height:auto;display:block}.reel-mobile .reel-window{max-width:320px;margin:auto}.case-reel-card figcaption{padding:20px 0 0}.case-reel-card figcaption p{max-width:620px;margin:8px 0;font-size:16px;line-height:1.5}.case-reel-card figcaption a{font:11px var(--font-mono);text-underline-offset:5px;align-items:center;min-height:32px;display:inline-flex}.reel-select{gap:8px;margin-top:28px;display:flex}.reel-select button{width:44px;height:44px;color:var(--ink);font:11px var(--font-mono);background:0 0;border:1px solid #18232150;border-radius:50%}.reel-select button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.case-up-next{flex-direction:column;justify-content:center;align-items:center;display:flex;overflow:hidden}.case-next-experience{flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:65svh;text-decoration:none;display:flex;position:relative}.case-next-experience h2{letter-spacing:-.065em;gap:.28em;font-size:clamp(70px,11vw,190px);display:flex}.case-next-experience h2 span{transition:transform .25s var(--ease-out);display:inline-block}.case-next-experience>p{font:16px var(--font-display);margin:0 0 0 30%}.next-image-stack{pointer-events:none;width:22vw;height:46svh;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.next-card{background:var(--ink);opacity:0;width:100%;height:70%;transition:transform .25s var(--ease-out),opacity .2s ease;border-radius:10px;padding:7px;position:absolute;overflow:hidden;transform:translateY(70px)rotate(-5deg);box-shadow:0 15px 30px #18232125}.next-card img{object-fit:contain;border-radius:5px;width:100%;height:100%}.next-card-1{top:-15%;left:5%}.next-card-2{width:60%;height:70%;top:45%;left:-6%}.case-end-contact{font:12px var(--font-mono);text-underline-offset:6px;align-items:center;min-height:44px;display:flex}.case-controls{z-index:95;pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:fixed;bottom:28px;left:32px;right:32px}.case-controls nav{background:var(--paper);pointer-events:auto;border:1px solid #18232125;border-radius:999px;gap:4px;padding:5px;display:none}.case-controls button{min-height:40px;color:var(--ink);font:10px var(--font-mono);background:0 0;border:0;border-radius:999px;align-items:center;gap:7px;padding:10px 12px;display:flex}.case-controls button[aria-current]{background:var(--ink);color:var(--paper)}.case-control-label{display:none}.case-controls button[aria-current] .case-control-label{display:inline}.case-close{background:var(--paper);pointer-events:auto;border:1px solid #18232160;border-radius:50%;place-items:center;width:46px;height:46px;margin-left:auto;font-size:24px;text-decoration:none;display:grid}.has-case-motion .case-controls nav{display:flex}.has-case-motion .case-stage{height:100svh;overflow:clip}.has-case-motion .case-track{will-change:transform;flex-wrap:nowrap;width:max-content;height:100%;display:flex}.has-case-motion .case-panel{flex:0 0 100vw;width:100vw;height:100svh;min-height:0;padding:110px 7% 90px}.has-case-motion .case-opening{padding:0;display:block}.has-case-motion .case-poster{border-radius:0 18px 18px 0;width:40vw;height:100%;padding:110px 3vw 65px;position:absolute;inset:0 auto 0 0}.has-case-motion .case-opening-stack{width:27vw;height:47svh;display:block;top:28%;left:38vw}.has-case-motion .opening-card-0,.has-case-motion .opening-card-1{height:65%;top:14%;bottom:auto}.has-case-motion .case-opening-title{position:absolute;top:32%;left:72vw;right:2vw}.has-case-motion .case-opening-title h1{font-size:clamp(48px,5.5vw,105px)}.has-case-motion .case-opening-title .case-scroll-cue{margin-top:55px;font-size:10px}.has-case-motion .case-overview{gap:7vw;padding-inline:7vw}.has-case-motion .case-overview-title h2{font-size:clamp(55px,6.8vw,115px)}.has-case-motion .case-aperture{padding-inline:7vw}.has-case-motion .case-reel{padding-inline:7vw;display:block}.has-case-motion .case-reel-heading{width:25vw;position:absolute;top:23%;left:7vw}.has-case-motion .case-reel-stack{width:52vw;height:64svh;position:absolute;top:18%;left:40vw}.has-case-motion .case-reel-card{will-change:transform,clip-path;height:64svh;margin:0;position:absolute;inset:0}.has-case-motion .reel-window{height:42svh;padding:12px}.has-case-motion .reel-window img{object-fit:contain;height:100%}.has-case-motion .reel-mobile .reel-window{max-width:100%}.has-case-motion .case-reel-card figcaption{background:var(--paper);padding-top:12px}.has-case-motion .case-reel-card figcaption p{font-size:15px;line-height:1.4}.has-case-motion .case-up-next{padding-inline:7vw}.case-next-experience:focus-visible .next-card{opacity:1;transition:none;transform:translateY(0)rotate(-5deg)}.case-next-experience:focus-visible h2 span{transition:none}.case-next-experience:focus-visible h2 span:first-child{transform:translate(-12vw)}.case-next-experience:focus-visible h2 span:last-child{transform:translate(12vw)}@media (hover:hover) and (pointer:fine){.case-next-experience:hover h2 span:first-child{transform:translate(-12vw)}.case-next-experience:hover h2 span:last-child{transform:translate(12vw)}.case-next-experience:hover .next-card{opacity:1;transform:translateY(0)rotate(-7deg)}.case-next-experience:hover .next-card-1{transform:translateY(0)rotate(7deg)}.case-next-experience:hover .next-card-2{transform:translateY(0)rotate(3deg)}}@media (max-width:900px),(max-height:600px){.case-panel{min-height:auto;padding:110px 7% 90px}.case-opening{flex-direction:column-reverse;align-items:stretch;gap:30px;display:flex}.case-opening-title h1{margin-bottom:22px;font-size:clamp(60px,13vw,100px)}.case-poster{gap:40px;height:auto;min-height:400px;padding:25px}.case-overview{grid-template-columns:1fr;gap:45px}.case-overview-title h2{font-size:clamp(44px,9vw,80px)}.case-overview-body p{font-size:17px}.case-aperture{padding-block:45px}.case-oval{width:100%;height:35svh;min-height:220px}.case-reel{padding-block:70px;display:block}.case-reel-heading{margin-bottom:40px}.case-reel-card{scroll-margin-top:110px}.case-next-experience h2{font-size:clamp(65px,13vw,100px)}.case-next-experience{justify-content:flex-start;min-height:55svh;padding-top:15px}.next-image-stack{width:40vw;max-width:270px;height:30svh;top:65%}.next-card{opacity:1;transform:rotate(-5deg)}.next-card-1{transform:rotate(7deg)}.next-card-2{transform:rotate(3deg)}.case-controls{bottom:85px;left:22px;right:22px}.case-up-next{padding-bottom:130px}}.is-reduced .case-next-experience h2 span,.is-reduced .next-card{transition:none}.is-reduced .case-next-experience:hover h2 span,.is-reduced .case-next-experience:focus-visible h2 span{transform:none}@media (prefers-reduced-motion:reduce){.case-next-experience h2 span,.next-card{transition:none}.case-next-experience:hover h2 span{transform:none}}.opening-card{border:0}.opening-card img,.next-card img{object-fit:cover}.next-card{aspect-ratio:16/10;height:auto;padding:0}.next-card-2{aspect-ratio:375/811}.reel-window{background:0 0;padding:0;overflow:clip}.reel-window img{border-radius:0}.has-case-motion .reel-window{width:min(100%,calc(42svh * var(--media-ratio)));height:auto;aspect-ratio:var(--media-ratio);margin-inline:auto;padding:0}.has-case-motion .reel-window img{object-fit:cover}.has-case-motion .reel-mobile .reel-window{width:calc(42svh * var(--media-ratio));max-width:100%}.reel-select{flex-wrap:wrap}.selector-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:block}.reel-select button{background:0 0;border:0;place-items:center;width:44px;height:44px;min-height:44px;padding:0;display:grid}.reel-select button[aria-pressed=true]{color:var(--blue);background:0 0}.reel-select button[aria-pressed=true] .selector-dot{border-radius:4px;width:20px}.case-controls nav button{gap:8px}.case-poster{justify-content:center;gap:30px}@media (max-width:900px){.has-case-motion .case-panel{padding:90px 6vw 145px}.has-case-motion .case-opening-title{top:13%;left:7%;right:7%}.has-case-motion .case-opening-title h1{margin:0;font-size:clamp(38px,11vw,70px)}.has-case-motion .case-opening-title .case-scroll-cue{margin-top:18px}.has-case-motion .case-poster{border-radius:14px;width:88%;height:auto;min-height:0;padding:18px;inset:39% 6% 19%}.has-case-motion .poster-name{display:none}.has-case-motion .case-opening-stack{width:36%;height:24svh;top:48%;left:47%}.has-case-motion .case-overview{display:block}.has-case-motion .case-overview-title h2{margin:0 0 10px;font-size:34px}.has-case-motion .case-tags{gap:5px;margin:10px 0}.has-case-motion .case-tags span{padding:6px 9px;font-size:9px}.has-case-motion .case-lead{margin:10px 0;font-size:15px;line-height:1.4}.has-case-motion .case-visit{min-height:36px;margin:0 0 12px;font-size:13px}.has-case-motion .case-overview-body h3{margin-bottom:5px;font-size:17px}.has-case-motion .case-overview-body p{font-size:13px;line-height:1.45}.has-case-motion .case-overview-body>div+div{margin-top:12px;padding-top:12px}.has-case-motion .case-aperture-heading h2{font-size:clamp(28px,7vw,44px)}.has-case-motion .case-oval{height:35svh;min-height:0}.has-case-motion .case-reel-heading{width:auto;margin:0;top:13%;left:6%;right:6%}.has-case-motion .case-reel-heading h2{margin:0;font-size:30px}.has-case-motion .case-reel-heading ul{margin:10px 0 0;padding-left:14px;font-size:10px;line-height:1.4}.has-case-motion .case-reel-heading li+li{margin-top:3px}.has-case-motion .reel-select{gap:4px;margin:8px 0 0}.has-case-motion .case-reel-stack{width:88%;height:40svh;top:40%;left:6%}.has-case-motion .case-reel-card{height:40svh}.has-case-motion .reel-window{width:min(100%,calc(23svh * var(--media-ratio)))}.has-case-motion .reel-mobile .reel-window{width:calc(23svh * var(--media-ratio))}.has-case-motion .case-reel-card figcaption p{font-size:12px;line-height:1.45}.has-case-motion .case-controls{bottom:88px;left:14px;right:14px}.has-case-motion .case-controls nav{gap:0}.has-case-motion .case-controls button{gap:5px;padding:9px;font-size:9px}.has-case-motion .case-close{width:38px;height:38px;font-size:20px}.has-case-motion .case-next-experience{min-height:54svh}.has-case-motion .case-next-experience h2{font-size:15vw}.has-case-motion .next-image-stack{top:52%}.has-case-motion .case-next-experience>p{margin:0}}
.toolkit-handoff{z-index:30;pointer-events:none;display:none;position:absolute;inset:0}.has-motion .toolkit-handoff{display:block}.handoff-card{background:linear-gradient(145deg,var(--warm),var(--blue) 65%,var(--ink));border-radius:16px;place-items:center;width:clamp(130px,12vw,175px);height:clamp(200px,20vw,245px);margin-top:-110px;display:grid;position:absolute;top:56%;left:50%;overflow:clip;transform:translate(-50%)}.handoff-card>svg{width:65%;height:auto;color:var(--paper)}.handoff-fill,.handoff-field{background:var(--paper);position:absolute;inset:0}.motion-title .word,.contact-line .word{vertical-align:baseline;display:inline-block;overflow:visible}.motion-title .char,.contact-line .char{display:inline-block}.projects-showcase{text-align:center;flex-direction:column;justify-content:safe center;align-items:center;min-height:100svh;padding:clamp(96px,12svh,120px) 6% clamp(24px,4svh,48px);display:flex;position:relative;overflow:clip}.has-project-names{height:100svh;min-height:0}.projects-header{width:100%;margin-bottom:clamp(18px,3svh,32px)}.projects-header,.project-name-list,.projects-intro{flex:none}.projects-showcase .motion-title{font-size:calc(clamp(40px,5.5vw,84px) * var(--projects-fit,1));letter-spacing:-.065em;margin:0;line-height:1.12}.motion-title>span,.motion-title>em{display:block}.projects-showcase .motion-title>span,.projects-showcase .motion-title>em{width:max-content;margin-inline:auto}.project-name-list{gap:clamp(14px,2.5svh,28px);width:100%;display:grid}.project-entry{min-width:0}.project-name-link{font:400 calc(clamp(34px,6.5vw,100px) * var(--projects-fit,1))/1.18 var(--font-display);letter-spacing:-.06em;white-space:nowrap;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.project-name-before,.project-name-after{z-index:2;transition:transform .25s var(--ease-out),color .2s ease;position:relative}.project-name-before{transform:translate(.52em)}.project-name-after{transform:translate(-.52em)}.project-thumb-arrive{flex-shrink:0;width:1.2em;height:.85em;margin:0 .06em;display:inline-block}.project-thumb{opacity:0;width:100%;height:100%;transition:transform .25s var(--ease-out),opacity .2s ease;border-radius:.12em;display:block;overflow:hidden;transform:scale(.92)rotate(-8deg)}.project-thumb img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.project-name-category{font:10px/1.5 var(--font-mono);text-transform:uppercase;letter-spacing:.09em;color:#526256;margin:10px 0 0}.projects-intro{margin:clamp(14px,2.3svh,24px) 0 0;font-size:13px;line-height:1.6}.project-entry[data-preview=true] .project-name-before,.project-entry[data-preview=true] .project-name-after,.project-name-link:focus-visible .project-name-before,.project-name-link:focus-visible .project-name-after{transform:translate(0)}.project-entry[data-preview=true] .project-thumb,.project-name-link:focus-visible .project-thumb{opacity:1;transform:scale(1)rotate(-5deg)}.project-name-link:focus-visible{outline-offset:12px}@media (hover:hover) and (pointer:fine){.project-name-link:hover .project-name-before,.project-name-link:hover .project-name-after{color:var(--blue);transform:translate(0)}.project-name-link:hover .project-thumb{opacity:1;transform:scale(1)rotate(-5deg)}}@media (hover:none),(prefers-reduced-motion:reduce){.portfolio-home:not(.has-motion) .project-name-before,.portfolio-home:not(.has-motion) .project-name-after{transform:none}.portfolio-home:not(.has-motion) .project-thumb{opacity:1;transform:none}}.is-reduced .project-name-before,.is-reduced .project-name-after,.is-reduced .project-thumb{transition:none}.contact-stage{background:var(--paper);position:relative}.contact-reveal-link{display:none}.has-contact-drop .contact-reveal-link{min-height:44px;font:11px var(--font-mono);text-underline-offset:6px;align-items:center;gap:20px;display:inline-flex}.contact-prologue{text-align:center;isolation:isolate;flex-direction:column;justify-content:center;align-items:center;min-height:65svh;padding:100px 5%;display:flex;position:relative}.contact-prologue h2{font:500 clamp(38px,6.8vw,112px)/1.12 var(--font-display);letter-spacing:-.065em;margin:30px 0}.contact-phrase-end{color:var(--blue)}.contact-dot-slot{width:max(.16em,9px);height:max(.16em,9px);margin-left:.06em;display:inline-block;position:relative}.contact-drop{background:var(--blue);transform-origin:50%;z-index:4;border-radius:50%;display:block;position:absolute;inset:0}.has-contact-drop{height:100svh;overflow:clip}.has-contact-drop .contact-prologue{min-height:0;padding:85px 5%;position:absolute;inset:0}.has-contact-drop .contact-panel{flex-direction:column;justify-content:space-between;margin:0;padding:95px 6% 30px;display:flex;position:absolute;inset:14px}.has-contact-drop .contact-panel h2{margin:28px 0 24px;font-size:clamp(40px,6.5vw,100px)}.has-contact-drop .contact-cta{margin:22px 0 25px}.has-contact-drop .contact-bottom{margin-top:20px}.toolkit-head{clip-path:inset(50%);width:1px;height:1px;overflow:hidden;position:absolute!important}.toolkit-tabs,.has-motion .toolkit-tabs{place-items:center;height:100px;margin:0 auto 30px;padding:0 50px;display:grid}.has-motion .toolkit-tabs{top:17%}.toolkit-tabs button{font:500 clamp(36px,5.5vw,84px)/1.15 var(--font-display);letter-spacing:-.065em;white-space:normal;border:0;border-radius:0;grid-area:1/1;padding:10px}.toolkit-tabs button[aria-selected=true]{color:var(--paper);background:0 0}.toolkit-tabs button[aria-selected=false]{visibility:hidden;pointer-events:none}.tool-card strong.tool-name-long{overflow-wrap:normal;font-size:clamp(12px,1.5vw,19px)}.toolkit-group-nav{z-index:16;pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:133px;left:5%;right:5%}.has-motion .toolkit-group-nav{top:calc(17% + 28px)}.toolkit-group-nav button{pointer-events:auto;color:var(--paper);background:0 0;border:0;width:44px;height:44px;font-size:24px}.journey-static article{grid-template-columns:1fr 32%}@media (max-width:900px){.contact-prologue h2{font-size:8vw}.has-contact-drop .contact-panel{padding:100px 6%;inset:8px}.has-contact-drop .contact-panel h2{margin:25px 0;font-size:9vw}.has-contact-drop .contact-content>p{font-size:15px}.has-contact-drop .contact-bottom{font-size:9px}.toolkit-tabs button{font-size:clamp(30px,6vw,48px)}.journey-static article{grid-template-columns:1fr}}@media (max-width:700px){.projects-showcase{padding:90px 5% calc(100px + env(safe-area-inset-bottom,0px))}.projects-showcase .motion-title{font-size:calc(clamp(36px,9.5vw,56px) * var(--projects-fit,1))}.projects-header{margin-bottom:22px}.project-name-link{font-size:calc(clamp(32px,9.5vw,50px) * var(--projects-fit,1))}.project-name-list{gap:22px}.project-name-category{letter-spacing:.035em;font-size:9px}.projects-intro{margin-top:20px;font-size:12px}}@media (max-height:700px){.has-contact-drop .contact-panel{padding-block:80px}.has-contact-drop .contact-panel h2,.has-contact-drop .contact-cta{margin-block:12px}}.projects-showcase .motion-title>em{color:var(--copper)}
.contact-dialog{border:1px solid var(--sage);background:var(--paper);width:min(520px,100vw - 32px);max-width:none;max-height:calc(100svh - 32px);color:var(--ink);text-align:left;border-radius:20px;margin:auto;padding:32px;position:fixed;inset:0;overflow:auto;box-shadow:0 24px 100px #18232140}.contact-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#18232199}.contact-dialog .contact-dialog-close{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;font-size:28px;display:grid;position:absolute;top:10px;right:10px}.contact-dialog h2.contact-dialog-title{font:500 clamp(25px,4vw,34px)/1.15 var(--font-display);letter-spacing:-.045em;margin:0;padding-right:35px}.contact-dialog p.contact-dialog-description{font:400 15px/1.5 var(--font-body);margin:18px 0}.contact-dialog-email{border:1px solid var(--sage);width:100%;min-width:0;color:var(--ink);font:13px/1.5 var(--font-mono);background:#18232106;border-radius:10px;padding:14px 12px;display:block}.contact-dialog-actions{gap:10px;margin-top:20px;display:grid}.contact-dialog-actions>a,.contact-dialog-actions>button{border:1px solid var(--sage);min-height:48px;color:var(--ink);font:400 14px/1.5 var(--font-body);cursor:pointer;background:0 0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;display:flex}.contact-dialog-actions>a:first-child{background:var(--accent);border-color:var(--accent);color:var(--paper)}.contact-dialog-actions>a:hover,.contact-dialog-actions>button:hover,.contact-dialog-close:hover{border-color:var(--copper)}.contact-dialog p.contact-dialog-status{min-height:1.5em;font:400 12px/1.5 var(--font-body);color:var(--accent);margin:14px 0 0}.case-end-contact{gap:8px}@media (max-width:400px){.contact-dialog{padding:24px}.contact-dialog-email{font-size:12px}}
