@font-face{font-family:Anton;src:url('/files/bangemann/fonts/anton.ttf');font-display:swap}@font-face{font-family:Space;src:url('/files/bangemann/fonts/space-regular.ttf');font-display:swap}@font-face{font-family:Space;src:url('/files/bangemann/fonts/space-medium.ttf');font-weight:500;font-display:swap}@font-face{font-family:Space;src:url('/files/bangemann/fonts/space-bold.ttf');font-weight:700;font-display:swap}@font-face{font-family:Mono;src:url('/files/bangemann/fonts/mono.ttf');font-display:swap}
:root{--red:#e45335;--paper:#f3f1ea;--ink:#1c1c1a;--muted:#66665e;--line:#c9c7be;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Space,Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:7px}.wrap{max-width:1440px;padding-inline:48px;margin:auto}.mono{font:9px/1.7 Mono,monospace;letter-spacing:.015em}.section-space{padding-block:96px}.skip{position:absolute;top:-100px;left:20px;z-index:20;background:var(--paper);padding:12px}.skip:focus{top:20px}.red{background:var(--red)}.wordmark{font:14px/1.2 Mono,monospace;letter-spacing:-.025em}.nav{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #b7402b}.nav nav{display:flex;gap:36px;font-size:12px}.nav nav a{position:relative}.nav nav a:after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.nav nav a:hover:after{transform:scaleX(1)}.menu{display:none}.mobile-nav{padding-block:20px;border-bottom:1px solid #b7402b}.mobile-nav a{display:block;padding:12px 0;font-size:24px}
.hero-meta{display:flex;justify-content:space-between;align-items:start;padding-top:25px}.hero-meta p{font-size:12px;line-height:1.5}.hero-meta>.mono{padding-top:2px}.hero-stage{position:relative;isolation:isolate;min-height:clamp(610px,46vw,720px);margin-top:18px}.hero h1{position:relative;z-index:2;pointer-events:none;font-family:Anton,Impact,sans-serif;line-height:.98;letter-spacing:-.02em}.hero h1 span{display:block;white-space:nowrap}.hero h1 span:first-child{font-size:clamp(150px,16.8vw,242px)}.hero h1 span:last-child{font-size:clamp(110px,12.7vw,183px);color:var(--paper);margin-top:4px}.portrait{position:absolute;right:-10px;top:-34px;width:490px;height:620px;z-index:1;overflow:hidden;transition:transform .8s var(--ease)}.portrait img{width:100%;height:auto;display:block}.portrait figcaption{position:absolute;bottom:9px;right:0;background:var(--paper);padding:5px 9px;font-size:7px}.hero-intro{position:absolute;bottom:42px;left:0;z-index:3;width:330px}.hero-intro p{font-size:25px;line-height:1.32;letter-spacing:-.035em}.line-link{display:inline-flex;align-items:center;justify-content:space-between;gap:70px;border-bottom:1px solid currentColor;padding-block:12px;font-size:12px;margin-top:17px}.line-link span{font-size:23px;line-height:1;transition:transform .4s var(--ease)}.line-link:hover span{transform:translate(4px,-4px)}.hero-foot{display:flex;justify-content:space-between;gap:30px;padding-block:23px 27px;border-top:1px solid #b7402b}
.section-kicker{margin-bottom:45px}h2{font-size:clamp(48px,5.3vw,76px);font-weight:500;letter-spacing:-.06em;line-height:1.05}.about-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:110px}.about h2{max-width:650px}.about-copy{padding-top:6px;max-width:430px}.about-copy p{font-size:17px;line-height:1.65;letter-spacing:-.025em}.about-copy p+p{margin-top:22px;color:var(--muted)}.about-facts{display:flex;flex-direction:column;gap:12px;margin-top:37px;padding-top:21px;border-top:1px solid var(--line);font-size:8px}
.services-section{padding-top:25px}.services-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:95px}.services-intro{position:sticky;top:35px;align-self:start}.services-intro .section-kicker{margin-bottom:25px}.services h3{font-size:clamp(25px,2.7vw,39px);font-weight:500;letter-spacing:-.045em;transition:transform .4s var(--ease)}.services{border-top:1px solid var(--ink)}.services details{padding-block:28px;border-bottom:1px solid var(--line)}.services summary{display:grid;grid-template-columns:1fr 30px;gap:20px;align-items:center;cursor:pointer;list-style:none}.services summary::-webkit-details-marker{display:none}.toggle{font-size:29px;font-weight:400;line-height:1;text-align:right;transition:transform .4s var(--ease)}.services details[open] .toggle{transform:rotate(45deg)}.services summary:is(:hover,:focus-visible) h3{transform:translateX(5px)}.service-body{padding-top:19px}.service-body p{font-size:14px;line-height:1.65;color:var(--muted);max-width:450px}.service-body .mono{display:block;margin-top:20px;font-size:7px;color:var(--muted)}
.notes{background:var(--ink);color:var(--paper)}.notes-heading{display:grid;grid-template-columns:1.35fr 1fr;align-items:end;gap:110px;margin-bottom:60px}.notes .section-kicker{color:#b5b6aa;margin-bottom:30px}.notes h2{font-family:Anton,Impact,sans-serif;font-weight:400;letter-spacing:-.025em;font-size:clamp(62px,6.4vw,92px);line-height:1.03}.notes-heading>p{font-size:14px;line-height:1.7;color:#b5b6aa;padding-bottom:4px}.notes .line-link{color:var(--paper);margin-top:18px;gap:110px}.posts{border-top:1px solid #616258}.post{display:grid;grid-template-columns:160px 1fr 70px;gap:28px;align-items:center;padding-block:35px;border-bottom:1px solid #45463f}.chapter{font-size:8px;color:#b5b6aa}.post h3{font-size:clamp(29px,3.2vw,46px);font-weight:500;letter-spacing:-.045em;line-height:1.2;transition:transform .45s var(--ease)}.post p{font-size:13px;line-height:1.6;color:#b5b6aa;margin-top:14px}.post-arrow{font-size:43px;text-align:right;transition:transform .45s var(--ease),color .3s}.post:is(:hover,:focus-visible) h3{transform:translateX(7px)}.post:is(:hover,:focus-visible) .post-arrow{transform:translate(4px,-4px);color:var(--red)}
.contact-top{display:flex;justify-content:space-between;align-items:start;gap:50px}.contact-top p:last-child{font-size:14px;line-height:1.65;margin-bottom:45px;max-width:350px;width:350px}.contact-link{display:flex;justify-content:space-between;align-items:center;gap:40px;border-bottom:2px solid var(--ink);padding-bottom:35px}.contact-link h2{font-family:Anton,Impact,sans-serif;font-weight:400;letter-spacing:-.025em;font-size:clamp(90px,14.7vw,212px);line-height:1;transition:color .4s}.contact-link>span{font-size:clamp(60px,10vw,144px);line-height:1;font-weight:400;transition:transform .6s var(--ease)}.contact-link:is(:hover,:focus-visible) h2{color:var(--red)}.contact-link:is(:hover,:focus-visible)>span{transform:rotate(45deg)}footer{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:37px}.socials{display:flex;justify-content:end;gap:30px;font-size:12px}.legal{grid-column:1/-1;display:flex;justify-content:space-between;gap:30px;font-size:8px;color:var(--muted);margin-top:14px}.legal>div{display:flex;gap:24px}.contact .section-space{padding-bottom:32px}
[data-motion=on] .hero h1 span{animation:name-in 1s var(--ease) both}[data-motion=on] .hero h1 span:nth-child(2){animation-delay:.12s}[data-motion=on] .portrait img{animation:photo-in 1.1s .12s var(--ease) both}[data-motion=on] .hero-intro{animation:fade-up .8s .3s var(--ease) both}[data-motion=on] [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .7s var(--delay,0ms),transform .85s var(--delay,0ms) var(--ease)}[data-motion=on] [data-reveal].is-in{opacity:1;transform:translateY(0)}@media(hover:hover) and (pointer:fine){[data-motion=on] .portrait{transform:translate(var(--photo-x,0px),var(--photo-y,0px))}}
@keyframes name-in{from{clip-path:inset(100% 0 0);transform:translateY(25px)}to{clip-path:inset(0);transform:translateY(0)}}@keyframes photo-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero-stage{min-height:720px}.portrait{width:570px;height:720px}.hero-intro{bottom:70px}}
@media(max-width:1100px) and (min-width:701px){.wrap{padding-inline:32px}.portrait{width:410px;height:580px;top:-5px;right:-15px}.hero-stage{min-height:590px}.hero h1 span:first-child{font-size:16.7vw}.hero h1 span:last-child{font-size:12.5vw}.hero-intro{bottom:36px}.hero-intro p{font-size:22px}.about-grid,.notes-heading{gap:65px}.services-grid{gap:60px}.post{grid-template-columns:100px 1fr 50px;gap:25px}.services h3{font-size:28px}.legal{font-size:7px}}
@media(max-width:700px){.wrap{padding-inline:22px}.section-space{padding-block:65px}.nav{height:80px}.wordmark{font-size:12px}.nav nav{display:none}.menu{display:flex;flex-direction:column;gap:6px;border:0;background:none;padding:12px 0 12px 16px}.menu span{height:1px;width:24px;background:var(--ink);transition:transform .25s}.menu[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero-meta{padding-top:20px}.hero-meta p{font-size:10px}.hero-meta>.mono{font-size:7px}.hero-stage{margin-top:25px;min-height:760px}.hero h1{z-index:3}.hero h1 span:first-child{font-size:23.5vw;letter-spacing:-.02em}.hero h1 span:last-child{font-size:12.7vw;letter-spacing:0;margin-top:9px;color:var(--ink)}.portrait{width:335px;height:443px;top:164px;right:calc(50% - 167.5px)}.portrait figcaption{font-size:6px;bottom:0}.hero-intro{bottom:27px;width:100%}.hero-intro p{font-size:22px;line-height:1.25}.hero-intro .line-link{width:100%;margin-top:10px;padding-block:12px;font-size:12px}.hero-foot{padding-block:19px 23px;gap:25px}.hero-foot .mono{font-size:6px}.section-kicker{font-size:7px;margin-bottom:30px}h2{font-size:44px;line-height:1.04}.about-grid{grid-template-columns:1fr;gap:32px}.about-copy{padding:0;max-width:none}.about-copy p{font-size:15px;line-height:1.65}.about-facts{font-size:7px;gap:10px;margin-top:28px}.services-section{padding-top:0}.services-grid{grid-template-columns:1fr;gap:32px}.services-intro{position:static}.services-intro .section-kicker{margin-bottom:25px}.services-intro h2{font-size:43px}.services details{padding-block:25px}.services h3{font-size:26px}.toggle{font-size:25px}.service-body p{font-size:13px}.service-body .mono{font-size:6px}.notes-heading{grid-template-columns:1fr;gap:26px;margin-bottom:38px}.notes .section-kicker{margin-bottom:25px}.notes h2{font-size:64px}.notes-heading>p{font-size:13px}.notes-heading br{display:none}.notes .line-link{display:flex;width:100%;margin-top:15px}.post{grid-template-columns:1fr 28px;gap:12px;padding-block:27px}.chapter{grid-column:1/-1;font-size:7px}.post h3{font-size:26px;line-height:1.15}.post p{font-size:12px;line-height:1.6;margin-top:12px;max-width:260px}.post-arrow{font-size:28px;align-self:start;margin-top:0}.contact-top{gap:30px}.contact-top .section-kicker{margin-bottom:35px}.contact-top p:last-child{font-size:11px;width:auto;max-width:150px;text-align:right;margin-bottom:35px}.contact-link{gap:15px;padding-bottom:25px;border-bottom-width:1px}.contact-link h2{font-size:18.2vw;white-space:nowrap}.contact-link>span{font-size:12vw}.contact footer{grid-template-columns:1fr;gap:26px;margin-top:27px}.socials{justify-content:start;gap:25px;font-size:11px}.legal{grid-column:auto;flex-direction:column;gap:16px;margin-top:6px;font-size:6px}.legal>div{gap:25px}.contact .section-space{padding-bottom:28px}}
@media(max-width:700px){.notes-heading h2 br{display:revert}.hero-stage{min-height:800px}}
html[data-motion=off]{scroll-behavior:auto}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}[data-reveal]{opacity:1!important;transform:none!important}.post:is(:hover,:focus-visible) h3,.services summary:is(:hover,:focus-visible) h3{transform:none}}


/* Personal narrative and interaction layer. */
:root{--ghost:#bab7ac;--dark-ghost:#4c4b45}.paper{position:relative;background:var(--paper)}.paper:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.paper>.wrap{position:relative}.wordmark{display:flex;align-items:center;gap:15px}.logo{width:43px;height:30px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square;overflow:visible}.logo path{stroke-dasharray:1;stroke-dashoffset:0}.wordmark:hover .logo-m{transform:translateY(-2px)}.wordmark:hover .logo-b{transform:translateY(2px)}.logo path{transition:transform .45s var(--ease)}[data-motion=on] .logo path{animation:logo-draw 1.3s .2s var(--ease) both}.hero{position:relative}.hero:after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--ink);transform:scaleX(var(--edge,0));transform-origin:left;pointer-events:none}.hello{padding-block:125px}.hello-copy{font-size:clamp(38px,5.4vw,78px);line-height:1.13;font-weight:500;letter-spacing:-.055em;max-width:1220px}.fill-copy .word{position:relative;display:inline-block}.fill-copy .word:after{content:attr(data-word);position:absolute;left:0;top:0;white-space:nowrap;overflow:hidden;width:var(--fill,100%);color:var(--ink);pointer-events:none}.fill-copy .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.hello-meta{display:flex;justify-content:space-between;gap:40px;padding-top:32px;margin-top:44px;border-top:1px solid var(--line);font-size:8px}.services-section{background:var(--ink);color:var(--paper);padding-top:100px;position:relative;isolation:isolate;clip-path:inset(0)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:65px}.section-heading .section-kicker{margin-bottom:25px}.section-heading>p{font-size:14px;line-height:1.65;max-width:430px}.services-section .section-heading>p{color:#b5b6aa}.service-cards{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #505148}.service-card{border-right:1px solid #505148;min-width:0;align-self:start}.service-card:last-child{border-right:0}.service-card summary{padding:20px 21px 25px;cursor:pointer;list-style:none}.service-card summary::-webkit-details-marker{display:none}.service-card h3{font-size:25px;font-weight:500;letter-spacing:-.045em;margin:26px 0 16px}.service-card summary>p{font-size:13px;line-height:1.65;color:#b5b6aa;min-height:66px;max-width:250px}.more{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-top:25px}.more b{font-size:27px;font-weight:400;transition:transform .5s var(--ease),color .3s}.open-label{display:none}.service-card[open] .open-label{display:inline}.service-card[open] .closed-label{display:none}.service-card[open] .more b{transform:rotate(90deg)}.service-card:is(:hover,:focus-within) .more b{color:var(--red);transform:translate(4px,-4px)}.service-card .service-body{padding:0 21px 25px}.service-card .service-body p{color:#b5b6aa;font-size:12px;line-height:1.6}.service-card .service-body .mono{color:#b5b6aa;font-size:6px;line-height:1.9;white-space:normal}.teaser{height:170px;border-bottom:1px solid #505148;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding-bottom:20px;user-select:none}.mini-browser{width:86%;border:1px solid #838479;transform:rotate(-3deg);transition:transform .7s var(--ease)}.mini-bar{height:21px;display:flex;align-items:center;gap:5px;padding-left:8px;border-bottom:1px solid #838479}.mini-bar i{width:3px;height:3px;border-radius:50%;background:#838479}.mini-code{display:flex;flex-direction:column;padding:12px 14px;gap:4px}.mini-code span{font:8px/1.2 Mono,monospace;color:#838479}.mini-code b{font:55px/.95 Anton,sans-serif;letter-spacing:-.02em;color:var(--red);transition:letter-spacing .6s var(--ease)}.service-card:hover .mini-browser{transform:rotate(2deg)}.service-card:hover .mini-code b{letter-spacing:.05em}.type-sample{font:100px/1 Space,sans-serif;letter-spacing:-.07em;position:relative;margin-top:-12px;transition:font-weight .3s,transform .6s var(--ease)}.type-sample span{position:absolute;inset:5px -9px -5px;border:1px dashed #838479;transition:inset .6s var(--ease)}.swatches{position:absolute;bottom:15px;display:flex;gap:7px}.swatches i{height:12px;width:12px;background:var(--paper)}.swatches i:nth-child(2){background:var(--red)}.swatches i:nth-child(3){background:#838479}.service-card:hover .type-sample{transform:scale(.9)}.service-card:hover .type-sample span{inset:-5px -20px -8px}.journey-teaser svg{width:100%;height:100%;fill:var(--ink);stroke:#838479;stroke-width:1.5}.journey-line{stroke:var(--red);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:.6;transition:stroke-dashoffset 1s var(--ease)}.service-card:is(:hover,:focus-within) .journey-line{stroke-dashoffset:0}.version-teaser{gap:10px;font:52px/1 Space,sans-serif;letter-spacing:-.06em}.v-one{color:#838479;transform:rotate(-8deg);transition:transform .6s var(--ease)}.v-arrow{font-size:32px;color:var(--red);transition:transform .6s var(--ease)}.v-two{transform:rotate(7deg);transition:transform .6s var(--ease)}.version-teaser small{position:absolute;bottom:22px;font:6px/1.5 Mono,monospace;letter-spacing:0;color:#838479}.service-card:hover .v-one,.service-card:hover .v-two{transform:rotate(0)}.service-card:hover .v-arrow{transform:translateX(4px)}
.skills{margin-top:105px}.skill-window{overflow:hidden}.skill-row{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:24px;border-top:1px solid #505148;font-size:clamp(35px,4.3vw,62px);line-height:1.1;letter-spacing:-.045em}.skill-row b{font-size:35px;font-weight:400}.brands{justify-content:start;gap:60px;font-size:46px;padding-block:35px;flex-wrap:wrap}.wordpress{font-family:Georgia,serif;font-size:40px;letter-spacing:-.06em}.brands small{margin-left:auto;font-size:7px;max-width:210px;color:#b5b6aa;letter-spacing:0}
.story-heading{border-bottom:1px solid var(--line)}.story-heading h2{font:clamp(65px,7.5vw,108px)/1 Anton,sans-serif;letter-spacing:-.025em}.draft-note{display:inline-block;border-left:2px solid var(--red);padding-left:12px;color:var(--muted);font-size:7px;margin-top:30px}.story-chapter{display:grid;grid-template-columns:.65fr 1.5fr;gap:130px;align-items:start;min-height:86vh;padding-block:100px;border-bottom:1px solid var(--line)}.chapter-label{position:sticky;top:130px}.chapter-label>.mono{font-size:8px;color:var(--muted)}.chapter-label h3{font-size:31px;line-height:1.12;letter-spacing:-.045em;margin-top:20px;font-weight:500}.story-chapter .fill-copy{font-size:clamp(35px,4.15vw,60px);font-weight:500;letter-spacing:-.05em;line-height:1.14}.chapter-foot{font-size:7px;color:var(--muted);margin-top:38px;max-width:500px}.life-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;padding-top:90px;margin-bottom:48px}.life-heading h3{font-size:64px;font-weight:500;letter-spacing:-.055em;line-height:1.05}.life-heading p{font-size:14px;line-height:1.7}.life-heading .mono{display:block;font-size:7px;color:var(--muted);margin-top:22px}.life-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}.life-grid figure:nth-child(2){padding-top:65px}.life-grid figure:nth-child(3){padding-top:15px}.life-image{display:block;width:100%;aspect-ratio:4/5;background-image:url('assets/life-samples.png');background-size:300% 100%;border:0;padding:0;position:relative;overflow:hidden;cursor:pointer}.life-one{background-position:0 0}.life-two{background-position:50% 0}.life-three{background-position:100% 0}.photo-arrow{position:absolute;right:0;bottom:0;background:var(--paper);width:51px;height:51px;display:grid;place-content:center;font-size:26px;transition:background .3s,color .3s,transform .4s var(--ease)}.life-image:hover .photo-arrow{background:var(--red);color:var(--paper)}.life-grid figcaption{display:flex;justify-content:space-between;gap:15px;font-size:12px;line-height:1.4;padding-top:15px}.life-grid figcaption .mono{font-size:6px;color:var(--muted);white-space:nowrap}.client-slots{padding-block:75px 85px;margin-top:40px}.client-slots>.mono{font-size:7px;color:var(--muted)}.client-slots>div{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:32px;border-block:1px solid var(--line);padding-block:27px}.client-slots>div>span{font-size:27px;letter-spacing:-.04em;color:#8c8d83}
.work{background:var(--ink);color:var(--paper);position:relative}.work .section-heading>p{color:#b5b6aa}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.project{min-width:0}.project-open{display:block;border:0;width:100%;padding:0;position:relative;aspect-ratio:1.3;background:var(--paper);overflow:hidden;cursor:pointer}.project-open img{width:100%;height:100%;object-fit:cover;object-position:35% 50%;display:block}.project-arrow{position:absolute;right:0;bottom:0;width:85px;height:85px;display:grid;place-content:center;background:var(--paper);color:var(--ink);font:43px/1 Space,sans-serif;transition:background .3s,color .3s}.project-arrow:after{content:'↗';position:absolute;inset:0;display:grid;place-content:center;transform:translate(-100%,100%);transition:transform .55s var(--ease);background:var(--red);color:var(--paper)}.project-open:is(:hover,:focus-visible) .project-arrow:after{transform:translate(0,0)}.project-empty{display:flex;flex-direction:column;justify-content:space-between;align-items:start;background:#d9d6cb;color:var(--ink);padding:35px;text-align:left}.project-empty>.mono{font-size:8px}.empty-title{font:clamp(44px,4.5vw,65px)/1.05 Space,sans-serif;letter-spacing:-.065em;margin-bottom:80px;max-width:420px}.project-caption{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:24px}.project-caption h3{font-size:27px;font-weight:500;letter-spacing:-.045em}.project-caption .mono{font-size:7px;color:#b5b6aa;text-align:right}.project>p{font-size:13px;color:#b5b6aa;margin-top:14px;line-height:1.6}.work .section-space{padding-bottom:110px}.contact{isolation:isolate}.contact footer{display:block}.footer-head{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-head>.mono{font-size:8px;color:var(--muted)}.footer-big{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:60px;margin-bottom:65px}.footer-big a{display:flex;justify-content:space-between;align-items:center;font-size:clamp(30px,3.5vw,50px);line-height:1.2;letter-spacing:-.055em;border-bottom:1px solid var(--line);padding-bottom:15px;transition:color .3s}.footer-big a span{font-size:29px;transition:transform .45s var(--ease)}.footer-big a:hover{color:var(--red)}.footer-big a:hover span{transform:translate(4px,-4px)}
.viewer{background:var(--paper);color:var(--ink);border:0;padding:28px;width:min(960px,90vw);max-height:90vh;overflow:auto}.viewer::backdrop{background:#101010d9;backdrop-filter:blur(4px)}.viewer-head{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:25px}.viewer-head h2{font-size:30px;letter-spacing:-.045em}.viewer-close{border:0;border-bottom:1px solid var(--ink);background:none;padding:8px 0;font-size:12px;cursor:pointer}.viewer-image{height:min(55vh,540px);background-size:300% 100%;background-position:0 0;background-repeat:no-repeat;background-color:#dedbd0}.viewer-image.is-project{background-size:contain;background-position:center}.viewer-image.is-empty{display:grid;place-content:center;padding:35px;font-size:35px;line-height:1.1;letter-spacing:-.045em;text-align:center}.viewer-copy{font-size:15px;line-height:1.7;max-width:760px;margin-top:24px}.viewer-note{display:block;font-size:7px;color:var(--muted);margin-top:15px}
.cursor{position:fixed;top:0;left:0;pointer-events:none;z-index:10000;display:none;transform:translate(-100px,-100px)}.cursor>span{display:grid;place-content:center;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;border:1px solid var(--ink);background:var(--ink);font:8px/1.25 Mono,monospace;text-align:center;white-space:pre-line;color:var(--paper);transition:width .25s,height .25s,background .25s,color .25s;border-color:transparent}.cursor.is-active>span{width:72px;height:72px;background:var(--red);padding:8px}.cursor.is-dark>span{border:1px solid #f3f1ea70}.cursor.is-reading>span{background:transparent;color:var(--ink);border:1px solid #1c1c1a80;width:55px;height:55px;font-size:7px}.cursor.is-dark.is-reading>span{color:var(--paper);border-color:#f3f1ea80}
[data-motion=on] .fill-copy .word{color:var(--ghost)}[data-motion=on] .fill-copy .word:after{width:var(--fill,0%)}[data-motion=on] .skill-row{opacity:0;transform:translateX(95px);transition:opacity .8s var(--delay,0ms),transform 1.1s var(--delay,0ms) var(--ease)}[data-motion=on] .skill-row.is-in{opacity:1;transform:translateX(0)}[data-motion=on] .section-heading,[data-motion=on] .story-heading,[data-motion=on] .life-heading,[data-motion=on] .life-grid figure,[data-motion=on] .project,[data-motion=on] .service-card{opacity:0;transform:translateY(25px);transition:opacity .8s var(--delay,0ms),transform 1s var(--delay,0ms) var(--ease)}[data-motion=on] .is-in{opacity:1;transform:translateY(0)}[data-motion=on] .service-cards .is-in{opacity:1;transform:translateY(0)}[data-motion=on] .project-grid .is-in,[data-motion=on] .life-grid .is-in{opacity:1;transform:translateY(0)}[data-motion=on] .section-heading.is-in,[data-motion=on] .story-heading.is-in,[data-motion=on] .life-heading.is-in{opacity:1;transform:translateY(0)}[data-motion=on] .work{clip-path:inset(var(--section-inset,0px) 0 0)}
@keyframes logo-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@media(hover:hover) and (pointer:fine){html.has-cursor,html.has-cursor a,html.has-cursor button,html.has-cursor summary{cursor:none}.has-cursor .cursor{display:block}}
@media(max-width:1100px) and (min-width:701px){.service-cards{grid-template-columns:1fr 1fr}.service-card:nth-child(2){border-right:0}.service-card:nth-child(-n+2){border-bottom:1px solid #505148}.teaser{height:185px}.service-card h3{font-size:28px}.story-chapter{gap:60px;grid-template-columns:.6fr 1.5fr}.life-grid{gap:20px}.life-grid figcaption{flex-direction:column;gap:6px}.section-heading{gap:40px}.brands{font-size:38px;gap:35px}.wordpress{font-size:32px}.brands small{margin-left:0}.project-caption{flex-direction:column;align-items:start;gap:10px}.empty-title{font-size:43px}.project-empty{padding:25px}.footer-big{gap:25px}.footer-big a{font-size:31px}.footer-big a span{font-size:22px}}
@media(max-width:700px){.wordmark{gap:10px}.logo{width:32px;height:24px}.hello{padding-block:65px}.hello-copy{font-size:35px;line-height:1.14}.hello-meta{font-size:6px;gap:25px;margin-top:28px;padding-top:22px}.hello-meta a{max-width:160px;text-align:right}.section-heading{display:block;margin-bottom:38px}.section-heading h2{font-size:43px}.section-heading>p{font-size:13px;margin-top:26px;max-width:300px}.service-cards{grid-template-columns:1fr}.service-card{border-right:0;border-bottom:1px solid #505148}.service-card:last-child{border-bottom:0}.service-card summary{padding:20px 22px 24px}.service-card h3{font-size:29px;margin-top:23px}.service-card summary>p{min-height:0;max-width:280px}.teaser{height:170px;max-width:100%;padding-bottom:20px}.mini-browser{width:70%;max-width:260px}.mini-code b{font-size:55px}.service-card .service-body{padding:0 22px 24px}.more{margin-top:20px}.type-sample{font-size:97px}.journey-teaser svg{max-width:240px}.version-teaser{font-size:57px;gap:18px}.skills{margin-top:60px}.skill-row{font-size:31px;padding-block:20px;gap:20px;line-height:1.1}.skill-row b{font-size:23px}.brands{font-size:32px;gap:26px;padding-block:26px}.wordpress{font-size:28px}.brands small{margin-left:0;max-width:250px;font-size:6px;width:100%}.story-heading h2{font-size:64px}.draft-note{font-size:6px;line-height:1.6;max-width:280px;margin-top:24px}.story-chapter{grid-template-columns:1fr;gap:32px;min-height:0;padding-block:65px}.chapter-label{position:static;display:flex;justify-content:space-between;gap:25px;align-items:start}.chapter-label>.mono{font-size:7px}.chapter-label h3{font-size:24px;line-height:1.05;margin:0;max-width:180px;width:180px}.story-chapter .fill-copy{font-size:34px;line-height:1.14}.chapter-foot{font-size:6px;margin-top:27px;max-width:280px}.life-heading{display:block;padding-top:65px;margin-bottom:32px}.life-heading h3{font-size:46px}.life-heading>div{margin-top:25px}.life-heading p{font-size:13px}.life-heading .mono{font-size:6px;line-height:1.7;max-width:285px;margin-top:18px}.life-grid{grid-template-columns:1fr;gap:36px}.life-grid figure:nth-child(2),.life-grid figure:nth-child(3){padding-top:0}.life-grid figcaption{font-size:12px}.life-grid figcaption .mono{font-size:6px}.life-image{aspect-ratio:4/4.6}.client-slots{padding-block:50px 65px;margin-top:10px}.client-slots>.mono{font-size:6px;max-width:280px}.client-slots>div{grid-template-columns:1fr;gap:22px;margin-top:23px;padding-block:24px}.client-slots>div>span{font-size:25px}.project-grid{grid-template-columns:1fr;gap:45px}.project-open{aspect-ratio:1.05}.project-arrow{width:65px;height:65px;font-size:33px}.project-caption{flex-direction:column;align-items:start;gap:12px;margin-top:19px}.project-caption h3{font-size:26px}.project-caption .mono{font-size:6px}.project>p{font-size:12px;margin-top:12px}.project-empty{padding:25px}.project-empty>.mono{font-size:7px}.empty-title{font-size:45px;margin-bottom:65px;max-width:290px}.footer-head{display:block}.footer-head>.mono{display:block;font-size:6px;margin-top:20px}.footer-big{grid-template-columns:1fr;gap:25px;margin-top:40px;margin-bottom:38px}.footer-big a{font-size:37px;padding-bottom:12px}.footer-big a span{font-size:25px}.viewer{padding:22px;width:92vw;max-height:90vh}.viewer-head{gap:20px;margin-bottom:20px}.viewer-head h2{font-size:24px}.viewer-close{font-size:11px;white-space:nowrap}.viewer-image{height:48vh}.viewer-copy{font-size:13px;line-height:1.7;margin-top:20px}.viewer-image.is-empty{font-size:29px;padding:20px}.viewer-note{font-size:6px}}
.viewer-image.is-photo{width:min(100%,432px,44vh);height:auto;aspect-ratio:4/5;margin-inline:auto}
html{scrollbar-gutter:stable}html.viewer-open{overflow:hidden}
@media(max-width:700px){.life-image{aspect-ratio:4/5}}
@media(prefers-reduced-motion:reduce){.fill-copy .word{color:var(--ink)!important}.fill-copy .word:after{width:100%!important}.skill-row,.section-heading,.story-heading,.life-heading,.life-grid figure,.service-card,.project{opacity:1!important;transform:none!important}.work{clip-path:none!important}.cursor{display:none!important}html.has-cursor,html.has-cursor a,html.has-cursor button,html.has-cursor summary{cursor:auto}.hero:after{transform:scaleX(1)}}
.portrait img{mix-blend-mode:multiply}.portrait figcaption{color:var(--ink)}
.teaser{flex-direction:column;gap:14px}.teaser-symbol{font:82px/1 Anton,sans-serif;color:var(--red)}.teaser.type-teaser .teaser-symbol{font-family:Space,sans-serif}.teaser.journey-teaser .teaser-symbol{font-family:Mono,monospace;font-size:38px}.teaser.version-teaser .teaser-symbol{font-family:Space,sans-serif;font-size:50px}.teaser>.mono{font-size:7px;color:#838479}
.case-study{background:var(--paper);padding-bottom:80px}.case-header{padding-bottom:55px}.case-header h1,.contact-page h1,.legal-page h1{font:clamp(82px,15vw,210px)/.95 Anton,sans-serif;letter-spacing:-.025em}.case-lede{font-size:clamp(23px,3vw,38px);line-height:1.3;letter-spacing:-.04em;max-width:900px;margin-top:36px}.case-meta{display:flex;gap:70px;flex-wrap:wrap;margin-top:58px;padding-top:24px;border-top:1px solid var(--line)}.case-meta dt{font-size:8px;color:var(--muted)}.case-meta dd{margin:8px 0 0;font-size:14px}.case-cover{margin:0 auto 100px;max-width:1220px}.case-cover img{display:block;width:100%;height:auto}.case-cover figcaption{margin-top:12px;color:var(--muted)}.case-section{display:grid;grid-template-columns:.8fr 1.5fr;gap:80px;padding:55px 0;border-top:1px solid var(--line)}.case-section .section-kicker{margin:8px 0 0}.case-section h2{font-size:clamp(38px,5vw,68px);margin-bottom:25px}.case-copy{max-width:750px;font-size:17px;line-height:1.8}.case-copy p+p{margin-top:20px}.case-end{display:flex;justify-content:space-between;gap:30px;padding-top:35px;border-top:1px solid var(--ink);font-size:15px}.case-end a:hover{color:var(--red)}
.contact-page{min-height:55vh}.contact-page h1{font-size:clamp(72px,12vw,170px)}.contact-lede{font-size:clamp(23px,3vw,38px);margin-top:30px}.contact-form-intro{margin-top:52px;padding-top:24px;border-top:1px solid var(--line);font-size:17px}.mod_form{max-width:780px;margin:0 auto 100px;padding:0 48px}.mod_form form{display:grid;gap:24px}.mod_form label{display:block;font-size:13px;margin-bottom:8px}.mod_form input:not([type=submit]),.mod_form textarea{width:100%;padding:14px 12px;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font:16px Space,Arial,sans-serif}.mod_form textarea{min-height:190px;resize:vertical}.mod_form input:focus,.mod_form textarea:focus{outline:2px solid var(--red);outline-offset:2px}.mod_form input[type=submit],.mod_form button{justify-self:start;border:0;background:var(--red);color:var(--paper);padding:16px 25px;font:13px Space,Arial,sans-serif;cursor:pointer}.mod_form .widget{margin:0}.mod_form .widget.mandatory label:after{content:' *';color:var(--red)}.mod_form .error{color:#a52c1c;font-size:13px}.mod_form .formbody{display:grid;gap:22px}.mod_form .widget-submit{margin-top:10px}.mod_form .widget-submit input{min-width:180px}.tl_form-error{padding:18px;background:#fff0ed;color:#842b20;margin-bottom:20px}
.legal-page{min-height:45vh}.legal-page h1{font-size:clamp(68px,10vw,135px)}.legal-page .wrap>p:last-child{font-size:17px;line-height:1.7;margin-top:30px;max-width:760px}.site-footer{isolation:isolate}.site-footer footer{display:block}.site-footer .footer-head{display:flex;justify-content:space-between;align-items:center;gap:30px}.site-footer .footer-head>.mono{font-size:8px;color:var(--muted)}.footer-big{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:60px;margin-bottom:65px}.footer-big a{display:flex;justify-content:space-between;align-items:center;font-size:clamp(30px,3.5vw,50px);line-height:1.2;letter-spacing:-.055em;border-bottom:1px solid var(--line);padding-bottom:15px;transition:color .3s}.footer-big a span{font-size:29px;transition:transform .45s var(--ease)}.footer-big a:hover{color:var(--red)}.footer-big a:hover span{transform:translate(4px,-4px)}
.story .life-heading{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:55px 0 85px}.story .life-heading h3{font-size:clamp(38px,4.5vw,64px);letter-spacing:-.055em}.story .life-heading>div:last-child{max-width:440px;padding-top:45px}.story .life-heading p{font-size:15px;line-height:1.7}.story .life-heading .mono{display:block;margin-top:22px;color:var(--muted);font-size:7px}
@media(max-width:700px){.case-study{padding-bottom:45px}.case-header{padding-bottom:40px}.case-header h1{font-size:20vw}.case-lede{font-size:23px;margin-top:24px}.case-meta{gap:24px;margin-top:38px}.case-meta dd{font-size:12px}.case-cover{margin-bottom:55px}.case-section{grid-template-columns:1fr;gap:20px;padding:32px 0}.case-section h2{font-size:40px}.case-copy{font-size:15px}.case-end{font-size:13px}.contact-page h1{font-size:19vw}.contact-lede{font-size:23px}.mod_form{padding-inline:22px;margin-bottom:65px}.site-footer .footer-head{display:block}.site-footer .footer-head>.mono{display:block;margin-top:18px;font-size:6px}.footer-big{grid-template-columns:1fr;gap:25px;margin-top:40px;margin-bottom:38px}.footer-big a{font-size:37px;padding-bottom:12px}.footer-big a span{font-size:25px}.story .life-heading{grid-template-columns:1fr;gap:20px;padding:35px 0 65px}.story .life-heading>div:last-child{padding-top:0}.portrait-mark{font-size:170px}}
.delivery-note{font-size:13px;color:var(--muted);margin-top:18px}
.life-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.photo-figure{min-width:0}.photo-open{width:100%;height:auto;min-height:0;aspect-ratio:4/5;padding:0;border:0;display:block;position:relative;background:#d9d6cb;overflow:hidden;cursor:pointer}.photo-open picture{display:block;width:100%;height:100%}.photo-open img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.photo-open:hover img{transform:scale(1.025)}.photo-arrow{position:absolute;right:0;bottom:0;width:60px;height:60px;display:grid;place-items:center;background:var(--paper);font:29px/1 Space,sans-serif;transition:background .3s,color .3s}.photo-open:hover .photo-arrow{background:var(--red);color:var(--paper)}.photo-figure figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:14px;font:12px/1.4 Space,sans-serif}
.viewer{background:var(--paper);color:var(--ink);border:0;padding:28px;width:min(960px,90vw);max-height:90vh;overflow:auto}.viewer::backdrop{background:#101010d9;backdrop-filter:blur(4px)}.viewer-head{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:25px}.viewer-head h2{font-size:30px;letter-spacing:-.045em}.viewer-close{border:0;border-bottom:1px solid var(--ink);background:none;padding:8px 0;font-size:12px;cursor:pointer}.viewer-image img{display:block;max-width:100%;max-height:70vh;margin:auto}.viewer-open{overflow:hidden}
@media(max-width:700px){.life-grid{grid-template-columns:1fr;gap:36px}.photo-arrow{width:55px;height:55px}.viewer{padding:22px;width:92vw;max-height:90vh}.viewer-head{gap:20px;margin-bottom:20px}.viewer-head h2{font-size:24px}.viewer-close{font-size:11px;white-space:nowrap}}
.hero-stage{background:var(--red)}.portrait{top:-12px;bottom:0;height:auto}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;mix-blend-mode:normal}@media(max-width:1100px) and (min-width:701px){.portrait{top:-5px}}@media(max-width:700px){.portrait{top:164px;bottom:0;height:auto}}
.portrait figcaption{display:none}
.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:70px}.tool-group{border-top:1px solid #505148;padding:22px 0 18px}.tool-group h3{margin:0 0 17px;color:#a9a99f;font-size:9px;font-weight:400;letter-spacing:.08em;text-transform:uppercase}.tech-logos{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0}.tech-logos li{min-width:0;min-height:94px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;color:var(--paper);font:10px/1.35 Mono,monospace;text-align:center}.tech-logos img,.rest-mark,.generic-mark{width:38px;height:38px;object-fit:contain;transition:transform .35s var(--ease)}.tech-logos img{filter:grayscale(1) brightness(0) invert(1)}.tech-logos li:hover img,.tech-logos li:hover .rest-mark,.tech-logos li:hover .generic-mark{transform:translateY(-3px)}.rest-mark{display:block;fill:var(--ink);stroke:#c8c6bd;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.rest-mark circle{fill:var(--ink);stroke:var(--red);stroke-width:1.6}.generic-mark{display:grid;place-items:center;border:1px solid #77786e;color:#dedbd2;font:11px/1 Mono,monospace}
html.is-route-changing{scroll-behavior:auto}
@media(prefers-reduced-motion:no-preference){::view-transition-old(root){animation:portfolio-out .18s ease both}::view-transition-new(root){animation:portfolio-in .28s var(--ease) both}}
@keyframes portfolio-out{to{opacity:.84;transform:translateY(-5px)}}@keyframes portfolio-in{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}}
@media(max-width:700px){.tools-grid{grid-template-columns:1fr;column-gap:0}.tool-group{padding:18px 0 14px}.tech-logos{grid-template-columns:repeat(4,minmax(0,1fr))}.tech-logos li{min-height:88px;font-size:9px}}
