@font-face{font-family:Manrope;src:url('/assets/manrope-latin.woff2') format('woff2');font-display:swap}*{box-sizing:border-box}body{margin:0;background:#fff;color:#161616;font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.page{max-width:1050px;padding:0 28px;margin:auto}.masthead{text-align:center;padding:100px 0 70px}.wordmark{display:inline-flex;align-items:center;justify-content:center;gap:20px;font-weight:650;font-size:clamp(30px,6.2vw,69px);letter-spacing:-2.7px;line-height:1.1}.name{display:inline-block;transform:none}.builds{display:inline-block;transform:none}.spark{width:45px;height:55px;flex-shrink:0;transform:rotate(-8deg)}.masthead p{font-size:21px;margin:20px 0 0;font-weight:400;letter-spacing:-.4px}.collection{display:grid;grid-template-columns:1fr;gap:22px}.project{min-width:0}.art{position:relative;border:4px solid #a3cbdc;border-radius:23px;overflow:hidden;background:#315d7c;aspect-ratio:2.8;box-shadow:0 2px 0 #00000008;transition:transform .18s,border-color .18s}.art:hover{transform:translateY(-3px);border-color:#74a8c0}.project-link{display:block;position:absolute;inset:0;overflow:hidden}.art-label{position:absolute;left:5%;top:23%;font-size:clamp(30px,5.8vw,65px);line-height:1.05;font-weight:900;letter-spacing:-1.8px;color:#f0f2e8;z-index:1;transform:none;text-shadow:2px 3px 0 #183c54}.scene{position:absolute;width:72%;height:100%;right:-6%;bottom:0;transition:transform .35s}.project-link:hover .scene{transform:translateY(-3px)}.stars{position:absolute;color:#bdd3dd;left:55%;top:15%;font-size:22px}.stars span{position:absolute;left:-70px;top:92px;font-size:14px}.stars i{position:absolute;left:24px;top:76px;font-size:10px;font-style:normal}.info{position:absolute;right:13px;top:12px;border:2px solid #e6f0f4a0;background:#21435bbd;border-radius:50%;width:32px;height:32px;color:white;font-family:Georgia,serif;font-weight:bold;font-size:18px;z-index:2;transition:background .2s}.info:hover{background:#142f43}.open-project{position:absolute;bottom:13px;left:17px;color:#eaf2f6;font-size:22px}.inline-info{display:inline-flex;align-items:center;justify-content:center;border:1px solid #8d8d8d;border-radius:50%;width:16px;height:16px;font-family:Georgia,serif;font-size:11px}footer{text-align:center;padding:65px 0 50px;font-size:13px;line-height:1.8;color:#606060}footer p{margin:0 0 10px}footer>a{color:#202020;text-decoration:underline;text-underline-offset:4px}.footer-tip{display:block;font-size:11px;color:#919191;margin-top:23px}dialog{max-width:580px;width:calc(100% - 32px);border:2px solid #dfdfd8;border-radius:20px;padding:43px;background:#fff;color:#262823;box-shadow:0 25px 100px #18281d30;max-height:90dvh;overflow:auto}dialog::backdrop{background:#18241b70;backdrop-filter:blur(5px)}.close{position:absolute;right:16px;top:13px;background:transparent;border:0;color:#68715f;font-size:28px;width:34px;height:34px}.modal-kicker{font-size:10px;letter-spacing:1.3px;color:#708291;font-weight:750}dialog h2{font-size:32px;letter-spacing:-1.2px;margin:17px 0 12px}dialog p,dialog li{font-size:13px;line-height:1.9;color:#68715f}.modal-lead{font-size:16px;color:#3d4736}dialog h3{font-size:12px;margin:26px 0 12px}dialog ul{padding-left:17px}.tags{display:flex;flex-wrap:wrap;gap:7px}.tags span{background:#eff5f8;border:1px solid #d4e2e9;padding:7px 10px;border-radius:6px;font-size:10px;color:#44647b}.try{display:flex;justify-content:space-between;background:#315d7c;color:white;border-radius:9px;padding:15px 17px;font-size:13px;font-weight:650;margin-top:28px}.disclaimer{font-size:10px!important;text-align:center;margin-bottom:0}:focus-visible{outline:3px solid #e5b632;outline-offset:5px}body.modal-open{overflow:hidden}@media(min-width:1100px){.page{max-width:1060px}.art{aspect-ratio:3.2}.masthead{padding-top:95px}}@media(max-width:600px){.page{padding:0 10px}.masthead{padding:58px 0 40px}.wordmark{font-size:clamp(29px,7.6vw,44px);letter-spacing:-1.9px;gap:12px}.spark{width:25px;height:37px}.masthead p{font-size:17px;margin-top:14px}.art{border-width:3px;border-radius:15px;aspect-ratio:2.65}.art-label{font-size:clamp(25px,7.4vw,43px);letter-spacing:-1px;top:24%;left:5%}.scene{width:74%;right:-8%}.stars{font-size:16px}.info{width:27px;height:27px;font-size:15px;top:9px;right:9px}.open-project{font-size:17px;bottom:7px;left:11px}footer{padding:44px 18px;font-size:12px}dialog{padding:36px 24px}dialog h2{font-size:28px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.wordmark{gap:.22em}.name,.builds{font-style:normal;transform:none}.open-project{display:flex}.try>span{display:flex;align-items:center}

.coming-soon{order:9999;aspect-ratio:2.8;border:4px solid #dedede;border-radius:23px;background:#f5f5f5;display:flex;align-items:center;justify-content:center;color:#a1a1a1;font-size:clamp(23px,4.8vw,48px);font-weight:550;letter-spacing:-1.4px;user-select:none}.collection{padding-bottom:65px}@media(min-width:1100px){.coming-soon{aspect-ratio:3.2}}@media(max-width:600px){.coming-soon{border-width:3px;border-radius:15px;aspect-ratio:2.65;letter-spacing:-.8px}.collection{gap:16px;padding-bottom:40px}}

/* A small workshop identity, with the projects as the main event. */
body{background:#fcfbf8}.masthead{position:relative;padding-bottom:60px}.brand-mark{width:.64em;height:.64em;margin-right:.08em;flex-shrink:0}.wordmark{letter-spacing:-2.4px}.masthead p{color:#6d6a64}.shelf-label{display:flex;align-items:center;gap:18px;margin:0 4px 17px;color:#8b857b;font-size:10px;letter-spacing:1.4px;font-weight:650}.shelf-label>span:last-child{letter-spacing:.2px;font-weight:450}.shelf-line{height:1px;background:#e4dfd5;flex:1}.art{border-width:2px;border-color:#a9bdc8;border-radius:18px}.coming-soon{position:relative;overflow:hidden;justify-content:flex-start;border-width:2px;border-color:#d9d6ce;border-radius:18px;background:#f0efea;color:#898a80;letter-spacing:normal}.soon-copy{position:relative;z-index:1;padding-left:5%;max-width:55%}.soon-label{display:block;font-size:10px;letter-spacing:1.7px;font-weight:650;color:#9d9384;margin-bottom:12px}.soon-copy h2{font-size:clamp(23px,4.4vw,43px);line-height:1.15;letter-spacing:-1.5px;font-weight:600;margin:0}.workshop{position:absolute;height:100%;width:49%;right:0;bottom:0}.collection{padding-bottom:75px}@media(max-width:600px){.wordmark{letter-spacing:-1.7px;font-size:clamp(27px,7.1vw,42px)}.masthead{padding-bottom:36px}.shelf-label{font-size:8px;gap:12px;margin-bottom:12px;letter-spacing:1.1px}.art,.coming-soon{border-radius:14px}.soon-copy{max-width:53%}.soon-label{font-size:7px;letter-spacing:1.1px;margin-bottom:8px}.soon-copy h2{font-size:clamp(21px,5.4vw,32px);letter-spacing:-.8px}.workshop{width:49%}}

.coming-soon{background:#f1f2ec;border-color:#d8ddd0}.soon-copy{max-width:53%;padding-left:5%}.soon-copy h2{color:#8b9382;font-weight:550}.next-sketch{position:absolute;width:46%;height:100%;right:2%;bottom:0}.coming-soon .soon-copy{padding-right:6px}@media(max-width:600px){.next-sketch{width:47%;right:1%}.soon-copy h2{font-size:clamp(20px,5.2vw,31px)}}

body{position:relative;isolation:isolate;background-color:#fcfbf8;background-image:radial-gradient(circle,#b8b2a137 .8px,transparent .9px);background-size:24px 24px}.page{position:relative}.page::before,.page::after{content:"";position:absolute;pointer-events:none;z-index:-1;width:115px;height:115px;border:1px solid #ded7c27a;border-radius:24px;transform:rotate(16deg)}.page::before{top:49px;left:-55px;background:linear-gradient(135deg,#eadcc31c,transparent)}.page::after{top:175px;right:-35px;width:67px;height:67px;border-radius:50%;border-color:#bdcfc64f}.masthead{background:radial-gradient(ellipse at center,#fcfbf8 20%,#fcfbf8e8 46%,#fcfbf800 74%)}body{overflow-x:clip}@media(max-width:600px){body{background-size:22px 22px}.page::before{left:-26px;top:30px;width:62px;height:62px;border-radius:14px}.page::after{right:-20px;top:125px;width:42px;height:42px}}

.wordmark{gap:.23em;font-size:clamp(38px,6.3vw,70px);font-weight:750;letter-spacing:-2.8px}.portrait{display:block;width:1.28em;height:1.28em;border-radius:50%;object-fit:cover;object-position:center;flex-shrink:0;border:3px solid #fcfbf8;box-shadow:0 0 0 1px #d8d9cf,0 4px 12px #284a6314}.masthead{padding-top:90px;padding-bottom:60px}.masthead p{margin-top:23px}@media(max-width:600px){.wordmark{font-size:clamp(27px,7.2vw,43px);letter-spacing:-1.5px;gap:.22em}.portrait{width:1.38em;height:1.38em;border-width:2px}.masthead{padding-top:58px;padding-bottom:43px}.masthead p{margin-top:19px}}

.masthead{display:flex;flex-direction:column;align-items:center;padding-top:65px;padding-bottom:49px}.portrait-button{position:relative;display:block;border:0;padding:0;background:none;margin:0 0 20px;border-radius:50%;cursor:pointer}.portrait-button .portrait{width:82px;height:82px}.wordmark{font-size:clamp(35px,6vw,62px);gap:.24em;line-height:1.12}.masthead p{margin-top:15px}.hello-pop{position:absolute;left:85%;top:0;background:#fff9e9;border:1px solid #dfd6bf;border-radius:12px 12px 12px 0;padding:6px 12px;font-size:13px;opacity:0;transform:translateY(5px);transition:opacity .18s,transform .18s;pointer-events:none}.portrait-button.greet .hello-pop{opacity:1;transform:translateY(0)}.portrait-button.greet .portrait{animation:hello-bob .6s ease}.sketch-button{position:absolute;width:46%;height:100%;right:2%;bottom:0;background:none;padding:0;border:0;border-radius:15px;cursor:pointer}.sketch-button .next-sketch{width:100%;height:100%;right:0}.doodle{position:absolute;width:27%;height:27%;left:41%;top:38%;overflow:visible;opacity:0}.doodle path{fill:none;stroke:#d39a69;stroke-width:3;stroke-linecap:round;stroke-dasharray:180;stroke-dashoffset:180}.sketch-button.drawn .doodle{opacity:1}.sketch-button.drawn .doodle path{animation:scribble .8s ease forwards}.confetti-bit{position:fixed;pointer-events:none;z-index:9999;border-radius:2px;animation:bits-fall 1.2s ease-out forwards}@keyframes hello-bob{25%{transform:rotate(-9deg)}60%{transform:rotate(8deg)}100%{transform:rotate(0)}}@keyframes scribble{to{stroke-dashoffset:0}}@keyframes bits-fall{from{opacity:1;transform:translate(0,0) rotate(0)}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--spin))}}@media(max-width:600px){.masthead{padding-top:37px;padding-bottom:35px}.portrait-button{margin-bottom:16px}.portrait-button .portrait{width:66px;height:66px}.wordmark{font-size:clamp(30px,8.2vw,43px);letter-spacing:-1.7px}.masthead p{margin-top:13px}.sketch-button{width:47%;right:1%}}@media(prefers-reduced-motion:reduce){.portrait-button.greet .portrait,.confetti-bit{animation:none}.confetti-bit{display:none}.sketch-button.drawn .doodle path{animation:none;stroke-dashoffset:0}}

.project-date{font-size:11px;color:#8b857b;margin:0 0 19px}dialog .project-date{font-size:11px;color:#8b857b}

.star-egg{position:absolute;left:53%;top:12%;width:36px;height:36px;border:0;background:transparent;color:#bdd3dd;padding:8px;z-index:2;border-radius:50%}.star-egg svg{width:100%;height:100%}.art>.star-egg{cursor:pointer}.stars{visibility:hidden}.stars span,.stars i{visibility:visible}.shooting .scene{animation:car-hop .9s ease}.shooting .star-egg svg{animation:star-shoot .9s ease}.browser-egg{position:absolute;left:59%;top:22%;width:45px;height:30px;z-index:3;border:0;background:transparent;display:flex;align-items:center;justify-content:center;gap:3px;padding:4px;border-radius:6px}.browser-egg span{width:4px;height:4px;border-radius:50%;background:#b3beb6}.coming-soon.night-sketch{background:#dfe7e8;border-color:#b5c6cc}.night-sketch .next-sketch{filter:sepia(.18) hue-rotate(155deg)}.night-sketch .browser-egg span{background:#638899}.egg-notice{position:fixed;bottom:25px;left:50%;transform:translate(-50%,12px);padding:11px 17px;background:#263d4c;color:#fff;border-radius:12px;font-size:12px;box-shadow:0 5px 20px #23354520;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;z-index:10000;white-space:nowrap}.egg-notice.visible{opacity:1;transform:translate(-50%,0)}body.blueprint{background-color:#e9eff3;background-image:linear-gradient(#b9ced933 1px,transparent 1px),linear-gradient(90deg,#b9ced933 1px,transparent 1px);background-size:24px 24px}.blueprint .masthead{background:none}@keyframes car-hop{35%{transform:translateY(-14px) rotate(-3deg)}70%{transform:translateY(-4px) rotate(1deg)}}@keyframes star-shoot{40%{transform:translate(30px,-20px) scale(.5);opacity:0}41%{transform:translate(-20px,15px);opacity:0}100%{transform:translate(0,0);opacity:1}}@media(prefers-reduced-motion:reduce){.shooting .scene,.shooting .star-egg svg{animation:none}.egg-notice{transition:none}}

/* Keep decorative shapes and surprise animations inside the mobile viewport. */
html{max-width:100%;overflow-x:hidden}body{width:100%;max-width:100%;overflow-x:hidden}.page{width:100%;min-width:0;overflow-x:clip}.collection,.masthead,.wordmark{min-width:0;max-width:100%}.collection{grid-template-columns:minmax(0,1fr)}.egg-notice{max-width:calc(100% - 32px);white-space:normal;text-align:center}.page::before{left:4px}.page::after{right:4px}@supports(overflow:clip){html,body{overflow-x:clip}}@media(max-width:360px){.wordmark{font-size:8.2vw;letter-spacing:-1.3px}}

button.project-link{width:100%;height:100%;padding:0;border:0;background:transparent;text-align:left;color:inherit;font:inherit;cursor:pointer;border-radius:inherit}.project-link:focus-visible{outline:3px solid #e5b632;outline-offset:-6px}

.stars{visibility:visible}
