@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/65c558afe41e89d6-s.013x9cty0dvbp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/14e23f9b59180572-s.054a9rxhye2rx.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/b49b0d9b851e4899-s.p.12c_00cnxx2oq.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/2a65768255d6b625-s.p.2r-cuu_7locvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display Fallback;src:local(Times New Roman);ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.0%;size-adjust:111.26%}.Qt_N1a_className{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.Qt_N1a_variable{--font-serif:"Playfair Display", "Playfair Display Fallback"}
@font-face{font-family:Birthstone;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1ee058dcaf8ba5de-s.0unewug9mqqhb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Birthstone;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d1ce6ccdd7739700-s.p.28ka1qpq3ho45.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Birthstone;font-style:normal;font-weight:400;font-display:swap;src:url(../media/91d081bf819140f0-s.p.1uhb1r-qhasit.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Birthstone Fallback;src:local(Arial);ascent-override:150.18%;descent-override:64.82%;line-gap-override:0.0%;size-adjust:63.26%}.Oc9I3W_className{font-family:Birthstone,Birthstone Fallback;font-style:normal;font-weight:400}.Oc9I3W_variable{--font-script:"Birthstone", "Birthstone Fallback"}
:root{--cream:#fff8f3;--blush:#fce3d9;--petal:#fcede6;--peach:#ffb399;--coral:#ff9a86;--rust:#b4513a;--rust-dark:#8e3c29;--ink:#3b2b27;--muted:#6e5650;--serif:var(--font-serif), Georgia, serif;--script:var(--font-script), cursive;--card-shadow:0 1px 2px #7a342417, 0 4px 8px #7a34241f, 0 14px 16px -12px #7a34244d}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--cream);font-family:var(--serif);color:var(--ink);margin:0}a{color:var(--rust)}a:hover{color:var(--rust-dark)}:focus-visible{outline:2px solid var(--rust);outline-offset:3px}h1,h2,h3{font-weight:500}.script{font-family:var(--script)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--cream);border-radius:999px;padding:10px 18px;position:absolute;top:-100px;left:16px}.skip-link:focus{color:var(--cream);top:16px}@media (max-width:720px){.only-desktop{display:none!important}}@media (min-width:721px){.only-mobile{display:none!important}}@media (max-width:900px){.deco{display:none!important}}.sway{transform-origin:50% 100%}@media (prefers-reduced-motion:no-preference){.sway{--sway-amp:3deg;animation:sway var(--sway-dur,6s) ease-in-out var(--sway-delay,0s) infinite alternate}.sway:nth-child(5n+1){--sway-dur:5.2s;--sway-delay:-1.7s}.sway:nth-child(5n+2){--sway-dur:6.8s;--sway-delay:-4.1s;--sway-amp:3.8deg}.sway:nth-child(5n+3){--sway-dur:7.6s;--sway-delay:-2.9s;--sway-amp:2.4deg}.sway:nth-child(5n+4){--sway-dur:6.1s;--sway-delay:-5.3s;--sway-amp:3.4deg}.sway:nth-child(5n){--sway-dur:8.3s;--sway-delay:-.6s;--sway-amp:2.7deg}}@keyframes sway{0%{rotate:calc(var(--sway-amp) * -1)}to{rotate:var(--sway-amp)}}.deco-fill{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.page{display:block;overflow:hidden}.pill{letter-spacing:.16em;text-transform:uppercase;border-radius:999px;font-size:14px;text-decoration:none;transition:background-color .2s,color .2s,transform .2s;display:inline-block}.pill-accent{background:var(--rust);color:var(--cream);padding:12px 24px}.pill-accent:hover{background:var(--rust-dark);color:var(--cream)}.pill-light{background:var(--cream);color:var(--ink);padding:16px 36px}.pill-light:hover{color:var(--rust)}.pill-outline{color:var(--ink);border:1px solid var(--ink);padding:15px 35px}.pill-outline:hover{background:var(--ink);color:var(--cream)}.pill-dark{background:var(--ink);color:var(--cream);padding:18px 40px}.pill-dark:hover{background:var(--rust-dark);color:var(--cream)}.site-header{z-index:10;box-sizing:content-box;justify-content:space-between;align-items:center;gap:16px;max-width:1280px;margin:0 auto;padding:0 clamp(24px,5vw,64px);display:flex;position:absolute;top:32px;left:0;right:0}.wordmark{font-family:var(--script);color:var(--rust);font-size:40px;line-height:1;text-decoration:none}.desktop-nav{letter-spacing:.16em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:12px 32px;font-size:14px;display:flex}.desktop-nav a:not(.pill){color:var(--ink);text-decoration:none}.desktop-nav a:not(.pill):hover{color:var(--rust)}.talk{place-items:center;display:inline-grid;overflow:hidden}.talk-label,.talk-arrow{grid-area:1/1}.talk-arrow{stroke:currentColor;stroke-width:1.1px;stroke-linecap:round;stroke-linejoin:round;margin:-2px 0;overflow:visible}.talk-arrow path{stroke-dasharray:1;stroke-dashoffset:1px}.talk-arrow{opacity:0}.talk:hover .talk-arrow,.talk:focus-visible .talk-arrow{opacity:1}.talk:hover .talk-label,.talk:focus-visible .talk-label{opacity:0;translate:0 -130%}.talk:hover .talk-arrow path,.talk:focus-visible .talk-arrow path{stroke-dashoffset:0}@media (prefers-reduced-motion:no-preference){.talk-label{transition:opacity .25s .15s,translate .35s cubic-bezier(.3,.7,.3,1) .15s}.talk-arrow path{transition:stroke-dashoffset .25s ease-in}.talk-arrow{transition:opacity 0s linear .25s}.talk:hover .talk-arrow,.talk:focus-visible .talk-arrow{transition:none}.talk:hover .talk-label,.talk:focus-visible .talk-label{transition:opacity .2s,translate .3s cubic-bezier(.5,0,.7,.4)}.talk:hover .talk-arrow path,.talk:focus-visible .talk-arrow path{transition:stroke-dashoffset .7s cubic-bezier(.45,0,.25,1) .12s}.talk:hover .talk-arrow-head,.talk:focus-visible .talk-arrow-head{transition:stroke-dashoffset .22s ease-out .78s}}.mobile-menu{display:none;position:relative}.menu-button{background:var(--rust);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.menu-panel{background:var(--cream);min-width:220px;box-shadow:var(--card-shadow);letter-spacing:.16em;text-transform:uppercase;border-radius:20px;flex-direction:column;align-items:stretch;gap:4px;padding:12px;font-size:14px;display:flex;position:absolute;top:56px;right:0}.menu-panel[hidden]{display:none}.menu-panel a{color:var(--ink);border-radius:999px;padding:12px 16px;text-decoration:none}.menu-panel a.pill{text-align:center;color:var(--cream);margin-top:4px}.hero{background:var(--blush);padding:76px clamp(24px,5vw,64px) 190px;position:relative;overflow:hidden}.hero-body{text-align:center;max-width:820px;margin:120px auto 0;position:relative}.hero-squiggle{width:160px;height:12px;margin:0 auto 24px;display:block}.hero-title{color:var(--rust);letter-spacing:-.01em;margin:0;font-size:clamp(64px,10vw,128px);line-height:.95}.hero-role{font-family:var(--script);color:var(--ink);letter-spacing:0;margin-top:-6px;font-size:clamp(56px,7vw,92px);font-weight:400;line-height:1;display:block}.hero-tagline{max-width:560px;margin:28px auto 0;font-size:19px;line-height:1.7}.hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:40px;display:flex}.polaroid{perspective:700px;width:144px;margin:0;position:absolute;top:20px;right:-220px;transform:rotate(6deg)scale(1.15)}.polaroid-card{width:100%;font:inherit;color:inherit;text-align:center;cursor:pointer;transform-style:preserve-3d;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;display:block;position:relative}.polaroid-card[data-flipped]{transform:rotateY(180deg)}.polaroid-face{isolation:isolate;backface-visibility:hidden;padding:9px 9px 34px;display:block;position:relative}.polaroid-back{position:absolute;inset:0;transform:rotateY(180deg)}.polaroid-garden{background:var(--petal)}.garden{--flip-time:.45s;width:100%;height:100%;display:block}.garden path{fill:none;stroke:var(--rust);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.garden path.garden-bloom{fill:var(--coral);fill-opacity:.45}@media (prefers-reduced-motion:no-preference){.polaroid-card{transition:transform .6s cubic-bezier(.3,.7,.3,1),translate .25s}@media (hover:hover){.polaroid-card:hover{translate:0 -3px}}.garden-tulip{transform-box:fill-box;transform-origin:50% 100%;animation:1.3s cubic-bezier(.34,1.4,.5,1) both tulip-grow}}@keyframes tulip-grow{0%{opacity:0;scale:.4 0}40%{opacity:1}to{scale:1}}.pluck{z-index:2;position:absolute}.pluck-button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.pluck-button:focus-visible{border-radius:12px}.pluck-flower{display:block;overflow:visible}.petal[data-state=gone]{opacity:0}.bubble{background:var(--cream);box-shadow:var(--card-shadow);white-space:nowrap;color:var(--ink);pointer-events:none;opacity:0;border-radius:18px;padding:9px 16px;font-size:15px;line-height:1.3;position:absolute;bottom:88%;translate:0 12px;scale:.3}.bubble:after{content:"";background:var(--cream);width:12px;height:12px;position:absolute;bottom:-5px;rotate:45deg}.bubble[data-side=right]{transform-origin:10px 100%;left:calc(50% - 16px)}.bubble[data-side=right]:after{left:12px}.bubble[data-side=left]{transform-origin:calc(100% - 10px) 100%;right:calc(50% - 16px)}.bubble[data-side=left]:after{right:12px}.bubble[data-show]{opacity:1;translate:0;scale:1}@media (prefers-reduced-motion:no-preference){.petal[data-state=gone]{transform-box:fill-box;transform-origin:50%;animation:1.4s ease-in forwards petal-fall}.petal[data-state=regrow]{transform-box:view-box;transform-origin:40px 36px;animation:.6s cubic-bezier(.34,1.56,.64,1) both petal-regrow;animation-delay:calc(var(--i) * 45ms)}.bubble{transition:opacity .2s,scale .25s ease-in,translate .25s ease-in}.bubble[data-show]{transition:opacity .15s,scale .5s cubic-bezier(.34,1.56,.64,1),translate .5s cubic-bezier(.34,1.56,.64,1)}}@keyframes petal-fall{0%{opacity:1;translate:0;rotate:0deg}25%{translate:calc(var(--drift) * 10px) 8px;rotate:calc(var(--drift) * 60deg);opacity:1}60%{translate:calc(var(--drift) * -8px) 60px}to{translate:calc(var(--drift) * 12px) 120px;rotate:calc(var(--drift) * 220deg);opacity:0}}@keyframes petal-regrow{0%{scale:0}to{scale:1}}.polaroid-edge{z-index:-1;filter:drop-shadow(0 1px 3px #7a34241f);position:absolute;top:-5px;left:-5px;overflow:visible}.polaroid-photo{object-fit:cover;object-position:center 30%;outline-offset:3px;outline:1px solid #f3c8b8;width:100%;height:141px;display:block}.polaroid-caption{text-align:center;font-family:var(--script);color:var(--rust);font-size:24px;line-height:1;position:absolute;bottom:5px;left:0;right:0}@media (max-width:1100px){.polaroid{margin:40px auto 0;position:relative;top:auto;right:auto}}.wave{width:100%;height:80px;margin-top:-80px;display:block;position:relative}.about-wrap{position:relative;overflow:hidden}.about{text-align:center;max-width:780px;margin:0 auto;padding:104px 24px 88px;position:relative}.about-fern{stroke-width:1.6px;width:56px;height:124px;margin:0 auto 8px;display:block}.about-kicker{color:var(--coral);margin:0;font-size:52px;line-height:1.1}.about-title{color:var(--rust);margin:4px 0 24px;font-size:clamp(34px,4vw,48px);line-height:1.15}.about p:not(.about-kicker){margin:0 0 18px;font-size:19px;line-height:1.8}.about p:last-child{margin-bottom:0}.hill{height:96px;margin-top:-24px;position:relative}.hill>svg{width:100%;height:100%;position:absolute;bottom:0;left:0}.journey{background:var(--petal);margin-top:-2px;padding:50px 24px 104px;position:relative}.journey-inner{flex-wrap:wrap;gap:56px;max-width:1100px;margin:0 auto;display:flex}.journey-intro{flex:300px;min-width:0}.journey-kicker{color:var(--rust);margin:0;font-size:48px;line-height:1}.journey-title{margin:0 0 20px;font-size:clamp(40px,5vw,56px);line-height:1.1}.journey-text{max-width:320px;margin:0;font-size:18px;line-height:1.75}.timeline{flex:2 560px;min-width:0;padding-left:64px;position:relative}.timeline ol{margin:0;padding:0;list-style:none}.timeline-vine{width:40px;height:calc(100% - 40px);position:absolute;top:20px;left:0}.timeline-item{padding-bottom:40px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-marker{width:28px;height:28px;position:absolute;top:3px;left:-58px}.timeline-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:6px 24px;margin-bottom:14px;display:flex}.timeline-what{flex:260px;min-width:0}.timeline-what h3{margin:0 0 4px;font-size:26px}.timeline-org{color:var(--rust);margin:0;font-size:17px}.timeline-meta{color:var(--muted);flex-direction:column;flex:none;align-items:flex-end;gap:2px;margin:0;padding-top:6px;font-size:15px;display:flex}.timeline-sep{display:none}.timeline-desc{margin:0;font-size:17px;line-height:1.75}.washi{z-index:2;height:38px;margin:-19px 0;position:relative}.washi svg{display:block}.washi{overflow:hidden}.washi-strip{width:calc(100% + 34px)}@media (prefers-reduced-motion:no-preference){.washi-strip{animation:4.5s linear infinite washi-drift}}@keyframes washi-drift{to{translate:-34px}}.work{max-width:1200px;margin:0 auto;padding:64px 24px 112px}.work-heading{text-align:center;margin-bottom:64px}.work-kicker{color:var(--coral);margin:0;font-size:52px;line-height:1}.work-title{color:var(--rust);margin:0;font-size:clamp(40px,5vw,60px);line-height:1.1}.card{box-shadow:var(--card-shadow);background:#fff;border-radius:2px;transition:transform .3s;position:relative}.tape{z-index:1;pointer-events:none;position:absolute}.tinted{isolation:isolate;height:100%;position:relative;overflow:hidden}.tinted img{object-fit:cover;filter:saturate(.55)brightness(1.08)}.tinted:before,.tinted:after{content:"";z-index:1;position:absolute;inset:0}.tinted:before{background:var(--coral);mix-blend-mode:multiply;opacity:.5}.tinted:after{mix-blend-mode:soft-light;opacity:.6;background:#ffe6dc}.project-desc{margin:0 0 8px;font-size:16px;line-height:1.65}.project-tags{letter-spacing:.1em;color:var(--rust);margin:0;font-size:14px}.project-links{flex-wrap:wrap;gap:8px 24px;margin-top:16px;display:flex}.project-links a{letter-spacing:.16em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--coral);padding-bottom:3px;font-size:13px;text-decoration:none}.project-links a:hover{color:var(--rust);border-bottom-color:var(--rust)}.featured{flex-wrap:wrap;align-items:stretch;margin-bottom:64px;padding:20px;display:flex;transform:rotate(-.6deg)}.tape-left,.tape-right{width:110px;height:28px;top:14px}.tape-left{background:var(--coral);opacity:.7;left:-26px;transform:rotate(-38deg)}.tape-right{background:var(--peach);opacity:.8;right:-26px;transform:rotate(38deg)}.featured-media{flex:1.5 520px;min-width:0;min-height:380px;position:relative}.featured-media .tinted{position:absolute;inset:0}.featured-media .tinted img{filter:saturate(.55)brightness(1.3)}.featured-body{flex:360px;min-width:0;padding:36px 40px}.featured-body h3{margin:0 0 16px;font-size:44px;line-height:1.1}.featured-body .project-desc{margin-bottom:20px;font-size:18px;line-height:1.75}.featured-body .project-tags{letter-spacing:.12em}.featured-body .project-links{margin-top:28px}.featured-body .project-links a{padding-bottom:4px;font-size:14px}.work-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px 36px;display:grid}.small-card{padding:16px 16px 24px}.small-card h3{margin:18px 0 6px;font-size:26px}.small-media{aspect-ratio:4/3;position:relative}.tape-top{width:80px;height:24px;top:-12px}.tilt-0{transform:rotate(1deg)}.tilt-0 .tape-top{background:var(--coral);opacity:.6;left:40%;transform:rotate(4deg)}.tilt-1{transform:rotate(-1deg)}.tilt-1 .tape-top{background:var(--peach);opacity:.75;left:36%;transform:rotate(-5deg)}.tilt-2{transform:rotate(.8deg)}.tilt-2 .tape-top{background:var(--coral);opacity:.6;left:42%;transform:rotate(3deg)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.card:hover{transform:rotate(0)translateY(-4px)}}.lace{z-index:1;margin:-2px 0;display:block;position:relative}.skills{background:var(--petal);padding:88px 24px 96px;position:relative;overflow:hidden}.skills-daisy{stroke-width:1.3px;width:120px;height:270px;position:absolute;top:100px;left:6%}.skills-heart{position:absolute;top:96px;right:9%}.skills-spark-1{position:absolute;top:140px;right:12%}.skills-spark-2{position:absolute;bottom:120px;right:7%}.skills-bow-wrap{transform-origin:50% 46%;width:fit-content;margin:0 auto 36px}.skills-bow{stroke-width:1.3px;width:100px;height:62px;display:block}@media (prefers-reduced-motion:no-preference){.wiggle[data-playing]{animation:.9s ease-out wiggle}}@keyframes wiggle{0%{rotate:0deg;scale:1}15%{rotate:-9deg;scale:1.06}35%{rotate:7deg}55%{rotate:-4deg}75%{rotate:2deg;scale:1}to{rotate:0deg}}.skills-cols{flex-wrap:wrap;justify-content:center;gap:48px;max-width:960px;margin:0 auto;display:flex;position:relative}.skills-col{text-align:center;flex:380px}.skills-col h2{color:var(--rust);margin:0 0 28px;font-size:clamp(32px,3.4vw,42px);line-height:1.15}.skills-col ul{margin:0;padding:0;font-size:21px;line-height:1.9;list-style:none}.highlight{text-decoration:underline;-webkit-text-decoration-color:var(--peach);text-decoration-color:var(--peach);text-underline-offset:-3px;text-decoration-skip-ink:none;text-decoration-thickness:7px}.skills-divider line{stroke:var(--coral);stroke-width:2px;stroke-linecap:round;stroke-dasharray:5 7}.skills-divider-v{flex:0 0 20px;justify-content:center;align-self:stretch;margin-top:64px;display:flex;position:relative}.skills-divider-v .skills-divider-heart{background:var(--petal);box-sizing:content-box;padding:6px 0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.skills-divider-h{align-items:center;width:70%;height:20px;margin:0 auto;display:flex;position:relative}.skills-divider-h .skills-divider-heart{background:var(--petal);box-sizing:content-box;padding:0 8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact{background:var(--peach);text-align:center;padding:120px 24px;position:relative;overflow:hidden}.contact-tulip{stroke-width:1.2px;width:110px;height:250px;position:absolute;bottom:-6px;left:6%}.contact-inner{max-width:720px;margin:0 auto;position:relative}.contact-lead{margin:0;font-size:clamp(24px,3vw,33px);font-weight:500;line-height:1.2}.contact-title{font-family:var(--script);-webkit-text-stroke:.9px var(--ink);margin:6px 0 28px;font-size:clamp(54px,6.4vw,84px);font-weight:400;line-height:1.05}.contact-text{margin:0 0 40px;font-size:19px;line-height:1.7}.contact-alt{margin:18px 0 0;font-size:15px}.contact-alt a{color:var(--ink)}.contact-alt a:hover{color:var(--rust-dark)}.contact-social{flex-wrap:wrap;justify-content:center;gap:12px 32px;margin-top:36px;font-size:16px;display:flex}.contact-social a{color:var(--ink);transition:color .2s;display:inline-flex}.contact-social a:hover{color:var(--rust-dark)}.site-footer{letter-spacing:.04em;color:#7a3424;flex-direction:column;align-items:center;gap:4px;margin-top:-52px;padding:0 24px 32px;font-size:14px;line-height:20px;display:flex;position:relative}html:has(dialog.letter[open]){overflow:hidden}.letter{--env-w:620px;--back-h:380px;--flap-h:220px;--pocket-h:310px;--fflap-h:270px;--seal:58px;--seal-top:142px;--tuck:calc(100% - var(--pocket-h) + 24px);width:100%;max-width:none;height:100%;max-height:none;color:var(--ink);overscroll-behavior:contain;background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:auto}.letter::backdrop{background:0 0}.letter-scene{background:var(--peach);flex-direction:column;align-items:center;min-height:100%;display:flex;position:relative;overflow:clip}.letter-flourish{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.letter-scrim{pointer-events:none;background:#3b2b276b;position:absolute;inset:0}.env{--env-mb:56px;width:var(--env-w);max-width:calc(100% - 32px);margin:48px auto calc(var(--env-mb) - var(--fit-gap,0px));transform:scale(var(--fit,1));transform-origin:50% 0;position:relative}.env-plant{transform-origin:50% 100%;position:absolute}.env-plant svg{display:block}.env-plant-left{bottom:40px;left:-64px}.env-plant-right{bottom:30px;right:-54px}.env-flap-back{left:0;bottom:calc(var(--back-h) - 2px);width:100%;height:var(--flap-h);transform-origin:50% 100%;position:absolute}.env-back{height:var(--back-h);background:#f29b85;border-radius:4px 4px 10px 10px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 30px 60px -20px #3b2b2773}.env-slot{clip-path:inset(-400px -100px 0);position:relative}.env-letter{background:var(--cream);border-radius:3px;margin:0 34px;padding:40px 44px 292px;position:relative;box-shadow:0 1px 2px #7a342414,0 8px 18px #7a34241f}.env-close{background:var(--cream);cursor:pointer;border:1px solid #f3d6cb;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute;top:16px;right:16px}.env-close:hover{background:var(--petal)}.env-squiggle{width:120px;height:10px;margin-bottom:14px;display:block}.env-title{font-family:var(--script);color:var(--rust);-webkit-text-stroke:.5px var(--rust);margin:0 0 22px;font-size:52px;font-weight:400;line-height:1}.env-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;display:grid}.env-field{color:var(--muted);text-align:left;flex-direction:column;gap:4px;font-size:14px;display:flex}.env-wide{grid-column:span 2}.env-field input,.env-field textarea{width:100%;font:inherit;color:var(--ink);background:0 0;border:none;border-radius:0;outline:none;font-size:17px}.env-field input{border-bottom:1px solid #e6c9bd;padding:6px 0 8px}.env-field textarea{resize:none;background:repeating-linear-gradient(#0000 0 31px,#eed6cc 31px 32px);padding:0;line-height:32px}.env-field input:focus{border-bottom-color:var(--rust);box-shadow:0 1px 0 var(--rust)}.env-field textarea:focus{background-image:repeating-linear-gradient(to bottom, transparent 0 31px, var(--coral) 31px 32px)}.env-field ::placeholder{color:#c9aaa0}.env-error{color:var(--rust-dark);margin:18px 0 0;font-size:15px}.env-regards{text-align:right;font-family:var(--script);color:var(--coral);margin:18px 0 0;font-size:34px;line-height:1}.env-signature{min-height:1.1em;color:var(--rust);overflow-wrap:anywhere;margin-top:6px;font-size:40px;line-height:1.1;display:block}.env-pocket{width:100%;height:var(--pocket-h);pointer-events:none;filter:drop-shadow(0 -2px 3px #7a34241f);position:absolute;bottom:0;left:0}.env-flap-front{left:0;bottom:calc(var(--back-h) - var(--fflap-h));width:100%;height:var(--fflap-h);pointer-events:none;transform-origin:50% 0;filter:drop-shadow(0 3px 3px #7a342429);position:absolute;scale:1 0}.env-actions{height:var(--pocket-h);pointer-events:none;flex-direction:column;justify-content:flex-end;align-items:center;gap:12px;padding-bottom:26px;display:flex;position:absolute;bottom:0;left:0;right:0}.env-actions>*{pointer-events:auto}.env-seal{left:50%;top:var(--seal-top);width:var(--seal);height:var(--seal);margin-left:calc(var(--seal) / -2);background:var(--rust);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;box-shadow:0 2px 4px #3b2b2740,inset 0 0 0 4px #fff8f326}.env-seal svg{width:42%;height:42%}.env-from{font-family:var(--script);color:var(--rust);opacity:0;pointer-events:none;font-size:34px;line-height:1;position:absolute;bottom:34px;right:44px}.env-send{background:var(--ink);min-height:44px;color:var(--cream);font-family:var(--serif);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border:none;border-radius:999px;padding:16px 40px;font-size:13px;position:relative}.env-send:hover{background:var(--rust-dark)}.env-alt{color:#5a2a1e;margin:0;font-size:14px;position:relative}.env-alt a{color:#5a2a1e}.sent{text-align:center;flex-direction:column;align-items:center;padding:196px 40px 64px;display:flex;position:relative}.sent-close{z-index:1;cursor:pointer;background:0 0;border:1px solid #fff8f380;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:fixed;top:32px;right:40px}.sent-close:hover{background:#fff8f31f}.sent-envelope{position:relative;rotate:-3deg}.sent-svg{filter:drop-shadow(0 22px 24px #3b2b2752);width:520px;max-width:100%;height:auto;display:block;overflow:visible}.sent-trail{width:300px;height:90px;position:absolute;bottom:10px;left:-250px;overflow:visible}.sent-spark{position:absolute}.sent-spark-1{top:-26px;right:-44px}.sent-spark-2{top:18px;right:-70px}.sent-title{font-family:var(--script);color:var(--cream);-webkit-text-stroke:.6px var(--cream);margin:72px 0 0;font-size:72px;font-weight:400;line-height:1}.sent-text{max-width:440px;color:var(--cream);margin:16px 0 0;font-size:21px;line-height:1.55}.sent-back{background:var(--cream);min-height:44px;color:var(--ink);font-family:var(--serif);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border:none;border-radius:999px;margin-top:32px;padding:16px 40px;font-size:13px}.sent-back:hover{background:#fff}.env-letter{transition:translate .6s cubic-bezier(.3,.7,.3,1) .4s}.letter[data-stage=sealing] .env-letter{translate:0 var(--tuck)}.letter[data-stage=sealing] .env-flap-back{scale:1 0}.letter[data-stage=sealing] .env-flap-front{scale:1}.letter[data-stage=sealing] .env-send,.letter[data-stage=sealing] .env-alt{opacity:0;pointer-events:none}.letter[data-stage=sealing] .env-from{opacity:1}.letter[data-closing] .letter-scene{opacity:0}@media (prefers-reduced-motion:no-preference){.letter-scene{transition:opacity .25s;animation:.3s backwards letter-fade-in}.env{animation:.75s cubic-bezier(.2,1.1,.3,1) .1s backwards env-rise}.env-flap-front{transition:scale .2s ease-in;animation:.22s ease-in .6s backwards flap-front-open}.env-flap-back{transition:scale .25s ease-out .2s;animation:.32s cubic-bezier(.2,.9,.3,1.15) .82s backwards flap-back-unfold}.env-letter{animation:.85s cubic-bezier(.2,.9,.25,1) 1s backwards letter-pull-out}.env-seal{animation:.45s .5s backwards seal-wobble}.env-send,.env-alt{transition:opacity .3s 1s;animation:.35s 1.5s backwards letter-fade-in}.env-from{transition:opacity .2s}.env-plant{animation:.7s cubic-bezier(.2,.9,.3,1.1) 1.3s backwards plant-grow}.letter[data-stage=sealing] .env-letter{transition:translate .65s cubic-bezier(.55,0,.35,1)}.letter[data-stage=sealing] .env-flap-back{transition:scale .22s ease-in .65s}.letter[data-stage=sealing] .env-flap-front{transition:scale .28s cubic-bezier(.2,.8,.3,1.25) .87s}.letter[data-stage=sealing] .env-seal{animation:.55s cubic-bezier(.3,.7,.4,1) 1.15s both seal-stamp}.letter[data-stage=sealing] .env-send,.letter[data-stage=sealing] .env-alt{transition:opacity .25s}.letter[data-stage=sealing] .env-from{transition:opacity .45s 1.35s}.sent-doodle{animation:.5s .75s backwards letter-fade-in}.sent-trail{animation:.8s ease-out .85s backwards trail-draw}.sent-spark{animation:.5s cubic-bezier(.3,1.6,.5,1) 1.15s backwards spark-pop}.sent-spark-2{animation-delay:1.25s}.sent-title{animation:.6s .9s backwards rise-in}.sent-text{animation:.6s 1.05s backwards rise-in}.sent-back{animation:.6s 1.2s backwards rise-in}.sent-close{animation:.4s 1.2s backwards letter-fade-in}}@keyframes letter-fade-in{0%{opacity:0}}@keyframes env-rise{0%{opacity:0;translate:0 50vh;rotate:-4deg}40%{opacity:1}}@keyframes flap-front-open{0%{scale:1}to{scale:1 0}}@keyframes flap-back-unfold{0%{scale:1 0}}@keyframes letter-pull-out{0%{translate:0 var(--tuck)}}@keyframes seal-wobble{40%{rotate:-6deg;scale:1.12}70%{rotate:4deg}}@keyframes seal-stamp{0%{translate:0;scale:1}35%{translate:0 -12px;scale:1.4}65%{translate:0;scale:.88}to{scale:1}}@keyframes plant-grow{0%{opacity:0;scale:1 0}}@keyframes trail-draw{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes spark-pop{0%{rotate:-45deg;scale:0}}@keyframes rise-in{0%{opacity:0;translate:0 14px}}@media (max-width:720px){.letter{--back-h:272px;--flap-h:130px;--pocket-h:270px;--fflap-h:146px;--seal:48px;--seal-top:98px}.env{--env-mb:24px;width:auto;max-width:none;margin:96px 16px calc(var(--env-mb) - var(--fit-gap,0px));align-self:stretch}.env-letter{margin:0 12px;padding:28px 22px 268px}.env-close{top:12px;right:12px}.env-squiggle{width:96px;height:8px;margin-bottom:12px}.env-title{margin-bottom:16px;font-size:42px}.env-fields{grid-template-columns:1fr;gap:16px}.env-wide{grid-column:auto}.env-field{font-size:13px}.env-field input,.env-field textarea{font-size:16px}.env-field textarea{background-image:repeating-linear-gradient(#0000 0 29px,#eed6cc 29px 30px);line-height:30px}.env-field textarea:focus{background-image:repeating-linear-gradient(to bottom, transparent 0 29px, var(--coral) 29px 30px)}.env-regards{margin-top:14px;font-size:30px}.env-signature{font-size:34px}.env-actions{gap:10px;padding-bottom:22px}.env-from{font-size:28px;bottom:26px;right:22px}.env-send{padding:15px 34px;font-size:12px}.env-alt{text-align:center;font-size:13px}.sent{align-self:stretch;padding:200px 24px 64px}.sent-close{top:16px;right:16px}.sent-svg{width:300px}.sent-trail{width:170px;height:60px;bottom:-40px;left:-46px}.sent-spark-1{width:14px;height:14px;top:-18px;right:-10px}.sent-spark-2{width:9px;height:9px;top:-34px;right:18px}.sent-title{margin-top:56px;font-size:48px}.sent-text{max-width:300px;margin-top:14px;font-size:17px}.sent-back{margin-top:28px;padding:15px 34px;font-size:12px}}.case-hero{background:var(--blush);text-align:center;padding:76px clamp(24px,5vw,64px) 120px;position:relative}.case-hero .hero-body{margin-top:96px}.case-title{color:var(--rust);margin:0;font-size:clamp(56px,8vw,104px);line-height:1}.case-body{max-width:780px;margin:0 auto;padding:72px 24px 112px}.case-body p{margin:0 0 20px;font-size:19px;line-height:1.8}.case-gallery{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:32px;margin:48px 0;display:grid}.case-gallery .card{padding:12px}.case-gallery img{width:100%;height:auto;display:block}.case-facts{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px 32px;margin:0 0 40px;display:grid}.case-facts dt{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:13px}.case-facts dd{color:var(--rust);margin:4px 0 0;font-size:18px}@media (max-width:720px){.site-header{padding:0 20px;top:20px}.wordmark{font-size:34px}.desktop-nav{display:none}.mobile-menu{display:block}.pill{font-size:13px}.pill-light{padding:14px 26px}.pill-outline{padding:13px 25px}.pill-dark{letter-spacing:.12em;padding:16px 24px;font-size:12px}.hero{padding:64px 20px 150px}.hero-body{margin-top:64px}.hero-squiggle{stroke-width:1.6px;width:120px;height:10px;margin-bottom:20px}.hero-title{font-size:54px;line-height:.98}.hero-role{margin-top:0;font-size:46px;line-height:1.05}.hero-tagline{max-width:320px;margin-top:20px;font-size:17px;line-height:1.65}.hero-actions{gap:12px;margin-top:28px}.polaroid{transform:rotate(5deg)}.wave{height:40px;margin-top:-40px}.about{padding:56px 20px}.about-fern{stroke-width:1.8px;width:40px;height:89px;margin-bottom:6px}.about-kicker{font-size:42px}.about-title{margin-bottom:18px;font-size:30px;line-height:1.2}.about p:not(.about-kicker){margin-bottom:14px;font-size:17px;line-height:1.75}.hill{height:64px;margin-top:0}.journey{padding:32px 20px 64px}.journey-inner{display:block}.journey-kicker{font-size:40px}.journey-title{margin-bottom:32px;font-size:36px}.journey-text{display:none}.timeline{padding-left:54px}.timeline-vine{height:calc(100% - 28px);top:14px}.timeline-item{padding-bottom:32px}.timeline-marker{width:26px;height:26px;top:1px;left:-47px}.timeline-head{margin-bottom:10px;display:block}.timeline-what h3{margin-bottom:2px;font-size:22px;line-height:1.25}.timeline-org{margin-bottom:6px;font-size:16px}.timeline-meta{padding-top:0;font-size:14px;display:block}.timeline-sep{display:inline}.timeline-desc{font-size:16px;line-height:1.7}.washi{height:30px;margin:-15px 0}.work{padding:64px 20px 72px}.work-heading{margin-bottom:40px}.work-kicker{font-size:40px}.work-title{font-size:36px}.featured{margin-bottom:44px;padding:14px 14px 24px;display:block;transform:rotate(-.8deg)}.tape-left,.tape-right{width:80px;height:22px;top:10px}.tape-left{left:-14px}.tape-right{right:-14px}.featured-media{aspect-ratio:4/3;min-height:0}.featured-body{padding:0}.featured-body h3{margin:18px 0 10px;font-size:30px}.featured-body .project-desc{margin-bottom:14px;font-size:16px;line-height:1.7}.featured-body .project-links{margin-top:14px}.project-tags{font-size:13px}.project-links{margin-top:14px}.project-links a,.featured-body .project-links a{padding-bottom:3px;font-size:12px}.work-grid{grid-template-columns:1fr;gap:44px}.small-card{padding:14px 14px 22px}.small-card h3{margin:16px 0 6px;font-size:24px}.tape-top{width:64px;height:22px;top:-11px}.skills{padding:48px 20px 64px}.skills-daisy{stroke-width:1.6px;width:54px;height:122px;top:40px;left:10px}.skills-bow-wrap{margin-bottom:24px}.skills-bow{stroke-width:1.4px;width:80px;height:50px}.skills-cols{display:block}.skills-col h2{margin-bottom:18px;font-size:30px}.skills-col ul{font-size:18px}.skills-divider-h{margin:32px auto}.highlight{text-underline-offset:-2px;text-decoration-thickness:6px}.contact{padding:112px 20px 96px}.contact-tulip{stroke-width:1.6px;width:52px;height:117px;bottom:-4px;left:14px}.contact-lead{font-size:22px;line-height:1.25}.contact-title{-webkit-text-stroke-width:.7px;margin-bottom:20px;font-size:54px}.contact-text{max-width:300px;margin:0 auto 28px;font-size:16px;line-height:1.65}.contact-social{gap:28px;margin-top:26px}.site-footer{background:var(--cream);letter-spacing:0;color:var(--muted);margin-top:0;padding:24px 20px 28px}.case-hero{padding:64px 20px 96px}.case-hero .hero-body{margin-top:64px}.case-body{padding:48px 20px 72px}.case-body p{font-size:17px;line-height:1.75}}
