@font-face{font-family:montreal;src:url(../media/PPNeueMontreal_Book-s.p.1wyxxfczl-au1.otf)format("opentype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:montreal;src:url(../media/PPNeueMontreal_Medium-s.p.2k47eveog_d1w.otf)format("opentype");font-display:swap;font-weight:500 600;font-style:normal}@font-face{font-family:montreal;src:url(../media/PPNeueMontreal_Bold-s.p.1ao9wcubsi-fl.otf)format("opentype");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:montreal;src:url(../media/PPNeueMontreal_Italic-s.p.0tpdsduiboapc.otf)format("opentype");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:montreal Fallback;src:local(Arial);ascent-override:101.42%;descent-override:25.62%;line-gap-override:0.0%;size-adjust:94.46%}.montreal_4f70c6ee-module__Si-F1W__className{font-family:montreal,montreal Fallback}.montreal_4f70c6ee-module__Si-F1W__variable{--font-montreal:"montreal", "montreal Fallback"}
@font-face{font-family:geist;src:url(../media/Geist-s.p.40fv_8nktjm_5.woff)format("woff");font-display:swap;font-weight:100 900}@font-face{font-family:geist Fallback;src:local(Arial);ascent-override:85.83%;descent-override:20.52%;line-gap-override:9.33%;size-adjust:107.19%}.geist_c00c0579-module__9Qlxdq__className{font-family:geist,geist Fallback}.geist_c00c0579-module__9Qlxdq__variable{--font-geist:"geist", "geist Fallback"}
@font-face{font-family:geistMono;src:url(../media/GeistMono-s.p.0kq4e1146y5_w.woff)format("woff");font-display:swap;font-weight:100 900}@font-face{font-family:geistMono Fallback;src:local(Arial);ascent-override:69.97%;descent-override:16.73%;line-gap-override:7.61%;size-adjust:131.49%}.geistmono_c2170771-module__u6X_lG__className{font-family:geistMono,geistMono Fallback}.geistmono_c2170771-module__u6X_lG__variable{--font-geist-mono:"geistMono", "geistMono Fallback"}
@font-face{font-family:inter;src:url(../media/Inter_Regular-s.p.2snbpbtucujmf.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:inter Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.inter_751e52cb-module__n6p-IG__className{font-family:inter,inter Fallback;font-weight:400}.inter_751e52cb-module__n6p-IG__variable{--font-inter:"inter", "inter Fallback"}
:root{--white:#fff;--ink:#181d19;--muted:#51574f;--surface:#fafaf9;--green:#0b6649;--deep-green:#0d513c;--soft-green:#d6f5e5;--teal:#0e6375;--border:#d2d4ce;--section-padding:clamp(28px, min(5.5556vw, 8.75svh), 96px);--section-gap:clamp(28px, min(5.5556vw, 8.75svh), 80px);--display-size:clamp(48px, min(6.6667vw, 10.5svh), 112px);--body-size:clamp(14px, min(1.25vw, 2svh), 18px);--heading-font:var(--font-montreal), Arial, sans-serif;--body-font:var(--font-geist), Arial, sans-serif;--mono-font:var(--font-geist-mono), monospace;--motion-ease:cubic-bezier(.2, .65, .3, 1);--motion-fast:.2s;--motion-medium:.32s;--experience-padding:clamp(20px, min(1.9444vw, 3.1svh), 28px)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{color:var(--ink);background:var(--white);font-family:var(--heading-font);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button,h1,h2,h3,p,figure,blockquote{margin:0}button{border:0}img,video{display:block}button,a{touch-action:manipulation}[hidden]{display:none!important}:focus-visible{outline-offset:5px;outline:3px solid #efa435}.portfolio-scroller{scroll-snap-type:y mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#c1c8c2 transparent;height:100dvh;overflow:hidden auto}.viewport-section{scroll-snap-align:start;width:100%;height:100dvh;position:relative}.section-scroll{scrollbar-width:thin;scrollbar-color:#c1c8c2 transparent;width:100%;height:100%;overflow:clip auto}.section-content{width:100%;max-width:1760px;min-height:100%;padding:var(--section-padding);margin-inline:auto}.display-heading{font-size:var(--display-size);letter-spacing:-.04em;font-weight:500;line-height:1}.display-heading>span{display:block}.button{background:var(--surface);min-height:48px;color:var(--ink);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:4px;padding:12px 32px;font-size:16px;font-weight:500;line-height:24px;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:#eef1e9;transform:translateY(-2px)}.arrow-icon{flex:none}.button-teal{background:var(--teal);color:var(--white)}.button-teal:hover{background:#084c5b}.skip-link{z-index:50;background:var(--white);border-radius:8px;padding:14px 24px;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.hero-section{flex-direction:column;display:flex}.site-header{z-index:10;flex:none;padding:16px;position:relative}.navigation-bar{background:var(--green);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:1px solid #f5f3ed66;border-radius:12px;justify-content:space-between;align-items:center;min-height:78px;padding:14px clamp(24px,3.3333vw,64px);display:flex}.logo-link{flex:none;align-items:center;min-height:47px;display:flex}.desktop-navigation{font-family:var(--mono-font);letter-spacing:.4px;text-transform:uppercase;color:#f5f0e9;flex:1;justify-content:center;align-items:center;gap:16px;font-size:16px;line-height:24px;display:flex}.desktop-navigation a{padding-block:10px;position:relative}.desktop-navigation a:after{content:"";transform-origin:0;background:currentColor;width:100%;height:1px;transition:transform .2s;position:absolute;bottom:6px;left:0;transform:scaleX(0)}.desktop-navigation a:hover:after{transform:scaleX(1)}.menu-toggle{color:#fff;background:0 0;width:44px;height:44px;display:none}.mobile-navigation{background:var(--deep-green);color:#fff;border-radius:12px;padding:16px 24px;position:absolute;top:calc(100% - 8px);left:16px;right:16px;box-shadow:0 12px 24px #0002}.mobile-navigation a{min-height:48px;font-family:var(--mono-font);text-transform:uppercase;align-items:center;gap:8px;font-size:14px;display:flex}.mobile-navigation:not([hidden]){animation:content-enter .16s var(--motion-ease)}.mobile-navigation .mobile-meeting-button{font-family:var(--heading-font);text-transform:none;background:var(--surface);color:var(--ink);margin-top:12px;font-size:16px}.menu-lines{flex-direction:column;gap:7px;width:24px;margin:auto;display:flex}.menu-lines>span{background:currentColor;width:100%;height:2px;transition:transform .2s}.menu-lines.is-open>span:first-child{transform:translateY(4.5px)rotate(45deg)}.menu-lines.is-open>span:last-child{transform:translateY(-4.5px)rotate(-45deg)}.hero-content{min-height:0;padding:min(5.5556vw, 7.8svh) var(--section-padding) 0;flex-direction:column;flex:1;align-items:center;gap:clamp(20px,5svh,80px);display:flex}.hero-heading{text-align:center;width:100%;font-size:var(--display-size);letter-spacing:-.04em;color:#141718;flex:none;font-weight:500;line-height:.9}.hero-heading>span{display:block}.hero-heading>span+span{margin-top:.24em}.brush-text{white-space:nowrap;display:inline-block;position:relative}.brush-art{z-index:0;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:-.2em -.13em -.1em -.04em}.brush-art>img{transform:scale(var(--brush-scale,1));flex:none}.hero-highlight .brush-art>img{transform:scale(calc(var(--display-size) / 96px))}.highlight-label{z-index:1;position:relative}.hero-highlight{color:#d8f3f7}.hero-media{flex:1;justify-content:center;align-items:flex-end;width:min(100%,1120px);min-height:0;display:flex;position:relative}.hero-media video{object-fit:contain;object-position:center bottom;width:100%;height:100%}.projects-content{gap:var(--section-gap);flex-direction:column;display:flex}.project-layout{grid-template-columns:minmax(200px,21.875%) minmax(0,1fr);align-items:stretch;gap:clamp(20px,2.2222vw,32px);min-height:0;display:grid}.project-tabs{grid-template-rows:var(--project-tab-rows,repeat(3, 1fr));min-width:0;min-height:0;transition:grid-template-rows .24s var(--motion-ease);gap:clamp(12px,min(1.1111vw,1.75svh),16px);display:grid}.project-tab{text-align:left;background:var(--surface);width:100%;min-height:0;transition:background .24s var(--motion-ease), color .24s var(--motion-ease);border-radius:12px;flex-direction:column;align-items:flex-start;gap:clamp(12px,min(1.1111vw,1.75svh),16px);padding:clamp(20px,min(2.2222vw,3.5svh),32px);display:flex}.project-tab:hover{background:#edf0e9}.project-tab.is-selected{color:#fff;background:var(--teal)}.project-number{font-family:var(--mono-font);letter-spacing:.4px;flex:none;font-size:clamp(12px,min(1.1111vw,1.75svh),16px);line-height:1.5}.project-name{flex:1;width:100%;min-height:0;font-weight:500;position:relative;overflow:hidden}.project-name-label{width:100%;transition:opacity .24s var(--motion-ease), transform .24s var(--motion-ease);position:absolute;top:0;left:0}.project-name-regular{letter-spacing:-.0025em;font-size:clamp(20px,min(1.9444vw,3.0635svh),28px);line-height:1.2857}.project-name-selected{letter-spacing:-.0075em;opacity:0;font-size:clamp(26px,min(2.7778vw,4.3764svh),40px);line-height:1.2;transform:translateY(3px)}.project-tab.is-selected .project-name-regular{opacity:0;transform:translateY(-3px)}.project-tab.is-selected .project-name-selected{opacity:1;transform:translateY(0)}.project-panel-stack{background:var(--teal);border-radius:24px;grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;display:grid;box-shadow:0 8px 8px #0000000f,0 4px 3px #0000001a}.project-detail{color:#fff;opacity:0;visibility:hidden;pointer-events:none;min-width:0;height:100%;min-height:0;transition:opacity .24s var(--motion-ease), visibility 0s linear .24s;border-radius:24px;grid-area:1/1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,2.52fr) minmax(210px,1fr);gap:24px;padding:clamp(20px,min(2.2222vw,3.5svh),32px);display:grid}.project-detail.is-visible{opacity:1;visibility:visible;pointer-events:auto;z-index:1;transition-delay:0s}.project-image{background:#0c252a;border-radius:12px;min-width:0;min-height:0;position:relative;overflow:hidden}.project-image img{object-fit:cover}.project-copy{min-width:0;min-height:0;transition:transform .24s var(--motion-ease);flex-direction:column;justify-content:space-between;align-items:flex-end;gap:20px;display:flex;transform:translateY(4px)}.is-visible .project-copy{transform:translateY(0)}.project-description{scrollbar-width:thin;scrollbar-color:#ffffff60 transparent;flex-direction:column;gap:16px;width:100%;min-height:0;display:flex;overflow-y:auto}.project-description h3{margin-bottom:4px;font-size:clamp(20px,min(1.6667vw,3svh),24px);font-weight:500;line-height:1.333}.project-description p{font-family:var(--body-font);font-size:var(--body-size);color:var(--surface);line-height:1.5556}.project-link{flex:none}.two-column{gap:var(--section-gap);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.services-content,.experience-content{height:100%}.illustrated-heading{flex-direction:column;align-items:flex-start;gap:23px;min-height:0;display:flex}.character-art{flex:1;width:min(100%,523px);min-height:160px;max-height:523px;position:relative}.character-art img{object-fit:contain;object-position:left bottom}.services-list{flex-direction:column;justify-content:space-between;min-width:0;display:flex}.service-row{flex:1;grid-template-columns:minmax(0,.94fr) minmax(0,1.14fr);align-items:center;gap:24px;padding:clamp(20px,3svh,28px) 0;display:grid}.service-row+.service-row{border-top:1px solid var(--border)}.service-row h3{letter-spacing:-.005em;font-size:clamp(24px,min(2.2222vw,4svh),32px);font-weight:500;line-height:1.25}.service-row p{font-family:var(--body-font);font-size:var(--body-size);color:var(--muted);line-height:1.5556}.experience-section{background:var(--deep-green);color:#fff}.experience-index{flex-direction:column;justify-content:space-between;align-items:flex-end;gap:24px;min-width:0;display:flex}.experience-art img{transform:scaleX(-1)}.experience-entries{flex-direction:column;gap:16px;width:100%;display:flex}.experience-card{background:var(--surface);width:100%;color:var(--ink);transition:background .18s var(--motion-ease);border-radius:12px}.experience-card.is-expanded{background:var(--soft-green)}.experience-toggle{width:100%;padding:var(--experience-padding);text-align:left;background:0 0;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.experience-toggle>span{min-width:0}.experience-chevron{flex:none;width:32px;height:32px;position:relative}.experience-chevron img{transition:opacity .18s var(--motion-ease), transform .18s var(--motion-ease);position:absolute;inset:0}.chevron-open{opacity:0;transform:rotate(-90deg)}.is-expanded .chevron-open{opacity:1;transform:rotate(0)}.is-expanded .chevron-closed{opacity:0;transform:rotate(90deg)}.experience-role{font-family:var(--body-font);letter-spacing:-.005em;font-size:clamp(24px,min(2.2222vw,4svh),32px);font-weight:500;line-height:1.25;display:block}.experience-meta{font-family:var(--body-font);color:var(--muted);transition:color .18s var(--motion-ease);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:clamp(16px,min(1.25vw,2.7svh),18px);font-weight:400;line-height:1.5556;display:flex}.is-expanded .experience-meta{color:var(--ink)}.experience-meta>span{font-family:var(--heading-font);font-weight:500}.experience-description{opacity:0;transition:grid-template-rows .2s var(--motion-ease), opacity .16s var(--motion-ease);grid-template-rows:0fr;display:grid}.is-expanded .experience-description{opacity:1;grid-template-rows:1fr}.experience-description-inner{min-height:0;overflow:hidden}.experience-description p{padding:0 var(--experience-padding) var(--experience-padding);font-family:var(--body-font);font-size:var(--body-size);line-height:1.5556}.resume-button{background:#fff}.quote-content{flex-direction:column;justify-content:center;align-items:center;gap:clamp(32px,5.25svh,48px);display:flex}.quote-symbol{cursor:pointer;width:clamp(100px,12.5vw,180px);height:clamp(100px,12.5vw,180px);transition:transform .18s var(--motion-ease), opacity .18s var(--motion-ease);background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex}.quote-symbol:not([aria-disabled=true]):active{transform:translateY(2px)scale(.98)}.quote-symbol[aria-disabled=true]{cursor:progress}.quote-symbol img{transform:scale(calc(clamp(100px, 12.5vw, 180px) / 180px))}.quote-content blockquote{text-align:center;letter-spacing:-.02em;width:100%;font-size:clamp(36px,min(5vw,8svh),82px);font-style:italic;font-weight:400;line-height:1.2778}.quote-content blockquote>span{display:block}.quote-word,.quote-character{display:inline-block}.quote-character{white-space:pre}.is-motion-ready .quote-character{transition:transform .7s ease-out var(--character-delay), opacity .7s ease-out var(--character-delay)}.is-motion-ready:not(.is-settled) .quote-character{opacity:0;transition:none;transform:translate(150px)}.annotated-text{white-space:nowrap;display:inline-block;position:relative}.annotated-text svg{pointer-events:none;fill:none;color:var(--teal);position:absolute;overflow:visible}.annotation-circle svg{width:calc(100% + .32em);height:calc(100% + .26em);color:var(--green);inset:-.13em -.16em}.annotation-underline svg{width:105%;height:.22em;bottom:-.035em;left:-.025em}.annotated-text path{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}.annotation-underline path{stroke-width:3px}.is-motion-ready .annotation-circle path{transition:stroke-dashoffset 1.2s cubic-bezier(.4, 0, .2, 1) var(--quote-reveal-end)}.is-motion-ready:not(.is-settled) .annotated-text path{stroke-dashoffset:1px}.is-motion-ready:not(.is-settled) .annotation-circle path{transition:none}.about-content{grid-template-columns:minmax(0,437fr) minmax(0,374fr) minmax(0,405fr);align-items:center;gap:32px;display:grid}.biography{color:#102a58;font-family:var(--font-inter), var(--body-font);flex-direction:column;align-items:flex-start;gap:26px;font-size:clamp(17px,min(1.6667vw,2.625svh),24px);line-height:1.5;display:flex}.game-button{font-family:var(--heading-font);margin-top:6px}.about-art{aspect-ratio:374/466;width:100%;position:relative;overflow:hidden}.about-art img{object-fit:cover;transform:translateY(9.86%)}.about-heading{flex-direction:column;align-items:flex-start;gap:32px;display:flex}.about-heading .display-heading{white-space:nowrap;letter-spacing:-.005em;color:#0e1117;font-size:clamp(48px,6.6667vw,112px);line-height:1.1}.social-links{align-items:center;gap:20px;display:flex}.social-link{justify-content:center;align-items:center;width:44px;height:44px;transition:transform .2s;display:flex}.social-link:hover{transform:translateY(-4px)}.social-link:first-child{margin-left:-6px}.contact-section{background:var(--green);color:#fff}.contact-content{justify-content:space-between;align-items:center;gap:32px;display:flex}.contact-content h2{letter-spacing:-.02em;font-size:clamp(40px,5vw,80px);font-weight:400;line-height:1.1111}.contact-content>a{letter-spacing:-.02em;text-underline-offset:7px;white-space:nowrap;font-size:clamp(36px,4.1667vw,68px);font-weight:500;line-height:1.2333;text-decoration:underline;text-decoration-thickness:2px}.contact-content>a:hover{color:var(--soft-green)}@keyframes content-enter{0%{opacity:.88;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button{transition:background var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease), box-shadow var(--motion-medium) var(--motion-ease)}.arrow-icon{transition:transform var(--motion-fast) var(--motion-ease)}.button:is(:hover,:focus-visible) .arrow-icon{transform:translate(2px,-1px)}.project-number{opacity:.85}.project-media-frame{min-width:0;min-height:0;transform:translate(var(--pointer-x,0px), var(--pointer-y,0px));transition:transform var(--motion-medium) var(--motion-ease)}.project-media-frame .project-image{width:100%;height:100%}.project-image-layer{opacity:0;transition:opacity var(--motion-medium) var(--motion-ease), transform var(--motion-medium) var(--motion-ease);position:absolute;inset:0;transform:scale(.98)}.project-image-layer.is-active{opacity:1;z-index:1;transform:scale(1)}.project-copy-stack{min-width:0;min-height:0;display:grid}.project-copy-stack .project-copy{opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--motion-medium) var(--motion-ease), transform var(--motion-medium) var(--motion-ease), visibility 0s linear var(--motion-medium);grid-area:1/1;transform:translateY(3px)}.project-copy-stack .project-copy.is-active{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:none}.story-selector{border-bottom:1px solid #ffffff30;flex:none;gap:16px;display:flex}.story-selector button{min-height:44px;color:inherit;opacity:.7;transition:opacity var(--motion-fast) var(--motion-ease);background:0 0;padding:4px 0 10px;font-size:clamp(18px,min(1.6667vw,3svh),24px);font-weight:500;position:relative}.story-selector button:is(.is-active,:hover,:focus-visible){opacity:1}.story-selector button:after{content:"";transform-origin:0;height:1px;transition:transform var(--motion-medium) var(--motion-ease);background:currentColor;position:absolute;inset:auto 0 -1px;transform:scaleX(0)}.story-selector button.is-active:after{transform:scaleX(1)}.story-panels{display:grid;overflow-x:clip}.story-panel{opacity:0;visibility:hidden;transition:opacity var(--motion-medium) var(--motion-ease), transform var(--motion-medium) var(--motion-ease), visibility 0s linear var(--motion-medium);grid-area:1/1;transform:translate(4px)}.story-panel.is-active{opacity:1;visibility:visible;transition-delay:0s;transform:none}.quiet-art{--entry-y:0px;transform:translate(var(--pointer-x,0px), calc(var(--pointer-y,0px) + var(--entry-y)));transition:transform .4s var(--motion-ease)}.quiet-art.is-motion-ready:not(.is-settled){--entry-y:4px}.services-content:has(.service-row:hover) .services-art{--pointer-x:3px}.experience-content:has(.experience-toggle:focus-visible) .experience-art{--pointer-x:3px}@keyframes hero-paint{0%{clip-path:polygon(0 0,-6% 0,-2% 18%,-5% 34%,0 52%,-4% 70%,-1% 86%,-5% 100%,0 100%)}to{clip-path:polygon(0 0,104% 0,108% 18%,105% 34%,110% 52%,106% 70%,109% 86%,105% 100%,0 100%)}}@keyframes sense-underline{0%{stroke-dashoffset:1px;opacity:1}15%,72%{stroke-dashoffset:0;opacity:1}82%{stroke-dashoffset:0;opacity:0}83%,92%{stroke-dashoffset:1px;opacity:0}to{stroke-dashoffset:1px;opacity:1}}@media (prefers-reduced-motion:no-preference){.hero-highlight .brush-art{animation:1.6s cubic-bezier(.4,0,.2,1) .12s backwards hero-paint}.hero-highlight .highlight-label{color:#d8f3f7}.quote-section.is-motion-ready.is-settled .annotation-underline path{animation:sense-underline 8s cubic-bezier(.4, 0, .2, 1) calc(var(--quote-reveal-end) + .5s) infinite both;animation-play-state:paused}.quote-section.is-motion-ready.is-settled.is-in-view .annotation-underline path{animation-play-state:running}}@media (max-width:1100px),(hover:none),(pointer:coarse){.quiet-art,.button:hover,.social-link:hover,.button:is(:hover,:focus-visible) .arrow-icon,.project-copy-stack .project-copy{transform:none}}@media (min-width:768px){.project-layout{height:var(--project-layout-height,auto)}.illustrated-heading{height:calc(100% + var(--section-padding));position:relative;overflow:clip}.illustrated-heading .display-heading{flex:none}.character-art{flex:1;height:auto;min-height:0;max-height:none}}@media (max-width:1100px) and (min-width:768px){:root{--display-size:clamp(48px, min(6.6667vw, 9svh), 76px);--section-gap:32px}.navigation-bar{padding-inline:24px}.desktop-navigation{font-size:14px}.project-layout{grid-template-columns:190px minmax(0,1fr)}.project-detail{grid-template-columns:minmax(0,1fr) minmax(190px,.85fr);gap:18px}.project-tab{padding:22px}.project-name-selected{font-size:30px}.service-row{grid-template-columns:1fr 1.1fr;gap:16px}.service-row h3{font-size:24px}.button{padding-inline:22px}.about-content{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px}.about-heading{flex-direction:row;grid-area:1/1/auto/-1;justify-content:space-between;align-items:center}.about-content{align-content:center}.about-heading .display-heading{font-size:var(--display-size)}.biography,.about-art{grid-row:2}}@media (max-width:767px){:root{--section-padding:clamp(20px, 6vw, 36px);--section-gap:28px;--display-size:clamp(44px, 10.7vw, 72px);--body-size:14px}.portfolio-scroller{scrollbar-width:none;scroll-snap-type:none}.viewport-section{scroll-snap-align:none;height:auto}.hero-section{height:100dvh}.section-scroll{height:auto;overflow:visible}.section-content{padding-block:clamp(32px,5svh,48px)}.site-header{padding:12px}.navigation-bar{min-height:68px;padding:10px 16px}.logo-link{justify-content:center;width:104px;min-height:47px}.logo-link img{transform:scale(.86)}.desktop-navigation,.meeting-button{display:none}.menu-toggle{display:block}.mobile-navigation{left:12px;right:12px}.hero-content{gap:32px;padding-top:clamp(36px,8svh,72px)}.hero-heading{letter-spacing:-.045em;font-size:clamp(40px,8.8vw,64px);line-height:1.02}.hero-heading>span:first-child{max-width:620px;margin-inline:auto}.hero-highlight{margin:.1em auto 0;display:table}.hero-heading>span+span{margin-top:.2em}.hero-highlight .brush-art img{transform:scale(calc(clamp(40px, 8.8vw, 64px) / 96px))}.hero-media{width:calc(100% + 2 * var(--section-padding));margin-inline:calc(-1 * var(--section-padding));align-items:center;max-height:62svh;overflow:hidden}.hero-media video{object-position:center;flex:none;width:min(160vw,780px)}.projects-content{gap:24px}.project-layout{flex-direction:column;gap:18px;display:flex}.project-tabs{flex-direction:row;gap:8px;display:flex}.project-tab{flex:1;gap:8px;min-width:0;padding:12px}.project-number{font-size:11px}.project-name{flex:none;display:grid;overflow:visible}.project-name-label{letter-spacing:-.01em;grid-area:1/1;font-size:clamp(15px,3.7vw,22px);line-height:1.2;position:relative}.project-panel-stack{border-radius:20px;grid-template-rows:auto;width:100%}.project-detail{border-radius:20px;flex-direction:column;gap:20px;height:auto;padding:18px;display:flex}.project-image{flex:none;width:100%;height:clamp(140px,24svh,240px)}.project-copy{flex:1;gap:20px}.project-description{flex-direction:column;gap:14px;display:flex;overflow:visible}.project-media-frame{flex:none;height:clamp(140px,24svh,240px)}.project-media-frame .project-image{height:100%}.project-tab:active{transform:scale(.99)}.story-selector button{font-size:20px}.project-image-layer{transition-duration:var(--motion-fast);transform:none}.story-panel{transform:none}.project-description h3{font-size:20px}.project-description p{font-size:13px;line-height:1.5}.button{min-height:44px;padding:10px 20px;font-size:15px}.project-link{width:100%}.two-column{flex-direction:column;gap:24px;display:flex}.services-content,.experience-content{height:auto}.illustrated-heading{flex:none;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:end;gap:12px;display:grid}.character-art{width:100%;height:clamp(160px,23svh,220px);min-height:0}.services-heading .display-heading{font-size:clamp(38px,9.5vw,64px)}.services-list{width:100%}.service-row{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px;padding-block:clamp(15px,2.3svh,22px)}.service-row h3{font-size:clamp(20px,5vw,28px)}.service-row p{font-size:13px;line-height:1.5}.experience-heading{order:-1}.experience-heading .display-heading{font-size:clamp(34px,8.5vw,64px)}.experience-art{height:clamp(150px,23svh,210px)}.experience-index{justify-content:flex-start;align-items:flex-start;gap:14px}.experience-entries{gap:14px}.experience-card{--experience-padding:18px}.experience-role{font-size:24px}.experience-meta{gap:7px;margin-top:6px;font-size:16px}.experience-description p{font-size:13px;line-height:1.55}.resume-button{margin-top:4px}.quote-content{gap:32px}.quote-content blockquote{font-size:clamp(32px,7.7vw,56px);line-height:1.3}.quote-content blockquote>span+span{margin-top:.3em}.quote-symbol{width:120px;height:120px}.quote-symbol img{transform:scale(.6667)}.about-content{grid-template-columns:1fr 1fr;align-content:center;gap:24px;display:grid}.about-heading{grid-area:1/1;gap:18px}.about-heading .display-heading{white-space:normal;font-size:clamp(42px,10.5vw,72px)}.social-links{flex-wrap:wrap;gap:8px;max-width:160px}.social-link:first-child{margin-left:0}.social-link{width:44px;height:44px}.about-art{grid-area:1/2}.biography{grid-area:2/1/auto/-1;gap:20px;font-size:17px;line-height:1.5}.game-button{margin-top:0}.contact-content{flex-direction:column;align-items:flex-start;gap:28px}.contact-content h2{font-size:clamp(36px,8.9vw,60px)}.contact-content>a{font-size:40px}}@media (max-width:374px){:root{--section-padding:18px;--display-size:42px}.project-tab{padding:10px 8px}.project-detail{padding:14px}.project-description{gap:14px}.services-heading .display-heading{font-size:36px}.experience-heading .display-heading{font-size:29px}.character-art{height:150px}.service-row h3{font-size:19px}.service-row p{font-size:12px}.experience-role{font-size:22px}.biography{font-size:16px}}@media (max-height:620px) and (min-width:768px){:root{--section-padding:32px;--section-gap:28px;--display-size:54px}.site-header{padding:10px}.navigation-bar{min-height:64px;padding-block:8px}.hero-content{gap:20px;padding-top:28px}.services-content,.experience-content{min-height:580px}.experience-role{font-size:24px}.experience-card{--experience-padding:18px}.experience-description p{font-size:14px}}@media (prefers-reduced-motion:reduce){.portfolio-scroller{scroll-behavior:auto}.quiet-art,.project-media-frame,.project-image-layer,.project-name,.project-tab,.story-panel,.quote-character,.quote-symbol,.button,.arrow-icon,.social-link{transform:none!important}.quote-character{opacity:1!important}.annotated-text path{stroke-dashoffset:0!important}*,:before,:after{transition:none!important;animation:none!important}}
