.film{--paper:#f1f0eb;--ink:#252622;--muted:#62635d;--accent:#c94829;background:var(--paper);color:var(--ink);font-family:var(--font-sans), sans-serif;isolation:isolate}.film a{color:inherit;text-decoration:none}.film a:focus-visible,.film button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.film a:hover{text-underline-offset:5px;text-decoration:underline}.film-nav{z-index:20;justify-content:space-between;align-items:center;width:100%;padding:28px 4%;display:flex;position:fixed;top:0;left:0}.wordmark{letter-spacing:-.7px;font-size:19px;font-weight:600}.film-nav nav{gap:28px;font-size:12px;display:flex}.film-nav nav a{padding:8px 0}.film-stage{z-index:-1;pointer-events:none;background:radial-gradient(at 70% 45%,#fffefa,#eeede7 75%);position:fixed;inset:0}.film-stage canvas{width:100%;height:100%;display:block}.film[data-dark]{--ink:#efeee6;--muted:#b1b4ac}.film[data-dark] .film-stage{background:radial-gradient(at 68% 48%,#2b302c,#111411 75%)}.film-chapter{height:150svh;position:relative}.opening,.camera-chapter{height:125svh}.chapter-frame{align-items:center;height:100svh;min-height:650px;padding:0 9%;display:flex;position:sticky;top:0}.film[data-cinema]:not([data-static]) .chapter-frame{visibility:hidden;opacity:0;will-change:opacity, transform;min-height:0;position:fixed;inset:0}.film[data-cinema]:not([data-static]) .opening .chapter-frame{visibility:visible;opacity:1}.opening-heading{position:absolute;top:33%;left:6.5%}.opening h1{letter-spacing:-.07em;margin:0;font-size:clamp(64px,7.7vw,122px);font-weight:500;line-height:1.08}.opening h1 em{color:var(--accent);font-family:Georgia,serif;font-weight:400}.opening-foot{font-size:12px;position:absolute;bottom:13%;left:6.5%}.opening-foot span{margin-left:25px}.chapter-copy{width:39%;max-width:430px}.film h2{letter-spacing:-.065em;margin:0 0 28px;font-size:clamp(56px,6.4vw,104px);font-weight:500;line-height:1.04}.film h2 em{font-family:Georgia,serif;font-weight:400}.eyebrow{margin:0 0 20px;font-size:12px}.body-copy{max-width:34ch;color:var(--muted);font-size:15px;line-height:1.8}.project-links{margin-top:30px}.project-links a{border-top:1px solid #25262230;grid-template-columns:1fr 24px;padding:17px 0;display:grid}.project-links span{letter-spacing:-.5px;font-size:20px}.project-links small{color:var(--muted);grid-row:2;margin-top:6px;font-size:12px;line-height:1.5}.project-links b{grid-area:1/2/3;align-self:center;font-weight:400}.text-link{border-bottom:1px solid;margin-top:24px;padding-bottom:7px;font-size:13px;display:inline-block}.text-link span{margin-left:20px}.product-window{width:49%;margin:0;position:absolute;top:27%;right:5%}.product-window img{width:100%;height:auto;display:block}#craft .chapter-copy{width:35%}.gallery-chapter .chapter-frame{padding-top:16svh;display:block}.gallery-heading{text-align:center}.film-gallery{grid-template-columns:1fr 1.25fr 1fr;align-items:center;gap:2.5vw;margin-top:6vh;display:grid}.film-gallery a{display:block}.film-gallery img{object-fit:contain;width:100%;height:auto;max-height:37vh;display:block}.film-gallery span{color:var(--muted);margin-top:12px;font-size:11px;display:block}.gallery-foot{text-align:center;margin-top:4vh}.resume-index,.contact-section{z-index:5;background:var(--paper);color:#252622;--muted:#62635d;scroll-margin-top:80px;position:relative}.resume-index{grid-template-columns:1fr 1.25fr;gap:10%;padding:100px 9%;display:grid}.index-heading h2{font-size:clamp(45px,5vw,75px)}.index-details h3{margin:0 0 20px;font-size:14px;font-weight:600}.index-details h3:not(:first-child){margin-top:45px}.resume-row{border-top:1px solid #25262230;justify-content:space-between;gap:20px;padding:20px 0;font-size:17px;display:flex}.resume-row small{color:var(--muted);max-width:47ch;margin-top:10px;font-size:13px;line-height:1.75;display:block}.resume-row b{white-space:nowrap;font-size:11px;font-weight:400}.award-row{border-top:1px solid #25262230;justify-content:space-between;gap:20px;padding:15px 0;font-size:13px;display:flex}.award-row b{white-space:nowrap;font-size:11px;font-weight:400}.skills-line{color:var(--muted);font-size:13px;line-height:2}.contact-section{border-top:1px solid #25262225;padding:80px 9% 120px}.contact-email{font-size:clamp(19px,2vw,28px)}.contact-links{gap:25px;margin-top:35px;font-size:13px;display:flex}.motion-toggle{z-index:20;color:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:11px;position:fixed;bottom:24px;left:4%}.film-status{z-index:20;font-size:11px;position:fixed;bottom:32px;right:4%}.film-status[hidden]{display:none}.skip-film{background:var(--paper);z-index:30;padding:12px;position:fixed;top:-80px;left:20px;color:#252622!important}.skip-film:focus{top:20px}.film[data-static] .film-chapter{height:auto}.film[data-static] .chapter-frame{min-height:750px;position:relative;visibility:visible!important;opacity:1!important;transform:none!important}.film[data-static] .film-stage{opacity:.2}.film[data-static] .film-gallery a,.film[data-static] .product-window{transform:none!important}@media (width<=760px){.film-nav{padding:20px 7%}.wordmark{font-size:16px}.film-nav nav{gap:15px;font-size:11px}.film-nav nav a:first-child{display:none}.chapter-frame{align-items:start;padding:0 8%}.opening-heading{top:19%;left:8%}.opening h1{font-size:13.5vw}.opening-foot{font-size:12px;bottom:13%;left:8%}.chapter-copy{width:100%;padding-top:16svh}.film h2{margin-bottom:22px;font-size:12vw}.body-copy{max-width:32ch;font-size:13px}.project-links{max-width:90%;margin-top:22px}.project-links a{padding:12px 0}.project-links span{font-size:18px}.project-links small{font-size:11px}.text-link{margin-top:18px;font-size:12px}#craft .chapter-copy{width:100%}#craft h2{font-size:12vw}.product-window{width:84%;top:61%;right:8%}.gallery-chapter .chapter-frame{padding-top:20svh}.gallery-heading h2{font-size:12vw}.film-gallery{grid-template-columns:1fr 1.35fr 1fr;gap:10px;margin-top:9vh}.film-gallery img{max-height:27vh}.film-gallery span{font-size:9px;line-height:1.5}.gallery-foot{margin-top:6vh}.resume-index{grid-template-columns:1fr;gap:50px;padding:100px 8% 70px}.index-heading h2{font-size:50px}.resume-row{font-size:16px}.resume-row small{font-size:12px}.resume-row b{font-size:10px}.award-row{font-size:12px}.award-row b{font-size:10px}.contact-section{padding:60px 8% 110px}.contact-section h2{font-size:42px}.motion-toggle{left:7%}.film-status{font-size:10px;right:7%}.film[data-static] .chapter-frame{min-height:750px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}@media (width<=760px){.film-gallery{margin-top:7vh;display:block}.film-gallery a:first-child,.film-gallery a:last-child{display:none}.film-gallery img{max-height:38vh}.film-gallery span{font-size:11px}}.motion-toggle{color:#fff;mix-blend-mode:difference}.film-nav{background:var(--paper)}.film[data-dark] .film-nav{background:#111411}@font-face{font-family:Patrick Hand;src:url(/fonts/patrick-hand/PatrickHand-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}.film{--font-sketch:"Patrick Hand", cursive;--paper:#fffefb;--ink:#172036;--muted:#515b6e;--accent:#3473ff;--soft-blue:#edf2ff;--pink:#e7a3ad}.film-stage{background:#fffefb}.film[data-dark]{--paper:#fffefb;--ink:#172036;--muted:#515b6e}.film[data-dark] .film-stage,.film[data-dark] .film-nav{background:#fffefb}.film-nav{border-bottom:1.5px solid #17203618}.wordmark{font-family:var(--font-sketch);letter-spacing:0;align-items:center;gap:10px;font-size:26px;font-weight:400;display:flex}.wordmark img{border:1.5px solid var(--ink);border-radius:7px 5px 9px 4px}.film-nav nav{font-family:var(--font-sketch);gap:25px;font-size:19px}.film h1,.film h2,.film h3{font-family:var(--font-sketch);letter-spacing:-.025em;font-weight:400}.film h1 em,.film h2 em{font-family:var(--font-sketch);color:var(--accent);font-style:normal}.opening-heading{top:26%}.opening h1{font-size:clamp(82px,9vw,140px);line-height:.95}.opening h1 em{display:inline-block;position:relative}.opening h1 em:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 14'%3E%3Cpath d='M3 8Q87 1 157 7T298 5M9 11Q168 7 287 10' fill='none' stroke='%233473ff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;height:12px;position:absolute;bottom:-10px;left:-4%;right:-5%}.opening-intro{color:var(--muted);margin-top:35px;font-size:16px;line-height:1.8}.opening-foot{font-family:var(--font-sketch);font-size:22px}.chapter-copy .eyebrow{font-family:var(--font-sketch);color:var(--accent);font-size:23px}.film h2{font-size:clamp(60px,7vw,108px)}#craft h2{font-size:clamp(55px,6.3vw,98px)}.project-links{border:1.5px solid var(--ink);border-radius:5px 11px 4px 8px;padding:0 17px}.project-links a:first-child{border-top:0}.project-links span{font-family:var(--font-sketch);font-size:26px}.project-links small{font-size:12px}.project-window,.product-window{border:1.5px solid var(--ink);border-radius:4px 7px 3px 6px;overflow:hidden}.text-link,.section-links a{font-family:var(--font-sketch);border-bottom:1.5px solid var(--accent);font-size:22px;color:var(--accent)!important}.gallery-heading h2{font-size:clamp(62px,7vw,105px)}.film-gallery span{font-family:var(--font-sketch);color:var(--ink);font-size:19px}.film-gallery img{border:1px solid #17203640}.notebook-section{z-index:5;background:var(--paper);color:var(--ink);border-top:1.5px solid #17203628;grid-template-columns:1fr 1.2fr;gap:8%;padding:110px 9%;scroll-margin-top:85px;display:grid;position:relative}.notebook-section h2{font-size:clamp(54px,5.5vw,86px)}.notebook-heading{min-width:0}.hand-note{font-family:var(--font-sketch);color:var(--accent);margin:0 0 24px;font-size:24px;line-height:1.35}.section-intro{max-width:37ch;color:var(--muted);font-size:15px;line-height:1.85}.impact-numbers{grid-template-columns:repeat(3,1fr);gap:20px;margin:0;display:grid}.impact-numbers>div{flex-direction:column-reverse;justify-content:flex-end;gap:5px;display:flex}.impact-numbers dd{font-family:var(--font-sketch);color:var(--accent);font-size:58px;line-height:1}.impact-numbers dt{max-width:18ch;font-size:12px;line-height:1.5}.data-note{color:var(--muted);margin:18px 0 34px;font-size:11px;line-height:1.6}.source-project{border-top:1.5px solid #17203650;padding:20px 0}.source-project-heading{justify-content:space-between;align-items:baseline;gap:15px;display:flex}.source-project h3{margin:0;font-size:28px}.source-project-heading>span{color:var(--muted);white-space:nowrap;font-size:12px}.source-project p{color:var(--muted);margin-top:10px;font-size:13px;line-height:1.85}.section-links{flex-wrap:wrap;gap:15px 24px;margin-top:25px;display:flex}.section-links a{padding-bottom:3px;font-size:21px}.community{background:var(--soft-blue)}.community-drawing{width:85%;max-width:310px;height:auto;margin-top:25px}.community-roles article{border-bottom:1.5px solid #17203635;padding:22px 0 27px}.community-roles article:first-child{padding-top:0}.community-roles h3{margin:6px 0 12px;font-size:31px}.role-label{font-family:var(--font-sketch);color:var(--accent);font-size:20px}.community-roles article>p:last-child{color:var(--muted);font-size:14px;line-height:1.85}.music{background:#fffefb}.piano-drawing{width:100%;max-width:430px;height:auto;margin:5px 0 25px}.instrument-notes{padding-top:35px}.instrument-notes article{border:1.5px solid var(--ink);background:#fff;border-radius:3px 12px 5px 8px;margin-bottom:28px;padding:28px}.instrument-notes article:nth-child(2){border-radius:9px 3px 11px 5px}.instrument-heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.instrument-heading h3{font-size:39px}.instrument-heading>span{font-family:var(--font-sketch);background:#f9e1e6;border-radius:3px 5px 2px 4px;padding:1px 10px;font-size:25px}.instrument-notes .role-label{margin-top:7px;font-size:20px}.instrument-notes ul{margin-top:25px;padding:0;list-style:none}.instrument-notes li{border-top:1px solid #17203625;padding:14px 0;font-size:13px;line-height:1.7}.resume-index,.contact-section{--muted:#515b6e;color:var(--ink)}.index-details h3{font-family:var(--font-sketch);font-size:26px}.contact-section{background:var(--soft-blue)}.contact-section h2{font-size:clamp(50px,6vw,85px)}.contact-email{font-family:var(--font-sketch);font-size:30px;color:var(--accent)!important}@media (width<=760px){.film-nav{padding:12px 7%;display:block}.wordmark{font-size:24px}.wordmark img{width:28px;height:28px}.film-nav nav{justify-content:space-between;gap:8px;margin-top:7px;font-size:16px}.film-nav nav a:first-child{display:block}.film-nav nav a{padding:5px 0}.opening-heading{top:18%}.opening h1{font-size:24vw}.opening-intro{margin-top:24px;font-size:13px;line-height:1.7}.opening-foot{font-size:21px;bottom:10%}.film h2,#craft h2{font-size:14vw}.chapter-copy{padding-top:17svh}.project-links{padding:0 12px}.project-links span{font-size:23px}.project-links small{font-size:10px}.text-link{font-size:20px}.notebook-section{grid-template-columns:1fr;gap:42px;padding:80px 8%;scroll-margin-top:100px}.notebook-section h2{font-size:55px}.hand-note{margin-bottom:20px;font-size:22px}.section-intro{font-size:14px}.impact-numbers{gap:12px}.impact-numbers dd{font-size:43px}.impact-numbers dt{font-size:11px}.source-project h3{font-size:27px}.source-project p{font-size:13px}.source-project-heading>span{font-size:11px}.community-drawing{max-width:230px;margin:8px 0 0}.instrument-notes{padding-top:0}.instrument-notes article{padding:24px}.instrument-heading h3{font-size:36px}.piano-drawing{margin-bottom:15px}.gallery-heading h2{font-size:15vw}.film-gallery span{font-size:18px}.contact-section h2{font-size:53px}.contact-email{font-size:28px}.resume-index,.contact-section{scroll-margin-top:105px}}.film[data-cinema]:not([data-static]) .gallery-chapter{height:300svh}.film[data-cinema]:not([data-static]) .camera-chapter{height:230svh}.gallery-explore{z-index:6;touch-action:pan-y;cursor:grab;position:fixed;inset:102px 0 0}.gallery-explore[hidden]{display:none}.gallery-explore:active{cursor:grabbing}.gallery-explore:focus-visible{outline-offset:-4px;outline:2px solid #3473ff}.gallery-explore-hint{color:#fffefb;width:max-content;max-width:94%;font:20px var(--font-sketch);cursor:default;background:#111827e8;border:1px solid #ffffff60;border-radius:5px 9px 4px 7px;align-items:center;gap:16px;padding:8px 14px;display:flex;position:absolute;bottom:42px;left:50%;transform:translate(-50%)}.gallery-explore-hint button{color:inherit;font:24px var(--font-sketch);cursor:pointer;background:0 0;border:0;padding:4px 10px}@media (width<=760px){.gallery-explore-hint{gap:2px;padding:6px;font-size:15px;bottom:65px}}.impact-numbers dd{align-items:center;gap:9px;display:flex}.impact-icon{flex-shrink:0;width:25px;height:25px}@media (width<=1100px){.impact-numbers dd{gap:6px;font-size:clamp(28px,4vw,46px)}.impact-icon{width:20px;height:20px}}@media (width<=480px){.impact-numbers{gap:8px}.impact-numbers dd{gap:4px;font-size:30px}.impact-icon{width:16px;height:16px}}.opening-foot{align-items:center;gap:28px;display:flex}.opening-foot .resume-jump{color:var(--accent);border:1.5px solid;border-radius:4px 8px 3px 6px;padding:8px 15px}.opening-foot .resume-jump span{margin-left:10px}@media (width<=760px){.opening-foot{gap:14px;font-size:17px}.opening-foot span{margin-left:8px}.opening-foot .resume-jump{padding:7px 10px}}.resume-contact{margin-top:26px;scroll-margin-top:130px;font-style:normal}.resume-contact>a{font:clamp(20px,2.1vw,28px) var(--font-sketch);color:var(--accent);overflow-wrap:anywhere}.resume-contact>div{font:20px var(--font-sketch);gap:24px;margin-top:12px;display:flex}.resume-contact a:hover{text-underline-offset:5px;text-decoration:underline}.resume-download{font:23px var(--font-sketch);color:var(--accent);border:1.5px solid;border-radius:4px 9px 3px 6px;align-items:center;gap:18px;margin-top:24px;padding:10px 17px;display:inline-flex}.resume-download:hover{background:#edf2ff}.opening-heading{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:clamp(18px,2.5svh,36px);width:min(40vw,640px);display:flex;top:max(122px,14svh);bottom:auto}.opening h1{flex-shrink:0;font-size:clamp(64px,min(9vw,14svh),160px)}.opening-intro{margin-top:6px;font-size:clamp(16px,1.2vw,24px)}.opening-heading .playable-piano{flex-shrink:0;width:100%;max-width:480px;margin:0}.opening-heading .piano-notes{height:38px;font-size:32px}.opening-heading .piano-keys{height:clamp(80px,8svh,115px)}.opening-heading .piano-help{margin-top:10px;font-size:18px}.opening-heading .piano-help span{font-size:14px;display:block}.opening-heading .opening-foot{flex-wrap:wrap;flex-shrink:0;margin-top:8px;position:static}@media (height<=740px) and (width>=761px){.opening-heading{gap:14px;top:118px}.opening h1{font-size:min(7vw,11svh)}.opening-heading .piano-notes{height:28px;font-size:26px}.opening-heading .piano-keys{height:70px}}@media (width<=760px){.opening-heading{gap:18px;width:auto;top:120px;bottom:auto;right:8%}.opening h1{font-size:min(21vw,12svh)}.opening-intro{margin-top:6px;font-size:13px}}
