@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&family=DM+Sans:wght@400;500;600;700&family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500;1,600&family=Caveat:wght@400;500&display=swap');
:root{--ink:#272a34;--blue:#385a96;--paper:#f2eadb;--red:#a43f38}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:#eee5d5;font-family:'DM Sans',Arial,sans-serif;line-height:1.65}body:after{content:'';position:fixed;inset:0;pointer-events:none;opacity:.09;z-index:100;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}a{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,#shirt-view:focus-visible{outline:3px solid var(--red);outline-offset:6px}button,select{font:inherit;color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid #bcb29f;position:relative;z-index:2;background:#eee5d5}nav{display:flex;gap:32px;font-size:13px}nav a{text-decoration:none}.monogram{font:52px 'Cormorant Garamond',Georgia,serif;text-decoration:none;display:flex;align-items:center;line-height:.5}.monogram>span:first-child{margin-left:-5px;transform:translateY(5px)}.brand{font:600 10px 'DM Sans',sans-serif;letter-spacing:1.6px;margin-left:20px}.edition{font-size:9px;letter-spacing:1.5px}.skip{position:fixed;top:-100px;left:10px;background:var(--ink);color:white;padding:10px;z-index:200}.skip:focus{top:8px}.desk{height:780px;max-height:1000px;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 35% 20%,#f7f0e2 5%,#e5d8c2 90%)}.gingham{position:absolute;inset:-40px -60px 40px 58%;transform:rotate(7deg);background-color:#ebe5d6;background-image:linear-gradient(90deg,#45689c58 50%,transparent 50%),linear-gradient(#45689c58 50%,transparent 50%);background-size:62px 62px;box-shadow:-6px 4px 16px #65563b35;border:2px dashed #ece4d2}.gingham:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 2px,#ffffff24 2px 3px),repeating-linear-gradient(0deg,transparent 0 2px,#272a3415 2px 3px)}.stripe-piece{position:absolute;left:-50px;top:60px;width:320px;height:600px;transform:rotate(-14deg);background:repeating-linear-gradient(90deg,#e2c9a9 0 9px,#6b7b8c 9px 13px,#e2c9a9 13px 22px);box-shadow:6px 9px 14px #46382430}.newspaper{position:absolute;left:4%;top:85px;width:440px;height:510px;background:#d8c4a3;padding:25px;transform:rotate(-8deg);box-shadow:5px 8px 14px #58493230;color:#655c50;overflow:hidden}.newspaper>span{font:22px Georgia;border-block:2px solid #6c6252;display:block;white-space:nowrap}.newspaper>div{font:38px/.95 Georgia;margin:16px 0}.newspaper p{font:14px/1.6 Georgia;column-count:2}.intro-paper{position:absolute;left:10%;top:75px;width:440px;min-height:565px;padding:40px 40px 30px;background:#f7efdc;transform:rotate(-3deg);box-shadow:2px 4px 3px #59493118,9px 12px 22px #59493135;z-index:3;clip-path:polygon(0 0,100% .6%,99.7% 99.4%,96% 100%,92% 99.2%,87% 100%,81% 99.5%,75% 100%,70% 99.4%,64% 100%,58% 99.5%,50% 100%,44% 99.3%,38% 100%,31% 99.5%,24% 100%,17% 99.4%,10% 100%,0 99.5%)}.tape{position:absolute;width:150px;height:34px;top:-2px;left:135px;background:#e1b89380;transform:rotate(4deg);border-inline:2px dashed #d3b49280}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:600}.intro-paper .eyebrow{font-size:8px;margin:10px 0 20px;letter-spacing:1.7px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:-2px;line-height:.9}h1{font-size:112px;margin:0;position:relative}h1 i{color:var(--blue);font-weight:500}.star{font-family:Georgia;font-size:50px;position:absolute;right:15px;bottom:10px;transform:rotate(15deg);color:var(--red)}.intro-copy{font-size:15px;line-height:1.6;margin:28px 0 0}.handwritten{font-family:'Caveat',cursive;font-size:25px;font-weight:400;line-height:1.15}.intro-paper>.handwritten{color:var(--red);font-size:30px;transform:rotate(-6deg);margin:14px 0 27px}.ink-link{font-size:12px;text-underline-offset:5px;display:flex;justify-content:space-between;max-width:280px}.shirt-object{position:absolute;width:390px;height:590px;left:57%;top:45px;z-index:4;transform:rotate(4deg)}.shirt-label{display:flex;flex-direction:column;align-items:center;position:absolute;right:0;top:20px;background:#f3e8cf;box-shadow:3px 4px 8px #3c45514a;padding:14px 18px;transform:rotate(5deg);z-index:2}.shirt-label>span:first-child{font-size:9px;letter-spacing:1.2px}.shirt-label>.handwritten{font-size:24px;color:var(--red)}#shirt-view{height:480px;width:100%;touch-action:pan-y;cursor:grab;outline-offset:-5px}#shirt-view.dragging{cursor:grabbing}#shirt-view canvas{width:100%;height:100%;display:block}.object-controls{display:flex;align-items:center;justify-content:center;gap:16px;font-size:8px;letter-spacing:1px}.object-controls button{background:#f0e7d8;border:1px solid #8c9aaf;border-radius:50%;width:34px;height:34px;font-size:19px;cursor:pointer;box-shadow:1px 2px 3px #31394326}.object-note{display:block;text-align:center;font-size:10px;margin-top:12px;text-underline-offset:4px}.shirt-fallback{width:180px;height:240px;background:#a52e39;margin:130px auto 0;clip-path:polygon(24% 0,40% 3%,60% 3%,76% 0,100% 19%,87% 38%,76% 31%,76% 100%,24% 100%,24% 31%,13% 38%,0 19%);display:grid;place-content:center;color:#eee1cd;font:bold 29px Georgia;text-align:center}.webgl .shirt-fallback{display:none}.timer-object{position:absolute;left:39%;bottom:65px;z-index:6;width:235px;padding:23px 20px 18px;border-radius:28px 28px 24px 24px;background:linear-gradient(135deg,#98acc2,#788ba7 60%,#6d7d94);box-shadow:inset 3px 3px 2px #d1dae2b0,inset -4px -5px 5px #485d76,5px 12px 16px #4a443f50;transform:rotate(-8deg)}.timer-brand{font-size:8px;letter-spacing:1.5px;color:#18283f;display:block;margin-bottom:10px}.timer-screen{background:#d9ddcd;border-radius:11px;padding:8px 5px;border:5px solid #63778e;box-shadow:inset 2px 3px 4px #4b55466e;text-align:center}.timer-screen output{font:43px/1.1 'Courier New',monospace;letter-spacing:-3px;color:#343e35}.timer-screen>span{display:block;font-size:7px;letter-spacing:1px}.timer-controls{display:flex;gap:8px;margin-top:14px}.timer-controls button,.timer-controls select{font-size:10px;background:#e8d6b4;border:0;padding:5px 10px;box-shadow:0 3px 0 #5b6b7d;border-radius:9px;cursor:pointer}.timer-controls select{width:74px;padding:5px}.timer-foot{position:absolute;width:25px;height:10px;background:#3d4e64;bottom:-6px;left:30px;border-radius:0 0 5px 5px;z-index:-1}.timer-foot.second{left:auto;right:30px}.coffee-note{position:absolute;left:10%;bottom:38px;display:flex;align-items:center;gap:20px;text-decoration:none;transform:rotate(5deg);z-index:5}.coffee-note>.handwritten{font-size:23px;color:#6f443a;transform:rotate(-9deg)}.coffee-cup{width:100px;height:100px;border-radius:50%;display:grid;place-content:center;background:radial-gradient(circle,#ece4d8 0 50%,#cfc3b3 52%,#f8f2e8 57%,#ddd4c4 63%,#eee5d5 68%,#b8aa9850 70%,transparent 72%);filter:drop-shadow(4px 7px 4px #5b4b3e45)}.coffee-cup i{width:62px;height:62px;background:radial-gradient(ellipse at 43% 34%,#dfbb83 0 6%,#bb854a 12%,#76441e 45%,#492f1c 60%,#e4d4bc 63%,#faf3df 70%);border-radius:50%;box-shadow:inset 1px 2px 4px #76654d}.desk-caption{position:absolute;bottom:14px;right:5%;font-size:8px;letter-spacing:1.7px;color:#4b4842}.page{padding:95px 8%;max-width:1440px;margin:auto}.section-heading{position:relative;margin-bottom:70px}.section-heading>.eyebrow{display:block;margin-bottom:25px}h2{font-size:68px;line-height:.98;margin:0}h2 i{color:var(--blue);font-weight:500}.section-heading>p{position:absolute;right:0;bottom:0;font-size:13px}.project{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;margin-bottom:85px}.project-cover{height:390px;position:relative;display:grid;place-items:center}.dot-paper{background-color:#e4d3b7;background-image:radial-gradient(#7b675b 1px,transparent 1px);background-size:13px 13px;transform:rotate(-2deg)}.shift-card{background:#e8edf0;width:75%;padding:25px;transform:rotate(7deg);box-shadow:7px 12px 12px #513e292e}.shift-card>span{font-size:10px;letter-spacing:3px}.shift-card p{font:36px/.95 'Cormorant Garamond',serif;margin:25px 0}.shift-card i{color:var(--blue)}.schedule{display:flex;gap:6px;margin:15px 0}.schedule b{width:45%;height:13px;background:#7b8d9d}.schedule b:nth-child(2){width:20%;background:#c3a478}.schedule b:nth-child(3){width:30%;background:#ba8e86}.shift-card small{font-size:7px;letter-spacing:1px}.cover-note{position:absolute;bottom:12px;left:15px;font-size:22px}.project-text h3{font-size:56px;margin:15px 0 24px}.project-text>p{font-size:14px;line-height:1.85}.project-text .eyebrow{color:#7b5446}details{border-block:1px solid #b8ac97;margin-top:25px;font-size:13px}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;padding:14px 0;font-size:12px}summary::-webkit-details-marker{display:none}summary span{font-size:20px}details[open] summary span{transform:rotate(45deg)}details p{margin:10px 0 22px}.small{font-size:10px;line-height:1.6;color:#615b52}.energy-project .project-cover{order:2}.ruled-paper{background:#d6dce0;transform:rotate(2deg)}.research-sheet{background:repeating-linear-gradient(#f6edda 0 24px,#8295af55 24px 25px);height:340px;width:79%;padding:25px;box-shadow:4px 6px 8px #4b4a4729;transform:rotate(-6deg);position:relative}.research-sheet>span{font-size:8px;letter-spacing:1px}.research-sheet h4{font-size:51px;margin:27px 0;color:#315789}.battery-sketch{border:2px solid #315789;border-radius:11px;display:flex;justify-content:space-between;align-items:center;padding:10px;color:#315789;transform:rotate(4deg)}.battery-sketch span{font-size:9px;text-align:center;letter-spacing:1px}.research-sheet .handwritten{font-size:23px;margin-top:16px;color:#8c4540}.paperclip{position:absolute;right:70px;top:13px;border:3px solid #7e7d73;height:58px;width:20px;border-radius:13px;transform:rotate(11deg);box-shadow:1px 2px 2px #40403060}.prints-note{background:#e2cfb0;border:1px solid #c1ad8b;padding:45px;position:relative;display:grid;grid-template-columns:90px 1fr 100px;gap:30px;box-shadow:3px 5px 0 #cbbb9c;transform:rotate(-1deg)}.chapter-tab{position:absolute;top:-26px;left:0;background:#385a96;color:#eee5d5;font-size:9px;letter-spacing:1px;padding:6px 16px}.big-number{font:80px 'Cormorant Garamond';color:#8e5244}.prints-note h3{font-size:42px;margin:12px 0 20px}.prints-note p{font-size:13px;max-width:600px}.prints-note .small{font-size:10px}.prints-note>.handwritten{font-size:28px;color:#a43f38;transform:rotate(10deg);align-self:center}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid #c3b59f}.about h2{font-size:58px}.about-heading>.handwritten{color:#a43f38;transform:rotate(-5deg);margin-top:25px}.about-copy>p{font-size:14px;line-height:1.9}.resume-slip{margin-top:30px;background:#f8f0de;padding:28px;box-shadow:3px 5px 8px #5a4b3526;transform:rotate(1deg);border-top:7px solid #385a96}.resume-slip p{font-size:12px;margin-top:20px}.resume-slip a{font-size:12px;text-underline-offset:4px}.resume-slip>.small{display:block;margin-top:10px}.contact{position:relative;background-color:#e3e6df;background-image:repeating-linear-gradient(0deg,transparent 0 29px,#8295af35 29px 30px);border:1px solid #c2c6ba;margin:0 5% 45px;max-width:none;transform:rotate(-.5deg);padding:60px 8%}.contact h2{margin:25px 0 30px;font-size:70px}.contact>a{font-size:22px;text-underline-offset:6px}.contact>p{font-size:12px;margin-top:18px}.postmark{position:absolute;right:10%;top:30%;border:2px dashed #926c5e;border-radius:50%;width:130px;height:130px;display:grid;place-content:center;text-align:center;font-size:12px;line-height:2;letter-spacing:3px;transform:rotate(14deg);color:#926c5e}footer{padding:20px 5% 35px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:9px}footer .handwritten{font-size:23px}footer a{text-decoration:none}
@media(min-width:1450px){.desk{height:850px}.intro-paper{left:15%;top:95px}.shirt-object{left:58%;top:80px}.timer-object{left:44%;bottom:95px}.coffee-note{left:16%;bottom:60px}}@media(max-width:1050px){.edition{display:none}.intro-paper{left:7%;width:370px;padding:35px;top:80px}.newspaper{width:370px;left:1%}h1{font-size:100px}.shirt-object{left:54%;width:350px}.timer-object{left:39%;bottom:50px;width:215px}.coffee-note{left:5%}.section-heading>p{position:static;margin-top:25px}.project{gap:6%}.postmark{right:7%}}
@media(max-width:750px){header{height:78px;padding:0 6%}.monogram{font-size:42px}.brand{font-size:8px;margin-left:12px}nav{gap:20px;font-size:12px}.desk{height:1130px}.gingham{inset:450px -70px 40px 25%;transform:rotate(8deg)}.stripe-piece{width:200px;height:520px;left:-80px;top:20px}.newspaper{left:9%;top:45px;width:80%;height:500px}.intro-paper{left:12%;top:45px;width:76%;min-height:470px;padding:30px}.intro-paper .eyebrow{font-size:7px;letter-spacing:1px}h1{font-size:95px}.star{font-size:35px;right:0}.intro-copy{font-size:13px;margin-top:22px}.intro-paper>.handwritten{font-size:27px;margin-bottom:20px}.shirt-object{left:26%;top:520px;width:72%;height:500px;transform:rotate(4deg)}#shirt-view{height:400px}.shirt-label{top:0;right:15px;padding:10px}.shirt-label>span:first-child{font-size:8px}.shirt-label>.handwritten{font-size:21px}.object-controls{gap:8px;font-size:7px}.object-note{font-size:9px}.timer-object{left:5%;bottom:33px;width:190px;padding:17px 14px;transform:rotate(-7deg)}.timer-brand{font-size:7px}.timer-screen output{font-size:35px}.timer-controls{gap:5px}.timer-controls button,.timer-controls select{font-size:9px;padding:5px 7px}.timer-controls select{width:68px}.coffee-note{left:2%;top:580px;bottom:auto;display:block}.coffee-cup{display:block;width:85px;height:85px;position:relative}.coffee-cup i{position:absolute;left:16px;top:16px;width:53px;height:53px}.coffee-note>.handwritten{display:block;font-size:18px;margin-left:10px}.desk-caption{right:5%;bottom:13px;font-size:6px;letter-spacing:.8px}.page{padding:60px 7%}.section-heading{margin-bottom:40px}h2{font-size:51px}.section-heading>p{font-size:12px}.section-heading br{display:none}.project{grid-template-columns:1fr;gap:32px;margin-bottom:60px}.project-cover{height:360px}.energy-project .project-cover{order:0}.project-text h3{font-size:47px}.project-text>p{font-size:13px}.prints-note{grid-template-columns:1fr;padding:28px;gap:8px}.big-number{font-size:50px}.prints-note>.handwritten{position:absolute;right:25px;top:35px;font-size:23px}.prints-note h3{font-size:38px}.about{grid-template-columns:1fr;gap:25px}.about h2{font-size:51px}.about-heading>.handwritten{margin-top:15px}.about-copy>p{font-size:13px}.contact{padding:45px 7%;margin:0 5% 25px}.contact h2{font-size:54px}.contact>a{font-size:clamp(15px,4.3vw,22px)}.postmark{display:none}footer{flex-wrap:wrap;font-size:8px}footer .handwritten{order:3;width:100%;font-size:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

@media(min-width:1600px){.desk{max-width:1600px;margin:auto}.intro-paper{left:12%}.shirt-object{left:62%}.timer-object{left:45%}.coffee-note{left:13%}}

@media(max-width:750px){.desk{height:1260px}.shirt-object{top:720px;left:19%;width:79%}.timer-object{top:545px;bottom:auto;left:7%;width:190px}.coffee-note{top:555px;left:66%}.coffee-note>.handwritten{font-size:17px;margin-left:0}.gingham{top:650px}.section-heading br{display:initial}.desk-caption{bottom:9px;left:7%;right:auto}}
[tabindex="-1"]:focus{outline:none}
/* Second material pass: cool paper, wool, velvet, and stitched connective yarn. */
:root{--paper:#f5f7f6;--ink:#24354e;--blue:#365f9e;--red:#b8353c}body{background:#f4f6f5}header{background:#f5f7f6;border-color:#ccd8e3}.desk{background:radial-gradient(ellipse at 35% 20%,#fff 5%,#e8eef3 90%)}.intro-paper{background:#fcfcf7}.newspaper{background:#e1e6e8 url('textures/kraft.webp');background-blend-mode:screen;color:#53616b}.stripe-piece{background:repeating-linear-gradient(90deg,#e8f0f5 0 9px,#829dba 9px 13px,#e8f0f5 13px 22px)}.gingham{background-color:#f7faf8;background-image:linear-gradient(90deg,#5385bd48 50%,transparent 50%),linear-gradient(#5385bd48 50%,transparent 50%);border-color:#dce7f2}.gingham:after{background-image:url('textures/felt-cream.webp');background-size:230px;mix-blend-mode:multiply;opacity:.33}.gingham:before{content:'';position:absolute;inset:10px;border:2px dashed #f4f8fc;box-shadow:0 0 0 1px #698bb865;z-index:1;pointer-events:none}.intro-paper:after{content:'';position:absolute;inset:12px;border:1px dashed #849bb04a;pointer-events:none}.intro-paper .tape{background:#bad4e280;border-color:#a3c2d0}.intro-paper h1 i{position:relative}.intro-paper h1 i:after{content:'';position:absolute;left:0;right:-10px;bottom:-8px;height:28px;background:url('textures/crayon.svg') center/100% 100%}.shirt-label{background:#f7f9f3}.timer-object{background:#8ba4bf url('textures/velvet-blue.webp') center/220px;box-shadow:inset 3px 3px 6px #d5e1ec,inset -4px -5px 7px #456385,6px 12px 18px #30445d42}.timer-object:after{content:'';position:absolute;inset:9px;border:1px dashed #dce6ed;border-radius:21px;pointer-events:none}.timer-screen{background:#edf2e9;border-color:#6e86a3}.timer-controls button,.timer-controls select{background:#f5f5e9;position:relative;z-index:1}.timer-brand{font-size:7px;letter-spacing:1px}.timer-brand time{display:block;margin-top:4px;font-size:9px;letter-spacing:.5px;color:#213a58}.coffee-note>.handwritten{color:#3e6295}.desk:after{content:'';position:absolute;left:29%;right:18%;bottom:14px;height:100px;background:url('textures/yarn.svg') center/100% 100% no-repeat;transform:rotate(-9deg);z-index:2;pointer-events:none}.crafted-mark{gap:8px}.crafted-mark .signature{font:38px 'Caveat',cursive;transform:rotate(-7deg);margin:0;line-height:1}.crafted-mark .stitched-star{font:24px Georgia;color:var(--red);margin:0;transform:rotate(13deg);text-shadow:1px 2px 0 #e4babc}.dot-paper{background:#d6e5f5 url('textures/felt-blue.webp');background-blend-mode:screen;background-size:350px;border:1px solid #bdcfdf;border-radius:8px;box-shadow:inset 0 0 12px #8aa2c655,4px 6px 8px #36517920}.dot-paper:before{content:'';position:absolute;inset:12px;border:2px dashed #f4f7fb;border-radius:4px;pointer-events:none}.shift-reveal{height:430px;isolation:isolate}.back-scrap{position:absolute;inset:30px;background:#7da2ce url('textures/felt-blue.webp');background-blend-mode:soft-light;background-size:300px;transform:rotate(7deg);box-shadow:4px 7px 8px #26426035;border-radius:4px}.back-scrap:after{content:'';position:absolute;inset:9px;border:1px dashed #cedeee}.craft-scene{position:absolute;inset:0;z-index:2;pointer-events:none}.craft-scene canvas{display:block;width:100%;height:100%}.pull-yarn,.uncover-battery{position:absolute;z-index:5;border:0;background:#f8faf8;color:#315484;font:17px 'Caveat',cursive;bottom:32px;right:20px;padding:7px 13px;box-shadow:2px 3px 5px #29425b30;cursor:pointer;transform:rotate(-4deg)}.yarn-tail{position:absolute;right:90%;top:-28px;width:130px;height:60px;background:url('textures/yarn.svg') center/300px 70px no-repeat;pointer-events:none}.shift-reveal .cover-note{color:#294b76;font-size:20px;bottom:8px}.shift-reveal .shift-card{position:absolute;z-index:4;width:76%;top:30px;left:12%;background:#f8fbff;transition:transform .5s,opacity .4s;transform:rotate(-3deg)}.shift-reveal.revealed .craft-scene{opacity:.18;transform:translate(-45px,25px);transition:transform .6s,opacity .4s}.shift-reveal.revealed .pull-yarn{bottom:30px}.ruled-paper{background:#e8f0f4 url('textures/felt-cream.webp');background-blend-mode:screen;border-radius:4px}.research-sheet{background:repeating-linear-gradient(#fcfcf6 0 24px,#a9bdd355 24px 25px)}.battery-reveal{height:430px;overflow:hidden}.battery-reveal .research-sheet{width:79%;height:345px}.battery-reveal .research-sheet h4{margin:25px 0 18px;font-size:47px}.comparison-note{font-size:10px;line-height:2;color:#365c8b;letter-spacing:.6px}.battery-reveal .craft-scene{transition:transform .6s;transform:translateX(calc(var(--uncover,0)*155px)) rotate(calc(var(--uncover,0)*15deg))}.battery-reveal.uncovered .craft-scene{transform:translateX(180px) rotate(18deg)}.uncover-battery{bottom:10px;left:20px;right:auto}.prints-note{background:#e2ecf6 url('textures/kraft.webp');background-blend-mode:screen;border-color:#bbcde0;box-shadow:3px 5px 0 #bdcede}.big-number{color:#456c9e}.prints-note:after{content:'';position:absolute;top:13px;left:45%;height:18px;width:18px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#f0a6ab,#b53540 60%,#6d202c);box-shadow:3px 5px 5px #27385455}.resume-slip{background:#fbfcf8;box-shadow:4px 7px 9px #40556a22}.about{border-color:#ccd8e3}.contact{max-width:900px;margin:10px auto 65px;background:#e0eafa;background-image:linear-gradient(180deg,#cad9ef 0 34px,transparent 34px),repeating-linear-gradient(0deg,transparent 0 29px,#7e9abc25 29px 30px);box-shadow:2px 3px 2px #6983a624,10px 16px 12px #46628926;border:0;transform:rotate(-2deg);padding:65px 75px}.contact-pin{position:absolute;left:50%;top:8px;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#f2b2b6,#b8353c 60%,#732a35);box-shadow:4px 6px 5px #31415b66}.contact:after{content:'';position:absolute;bottom:0;right:0;width:40px;height:40px;background:linear-gradient(135deg,#b7cbe4 50%,#f4f6f5 51%);filter:drop-shadow(-2px -2px 2px #4d6b8e25)}.contact h2{font-size:63px}.contact .postmark{border-color:#5775a1;color:#5775a1}.work:after{content:'';display:block;height:80px;background:url('textures/yarn.svg') center/90% 90px no-repeat;margin:45px -6% -60px}.project-text .eyebrow{color:#456b98}.small{color:#536271}.contact>a{font-size:21px}.contact>p{color:#526b8b}
@media(max-width:750px){.crafted-mark .signature{font-size:33px}.crafted-mark .stitched-star{font-size:20px}.desk:after{left:0;right:0;bottom:0;height:70px}.timer-object{top:545px}.timer-brand time{font-size:8px}.shirt-object{top:740px}.desk{height:1290px}.shift-reveal,.battery-reveal{height:400px}.shift-reveal .shift-card{top:35px}.shift-card p{font-size:32px}.contact{margin:10px 7% 50px;padding:55px 28px 35px}.contact h2{font-size:49px}.contact>a{font-size:16px}.contact .eyebrow{font-size:8px}.battery-reveal.uncovered .craft-scene{transform:translateX(150px) rotate(18deg)}}
@media(prefers-reduced-motion:reduce){.battery-reveal .craft-scene{transform:none}.battery-reveal.uncovered .craft-scene{transform:translateX(160px)}.shift-reveal.revealed .craft-scene{transform:none}}
.craft-fallback{margin:70px auto;text-align:center;color:#345f9b;font-size:100px;line-height:1.2}.craft-fallback span{font:24px 'Caveat',cursive}.battery-fallback{margin:40px auto;width:110px;padding:25px 10px;border-radius:18px;background:linear-gradient(90deg,#829fc9,#dbe9fa,#809bc2);border-block:9px solid #c8d6df;text-align:center;font:600 27px 'Cormorant Garamond',serif;box-shadow:9px 10px 15px #1d355044}
.contact{max-width:1050px;padding-right:330px;min-height:475px}.contact h2{font-size:60px}.phone-object{position:absolute;right:65px;top:65px;width:195px;height:340px;transform:perspective(900px) rotateY(-14deg) rotateZ(8deg);transform-style:preserve-3d;border-radius:30px;background:#35517a;padding:9px;box-shadow:inset 2px 2px 2px #b4c9e2,inset -3px -3px 2px #192f50,11px 13px 0 #243c60,19px 25px 20px #2b466b40;transition:transform .5s}.phone-object:focus-within,.phone-object:hover{transform:perspective(900px) rotateY(-3deg) rotateZ(3deg)}.phone-open{height:100%;width:100%;border:0;border-radius:23px;background:radial-gradient(ellipse at 35% 35%,#f7fbff,#b5cce9);display:flex;flex-direction:column;align-items:center;color:#345c94;cursor:pointer;padding:20px 12px}.phone-camera{width:58px;height:13px;border-radius:20px;background:#24364e;position:absolute;top:17px}.phone-time{font:24px 'Caveat';margin-top:28px}.phone-icon{font:80px Georgia;margin-top:32px;text-shadow:2px 4px 0 #97b3d7}.phone-prompt{font-size:10px;margin-top:auto;margin-bottom:13px}.phone-card{position:absolute;inset:9px;background:#f6f9fc;border-radius:23px;padding:55px 16px 20px;text-align:center}.phone-card strong{font:27px/.95 'Cormorant Garamond';display:block}.phone-card>span{font-size:10px;display:block;line-height:1.5;margin:20px 0}.phone-card a{font-size:12px;display:block;margin-top:24px}.phone-close{border:0;border-bottom:1px solid #8dadd1;background:none;font-size:10px;margin-top:25px;cursor:pointer}.comparison-note{font-size:9px}.research-sheet .handwritten{font-size:21px}@media(max-width:750px){.contact{padding:50px 28px 370px;min-height:720px}.contact h2{font-size:49px}.phone-object{top:auto;bottom:35px;right:calc(50% - 90px);width:180px;height:310px}.phone-icon{font-size:67px}.phone-time{font-size:23px}.comparison-note{font-size:8px}.research-sheet .handwritten{font-size:19px}}
.pull-yarn{touch-action:pan-y;transform:translateX(var(--pull-distance,0px)) rotate(-4deg)}
.shift-project{grid-template-columns:1.25fr .75fr;gap:6%;margin-bottom:100px}.monitor-world{height:540px;background:radial-gradient(ellipse at 50% 65%,#d3e5f8 0%,#edf5fc 56%,#f7f9fa 80%);transform:rotate(-1deg);position:relative;border-radius:30px 5px 30px 5px;box-shadow:inset 0 -10px 30px #a8c1e02b}.monitor-world:before{content:'';position:absolute;left:4%;right:4%;bottom:50px;height:40px;background:radial-gradient(ellipse,#55769c32,transparent 70%);filter:blur(7px)}.monitor-world .craft-scene{inset:-20px -12px 35px}.monitor-caption{position:absolute;bottom:10px;left:0;right:0;text-align:center;font:25px 'Caveat';margin:0;color:#416a9e}.monitor-caption small{display:block;font:7px 'DM Sans';letter-spacing:1px;margin:7px 0}.screen-access{position:absolute;left:18%;right:18%;bottom:79px;display:flex;justify-content:center;gap:10px;font-size:7px;letter-spacing:.5px;color:#577da8}.screen-access span{background:#f8fbfe;padding:5px 7px;border-radius:20px}.monitor-fallback{margin:70px 40px 0;background:#f4f8fd;border:14px solid #a8c5e4;border-bottom-width:35px;border-radius:15px;padding:20px;box-shadow:5px 9px 10px #2c4e7435;color:#345b91}.monitor-fallback b{font-size:21px;letter-spacing:3px}.monitor-fallback p{font:32px 'Cormorant Garamond';margin:20px 0}.monitor-fallback span{font-size:13px;display:block}.monitor-fallback small{font-size:9px;display:block;margin-top:20px}.battery-reveal{height:500px}.battery-reveal .research-sheet{height:380px}.battery-reveal .craft-scene{inset:-10px -10px 20px}.scroll-note{position:absolute;bottom:8px;left:20px;font:21px 'Caveat';color:#436b9c;z-index:4}.calculator-object{width:210px;padding:22px 17px;background:linear-gradient(145deg,#b0c8e7,#88a7cf);border-radius:20px;box-shadow:inset 2px 2px 3px #e2edfa,inset -3px -4px 3px #597da9,6px 10px 12px #2c496b35;transform:rotate(-9deg);margin:45px 0 0 45px}.calculator-display{font:16px 'Caveat';background:#eff5ee;border:4px solid #708eb3;padding:9px 6px;text-align:center;border-radius:7px}.calculator-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:15px}.calculator-keys span{background:#f5f8fa;font-size:12px;text-align:center;padding:5px;border-radius:5px;box-shadow:0 3px 0 #6e87a7}.calculator-keys span:nth-child(4n){background:#335f97;color:#edf5fd}.next-notes{padding-top:0;padding-bottom:65px;display:grid;grid-template-columns:1.5fr 1fr;gap:35px}.next-notes>div{background:#eaf1f8;border-top:2px dashed #9db7d5;padding:25px;transform:rotate(-1deg)}.next-notes>div:last-child{transform:rotate(1deg);background:#f0f4f8}.next-notes h3{font-size:31px;line-height:1.05;margin:17px 0}.next-notes p{font-size:12px;margin:0}.paperclip{border-color:#a2abb4;box-shadow:inset 1px 1px 0 white,2px 3px 2px #28436255;background:linear-gradient(90deg,transparent 30%,#ffffff50 47%,transparent 65%)}
@media(max-width:750px){.shift-project{grid-template-columns:1fr;gap:28px;margin-bottom:60px}.monitor-world{height:420px;margin-inline:-3%}.monitor-world .craft-scene{inset:-5px -15px 35px}.monitor-caption{font-size:22px}.screen-access{left:5%;right:5%;font-size:6px;bottom:69px;gap:5px}.screen-access span{padding:4px 6px}.battery-reveal{height:450px}.battery-reveal .research-sheet{height:365px}.scroll-note{font-size:18px}.calculator-object{margin:25px 0 25px 35px;width:180px}.calculator-keys{gap:6px}.calculator-keys span{font-size:10px;padding:3px}.next-notes{grid-template-columns:1fr;gap:20px;padding-bottom:40px}.next-notes h3{font-size:30px}}
.contact{max-width:1180px;min-height:590px;padding:90px 640px 80px 65px;margin-top:30px;margin-bottom:85px;transform:perspective(1800px) rotateX(2deg) rotateZ(-2deg);box-shadow:4px 5px 3px #7f9abd30,18px 25px 22px #47699330}.contact h2{font-size:61px}.contact>a{font-size:18px;white-space:nowrap}.tablet-object{position:absolute;top:100px;right:60px;width:505px;height:390px;border-radius:28px;padding:14px;background:linear-gradient(140deg,#a2bad5,#47688f 45%,#233d5e);box-shadow:inset 2px 2px 2px #eff5fc,inset -2px -3px 2px #1b304b,9px 9px 0 #24405f,17px 22px 20px #28476640;transform:perspective(1300px) rotateY(-12deg) rotateZ(7deg);transition:transform .6s}.tablet-object:focus-within,.tablet-object:hover{transform:perspective(1300px) rotateY(-4deg) rotateZ(4deg)}.tablet-camera{position:absolute;top:50%;left:5px;width:5px;height:5px;background:#172839;border-radius:50%;box-shadow:0 0 1px #8eabc7}.tablet-screen{background:#f7fbfe;height:100%;border-radius:17px;overflow:hidden;position:relative;padding:0 25px 15px}.tablet-cover{height:64px;margin:0 -25px;background-color:#edf4fb;background-image:linear-gradient(90deg,#6697ca25 50%,transparent 50%),linear-gradient(#6697ca25 50%,transparent 50%);background-size:24px 24px;text-align:right;padding:18px 23px;color:#496f9d}.tablet-cover .handwritten{font-size:22px}.tablet-profile{display:flex;align-items:center;gap:16px;margin-top:-22px;position:relative}.profile-monogram{width:76px;height:76px;border:5px solid #f7fbfe;border-radius:50%;background:#c9ddf2;box-shadow:inset 1px 1px 5px #90aed0;font:55px/.9 'Caveat';padding:10px;text-align:center;color:#406598;flex-shrink:0}.tablet-profile h3{font-size:33px;letter-spacing:-1px;margin:26px 0 5px}.tablet-profile p{font-size:10px;line-height:1.4;margin:0;color:#6883a1}.profile-tabs{display:flex;gap:20px;border-bottom:1px solid #d6e2ee;margin-top:17px}.profile-tab{font-size:11px;cursor:pointer;border:0;border-bottom:2px solid transparent;padding:8px 0;background:none;color:#6782a1}.profile-tab.active{color:#315e97;border-bottom-color:#315e97}.profile-panel{padding-top:13px}.profile-panel>p{font-size:11px;line-height:1.6;margin:0 0 12px;color:#536f91}.profile-panel>a{display:inline-block;background:#365f96;color:#f6faff;padding:9px 14px;border-radius:7px;text-decoration:none;font-size:11px}.profile-panel>a.secondary-contact{background:#e7eff8;color:#365f96;margin-left:7px}.contact-pin{left:45%;width:25px;height:25px;top:12px}
@media(max-width:1100px) and (min-width:751px){.contact{padding-left:45px;padding-right:490px;min-height:550px}.contact h2{font-size:50px}.contact>a{font-size:15px}.tablet-object{width:420px;right:35px;top:110px;height:370px}.tablet-screen{padding-inline:20px}.tablet-profile h3{font-size:29px}.profile-panel>a{font-size:10px;padding:8px 10px}.tablet-cover .handwritten{font-size:20px}}
@media(max-width:750px){.contact{padding:50px 25px 420px;min-height:750px;margin:20px 5% 55px;transform:rotate(-1deg)}.contact h2{font-size:53px}.contact>a{font-size:16px}.tablet-object{top:auto;bottom:45px;left:5%;right:auto;width:90%;height:355px;border-radius:22px;padding:10px;transform:perspective(900px) rotateY(-5deg) rotateZ(3deg)}.tablet-screen{padding-inline:17px;border-radius:14px}.tablet-cover{margin-inline:-17px;height:60px;padding:18px 13px}.tablet-cover .handwritten{font-size:19px}.tablet-profile{gap:10px}.profile-monogram{width:62px;height:62px;font-size:43px}.tablet-profile h3{font-size:29px;margin-top:23px}.tablet-profile p{font-size:9px}.profile-tabs{gap:18px;margin-top:14px}.profile-tab{font-size:10px}.profile-panel>p{font-size:10px}.profile-panel>a{font-size:10px;padding:8px 10px}.profile-panel>a.secondary-contact{margin-left:3px}.contact-pin{left:50%}}

/* Rounded lettering and close-up woven cloth. */
h1,h2,h3,.tablet-profile h3{font-family:'Nunito',sans-serif;font-weight:800;letter-spacing:-.055em}h1 i,h2 i,h3 i{font-style:normal}h1{line-height:.99}.intro-paper h1{font-size:clamp(62px,7.2vw,104px)}.section-heading h2,.about h2{font-size:clamp(38px,4.4vw,65px)}.monitor-caption,.screen-access{z-index:4}.monitor-caption{background:#eff6fbd9;border-radius:20px;margin:0 12px;padding:3px 0}.monitor-caption small{font-size:8px}.gingham{background-image:url('textures/woven-gingham.webp');background-size:380px 380px;box-shadow:inset 0 0 30px #496b9840,7px 12px 18px #29456435}.tablet-cover{background-image:url('textures/woven-gingham.webp');background-size:230px}.contact h2{font-size:52px}.tablet-profile h3{font-size:29px}@media(max-width:750px){.intro-paper h1{font-size:66px}.contact h2{font-size:43px}.tablet-profile h3{font-size:25px}}

.muse-spread{position:relative;display:grid;grid-template-columns:1fr 2.2fr;align-items:center;min-height:720px;margin-top:45px;margin-bottom:40px;background:radial-gradient(ellipse at 70% 75%,#e1edf8,transparent 65%)}.muse-caption{position:relative;z-index:2}.muse-caption h2{font:800 58px/1 'Nunito';letter-spacing:-3px;margin:23px 0}.muse-caption .handwritten{font:35px/1.1 'Caveat';color:#567ca6}.muse-caption>p:not(.handwritten){font-size:13px;max-width:240px;line-height:1.8}.muse-caption>a{font-size:12px;color:#365e90}.muse-spread:after{content:'';position:absolute;bottom:25px;right:8%;width:55%;height:120px;background:url('textures/woven-gingham.webp') center/300px;transform:rotate(-4deg);z-index:-1;box-shadow:2px 8px 9px #3b5f8b25;border-radius:5px}#muse-scene{height:690px;min-width:0}#muse-scene canvas{width:100%;height:100%}.profile-photo{padding:0;object-fit:cover;object-position:50% 25%;background:#a8c4df}.muse-fallback{position:relative;width:250px;height:340px;margin:100px auto;background:#a5c7e9 url('textures/felt-blue.webp');background-blend-mode:screen;border-radius:45%;box-shadow:inset -15px -10px 25px #45678d30,10px 20px 25px #44648420}.felt-ear{position:absolute;top:-25px;width:85px;height:90px;background:#a6c8e6;clip-path:polygon(50% 0,100% 100%,0 100%)}.felt-ear.left{left:5px;transform:rotate(-15deg)}.felt-ear.right{right:5px;transform:rotate(15deg)}.felt-face{position:absolute;top:60px;width:100%;text-align:center;font:55px Georgia;color:#29456a}.felt-belly{position:absolute;left:55px;bottom:35px;width:140px;height:145px;border-radius:50%;background:#fafcf8 url('textures/felt-cream.webp');background-blend-mode:screen}.felt-paws{position:absolute;bottom:-16px;left:26px;color:#fafcf8;font-size:150px;line-height:1;letter-spacing:15px}@media(max-width:750px){.muse-spread{grid-template-columns:1fr;min-height:0;margin-top:20px;padding-top:35px}.muse-caption{text-align:center}.muse-caption h2{font-size:48px}.muse-caption .handwritten{font-size:29px}.muse-caption>p:not(.handwritten){margin-inline:auto}.muse-spread:after{bottom:25px;right:5%;width:90%}#muse-scene{height:520px;margin-inline:-7%}}

.intro-paper h1{font-size:clamp(82px,9.5vw,150px);letter-spacing:-.07em;margin-top:35px;margin-bottom:35px}.intro-paper h1 .star{font-size:.32em;color:#b34349}.muse-caption h2{font-size:54px;line-height:1.04}.muse-caption .eyebrow,.archive-tab{color:#a93640}.throwback{padding-top:30px;padding-bottom:90px}.throwback h2{font-size:clamp(35px,4vw,59px);line-height:1.05}.throwback-heading .handwritten{color:#a43d46;font-size:29px}.throwback-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:35px}.throwback-grid article{position:relative;background:#f5f8fb;padding:36px 26px 32px;border-top:7px solid #aa3b46;box-shadow:3px 6px 0 #ccd9e8,8px 11px 15px #2c52791b;transform:rotate(-1.3deg)}.throwback-grid article:nth-child(2){background:#e6eff8;transform:rotate(1.6deg);border-top-color:#5a80b0}.throwback-grid article:nth-child(3){transform:rotate(-.5deg)}.archive-tab{font-size:9px;letter-spacing:2px}.throwback-grid h3{font-size:31px;line-height:1.05}.throwback-grid p{font-size:12px;line-height:1.8}.tablet-cover .handwritten{color:#a13943}.profile-tab.active{border-bottom-color:#a23a45}.stitched-star{color:#ad3a44}@media(min-width:1500px){.page{max-width:1440px}.shift-project{grid-template-columns:1.45fr .65fr;gap:5%}.monitor-world{height:700px}.monitor-world .craft-scene{inset:-25px -20px 30px}.muse-spread{min-height:800px}#muse-scene{height:790px}.project-text p{font-size:16px;line-height:1.85}}@media(max-width:750px){.intro-paper h1{font-size:90px}.muse-caption h2{font-size:43px}.throwback-grid{grid-template-columns:1fr;gap:30px}.throwback{padding-bottom:55px}}

.calculator-display{width:100%;font:17px 'Nunito';min-width:0;color:#2d4c72}.calculator-object label{display:block;text-align:center;margin-bottom:8px}.calculator-keys button{border:0;background:#f5f8fa;color:#294c78;font-size:13px;text-align:center;padding:8px 3px;border-radius:6px;box-shadow:0 3px 0 #6e87a7;cursor:pointer;min-height:32px}.calculator-keys button:nth-child(4n){background:#335f97;color:white}.calculator-keys button:active{transform:translateY(2px);box-shadow:0 1px 0 #6e87a7}#calc-status{font-size:10px;display:block;margin-top:15px;line-height:1.4}.calc-tape{max-height:70px;overflow:auto;white-space:nowrap;font:11px monospace;margin-top:8px;color:#3e5b7b}.timer-extension{position:absolute;top:72%;left:89%;width:clamp(170px,var(--extension,190px),380px);border-radius:0 30px 30px 0;padding:13px 19px 13px 32px;background:#fbfcf9;box-shadow:5px 7px 10px #395a7b28;z-index:-1;transform:rotate(2deg);transition:width .4s}.timer-extension button{border:0;background:none;font:700 13px 'Nunito';color:#a93a47;cursor:pointer;padding:6px 0}.timer-extension output{display:block;font:11px 'Caveat';color:#587a9e}.timer-object{z-index:7}.throwback-heading{position:relative;padding:30px 18px;background:linear-gradient(2deg,transparent 8%,#f8f6ee 8% 94%,transparent 94%);transform:rotate(-1deg)}.throwback-grid article:after{content:'';position:absolute;top:-20px;left:35%;width:90px;height:32px;background:#c9dced88;transform:rotate(-8deg)}.throwback-grid{gap:15px}.throwback-grid article:nth-child(2){margin-top:30px;margin-left:-20px;z-index:1}.throwback-grid article:nth-child(3){margin-left:-12px}.profile-photo{object-position:65% 28%}.project-text details a{display:inline-block;margin-block:10px;font-size:12px;color:#a03843}@media(min-width:1000px){.timer-object{scale:1.25;transform-origin:center;bottom:30px}.coffee-note{scale:1.3;transform-origin:left bottom}.shirt-object{scale:1.12;transform-origin:60% 50%}.desk{min-height:800px}.intro-paper{padding-bottom:65px}}@media(min-width:1600px){.timer-object{scale:1.42}.coffee-note{scale:1.5}.shirt-object{scale:1.23}.desk{min-height:900px}}@media(max-width:750px){.timer-extension{left:84%;width:150px;top:68%;padding:10px 12px 10px 26px}.timer-extension button{font-size:11px}.timer-extension output{font-size:10px}.throwback-grid article:nth-child(n){margin:0}.calculator-object{width:230px}.calculator-keys button{min-height:40px}.timer-object{left:4%}.coffee-note{right:4%}}

.profile-tabs{gap:16px}.profile-tab{white-space:nowrap}@media(max-width:750px){.profile-tabs{gap:13px}.profile-tab{font-size:9px}}

.stripe-piece{background:repeating-linear-gradient(90deg,#fbfcfd 0 17px,#527ba9 17px 25px,#fbfcfd 25px 42px);box-shadow:3px 8px 12px #41658e20}.throwback-heading:before{content:'';position:absolute;inset:18px -15px -12px 16px;background:repeating-linear-gradient(0deg,#f6f7f5 0 14px,#5276a322 14px 15px);transform:rotate(3deg);z-index:-1;border-bottom:5px solid #a43b48}.chapter-tab{background:#a63e48;color:#fff8f4}.contact-pin{background:#b33c47;box-shadow:inset 3px 2px 4px #f3a6a2,2px 5px 4px #40242c40}.resume-slip{border-top:4px solid #a43d48}

.desk{overflow:visible}.desk-caption{z-index:0}@media(max-width:750px){.desk{overflow:hidden;padding-bottom:45px}.timer-object{z-index:8}}
@media(max-width:750px){.desk{max-height:none;height:1320px}}

.profile-photo{overflow:hidden;padding:0}.profile-photo img{width:100%;height:100%;object-fit:cover;object-position:60% 25%;transform:scale(2.3);transform-origin:60% 28%}
.coffee-drag{border:0;background:transparent;padding:14px;cursor:grab;touch-action:none;position:relative;z-index:8;display:block}.coffee-drag:active{cursor:grabbing}.coffee-note .coffee-cup{display:block}.coffee-note>div>a{text-decoration:none}.coffee-reset{display:block;border:0;background:transparent;padding:8px 0;color:#8f3044;font:11px 'Nunito';cursor:pointer}.coffee-note{z-index:8}.coffee-drag:focus-visible{outline:3px dashed #b7454e;outline-offset:7px;border-radius:50%}.profile-photo img{transform:none;object-position:center}.tablet-profile .profile-photo{width:112px;height:112px;flex-shrink:0}.profile-panel .linkedin-contact{background:#e0edf9;color:#315b89}.photo-spread{padding-top:40px;padding-bottom:100px;position:relative}.photo-heading h2{font-size:50px;line-height:1.05;margin:15px 0}.photo-heading .handwritten{color:#a63c48}.photo-collage{display:grid;grid-template-columns:1fr 1fr .8fr;align-items:center;gap:8px;padding:30px 20px;position:relative}.photo-collage:before{content:'';position:absolute;inset:60px -15px 45px;background:repeating-linear-gradient(90deg,#dbeafa 0 18px,#fcfcf9 18px 36px);transform:rotate(2deg);box-shadow:4px 8px 10px #34587620}.photo-print{margin:0;padding:13px 13px 30px;background:#fffef8;box-shadow:3px 7px 9px #294a6b30;transform:rotate(-6deg);position:relative;z-index:1}.photo-print img{display:block;width:100%;height:350px;object-fit:cover;object-position:50% 24%}.photo-print figcaption{font:24px/1.2 'Caveat';padding:15px 3px 0;color:#3e628b}.naba-photo{transform:rotate(5deg);margin-top:70px;margin-left:-14px}.naba-photo img{object-position:65% 30%}.metal-clip{position:absolute;right:30px;top:-20px;width:22px;height:72px;border:4px solid #aeb8c3;border-radius:14px;transform:rotate(12deg);box-shadow:inset 1px 1px 1px white,2px 2px 2px #243e5d50;z-index:2}.metal-clip:after{content:'';position:absolute;inset:4px 2px 11px;border:2px solid #d1d8de;border-radius:9px}.community-scrap{position:relative;z-index:2;margin-left:14px;padding:25px 20px;background:#f8f7ee;transform:rotate(-2deg);box-shadow:3px 5px 7px #31537320}.community-scrap h3{font:800 35px 'Nunito';margin:10px 0}.community-scrap p{font-size:12px}.crowe-pin{position:relative;border-top:1px dashed #a2b5c8;margin-top:30px;padding-top:20px}.crowe-pin>span{float:right;color:#a43f4b;font-size:30px}.crowe-pin strong{font:700 15px 'Nunito'}.crowe-pin p{margin-top:8px;font-size:11px}.shift-icon-teaser{position:absolute;left:15px;bottom:65px;z-index:4;text-decoration:none;text-align:center;transform:rotate(-7deg)}.shift-icon-teaser b{display:grid;place-items:center;width:70px;height:70px;border-radius:20px;background:linear-gradient(140deg,#f6fbff,#a7c6e8);border:2px solid white;box-shadow:4px 6px 5px #345a8230;font:900 25px 'Nunito';color:#315e8c}.shift-icon-teaser span{display:block;font:16px 'Caveat';margin-top:6px}.comparison-note{font-size:13px!important;line-height:1.8!important;color:#294e7b!important}.research-sheet{background-color:#fffefa!important}@media(max-width:750px){.photo-spread{padding-bottom:45px}.photo-heading h2{font-size:36px}.photo-collage{grid-template-columns:1fr 1fr;padding:15px 3px;gap:0}.photo-print{padding:7px 7px 16px}.photo-print img{height:235px}.photo-print figcaption{font-size:19px}.naba-photo{margin-left:-5px;margin-top:40px}.community-scrap{grid-column:1/-1;margin:35px 10px 0;padding:25px}.community-scrap h3{font-size:28px}.crowe-pin{max-width:240px}.tablet-profile .profile-photo{width:85px;height:85px}.shift-icon-teaser{left:16px;bottom:76px;scale:.8;transform-origin:left bottom}.coffee-drag{padding:10px}.coffee-reset{font-size:10px}.comparison-note{font-size:11px!important}}@media(prefers-reduced-motion:reduce){.coffee-drag{transition:none}}
.coffee-note .coffee-cup{display:grid;place-content:center}.coffee-cup i{display:block}body{overflow-x:clip}.coffee-note>div .handwritten{color:#3e6295;font-size:23px}.coffee-note{gap:12px}@media(max-width:750px){.coffee-note>div .handwritten{font-size:17px}}
.desk{overflow:hidden}
.timer-extension{z-index:0}.timer-controls,.timer-screen,.timer-brand{position:relative;z-index:1}@media(max-width:750px){.coffee-note{left:auto;right:3%;width:105px}.coffee-note>div{position:absolute;bottom:100%;left:0;width:110px}.coffee-note>div .handwritten{font-size:16px}.coffee-reset{padding:5px 0}}
/* Tactile controls and temporary visitor scratch spaces. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.move-handle{touch-action:none;cursor:grab}.move-handle:active{cursor:grabbing}.assembly-controls{position:absolute;bottom:112px;left:50%;transform:translateX(-50%);display:flex;gap:8px;white-space:nowrap}.assembly-controls button,.puppet-controls button,.battery-controls button{font:700 11px 'Nunito';padding:9px 12px;border:1px solid #a8bfd6;background:#fcfdf9;color:#365b87;border-radius:20px;cursor:pointer;min-height:36px;box-shadow:1px 3px 0 #bbcedf}.puppet-controls{grid-column:1/-1;display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:-20px}.puppet-controls>div{display:flex;gap:8px;align-items:center}.puppet-controls span{font:9px 'DM Sans';letter-spacing:1px;margin-right:8px}.puppet-controls[hidden],.battery-controls[hidden],.assembly-controls[hidden]{display:none}.battery-controls{position:absolute;bottom:38px;left:18px;z-index:6;display:flex;gap:7px}.scroll-note{bottom:0}.muse-spread{padding-bottom:40px}#muse-scene{overflow:visible}.shift-icon-teaser{bottom:105px;left:25px}.shift-icon-teaser b{height:85px;width:85px;display:flex;flex-direction:column;padding:6px}.shift-icon-teaser b>small{font:900 18px 'Nunito';line-height:1}.shift-icon-teaser .icon-cat{display:block;width:49px;height:43px;border-radius:44%;background:#a1c8ed url('textures/felt-blue.webp');position:relative;margin:0;box-shadow:inset -3px -3px 4px #517ca83a}.icon-cat:before,.icon-cat:after{content:'';position:absolute;top:-5px;width:17px;height:20px;background:#a1c8ed;clip-path:polygon(50% 0,100% 100%,0 100%)}.icon-cat:before{left:0;rotate:-15deg}.icon-cat:after{right:0;rotate:15deg}.icon-cat em{position:relative;z-index:1;font:18px Georgia;color:#274b72;display:block;margin-top:6px}.icon-cat i{position:absolute;bottom:1px;left:12px;width:25px;height:16px;background:#fffef7;border-radius:50%}.shift-icon-teaser>span{font-size:14px;color:#345d8b;white-space:nowrap}
.play-page{display:grid;grid-template-columns:1fr 1.7fr;gap:55px;align-items:center;padding-block:80px}.play-page h2{font:800 52px/1.05 'Nunito';letter-spacing:-2px;margin:20px 0}.play-page>.small,.play-page>div>.small{max-width:260px}.play-page .handwritten{color:#a93c47}.whiteboard{position:relative;background:#fff;border:12px solid #bacde1;border-radius:18px;box-shadow:inset 2px 3px 3px #48658430,3px 9px 0 #8ea7c3,15px 22px 22px #335a7f25;transform:rotate(2deg);padding:15px 22px 30px}.board-rim{display:flex;align-items:center;gap:15px;font:19px 'Caveat';color:#56759b;margin-bottom:10px}.red-magnet{width:19px;height:19px;display:block;border-radius:50%;background:radial-gradient(circle at 30% 30%,#e28a8e,#ac3442);box-shadow:1px 3px 3px #5e293c45}#board-text{display:block;width:100%;height:95px;border:0;resize:vertical;max-height:180px;background:transparent;font:27px/1.2 'Caveat';color:#345e8e;padding:10px;outline-offset:2px}#draw-board{display:block;width:100%;height:180px;border-block:1px dashed #dbe6f0;touch-action:pan-y;background:radial-gradient(#d5e1ee 1px,transparent 1px) 0 0/18px 18px}#draw-board.drawing{cursor:crosshair}.board-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.board-tools button,.scratch-actions button{font:700 11px 'Nunito';color:#3a608d;border:1px solid #b7c9df;border-radius:8px;padding:9px;background:#f6f9fc;cursor:pointer;min-height:36px}.board-tools [aria-pressed=true]{background:#365f91;color:white}.board-tools [data-ink='#b2444d']{color:#a63b46}.board-tools [data-ink='#b2444d'][aria-pressed=true]{background:#a63b46;color:white}#board-status{display:block;margin-top:12px;font-size:10px;color:#58728e;min-height:28px}.marker-tray{position:absolute;bottom:-20px;left:15%;width:70%;height:13px;background:#b7cbe0;box-shadow:0 5px 0 #7591af;border-radius:3px}.marker-tray i{position:absolute;bottom:5px;left:20%;width:85px;height:12px;background:linear-gradient(#fafafa,#e1e5e9);border-left:20px solid #376395;border-radius:4px;rotate:-3deg;box-shadow:2px 2px 2px #3d58723d}.marker-tray i+i{left:52%;border-color:#af444f;rotate:4deg}
.contact{min-height:940px}.scratch-desk{position:absolute;top:480px;right:40px;width:550px;z-index:3;padding:25px 30px 20px;background:#eff4f9;border:1px solid white;border-radius:18px;box-shadow:inset 1px 2px 3px white,5px 9px 0 #a1b9d2,15px 20px 18px #34597930;transform:rotate(2deg)}.scratch-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.scratch-heading label{font:24px 'Caveat';color:#3c638f}.scratch-heading span{font-size:7px;letter-spacing:1px}.scratch-desk textarea{width:100%;height:115px;min-height:100px;max-height:200px;resize:vertical;background:#fffef9;border:1px solid #d2ddea;border-radius:8px;padding:15px;font:15px/1.5 'Nunito';color:#284c74;box-shadow:inset 1px 2px 3px #34577612}.scratch-actions{display:flex;align-items:center;justify-content:space-between}.scratch-actions output{font-size:9px;color:#667f9b}.keyboard-drawer{margin-top:12px}.keyboard-drawer summary{font:700 11px 'Nunito';cursor:pointer;padding:8px 0;color:#416792}#note-keypad{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;padding:12px;background:#dce7f3;border-radius:12px}#note-keypad button{font:700 12px 'Nunito';min-height:33px;border:0;border-radius:4px;color:#335b88;background:#fff;box-shadow:0 3px 0 #a4bad3;cursor:pointer}#note-keypad button:active{translate:0 2px}#note-keypad button[aria-label=Space]{grid-column:span 2}.scratch-disclaimer{font-size:9px!important;margin:12px 0 0;color:#58748f}.desk-mouse{position:absolute;right:-55px;top:35px;width:45px;height:70px;background:linear-gradient(100deg,#e6edf5,#fff 45%,#d5e0ec);border-radius:45%;box-shadow:3px 5px 5px #38557335;rotate:8deg}.desk-mouse:after{content:'';position:absolute;top:8px;left:21px;width:3px;height:16px;background:#aac1d8;border-radius:5px}.scratch-desk:has(details[open]){padding-bottom:20px}.contact:has(.keyboard-drawer[open]){min-height:1110px}.contact:has(.keyboard-drawer[open]) .scratch-desk{top:480px}
.simple-view .desk{height:auto;min-height:900px}.simple-view .shirt-fallback{margin-top:110px}.simple-view #muse-scene{height:430px}.simple-view .muse-spread{min-height:520px}.simple-view .muse-fallback{margin:50px auto}.simple-view .project-cover{box-shadow:3px 5px 12px #385b7b20}.simple-view .monitor-fallback{padding:30px}.simple-view .battery-reveal .research-sheet{transform:none;margin-right:0;width:100%}.simple-view .battery-fallback{display:none}.simple-view .battery-reveal{height:400px}.simple-view .monitor-caption{bottom:12px}.simple-view .shift-icon-teaser{bottom:90px}.simple-view .screen-access{display:none}
@media(max-width:1100px) and (min-width:751px){.scratch-desk{width:490px;right:30px}.desk-mouse{right:-30px;width:35px}}
@media(max-width:750px){.assembly-controls{bottom:105px;gap:5px}.assembly-controls button{font-size:9px;padding:7px;min-height:34px}.puppet-controls{margin-top:0;gap:15px}.puppet-controls>div{flex-wrap:wrap;justify-content:center}.puppet-controls button,.battery-controls button{min-height:42px}.puppet-controls span{font-size:8px}#muse-scene{height:460px;margin-inline:0}.muse-spread{padding-bottom:35px}.battery-controls{bottom:35px}.shift-icon-teaser{bottom:100px;left:20px;scale:.75}.play-page{grid-template-columns:1fr;gap:25px;padding-block:35px}.play-page h2{font-size:40px}.play-page>div>.small{max-width:none}.whiteboard{padding:15px 12px 25px;border-width:8px;transform:rotate(1deg);margin-bottom:30px}#board-text{font-size:24px}#draw-board{height:150px}.board-tools button{min-height:42px}.contact,.contact:has(.keyboard-drawer[open]){min-height:0;padding:50px 23px 35px}.tablet-object{position:relative;inset:auto;width:100%;height:380px;left:0;bottom:auto;margin:40px 0 0}.scratch-desk,.contact:has(.keyboard-drawer[open]) .scratch-desk{position:relative;top:auto;right:auto;width:100%;margin:-15px 0 15px;padding:18px 15px;transform:rotate(-1deg)}.scratch-heading{display:block}.scratch-heading span{display:block;margin:4px 0}.scratch-heading label{font-size:24px}.scratch-desk textarea{font-size:14px}.desk-mouse{display:none}#note-keypad{grid-template-columns:repeat(7,1fr);padding:8px;gap:5px}#note-keypad button{min-height:38px}.scratch-actions button{min-height:42px}.simple-view .desk{min-height:0;height:1320px}.simple-view .muse-spread{min-height:0}.simple-view .muse-fallback{scale:.85;transform-origin:top center}.simple-view #muse-scene{height:370px}.simple-view .monitor-world{height:390px}.simple-view .monitor-fallback{margin:20px 10px;padding:25px}.photo-print img{height:220px}.photo-heading h2{line-height:1.15}}
@media(prefers-reduced-motion:reduce){.tablet-object,.whiteboard,.scratch-desk{transition:none}}
.contact-composer{margin-top:35px;max-width:380px;background:#fbfcf8;padding:22px 25px;border-radius:5px;box-shadow:4px 6px 8px #31557518;transform:rotate(1deg)}.contact-composer h3{font:800 24px/1.2 'Nunito';letter-spacing:-.8px;margin-bottom:18px}.contact-composer label{display:block;font:700 11px 'Nunito';margin:10px 0 5px}.contact-composer label span{font-weight:400;color:#627d98}.contact-composer input,.contact-composer textarea{display:block;width:100%;border:1px solid #bccfe1;border-radius:6px;padding:10px;background:#fff;font:13px/1.5 'Nunito';color:#2f527b}.contact-composer textarea{resize:vertical;max-height:220px;min-height:90px}.composer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:15px}.contact-composer .composer-actions a{font:700 12px 'Nunito';color:white;background:#375f8e;border-radius:8px;padding:12px 14px;text-decoration:none}.composer-actions button{font:700 11px 'Nunito';border:0;background:transparent;color:#375f8e;padding:10px 0;cursor:pointer}.contact-composer .composer-notice{font:10px/1.6 'DM Sans';margin:14px 0 0;color:#526e8d}.contact-composer output{font-size:11px;color:#a63c48;display:block;margin-top:10px}.contact-composer details{margin-top:12px;border:0;padding:0}.contact-composer summary{font-size:10px;cursor:pointer;padding:5px 0}.contact-composer details a{font-size:11px;overflow-wrap:anywhere}.contact-composer details textarea{font-size:11px;margin:8px 0}.contact:has(.contact-composer){min-height:1020px;padding-bottom:50px}.contact:has(.contact-composer .composer-notice){padding-left:55px}.contact:has(.keyboard-drawer[open]){min-height:1110px}@media(max-width:750px){.contact:has(.contact-composer){min-height:0;padding:45px 23px 30px}.contact-composer{padding:20px 15px;max-width:none;margin-top:25px}.contact-composer input,.contact-composer textarea{font-size:16px}.contact-composer .composer-actions a{font-size:12px}.composer-actions button{min-height:44px}.contact-composer .composer-notice{font-size:11px}.contact-composer summary{font-size:12px;padding:12px 0}}
.project-excerpt{display:inline-block;margin:12px 0 16px;padding:12px 15px;background:#edf4fb;border:1px solid #b4cce3;border-radius:9px;color:#2f5987;text-decoration:none;font:800 13px/1.4 'Nunito';box-shadow:1px 3px 0 #c0d3e4}.project-excerpt small{display:block;margin-top:5px;font:400 10px/1.5 'DM Sans';color:#526e8b}.project-excerpt:hover{background:#dceafa}.throwback-grid .project-excerpt{font-size:12px;margin-top:4px;background:#fcfdfa}.throwback-grid .project-excerpt small{font-size:9px}@media(max-width:750px){.project-excerpt{min-height:54px;font-size:14px}.project-excerpt small,.throwback-grid .project-excerpt small{font-size:11px}.throwback-grid .project-excerpt{font-size:13px;width:100%}}

.photo-print{cursor:grab;touch-action:pan-y;transform-style:preserve-3d;box-shadow:1px 1px 0 #e7e7e0,2px 3px 0 #d3d9df,4px 6px 0 #f7f8f4,10px 18px 25px #29456730;will-change:transform;user-select:none}.photo-print img{pointer-events:none}.photo-print.lifted{cursor:grabbing;z-index:5;box-shadow:2px 4px 0 #d6dfe9,14px 28px 34px #29456745}.photo-hint{display:block;font:12px/1.6 'Nunito';max-width:440px;margin-top:12px;color:#395b7e}.direct-object{cursor:grab;touch-action:pan-y}.direct-object:active{cursor:grabbing}.direct-object:focus-visible,.photo-print:focus-visible{outline:3px solid #a43f48;outline-offset:5px}
@media(min-width:751px) and (hover:hover) and (pointer:fine){.puppet-controls,.battery-controls,.assembly-controls,.coffee-reset,.object-controls button{opacity:0;pointer-events:none;transition:opacity .15s}.puppet-controls:focus-within,.battery-controls:focus-within,.assembly-controls:focus-within,.coffee-reset:focus-visible,.object-controls button:focus-visible{opacity:1;pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.photo-print,.puppet-controls,.battery-controls,.assembly-controls{transition:none}}

@media(max-width:750px){.timer-controls{flex-wrap:wrap}.timer-controls button,.timer-controls select,.timer-extension button,.profile-tab,.object-controls button,.assembly-controls button,.puppet-controls button,.battery-controls button,.coffee-reset{min-width:48px;min-height:48px}.profile-tabs{gap:5px;flex-wrap:wrap}.profile-tab{padding:8px 10px}.puppet-controls>div{flex-wrap:wrap;justify-content:center}.photo-print{max-width:100%}}

@media(max-width:750px){.tablet-object{height:auto;min-height:480px}.tablet-screen{height:auto;min-height:450px;overflow:visible}.tablet-profile{flex-wrap:wrap}.tablet-profile h3{margin-top:10px}.profile-tabs{display:flex}.profile-tab{flex:1 1 60px}.tablet-profile .profile-photo{width:76px;height:76px}}

/* Continuous scrapbook chapters: yarn seams, paper overlap and restrained depth. */
.chapter-thread{position:relative;max-width:1240px;width:92%;height:112px;margin:0 auto -20px;z-index:2;pointer-events:none;translate:0 var(--flow-y,0px)}.chapter-thread svg{position:absolute;width:100%;height:100%;overflow:hidden;filter:drop-shadow(0 3px 2px #31557825)}.chapter-thread path{fill:none;stroke-linecap:round}.thread-shadow{stroke:#7899bb;stroke-width:13;opacity:.3}.thread-rope{stroke:#fdfdf8;stroke-width:10}.thread-ply{stroke:#a84251;stroke-width:3;stroke-dasharray:3 7}.chapter-tag{position:absolute;left:12%;top:36px;padding:8px 23px;background:#fdfefb url('textures/felt-cream.webp');border:1px solid #d7e2ee;box-shadow:3px 5px 0 #c7d8e6;rotate:-4deg;font:23px/1.2 'Caveat';color:#365e8a}.thread-reverse .chapter-tag{left:auto;right:12%;rotate:3deg}.thread-reverse svg{scale:-1 1}.project-cover,.photo-heading,.throwback-heading,.whiteboard{translate:0 var(--flow-y,0px)}.project-cover:focus-within,.whiteboard:focus-within{translate:0 0}.photo-spread{padding-top:65px}.throwback{position:relative;isolation:isolate;padding-top:75px}.throwback:before{content:'';position:absolute;z-index:-1;inset:10px 1% 20px;background:#fcfdf9;box-shadow:0 -5px 0 #dde9f4,0 -10px 0 #f7fafc;clip-path:polygon(0 1%,17% 0,38% 1%,61% 0,82% 1%,100% 0,100% 100%,0 100%);border-top:1px solid #d2e1ed}.throwback-grid{position:relative}.photo-heading{position:relative;z-index:2}.photo-collage{margin-top:-12px}.photo-collage:before{background-image:url('textures/woven-gingham.webp');background-size:280px}.play-page{position:relative}.whiteboard{z-index:1}
@media(min-width:900px){.project+.project{margin-top:85px}.project-cover{box-shadow:10px 16px 22px #36547c15}.throwback-grid>article:nth-child(2){margin-top:-16px}.throwback-grid>article:nth-child(3){margin-top:18px}.photo-heading{max-width:600px;padding:22px 28px;background:#fffef9;box-shadow:5px 7px 0 #dfebf4;rotate:-1deg;margin-bottom:-20px}}
@media(max-width:750px){.chapter-thread{height:85px;margin:4px auto -5px;width:94%}.chapter-tag{font-size:18px;left:5%;top:26px;padding:7px 12px;max-width:85%}.thread-reverse .chapter-tag{right:5%}.photo-spread{padding-top:40px}.throwback{padding-top:45px}.photo-collage{margin-top:0}}
@media(prefers-reduced-motion:reduce){.chapter-thread,.project-cover,.photo-heading,.throwback-heading,.whiteboard{translate:none!important}}

.monitor-demo{grid-column:1;position:relative;z-index:3;margin:-32px 28px 15px;padding:18px 22px;background:#fcfdf9;box-shadow:3px 6px 0 #c4d7e9;border:1px solid #d4e2ed;rotate:-1deg}.demo-switches{display:flex;gap:9px;margin:12px 0}.demo-switches button{min-height:48px;min-width:68px;border:1px solid #abc3dc;border-radius:12px;background:#edf5fc;color:#315a86;font:800 14px Nunito;cursor:pointer}.demo-switches button[aria-pressed=true]{background:#365f8e;color:white}.monitor-demo p{font:13px/1.55 Nunito;margin:10px 0}.monitor-demo strong,.monitor-demo span:not(.eyebrow){display:block}.monitor-demo small{font:10px/1.5 Nunito;color:#526e8b}.shift-project>.project-text{grid-column:2;grid-row:1 / span 2}@media(max-width:750px){.monitor-demo{margin:-12px 8px 22px;padding:16px}.shift-project>.project-text{grid-column:auto;grid-row:auto}.demo-switches{flex-wrap:wrap}.monitor-demo small{font-size:12px}}

.yarn-name{display:inline-block;color:#86afd6;background:repeating-linear-gradient(115deg,#d1e8f8 0 1px,#89b2d8 1px 3px,#afcde7 3px 5px,#628db9 5px 6px);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 #446f9d) drop-shadow(0 2px 0 #446f9d) drop-shadow(1px 3px 0 #446f9d) drop-shadow(2px 4px 0 #446f9d) drop-shadow(3px 6px 2px #54769850);-webkit-text-stroke:.4px #8fb4d5}.shift-title{display:flex;align-items:center;gap:20px}.shift-key{display:inline-grid;place-items:center;font:35px/1 Nunito;background:linear-gradient(130deg,#fff,#dceaf8);color:#48719c;border:2px solid #aac2da;border-radius:12px;box-shadow:0 6px 0 #8ba6c1,4px 9px 10px #31547730;width:58px;height:54px;rotate:7deg}.energy-title{position:relative;max-width:100%;line-height:1.2!important}.energy-title>span{position:relative;display:inline-block;color:#3b6b99}.energy-title svg{position:absolute;width:100%;height:16px;left:0;bottom:-11px;overflow:visible}.energy-title path{fill:none;stroke:#ac3c4c;stroke-width:4;stroke-linecap:round}.energy-title i{display:inline-block;font-style:normal;font-size:.65em;background:#e5eff9;border:2px dashed #a7bfd7;border-radius:50%;width:1.3em;text-align:center;color:#af3c4b;rotate:12deg;margin-left:10px}.monitor-world,.battery-reveal{overflow:visible!important}#monitor-scene,#battery-scene{z-index:2}.move-instructions{color:#526b84;font-size:11px!important}.energy-project .project-text>p{margin-top:28px}@media(hover:hover) and (pointer:fine){.battery-controls{opacity:0;pointer-events:none}.battery-controls:focus-within{opacity:1;pointer-events:auto}}@media(max-width:750px){.shift-key{width:48px;height:46px;font-size:29px}.move-instructions{font-size:12px!important}}

#monitor-scene{touch-action:pan-y;cursor:grab}.piece-picker{font:12px Nunito;display:block;margin-top:14px}.piece-picker select{min-height:44px;background:#f3f8fc;border:1px solid #b4cbdf;border-radius:8px;padding:8px;color:#355e89}

.research-print{margin:30px 8px 28px;padding:12px 12px 18px;background:#fff;box-shadow:3px 8px 0 #cbd9e5,0 15px 28px #25426320;transform:rotate(-2deg);transition:transform .25s,box-shadow .25s;position:relative}.research-print:before{content:"";position:absolute;top:-13px;left:42%;width:64px;height:27px;background:repeating-linear-gradient(90deg,#dce9f6b8 0 8px,#fff9 8px 16px);transform:rotate(7deg)}.research-print img{display:block;width:100%;height:auto}.research-print a{display:block;color:#345b91;text-decoration:none}.research-print a span{display:block;font-weight:800;padding:12px 4px 4px}.research-print figcaption{font-size:.78rem;line-height:1.5;color:#53677a;padding:0 4px}.research-print:hover,.research-print:focus-within{transform:perspective(900px) rotateX(3deg) rotate(0deg) translateY(-7px);box-shadow:4px 13px 0 #cbd9e5,0 24px 32px #25426325}@media(prefers-reduced-motion:reduce){.research-print{transition:none}.research-print:hover,.research-print:focus-within{transform:rotate(-2deg)}}

.muse-render-fallback{width:100%;height:100%;object-fit:contain}.muse-static .muse-fallback[hidden]{display:none}

.context-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:24px;background:#edf4fa;color:#345b91;border-radius:24px;text-align:center}

.yarn-name{transform-origin:50% 75%;transition:transform .4s cubic-bezier(.2,.8,.2,1)}@media(hover:hover){.yarn-name:hover{transform:perspective(700px) rotateY(-9deg) rotateZ(-3deg) translateY(-7px)}}.yarn-name:focus-visible{transform:perspective(700px) rotateY(-9deg) rotateZ(-3deg) translateY(-7px);outline:2px dashed #a63f4b;outline-offset:8px}@media(prefers-reduced-motion:reduce){.yarn-name{transition:none}.yarn-name:hover,.yarn-name:focus-visible{transform:none}}
/* Keep the wider battery within narrow screens while retaining direct controls. */
@media(max-width:750px){.battery-reveal .craft-scene,.battery-reveal.uncovered .craft-scene{inset:0;transform:none}.battery-controls{opacity:1;pointer-events:auto}}
/* Annotation pass: playful details stay bounded and keep useful controls still. */
.yarn-name[role=button]{cursor:pointer}.name-scattered{opacity:.22}.scattered-letters{position:absolute;inset:0;pointer-events:none;z-index:8}.scattered-letters[hidden],.letter-tools[hidden]{display:none}.letter-tile{position:absolute;pointer-events:auto;width:48px;height:62px;border:1px dashed #faf3e4;border-radius:12px;background:#92b4d6;color:#23456d;font:700 52px/1 'Nunito',sans-serif;box-shadow:3px 5px 0 #55799c,7px 10px 15px #283e5138;transform:rotate(var(--letter-angle));cursor:grab;touch-action:pan-y}.letter-tools{margin-top:12px}.letter-tools button,.toy-tools button,.catch-game button,.mini-polaroid button{border:1px solid #94adc7;border-radius:16px;background:#fbf5e7;color:#345777;padding:8px 12px;font:700 11px 'Nunito',sans-serif;min-height:44px;cursor:pointer}.catch-game{position:relative;min-height:78px;display:flex;align-items:center;gap:40px;flex-wrap:wrap}.catch-game span{font:18px 'Caveat',cursive}.catch-game button{transition:translate .16s;background:#d8e7f4;box-shadow:2px 4px 0 #86a4bf}.tactile-card{transform:perspective(1100px) rotateX(var(--card-x,0deg)) rotateY(var(--card-y,0deg));transition:transform .18s,box-shadow .18s;transform-style:preserve-3d}.throwback-grid article{box-shadow:3px 5px 0 #b6a68d,8px 12px 22px #4e422426;border:1px solid #c2b59d}.tactile-card:focus-within{outline:2px dashed #6784a2;outline-offset:6px}.integrated-computer{height:720px!important;position:relative}.integrated-computer #monitor-scene{height:430px;inset:0 0 auto}.integrated-computer .monitor-demo{position:absolute;bottom:12px;left:4%;right:4%;margin:0!important;width:auto;background:#edf3f7;border:2px solid #9eb9d4;border-radius:18px;padding:16px;box-shadow:0 5px 0 #7b9ab9;z-index:4}.integrated-computer .monitor-caption{display:none}.integrated-computer .screen-access{display:none}.integrated-computer .monitor-demo .move-instructions{font-size:10px;margin-bottom:0}.integrated-computer .demo-switches button{min-height:44px}.integrated-computer .shift-icon-teaser{top:15px;bottom:auto}.toy-tools{display:flex;gap:6px;justify-content:center;position:relative;z-index:3}.calculator-object{transition:rotate .2s;position:relative}.calculator-peek{rotate:3deg}.resume-photo-backdrop{width:155px;margin:16px 0 -35px auto;padding:8px 8px 22px;background:#fff9eb;rotate:8deg;box-shadow:4px 6px 14px #283e5133}.resume-photo-backdrop img{width:100%;height:140px;object-fit:cover}.resume-photo-backdrop figcaption{font:16px 'Caveat',cursive}.mini-polaroids{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px}.mini-polaroid{width:150px;margin:0;padding:8px;background:#fffaf0;box-shadow:3px 5px 0 #c8bfae,7px 10px 18px #283e5125;rotate:-5deg;position:relative;z-index:2}.mini-polaroid:nth-child(2){rotate:5deg}.mini-polaroid img{width:100%;height:145px;object-fit:cover}.mini-polaroid figcaption{font:17px 'Caveat',cursive;line-height:1.2;margin:8px 0}.mini-polaroid button{font-size:10px;width:100%}.archive-clock{width:240px;max-width:100%;margin:18px 0;position:relative;z-index:3}.archive-clock p{font:19px 'Caveat',cursive;text-align:center;margin:6px 0}.archive-clock #clock-model{height:190px;width:220px;margin:auto}.clock-fallback{font-size:120px;display:block;text-align:center}.doodle-drawer{grid-column:1/-1;margin:24px 0 0;width:100%;border-top:1px dashed #9eaab6;padding-top:18px}.doodle-drawer>summary{font:600 24px 'Caveat',cursive;cursor:pointer;padding:12px;min-height:48px}.doodle-drawer .whiteboard{max-width:720px;margin:20px auto}.magnet-row{display:flex;gap:12px;position:relative;z-index:5;padding:6px}.play-magnet{width:44px;height:44px;border:1px solid #ffffff80;border-radius:10px;background:var(--magnet-color);color:#fff8e9;box-shadow:2px 4px 0 #253e5a88,4px 6px 8px #24374d33;font:bold 25px Georgia;cursor:grab;touch-action:pan-y}.naba-expansion{font-size:12px;letter-spacing:.4px}.puppet-controls{flex-wrap:wrap}
@media(max-width:750px){.letter-tile{width:38px;height:50px;font-size:39px}.integrated-computer{height:760px!important}.integrated-computer #monitor-scene{height:360px}.integrated-computer .monitor-demo{left:2%;right:2%;font-size:11px;padding:12px}.mini-polaroid{width:130px}.mini-polaroids{gap:12px}.mini-polaroid img{height:125px}.archive-clock{margin-inline:auto}.doodle-drawer .whiteboard{width:100%}.toy-tools button{padding:6px 8px}.calculator-object{max-width:100%}.scattered-letters{overflow:hidden}}
@media(prefers-reduced-motion:reduce){.tactile-card,.calculator-object,.catch-game button{transition:none}.tactile-card{transform:none}.calculator-peek{rotate:0deg}}
@media(min-width:901px){.throwback-heading{display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:8px 28px;align-items:center}.throwback-heading>.eyebrow{grid-column:1;grid-row:1}.throwback-heading>h2{grid-column:1;grid-row:2;margin-bottom:0}.throwback-heading>.handwritten{grid-column:1;grid-row:3}.throwback-heading>.mini-polaroids{grid-column:2;grid-row:1/4;margin:0;flex-wrap:nowrap}.throwback-heading>.archive-clock{grid-column:3;grid-row:1/4;margin:0}.mini-polaroid{flex-shrink:0}.throwback-heading{margin-bottom:35px}}
@media(max-width:750px){#home{overflow:clip}}
#cat-move{touch-action:pan-y}
@media(max-width:750px){#throwback{overflow-x:clip}}

@media(max-width:750px){.photo-spread{overflow-x:clip}}

@media(max-width:750px){main{overflow-x:clip}}

/* Coffee keeps the joke; essential links never evade the pointer. */
.coffee-catch-hint{display:block;font:22px 'Caveat',cursive;color:#a33d4a;pointer-events:none}.coffee-drag{transition:translate .16s}.coffee-drag:active{transition:none}.throwback-grid article{transition:translate .45s cubic-bezier(.2,.8,.25,1),transform .18s,box-shadow .18s}
@media(prefers-reduced-motion:reduce){.coffee-drag,.throwback-grid article{transition:none}.throwback-grid article{translate:none!important}}
/* Layered desk: pieces share a surface instead of separate slide panels. */
@media(min-width:901px){.throwback-heading{position:relative;z-index:2;margin-bottom:-18px;rotate:-1deg}.throwback-heading>.mini-polaroids{gap:0;transform:translateY(14px)}.mini-polaroid:nth-child(2){margin-left:-24px;translate:0 22px;z-index:3}.throwback-grid{gap:0;padding-top:12px}.throwback-grid article{position:relative;min-width:0;rotate:-3deg;padding:30px 28px 40px;z-index:1}.throwback-grid article:nth-child(2){rotate:2deg;margin-left:-15px;margin-top:38px;z-index:2}.throwback-grid article:nth-child(3){rotate:-2deg;margin-left:-12px;margin-top:5px;z-index:3}.throwback-grid article:hover,.throwback-grid article:focus-within{z-index:5}.photo-spread aside{rotate:-3deg;margin-left:-26px;margin-top:45px}.project-cover{rotate:-2deg}.project-text{position:relative;z-index:3;margin-left:-28px;padding:28px;background:#fffdf2f0;box-shadow:3px 6px 12px #30476318;rotate:1deg}.energy-project .project-text{rotate:-1deg}.resume-photo-backdrop{rotate:12deg;margin-right:-20px;margin-bottom:-65px}.archive-clock{rotate:5deg;transform:translateY(18px)}}
@media(max-width:900px){.throwback-grid article{position:relative;rotate:-1deg;margin-bottom:-8px}.throwback-grid article:nth-child(2){rotate:1deg}.throwback-grid article:focus-within{z-index:5}.mini-polaroids{gap:0}.mini-polaroid:nth-child(2){margin-left:-12px;margin-top:26px}}

main{overflow-x:clip}
/* Portfolio finish: quiet controls, deliberate spacing, direct manipulation. */
.coffee-note{left:26%;bottom:48px;top:auto;display:block;width:210px;transform:rotate(-4deg);z-index:7;gap:0}
.coffee-note a.handwritten{display:block;color:#365f91;font-size:27px;line-height:1.05;text-decoration:none}
.coffee-note a:hover{text-decoration:underline;text-underline-offset:5px}
.coffee-reset{display:block;opacity:1!important;pointer-events:auto!important;font:11px 'Nunito',sans-serif;margin-top:12px;min-height:32px;background:transparent;border:0;color:#526c85;text-decoration:underline;text-underline-offset:4px;padding:4px 0;cursor:pointer}
.desk>.coffee-drag{position:absolute;left:13%;bottom:18px;top:auto;width:132px;height:132px;margin:0;transform:none;rotate:0deg;z-index:9;border:0;padding:0;background:none;cursor:grab;touch-action:none;transition:filter .2s}
.coffee-drag .coffee-cup{width:132px;height:132px;display:grid;place-content:center}
.coffee-drag .coffee-cup i{position:static;width:82px;height:82px}
.coffee-drag::after{content:'✥ drag me';position:absolute;bottom:0;left:0;right:0;color:#375e86;font:14px 'Caveat',cursive}
.coffee-drag.is-dragging{cursor:grabbing;filter:drop-shadow(0 14px 9px #28435b33)}
.assembly-controls,.puppet-controls,.battery-controls,.object-controls button{opacity:1!important;pointer-events:auto!important}
.assembly-controls{position:static;margin:0 auto 8px;justify-content:center}
.assembly-controls button,.toy-tools button,.mini-polaroid button{background:#f8faf5;border-color:#a9bed0;box-shadow:0 2px 0 #c0d1df;font-size:10px;min-height:34px;padding:6px 10px;border-radius:10px}
.object-controls{gap:12px}.object-controls button{width:30px;height:30px;font-size:17px}
.shirt-object{height:auto}.shirt-label{right:0;top:20px}.object-note{margin-top:10px}
.archive-clock #clock-model{cursor:grab;touch-action:none}.archive-clock.is-dragging #clock-model{cursor:grabbing}
.archive-clock{will-change:translate}.archive-clock p{color:#496c8c}
.resume-photo-backdrop{width:260px;max-width:78%;margin:36px 0 0 auto;padding:12px 12px 18px;rotate:5deg;position:relative;z-index:3;box-shadow:3px 6px 0 #d8dfdf,9px 18px 28px #283e5126}
.resume-photo-backdrop::before{content:'';position:absolute;width:90px;height:27px;top:-12px;left:34%;background:#bed6e4b0;rotate:-8deg;z-index:2;pointer-events:none}
.portrait-open{display:block;width:100%;border:0;background:none;padding:0;cursor:zoom-in;text-align:left;color:#345777}
.resume-photo-backdrop img{display:block;width:100%;height:280px;object-fit:cover;object-position:50% 37%}
.portrait-open>span{display:block;font:10px 'Nunito',sans-serif;margin-top:8px;letter-spacing:.5px}
.resume-photo-backdrop figcaption{font:22px 'Caveat',cursive;margin:5px 0 12px}
.resume-photo-backdrop .toy-tools{justify-content:flex-start}
.calculator-object{margin:0 0 20px 0;z-index:4;transform:rotate(-7deg);width:210px}
.calculator-peek{rotate:0deg}
.portrait-dialog{border:0;background:#fffdf5;padding:18px;max-width:min(90vw,620px);max-height:92vh;border-radius:4px;box-shadow:0 24px 100px #17334c66;color:#29415e}
.portrait-dialog::backdrop{background:#193149a8;backdrop-filter:blur(5px)}
.portrait-dialog img{display:block;max-width:100%;max-height:72vh;margin:auto;object-fit:contain}
.portrait-dialog form{display:flex;justify-content:flex-end;margin-bottom:12px}.portrait-dialog button{min-height:40px;padding:8px 16px;background:#e4edf4;border:1px solid #b2c7d9;border-radius:20px;cursor:pointer}.portrait-dialog p{text-align:center;margin:14px 0 0}
@media(min-width:751px){.desk{height:850px}.timer-object{left:48%;bottom:28px;top:auto;width:245px;padding:20px 18px}.timer-extension{left:85%;width:155px}.intro-paper{min-height:535px}.shirt-object{left:59%;top:28px;width:370px}#shirt-view{height:480px}.shirt-label{right:-15px}.desk-caption{bottom:8px;font-size:7px}.about-heading{display:flow-root}.resume-photo-backdrop{margin-right:0}.calculator-object{margin-top:-52px}}
@media(min-width:1450px){.desk{height:850px}.shirt-object{left:62%;width:390px}.intro-paper{top:80px}.timer-object{left:48%}.coffee-note{left:25%}}
@media(min-width:901px){.throwback-heading{grid-template-columns:1.25fr 1fr .75fr;gap:20px;margin-bottom:24px;rotate:0deg}.throwback-heading h2{font-size:clamp(38px,3vw,52px);line-height:1.05}.throwback-heading>.mini-polaroids{transform:none}.mini-polaroid{width:135px}.mini-polaroid img{height:130px}.throwback-heading>.archive-clock{width:210px;max-width:none;rotate:2deg;transform:none}.archive-clock #clock-model{width:220px;max-width:100%}.archive-clock canvas{max-width:100%;height:auto}.throwback-grid article{padding:30px 24px 36px}.project-text{margin-left:0}}
@media(min-width:751px) and (max-width:1100px){.intro-paper{left:7%;width:365px}.shirt-object{left:56%;width:330px}.coffee-note{left:24%;width:175px}.coffee-note a.handwritten{font-size:24px}.desk>.coffee-drag{left:8%}.timer-object{left:48%;width:220px}.timer-extension{width:130px}.throwback-heading{display:flex;flex-wrap:wrap;gap:20px}.throwback-heading>.eyebrow{width:100%}.throwback-heading>h2{flex:1}.throwback-heading>.handwritten{width:100%}.throwback-heading>.mini-polaroids{order:5}.throwback-heading>.archive-clock{order:6;margin-left:auto}}
@media(max-width:750px){.coffee-note{left:auto;right:6%;top:685px;bottom:auto;width:130px;transform:rotate(-4deg)}.coffee-note a.handwritten{font-size:22px}.coffee-reset{font-size:10px;min-height:38px}.desk>.coffee-drag{left:auto;right:9%;top:550px;bottom:auto;width:118px;height:118px}.coffee-drag .coffee-cup{width:118px;height:118px}.coffee-drag .coffee-cup i{width:73px;height:73px}.shirt-object{top:795px;height:auto}.desk,.simple-view .desk{height:1400px}.gingham{top:790px}.resume-photo-backdrop{width:250px;max-width:85%;margin:35px auto 38px;rotate:4deg}.resume-photo-backdrop img{height:280px}.calculator-object{margin:20px auto 30px;max-width:80%}.throwback-heading>.handwritten{margin-bottom:24px}.archive-clock{margin:30px auto}.toy-tools button,.mini-polaroid button{min-height:40px}.assembly-controls{margin-top:0}.assembly-controls button{min-height:40px}.portrait-dialog{padding:12px}.project-text{margin-left:0}}
@media(prefers-reduced-motion:reduce){.archive-clock{will-change:auto}.coffee-drag{transition:none}}
.assembly-controls{transform:none;inset:auto;width:auto}
.coffee-note{scale:1}
.timer-object{scale:1;bottom:44px}
@media(max-width:750px){.timer-object{bottom:auto}.coffee-note{scale:1}}
.coffee-note>div{position:static;inset:auto;width:auto}
@media(max-width:750px){.timer-object{width:190px;left:6%;padding:16px 12px}.timer-controls{flex-wrap:nowrap;gap:6px}.timer-controls button,.timer-controls select{min-width:38px;min-height:42px;padding:5px}.timer-controls select{width:64px}.timer-extension{position:relative;inset:auto;width:100%;margin-top:12px;padding:6px 10px;border-radius:10px;transform:none;box-shadow:none;z-index:1}.timer-extension button{min-height:36px}.timer-extension output{display:none}.coffee-note{top:685px;right:5%;width:130px}.coffee-note a.handwritten{font-size:22px}.coffee-reset{margin-top:8px}.desk>.coffee-drag{right:6%}}
[hidden]{display:none!important}
/* Desktop objects invite touch through their materials, not floating toolbars. */
@media(min-width:751px) and (hover:hover) and (pointer:fine){
 .toy-tools,.assembly-controls,.puppet-controls,.battery-controls{position:absolute!important;width:1px!important;height:1px!important;inset:auto!important;margin:0!important;padding:0!important;overflow:hidden;clip-path:inset(50%);opacity:0!important;pointer-events:none!important}
 .toy-tools:focus-within,.assembly-controls:focus-within,.puppet-controls:focus-within,.battery-controls:focus-within{position:relative!important;width:auto!important;height:auto!important;overflow:visible;clip-path:none;opacity:1!important;pointer-events:auto!important}
 .mini-polaroid>button,.coffee-reset,.object-controls>button{position:absolute;width:1px!important;height:1px!important;padding:0!important;min-height:0!important;min-width:0!important;overflow:hidden;clip-path:inset(50%);opacity:0!important;pointer-events:none!important}
 .mini-polaroid>button:focus-visible,.coffee-reset:focus-visible,.object-controls>button:focus-visible{position:relative;width:auto!important;height:auto!important;min-height:34px!important;padding:6px 10px!important;clip-path:none;opacity:1!important;pointer-events:auto!important}
 .coffee-drag::after,.move-instructions,.piece-picker,.photo-hint{display:none}
 .calculator-object,.mini-polaroid,.resume-photo-backdrop{cursor:grab;touch-action:pan-y}
 .is-dragging{cursor:grabbing!important}.portrait-open{cursor:grab}
 .mini-polaroid figcaption{margin-bottom:14px}.resume-photo-backdrop figcaption{margin-bottom:0}
 .puppet-controls{bottom:0}.object-controls{margin-top:12px}.object-note{margin-top:12px}
}
.photo-collage{grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.photo-collage .community-scrap{margin-left:0;max-width:100%}
@media(min-width:901px){.mini-polaroids:has(>.mini-polaroid:only-child){justify-content:center}.mini-polaroids>.mini-polaroid:only-child{width:160px;rotate:3deg}.mini-polaroids>.mini-polaroid:only-child img{height:165px;object-position:center 27%}}
@media(max-width:750px){.photo-collage{grid-template-columns:1fr;gap:30px}.mini-polaroids:has(>.mini-polaroid:only-child){justify-content:center}.mini-polaroids>.mini-polaroid:only-child{width:175px}.mini-polaroids>.mini-polaroid:only-child img{height:190px;object-position:center 27%}}
/* One contact desk: interleaved paper edges replace the empty center aisle. */
.contact:has(.contact-composer),.contact:has(.keyboard-drawer[open]){display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px 20px;min-height:0;padding:64px 52px 38px;max-width:1120px;align-items:start}
.contact:has(.contact-composer .composer-notice){padding-left:52px}
.contact-intro{grid-column:1;grid-row:1;align-self:center;padding:8px 20px 25px 0;position:relative;z-index:4}
.contact-intro h2{font-size:52px;margin:20px 0 22px;line-height:1.05}
.contact-intro>a{font-size:17px;text-underline-offset:5px}.contact-intro>p{font-size:12px;color:#526b8b;margin:18px 0 0}
.contact .tablet-object{grid-column:2;grid-row:1;position:relative;inset:auto;width:100%;height:350px;min-height:0;margin:0 0 0 -8px;transform:perspective(1300px) rotateY(-5deg) rotateZ(4deg);z-index:2}
.contact .tablet-object:hover,.contact .tablet-object:focus-within{transform:perspective(1300px) rotateY(-2deg) rotateZ(2deg)}
.contact .contact-composer{grid-column:1;grid-row:2;position:relative;max-width:none;width:calc(100% + 20px);margin:-26px -20px 0 0;padding:26px 28px;z-index:4;transform:rotate(-1.5deg);box-shadow:3px 6px 0 #c5d4df,10px 17px 24px #31557524}
.contact .contact-composer:before{content:'';position:absolute;top:-10px;left:32%;width:88px;height:25px;background:#bad2e3b0;rotate:5deg;pointer-events:none}
.contact .scratch-desk,.contact:has(.keyboard-drawer[open]) .scratch-desk{grid-column:2;grid-row:2;position:relative;inset:auto;width:calc(100% + 18px);margin:-42px 0 0 -18px;padding:28px 26px 22px 40px;transform:rotate(2deg);z-index:3}
.contact .scratch-desk textarea{height:145px}.contact .scratch-heading{flex-wrap:wrap;gap:5px}
.contact .desk-mouse{right:-27px;top:48px;width:35px}
.contact .doodle-drawer{grid-column:1/-1;grid-row:3;margin:8px 0 0;padding-top:8px}
.contact .doodle-drawer>summary{padding:10px 5px}
@media(min-width:751px) and (max-width:1000px){.contact:has(.contact-composer),.contact:has(.keyboard-drawer[open]){margin-inline:4%;padding:54px 30px 32px;gap:20px 12px}.contact:has(.contact-composer .composer-notice){padding-left:30px}.contact-intro h2{font-size:42px}.contact .tablet-object{height:360px}.contact .contact-composer{padding:22px}.contact .scratch-desk,.contact:has(.keyboard-drawer[open]) .scratch-desk{padding:24px 18px 20px 30px}.contact .profile-tabs{flex-wrap:wrap;gap:4px}.contact .profile-tab{font-size:10px;padding:6px}}
@media(max-width:750px){.contact:has(.contact-composer),.contact:has(.keyboard-drawer[open]){display:flex;flex-direction:column;gap:0;margin:12px 5% 45px;padding:44px 22px 28px;min-height:0}.contact:has(.contact-composer .composer-notice){padding-left:22px}.contact-intro{padding:0 0 18px;width:100%}.contact-intro h2{font-size:43px}.contact-intro>a{font-size:15px}.contact .contact-composer{width:100%;margin:12px 0 28px;padding:22px 18px;transform:rotate(-1deg)}.contact .tablet-object{width:100%;height:auto;min-height:400px;margin:8px 0 0;transform:rotate(2deg)}.contact .scratch-desk,.contact:has(.keyboard-drawer[open]) .scratch-desk{width:100%;margin:-12px 0 12px;padding:22px 18px;transform:rotate(-1deg)}.contact .scratch-desk textarea{height:125px}.contact .doodle-drawer{width:100%;margin-top:14px}.contact .desk-mouse{display:none}}
@media(prefers-reduced-motion:reduce){.contact .tablet-object{transition:none}}
/* Muse can travel outside the original scrapbook spread. */
.muse-tossable{touch-action:none;cursor:grab}.muse-tossable:active{cursor:grabbing}
.muse-home-slot{min-width:0;display:grid;place-items:center;border:1px dashed #a8bfd244;border-radius:45%;color:#6d89a4;align-self:stretch}.muse-home-slot>span{rotate:-5deg;font-size:23px}
#muse-scene.muse-is-floating{position:fixed!important;inset:auto;width:260px!important;height:310px!important;min-height:0!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;z-index:80;transform:none!important;rotate:0deg;translate:none;filter:drop-shadow(6px 15px 9px #25476325);outline-offset:-15px;cursor:grab;touch-action:none}
.muse-return{position:fixed;bottom:20px;left:20px;z-index:81;background:#fffdf0;color:#315d88;border:1px dashed #9db6c8;padding:9px 17px;box-shadow:2px 5px 0 #c8d8e4;rotate:-3deg;font:20px 'Caveat',cursive;cursor:pointer}
.muse-gesture-hint{font-size:20px;color:#567a9b;margin-top:20px;max-width:260px}
.profile-initials{display:grid;place-items:center;font:800 30px 'Nunito';position:relative;background:#d8e7f4;color:#315984;border:2px dashed #fff8}
.profile-initials>span{position:absolute;right:-3px;bottom:-8px;color:#ad3a48;font:30px Georgia}
/* SHIFT is a desk vignette with a tucked-in paper tab, not a dashboard panel. */
.integrated-computer{height:585px!important;background:transparent;border-radius:0;box-shadow:none;isolation:isolate;rotate:-1deg;transform:none}
.integrated-computer:before{inset:30px 20px 15px 5px;height:auto;bottom:15px;background:#e8eff4 url('textures/felt-cream.webp') center/360px;box-shadow:3px 6px 0 #c0d1df,8px 15px 25px #31557520;filter:none;rotate:2deg;z-index:-1;clip-path:polygon(0 0,99% 1%,100% 96%,96% 100%,0 99%)}
.integrated-computer #monitor-scene{height:490px;inset:-8px -10px auto;z-index:2}
.integrated-computer .monitor-demo{bottom:-3px;left:7%;right:1%;padding:14px 20px 12px;transform:rotate(-3deg);background:#fffdf3;border:0;border-top:1px dashed #a8c0d1;border-radius:2px;box-shadow:3px 5px 0 #c7d5df,7px 11px 15px #3155751c;z-index:4;display:grid;grid-template-columns:1fr auto;gap:8px 12px}
.integrated-computer .monitor-demo>.eyebrow{grid-column:1;align-self:center;font-size:7px;letter-spacing:1px;margin:0}
.integrated-computer .demo-switches{grid-column:2;display:flex;gap:5px;margin:0}
.integrated-computer .demo-switches button{min-height:34px;padding:6px 10px;font-size:10px;border-radius:6px}
.integrated-computer #monitor-demo-copy{grid-column:1/-1;margin:0;font-size:11px;line-height:1.45;min-height:0}
.integrated-computer #monitor-demo-copy strong{font-size:12px}.integrated-computer #monitor-demo-copy span{display:block;margin-top:3px}
.integrated-computer .monitor-demo>small{grid-column:1/-1;font-size:8px;margin:0}
.integrated-computer .shift-icon-teaser{left:12px;top:6px;scale:.68;transform-origin:top left;rotate:-8deg}
.shift-project{gap:3%;grid-template-columns:1.3fr .7fr}.shift-project>.project-text{margin-left:-18px;z-index:5;rotate:2deg;padding:28px;box-shadow:3px 6px 0 #d2dce2,8px 13px 22px #31557520}
@media(max-width:750px){#muse-scene.muse-is-floating{width:210px!important;height:255px!important}.muse-return{left:12px;bottom:12px;font-size:18px;padding:8px 14px}.muse-home-slot{height:460px!important}.integrated-computer{height:565px!important}.integrated-computer #monitor-scene{height:410px;inset:10px -8px auto}.integrated-computer .monitor-demo{left:2%;right:0;bottom:0;padding:15px;grid-template-columns:1fr;gap:8px}.integrated-computer .monitor-demo>.eyebrow,.integrated-computer .demo-switches{grid-column:1}.integrated-computer .demo-switches button{min-height:42px;padding:8px 15px;font-size:12px}.integrated-computer #monitor-demo-copy{font-size:12px}.integrated-computer .monitor-demo>small{font-size:10px}.shift-project{grid-template-columns:1fr;gap:28px}.shift-project>.project-text{margin-left:0;rotate:-1deg;padding:24px}.integrated-computer .shift-icon-teaser{scale:.6;left:2px;top:0}.muse-gesture-hint{max-width:none}}
.integrated-computer:before{background-blend-mode:screen;background-color:#e8eff4}
.integrated-computer .move-instructions{display:none}
.integrated-computer .piece-picker{display:block!important;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.integrated-computer .piece-picker:focus-within{position:relative;grid-column:1/-1;width:auto;height:auto;overflow:visible;clip-path:none}
/* Keep the nested physical scene's controls on a single hit-test plane. */
.shift-project.tactile-card{transform:none!important;transform-style:flat}
.integrated-computer{transform-style:flat}
/* A real little paper trail: the visitor's arithmetic, printed on cream receipt stock. */
.calculator-object .calc-tape:empty{display:none}
.calculator-object .calc-tape{position:absolute;top:45px;left:calc(100% - 9px);width:178px;max-height:190px;margin:0;padding:18px 15px 22px;background:#fffdf1;color:#395572;box-shadow:4px 7px 12px #2c496b25;border:1px solid #d7d4c5;clip-path:polygon(0 0,100% 0,100% 97%,94% 100%,88% 97%,82% 100%,76% 97%,70% 100%,64% 97%,58% 100%,52% 97%,46% 100%,40% 97%,34% 100%,28% 97%,22% 100%,16% 97%,10% 100%,4% 97%,0 99%);transform:rotate(7deg);white-space:normal;overflow:auto;overflow-wrap:anywhere;font:11px/1.6 'Courier New',monospace;z-index:-1}
.calc-tape:before{content:'a little proof.';display:block;font:20px 'Caveat',cursive;color:#a33d4b;border-bottom:1px dashed #bdc7cb;padding-bottom:6px;margin-bottom:10px}
.calc-tape-line{padding:6px 0;border-bottom:1px dotted #d2d8d9}.calc-tape-line>span,.calc-tape-line>strong{display:block}.calc-tape-line>strong{text-align:right;font-size:14px}
@media(max-width:750px){.calculator-object .calc-tape{position:relative;inset:auto;width:100%;margin:15px 0 0;max-height:180px;transform:rotate(2deg);z-index:0}}
@media(min-width:751px){.calculator-object .calc-tape{top:105px}}
#monitor-scene{pointer-events:auto}
.tablet-profile .profile-photo img{transform:none;object-fit:cover;object-position:center}
.mini-polaroid.archive-cover img{object-fit:contain!important;object-position:center!important;background:#e8e6dd}
/* A folded clock pocket, rather than another application panel. */
.alarm-pocket{border:0;margin:10px 0 0;position:static;font-size:11px}
.alarm-pocket>summary{padding:5px 2px 0;min-height:28px;font:16px 'Caveat',cursive;color:#284b71;gap:10px;align-items:center}
.alarm-pocket>summary>span{font-size:18px}.alarm-pocket[open]>summary>span{transform:rotate(45deg)}
.timer-object:has(.alarm-pocket[open]){z-index:40}
.alarm-paper{position:absolute;bottom:calc(100% + 15px);left:-25px;width:300px;padding:20px 22px 18px;background:#fffdf0;color:#315272;box-shadow:3px 5px 0 #b9cddc,8px 13px 24px #24415d2b;transform:rotate(6deg);border:1px solid #d2d9d4;border-radius:2px;z-index:45}
.alarm-paper:before{content:'';position:absolute;left:34%;top:-12px;width:78px;height:25px;background:#bcd5e4a8;rotate:-5deg;pointer-events:none}
.alarm-paper>.eyebrow{font-size:7px;letter-spacing:1.3px}.alarm-paper h3{font:27px 'Caveat',cursive;letter-spacing:0;margin:8px 0 14px;color:#a83e4b}
.alarm-paper label{display:block;font:700 10px 'Nunito',sans-serif;margin:9px 0 4px}.alarm-paper input:not([type=checkbox]){display:block;width:100%;min-width:0;border:1px solid #b6cbdc;border-radius:5px;background:#fffef8;color:#294b71;padding:8px;font:13px 'Nunito',sans-serif}
.alarm-paper .alarm-sound{display:flex;gap:7px;align-items:center;font-weight:400;margin:12px 0}.alarm-sound input{accent-color:#365f91;width:15px;height:15px;margin:0}
.alarm-actions{display:flex;gap:8px;flex-wrap:wrap}.alarm-actions button{font:700 11px 'Nunito',sans-serif;min-height:36px;border:1px solid #b2c7d8;background:#e9f1f7;color:#2d557e;border-radius:7px;padding:7px 10px;cursor:pointer}.alarm-actions button[type=submit]{background:#365f91;color:#fff;border-color:#365f91}
.alarm-paper output{display:block;font:10px/1.5 'Nunito',sans-serif;color:#5a7184;margin-top:12px}
.alarm-pocket[data-alarm=armed]>summary:before{content:'•';color:#a83e4b}
.alarm-toast{position:fixed;right:22px;bottom:22px;z-index:85;width:min(310px,calc(100vw - 28px));padding:22px 24px 18px;background:#fffcee;border-top:3px solid #ae3f4c;box-shadow:3px 5px 0 #bfd0de,8px 15px 35px #24415d3b;rotate:-2deg;color:#294e76}
.alarm-toast:before{content:'';position:absolute;left:38%;top:-12px;width:65px;height:23px;background:#bcd5e4a8;rotate:6deg}
.alarm-toast .eyebrow{font-size:8px}.alarm-toast p{font:25px/1.15 'Caveat',cursive;margin:14px 0 16px;overflow-wrap:anywhere}.alarm-toast button{border:0;background:none;color:#315f90;font:700 12px 'Nunito';padding:8px 0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
@media(max-width:750px){.alarm-pocket>summary{font-size:16px;min-height:34px}.alarm-paper{left:0;width:min(290px,80vw);padding:18px;transform:rotate(7deg)}.alarm-paper input:not([type=checkbox]){font-size:16px;min-height:40px}.alarm-actions button{min-height:42px}.alarm-toast{right:14px;bottom:16px}.alarm-paper .alarm-sound{min-height:32px}}
.alarm-paper .alarm-close{position:absolute;right:8px;top:8px;width:32px;height:32px;padding:0;border:0;background:transparent;color:#54718b;font:22px 'Nunito';cursor:pointer}.alarm-paper h3{padding-right:16px}
.alarm-paper.alarm-sheet-fixed{position:fixed;top:50%;bottom:auto;left:50%;right:auto;width:min(320px,calc(100vw - 28px));max-height:calc(100vh - 32px);overflow:auto;transform:translate(-50%,-50%);z-index:90;padding:22px}
@media(max-width:750px){.alarm-paper .alarm-close{width:40px;height:40px;top:4px;right:4px}.alarm-paper.alarm-sheet-fixed{box-shadow:0 0 0 100vmax #29455b45,3px 7px 0 #b9cddc,8px 18px 35px #24415d45}}
@media(max-width:750px){.alarm-paper.alarm-sheet-fixed{box-shadow:3px 7px 0 #b9cddc,8px 18px 35px #24415d45}}
/* Pick up the whole demo paper; its text and controls travel together. */
.integrated-computer .monitor-demo{cursor:grab;user-select:none;touch-action:pan-y;will-change:translate}
.integrated-computer .monitor-demo.is-dragging{cursor:grabbing;box-shadow:4px 8px 0 #c2d3df,10px 22px 30px #31557535;z-index:8}
.integrated-computer .monitor-demo button,.integrated-computer .monitor-demo select{cursor:pointer}
#muse-scene.muse-is-floating{width:clamp(330px,30vw,460px)!important;height:clamp(360px,38vw,520px)!important;max-width:calc(100vw - 20px)!important;max-height:calc(100vh - 45px)!important}
.muse-home-slot{display:flex;flex-direction:column;justify-content:center;gap:30px;border:0;background:radial-gradient(ellipse,#dfebf344,transparent 70%);border-radius:0;padding:30px}
.muse-home-slot>span{font-size:21px;color:#7390a7}
.thread-route{position:relative;display:flex;flex-direction:column;gap:28px;align-items:center;perspective:900px;width:min(100%,390px)}
.thread-route:before{content:'';position:absolute;left:36%;top:5px;bottom:5px;width:40px;border-left:3px dashed #af4a56;rotate:12deg;opacity:.65}
.thread-route>a{display:flex;align-items:center;gap:16px;position:relative;padding:12px 20px 12px 12px;background:#fffdf0;box-shadow:3px 5px 0 #bed1df,7px 13px 19px #345c7f20;transform:rotateX(10deg) rotateZ(-5deg);text-decoration:none;color:#315b85;font:22px 'Caveat',cursive;transition:transform .2s,box-shadow .2s}
.thread-route>a:nth-child(2){margin-left:40px;transform:rotateX(10deg) rotateZ(4deg)}.thread-route>a:nth-child(3){margin-left:-15px;transform:rotateX(10deg) rotateZ(-2deg)}
.thread-route>a>i{display:grid;place-items:center;width:42px;height:42px;background:#dceaf5;color:#aa4050;border:1px dashed #aac0d1;border-radius:8px;font:27px Georgia;box-shadow:inset 1px 1px 0 white,0 3px 0 #9ab5ca;font-style:normal}
.thread-route>a:hover,.thread-route>a:focus-visible{transform:translateY(-5px) rotateX(0deg) rotateZ(0deg);box-shadow:3px 8px 0 #bed1df,8px 18px 22px #345c7f25}
.play-magnet{transform:perspective(300px) rotateX(8deg) rotateZ(-5deg);box-shadow:inset 1px 2px 0 #ffffff80,2px 4px 0 #253e5a88,5px 8px 9px #24374d33;transition:translate .12s,box-shadow .15s;touch-action:none}
.play-magnet:nth-child(2n){rotate:8deg}.play-magnet.is-dragging{transition:none;z-index:8;box-shadow:inset 1px 2px 0 #fff8,3px 7px 0 #253e5a88,8px 16px 15px #24374d40}
.magnet-row:after{content:'a little magnetic pull';font:18px 'Caveat',cursive;align-self:center;color:#6381a1;margin-left:8px;rotate:3deg}
@media(max-width:750px){#muse-scene.muse-is-floating{width:min(285px,76vw)!important;height:min(340px,62vh)!important}.muse-home-slot{padding:20px;gap:20px}.thread-route{gap:22px}.thread-route>a{font-size:20px;padding:10px 14px;gap:12px}.thread-route>a:nth-child(2){margin-left:15px}.magnet-row{gap:8px}.magnet-row:after{font-size:15px;margin-left:2px;max-width:80px}.play-magnet{width:42px;height:42px;flex-shrink:0}}
@media(prefers-reduced-motion:reduce){.thread-route>a,.play-magnet{transition:none}.thread-route>a:hover,.thread-route>a:focus-visible{transform:none}}
#battery-scene{pointer-events:auto}
.energy-project.tactile-card{transform:none!important;transform-style:flat}
/* Keep the interactive canvas unrotated in CSS; the battery itself turns in 3D. */
.energy-project .project-cover{rotate:0deg;transform:none}
#battery-scene{transform:translateX(calc(var(--uncover,0)*70px))!important}
@media(max-width:750px){#battery-scene{transform:none!important}}
/* The idea under SHIFT: a folded, working notebook rather than another slide. */
.adaptive-story{grid-column:1/-1;display:grid;grid-template-columns:.88fr 1.12fr;gap:25px 36px;position:relative;margin:28px 12px 12px;padding:38px;background:repeating-linear-gradient(0deg,transparent 0 31px,#739abb12 31px 32px),#fffdf3;border:1px solid #d9d7c7;box-shadow:4px 7px 0 #c8d8e2,9px 15px 25px #31557515;isolation:isolate}
.adaptive-story:before{content:'';position:absolute;top:-12px;left:43%;width:100px;height:25px;background:repeating-linear-gradient(90deg,#a9c7dd85 0 14px,#e3edf3a0 14px 28px);rotate:-4deg;z-index:2}
.adaptive-story:after{content:'';position:absolute;top:20px;bottom:20px;left:43%;border-left:1px dashed #b5576270;z-index:-1}
.adaptive-intro h3{font-size:38px;line-height:1.1;margin:16px 0;color:#253951}.adaptive-intro h3 i{font-style:normal;font-weight:400;color:#396da2}.adaptive-intro>.handwritten{font-size:26px;color:#a74653;margin:12px 0 20px}.adaptive-story p{font-size:13px;line-height:1.8}.hypothesis-slip{padding:18px;margin:24px -7px 0;background:#e6eff5;rotate:-2deg;box-shadow:2px 4px 0 #bed0dd}.hypothesis-slip p{margin:10px 0}.hypothesis-slip small{font-size:10px;color:#526b80;line-height:1.6;display:block}
.adaptive-lab{align-self:start;background:#f3f7fa;border:1px solid #afc6d7;border-radius:9px;padding:20px;box-shadow:3px 5px 0 #9fb7ca;transform:rotate(1deg)}.adaptive-lab>.eyebrow{font-size:8px}.clock-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;margin:20px 0;perspective:600px}.clock-pair>div{padding:14px 10px;min-width:0;text-align:center}.sample-real{border:1px dashed #adc0ce;border-radius:4px}.clock-pair small{font-size:8px;letter-spacing:1px}.clock-pair b{display:block;font:34px/1.4 monospace;font-variant-numeric:tabular-nums;white-space:nowrap}.clock-pair em{font:9px Nunito,sans-serif}.clock-pair span{display:block;font-size:9px;line-height:1.5}.sample-shift{position:relative;border:5px solid #7398bc;border-bottom-width:10px;border-radius:10px;background:#f9f8e9;box-shadow:3px 5px 0 #355c81,6px 10px 13px #29496930;transform:rotateY(-7deg) rotateZ(-3deg)}.sample-shift:before{content:'';position:absolute;width:22px;height:6px;top:-10px;left:15px;background:#a4bed3;border-radius:3px}.sample-shift:after{content:'↗';position:absolute;right:4px;top:3px;color:#b44c59;transform:rotate(var(--clock-angle,72deg));font-size:13px}
.clock-sliders label{display:flex;justify-content:space-between;font-size:12px;font-weight:700;margin-top:14px}.clock-sliders output{color:#386a98;font-variant-numeric:tabular-nums}.clock-sliders input{width:100%;accent-color:#a64453;min-height:32px;cursor:ew-resize}.departure-thread{padding:16px 0 0;margin:10px 0;list-style:none;display:grid;grid-template-columns:1fr 1fr 1fr;border-top:2px dashed #b35561;gap:12px}.departure-thread li{min-width:0}.departure-thread span{font-size:8px;letter-spacing:1px;display:block;color:#9b3b4a}.departure-thread b{font:22px monospace;display:block;margin:7px 0}.departure-thread small{font-size:9px;line-height:1.5;display:block}.adaptive-lab .sample-next{font-weight:700;color:#305c84;font-size:12px;margin-bottom:8px}.adaptive-lab .clock-rule{font-size:10px;line-height:1.6}.adaptive-lab button{border:1px solid #aac0d0;border-radius:5px;padding:8px 12px;background:#fffdf3;color:#365e84;cursor:pointer;font:11px Nunito,sans-serif;min-height:36px}.sandbox-note{display:block;font-size:9px;line-height:1.6;color:#536c81;margin-top:14px}.adaptive-future{grid-column:1/-1;border-top:1px solid #c3cddd;padding-top:10px}.adaptive-future summary{display:flex;justify-content:space-between;gap:20px;padding:14px 0;font-size:13px;font-weight:700;cursor:pointer}.adaptive-future details+details{border-top:1px dashed #b6c9d7}.future-fold{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:14px 0}.future-fold h4{font-size:16px;margin:8px 0}.future-fold p,.adaptive-future details>p{font-size:12px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:750px){.adaptive-story{grid-template-columns:1fr;margin:8px 0 18px;padding:24px 18px;gap:30px}.adaptive-story:after{display:none}.adaptive-story:before{left:35%}.adaptive-intro h3{font-size:34px}.adaptive-story p{font-size:13px}.adaptive-lab{padding:16px 12px;transform:none}.clock-pair b{font-size:29px}.clock-pair>div{padding:12px 5px}.clock-pair span{font-size:8px}.future-fold{grid-template-columns:1fr;gap:8px}.adaptive-lab button{min-height:44px}.adaptive-future summary{min-height:44px}.departure-thread{gap:8px}.departure-thread b{font-size:20px}}
@media(min-width:751px){.timer-extension{width:min(var(--extension,155px),var(--extension-room,380px))}}
@media(max-width:750px){.timer-extension{padding-bottom:clamp(6px,calc((var(--extension,155px) - 155px)*.18 + 6px),38px);transition:padding-bottom .35s}.timer-extension output{display:block;font-size:12px}}
@media(prefers-reduced-motion:reduce){.timer-extension{transition:none}}
/* Archive cards have real paper depth even before a pointer arrives. */
.throwback-grid{perspective:1100px;isolation:isolate;padding-bottom:16px}
.throwback-grid>article{border:1px solid #a7bac9;border-top:5px solid #4d79a6;background:linear-gradient(140deg,#fffef7 20%,#e5edf5 100%);box-shadow:2px 3px 0 #f8f3e4,5px 7px 0 #98afc1,8px 12px 0 #d4dfe5,13px 22px 24px #28496830;transition:translate .25s,box-shadow .25s;position:relative}
.throwback-grid>article:nth-child(2){border-top-color:#a84d5b;background:linear-gradient(140deg,#fffdf4,#f3e9df)}
.throwback-grid>article:nth-child(3){border-top-color:#71908d;background:linear-gradient(140deg,#fffef5,#e6efeb)}
.throwback-grid>article:before{content:'';position:absolute;right:0;bottom:0;width:29px;height:29px;background:linear-gradient(135deg,#eef2f0 0 48%,#b5c7d1 49% 53%,#ffffff 54%);clip-path:polygon(100% 0,100% 100%,0 100%);filter:drop-shadow(-2px -2px 1px #6e879633)}
.throwback-grid>article>.archive-tab{display:inline-block;padding:5px 9px;background:#dce8f2;color:#315c85;border:1px dashed #a7bdcc;margin-bottom:17px;letter-spacing:1.3px;font-size:9px}
.throwback-grid>article:nth-child(2)>.archive-tab{background:#f1dfe2;color:#8c3e4b;border-color:#d1a6ae}.throwback-grid>article:nth-child(3)>.archive-tab{background:#e0ece7;color:#426d68;border-color:#a0bcb4}
.throwback-grid>article h3{font-size:31px!important;line-height:1.13!important}.throwback-grid>article p{line-height:1.8}.throwback-grid>article:focus-within{translate:0 -10px;z-index:8;box-shadow:3px 5px 0 #f8f3e4,7px 11px 0 #98afc1,12px 24px 29px #28496840}
@media(hover:hover) and (pointer:fine){.throwback-grid>article:hover{translate:0 -14px;z-index:8;box-shadow:3px 5px 0 #f8f3e4,7px 11px 0 #98afc1,12px 28px 32px #28496840}}
@media(max-width:750px){.throwback-grid{gap:26px}.throwback-grid>article{padding:27px 24px 32px}.throwback-grid>article h3{font-size:29px!important}}
@media(prefers-reduced-motion:reduce){.throwback-grid>article{transition:none}.throwback-grid>article:hover,.throwback-grid>article:focus-within{translate:none}}
/* Jaiden is the little world; the chapters are its open browser tabs. */
header.browser-shell{display:block;height:auto;padding:13px max(24px,4.5vw) 10px;background:linear-gradient(#dce8f2,#edf3f7);border-bottom:1px solid #b9cbd9;box-shadow:0 3px 0 #fff9;position:relative;z-index:20}
.browser-tab-row{display:flex;align-items:end;gap:5px;border-bottom:1px solid #b7c9d8;min-height:48px}.browser-lights{display:flex;gap:6px;align-self:center;margin:0 18px 8px 0}.browser-lights i{width:8px;height:8px;border-radius:50%;background:#ad5861;box-shadow:inset 0 1px 2px #fff9}.browser-lights i:nth-child(2){background:#d0b989}.browser-lights i:nth-child(3){background:#8aa9ab}
.browser-shell .browser-home-tab{font-size:32px;line-height:1;display:flex;align-items:center;gap:8px;padding:10px 18px 9px;min-width:170px;margin-bottom:-1px;border:1px solid #b6cad9;border-radius:12px 12px 0 0;background:#cddde9;box-shadow:inset 0 1px 0 #fff9;text-decoration:none;min-height:47px}
.browser-shell .browser-home-tab .signature{margin:0;transform:none}.browser-shell .stitched-star{font-size:23px;position:static}.browser-shell .tab-close{font:17px Nunito,sans-serif;color:#7690a4;margin-left:auto;padding-left:15px}
.browser-shell nav{display:flex;gap:5px;align-items:end}.browser-shell nav a{display:flex;gap:12px;align-items:center;border:1px solid #b4c8d8;border-radius:11px 11px 0 0;background:#d2e1ed;padding:10px 16px;min-height:43px;min-width:145px;margin-bottom:-1px;font-size:12px;text-decoration:none;box-shadow:inset 0 1px 0 #fff8;color:#43627d}.browser-shell nav a>span{color:#567fa4;font-size:17px}.browser-shell nav i{font:16px Nunito,sans-serif;color:#8199ad;font-style:normal;margin-left:auto}.browser-shell [aria-current=location]{background:#fffef5!important;border-bottom-color:#fffef5!important;color:#253f5b;position:relative;z-index:2;box-shadow:0 -3px 0 #fff8!important}.browser-shell [aria-current=location]:after{content:'';position:absolute;left:14px;right:14px;bottom:5px;border-bottom:2px dashed #b65461;opacity:.65}.browser-shell .edition{margin:0 0 13px auto;padding-left:16px;font-size:8px;color:#6d879c;white-space:nowrap}
.browser-address-row{display:flex;align-items:center;gap:17px;padding-top:9px;font-size:10px;color:#57758e}.browser-page-icon{font-size:20px;color:#688ba8}.browser-address{display:flex;align-items:center;gap:10px;flex:1;min-width:0;border:1px solid #c5d6e2;background:#fffefaad;box-shadow:inset 0 1px 3px #34557508;border-radius:8px;padding:6px 13px;letter-spacing:.3px}.browser-address>span:first-child{color:#b2535f;font-size:15px}.browser-address b{font-weight:700}.browser-path{color:#708a9e}.browser-location{font-size:8px;letter-spacing:1.2px;white-space:nowrap}.browser-shell a:focus-visible{outline-offset:-5px;outline-color:#a33d50}.browser-shell nav a:hover{background:#e4edf4}
@media(max-width:750px){header.browser-shell{padding:9px 12px 8px}.browser-tab-row{gap:3px;min-height:43px}.browser-lights,.browser-shell .edition,.browser-location{display:none}.browser-shell .browser-home-tab{min-width:0;flex:1;max-width:100px;font-size:24px;gap:3px;padding:9px 9px;min-height:43px}.browser-shell .stitched-star{font-size:16px}.browser-shell .tab-close{display:none}.browser-shell nav{flex:3;gap:3px}.browser-shell nav a{min-width:0;flex:1;justify-content:center;padding:9px 7px;font-size:10px;gap:4px;min-height:42px}.browser-shell nav a>span{font-size:13px}.browser-shell nav i{display:none}.browser-address-row{gap:9px;padding-top:7px}.browser-address{padding:5px 10px;gap:7px;font-size:9px}.browser-page-icon{font-size:16px}.browser-path{font-size:8px}.browser-shell [aria-current=location]:after{left:8px;right:8px;bottom:4px}}
header.browser-shell{position:sticky;top:0}html{scroll-padding-top:135px}
@media(max-width:750px){html{scroll-padding-top:110px}}
@media(max-width:750px){.shirt-label{top:-50px;right:4px;max-width:155px;padding:8px 12px}.shirt-label>.handwritten{font-size:19px}}
.adaptive-future .vision-thesis{font-size:14px;max-width:680px;margin:12px 0}.adaptive-future .vision-line{font-size:28px;color:#a74755;line-height:1.25;margin:20px 0;rotate:-1deg}.future-fold{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}.future-fold>div{border-top:1px dashed #b7cad6;padding-top:16px}.future-fold>div:first-child{grid-column:1/-1;max-width:740px}.adaptive-future .vision-status{font-size:10px;color:#5a7183;border-left:2px solid #b55c66;padding-left:12px;line-height:1.7;margin-top:15px}@media(max-width:750px){.future-fold{grid-template-columns:1fr}.adaptive-future .vision-line{font-size:25px}}
.archive-guide{padding:26px 22px 18px;align-self:start;position:relative;background:repeating-linear-gradient(0deg,transparent 0 29px,#7694ad16 29px 30px),#f4efdf;box-shadow:2px 4px 0 #d2cabb;rotate:-2deg;border-left:2px dashed #b4556270;margin-top:15px}.archive-guide h3{font-size:30px;line-height:1.1;margin:18px 0}.archive-guide p{font-size:12px;line-height:1.8}.archive-guide .eyebrow{font-size:8px;letter-spacing:1px}.archive-process{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px;padding:12px 0;border-block:1px dashed #b9c8cf;margin:18px 0}.archive-process span{font:18px 'Caveat',cursive;color:#466f94;white-space:nowrap}.archive-process i{font-style:normal;color:#ad4d5a;rotate:-90deg}.archive-guide>.handwritten{font-size:22px;color:#a34c56;margin:14px 0 10px}.archive-threads{display:flex;flex-direction:column;gap:8px}.archive-threads a{display:flex;justify-content:space-between;gap:14px;padding:10px 12px;border:1px dashed #b4c5d1;background:#fffef4;text-decoration:none;color:#38678e;font-size:11px;box-shadow:2px 3px 0 #c5d4df;min-height:42px}.archive-threads a:hover,.archive-threads a:focus-visible{background:#e5eff6}.throwback-grid #archive-living-well{border-top-color:#a84d5b;background:linear-gradient(140deg,#fffdf4,#f3e9df)}.throwback-grid #archive-scholarlystart{border-top-color:#71908d;background:linear-gradient(140deg,#fffef5,#e6efeb)}.throwback-grid #archive-living-well>.archive-tab{background:#f1dfe2;color:#8c3e4b;border-color:#d1a6ae}.throwback-grid #archive-scholarlystart>.archive-tab{background:#e0ece7;color:#426d68;border-color:#a0bcb4}@media(max-width:750px){.archive-guide{margin-top:0;padding:24px;rotate:0deg}.archive-guide h3{font-size:29px}.archive-guide p{font-size:13px}.archive-threads a{min-height:44px}}
.future-fold h4{font-family:Nunito,Arial,sans-serif;font-weight:750;letter-spacing:-.3px;line-height:1.35;font-size:17px}
@media(max-width:750px){.desk{height:1460px}.shirt-object{top:850px}}
/* Show SHIFT's connection logic inside the same movable paper. */
.integrated-computer{height:670px!important}.integrated-computer .monitor-demo{padding:15px 18px;gap:10px 12px}.integrated-computer #monitor-demo-copy{font-size:11px;line-height:1.6}.integrated-computer #monitor-demo-copy strong{font-size:13px}.demo-connections{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;list-style:none;margin:1px 0;padding:10px 0;border-block:1px dashed #c28791}.demo-connections li{min-width:0;padding-right:7px;position:relative}.demo-connections li+li:before{content:'→';position:absolute;left:-9px;top:14px;color:#b05361;font-size:10px}.demo-connections small{display:block;font-size:7px;letter-spacing:.6px;color:#7a5966;margin-bottom:5px}.demo-connections b{display:block;font-size:10px;line-height:1.5;color:#365f84;font-weight:700}.integrated-computer .demo-payoff{grid-column:1/-1;font-size:10px;line-height:1.6;color:#415f78;margin:0}.demo-saved{grid-column:1/-1;font:18px 'Caveat',cursive;color:#9b4252;background:#f6e9e6;padding:5px 10px;rotate:-1deg;justify-self:start}.integrated-computer .demo-switches{flex-wrap:wrap;justify-content:flex-end}.integrated-computer .demo-switches button{white-space:nowrap}
@media(max-width:750px){.integrated-computer{height:710px!important}.integrated-computer .monitor-demo{padding:16px 14px;gap:10px}.integrated-computer .demo-switches{justify-content:flex-start;gap:5px}.integrated-computer .demo-switches button{font-size:11px;padding:7px 9px}.integrated-computer #monitor-demo-copy{font-size:12px}.demo-connections{gap:8px}.demo-connections small{font-size:7px;letter-spacing:0}.demo-connections b{font-size:10px}.integrated-computer .demo-payoff{font-size:11px}.integrated-computer .monitor-demo>small{font-size:9px}}
/* Pull a plied yarn loop to unfold the actual archive pages. */
.yarn-pull{margin-top:18px}.yarn-pull-handle{display:flex;flex-direction:column;align-items:center;width:100%;border:0;background:none;padding:0 0 8px;cursor:grab;touch-action:none;color:#436c90;min-height:85px}.yarn-pull-handle svg{width:100%;height:60px;overflow:visible;transform:translateY(var(--pull,0px));transition:transform .16s}.yarn-pull-handle>span{font:21px 'Caveat',cursive}.yarn-pull-handle:active{cursor:grabbing}.yarn-shadow{fill:none;stroke:#34587735;stroke-width:9;transform:translate(2px,4px);filter:blur(2px)}.yarn-rope{fill:none;stroke:url(#yarn-tone);stroke-width:7;stroke-linecap:round}.yarn-ply{fill:none;stroke:#e7f0f6bb;stroke-width:3;stroke-dasharray:2 4;stroke-linecap:round}.yarn-reveal{border-top:1px dashed #b68a92;padding-top:16px}.yarn-reveal>.handwritten{font-size:22px;color:#9e4755}.reveal-prints{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reveal-prints figure{margin:0;padding:7px;background:#fffdf3;box-shadow:2px 4px 0 #b7c8d3;rotate:-3deg}.reveal-prints figure:nth-child(2){rotate:3deg;translate:0 12px}.reveal-prints a{text-decoration:none}.reveal-prints img{width:100%;height:auto;display:block}.reveal-prints span{display:block;font:15px 'Caveat',cursive;color:#3b6487;padding-top:7px}.yarn-reveal>small{display:block;font-size:9px;line-height:1.6;margin:28px 0 0;color:#62788c}.throwback-grid{align-items:start}
/* The photo and calculator form a larger overlapping desk pair. */
@media(min-width:751px){.about-heading{position:relative;min-height:860px}.resume-photo-backdrop{width:320px;max-width:82%;margin:42px -10px 0 auto;rotate:7deg;z-index:3}.resume-photo-backdrop img{height:340px}.calculator-object{width:260px;margin:-140px 0 20px 0;z-index:5;transform:rotate(-9deg)}.calculator-keys button{min-height:42px;font-size:16px}.calculator-object #calc-input{font-size:16px}.calculator-object .calc-tape{width:180px}}
.contact .tablet-object{width:calc(100% + 32px);height:405px;margin-left:-32px;z-index:7}.contact .scratch-desk,.contact:has(.keyboard-drawer[open]) .scratch-desk{z-index:3;margin-top:-18px}.contact .contact-composer{z-index:4}.contact .tablet-profile{position:relative;z-index:2}.contact .tablet-screen{height:100%}
.shift-time-tease{position:absolute;left:34%;bottom:255px;z-index:8;width:205px;rotate:-5deg;color:#47719b;text-decoration:none;font-size:23px;line-height:1.15;background:#fffdf0;border:1px solid #adc6d9;border-radius:48% 47% 44% 10%;padding:18px 20px;box-shadow:3px 5px 0 #c3d4df,6px 10px 16px #35567812}.shift-time-tease:after{content:'';position:absolute;right:18px;bottom:-10px;width:17px;height:17px;background:#fffdf0;border-right:1px solid #adc6d9;border-bottom:1px solid #adc6d9;transform:skew(20deg) rotate(32deg);z-index:-1}.shift-time-tease>span{color:#a84958}.shift-time-tease small{display:block;font:9px Nunito,sans-serif;margin-top:9px;letter-spacing:.4px}.shift-time-tease:hover{rotate:-2deg}
@media(max-width:750px){.resume-photo-backdrop{width:285px;max-width:92%;margin:35px 0 0 auto;rotate:5deg}.resume-photo-backdrop img{height:315px}.calculator-object{width:240px;max-width:86%;margin:-95px auto 36px 0;z-index:5}.calculator-keys button{min-height:42px}.contact .tablet-object{width:calc(100% + 12px);height:auto;min-height:440px;margin-left:-6px}.contact .scratch-desk,.contact:has(.keyboard-drawer[open]) .scratch-desk{margin-top:-8px}.shift-time-tease{left:auto;right:5%;top:750px;bottom:auto;width:145px;font-size:19px;padding:13px 15px;rotate:5deg}.shift-time-tease small{font-size:8px}.yarn-reveal>small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.yarn-pull-handle svg{transition:none}.shift-time-tease:hover{rotate:-5deg}}
#muse{position:relative}#muse-star-scene{position:absolute;left:37%;top:22%;width:190px;height:210px;z-index:6;cursor:grab;touch-action:none;outline-offset:-8px}#muse-star-scene canvas{display:block;width:100%;height:100%}#muse-star-scene>.handwritten{position:absolute;bottom:0;left:0;right:0;text-align:center;color:#a44c5a;font-size:18px;pointer-events:none}#muse-star-scene:active{cursor:grabbing}.muse-home-slot .thread-route{margin-left:70px}.muse-home-slot>span{padding-left:75px}
@media(max-width:750px){#muse-star-scene{left:0;top:auto;bottom:260px;width:132px;height:155px}#muse-star-scene>.handwritten{font-size:15px}.muse-home-slot .thread-route{margin-left:20px}.muse-home-slot>span{padding-left:30px}}
@media(max-width:750px){.shift-time-tease{top:420px;right:6%;width:155px}.integrated-computer{height:745px!important}}
.work{padding-bottom:22px}.work>.project{margin-top:45px;margin-bottom:38px}.work>.energy-project{margin-top:30px;margin-bottom:22px}.work>.prints-note{padding:28px 34px;margin:0 12px 0 26px;gap:24px;grid-template-columns:70px 1fr 90px}.work>.prints-note h3{margin-bottom:15px}.work>.prints-note p{margin-bottom:12px}.work>.prints-note .small{margin-bottom:0}@media(max-width:750px){.work{padding-bottom:18px}.work>.project{margin-top:32px;margin-bottom:28px}.work>.energy-project{margin-bottom:20px}.work>.prints-note{margin:0;padding:24px;grid-template-columns:1fr;gap:8px}}
/* A landscape tablet leads; the writing papers tuck beneath it. */
@media(min-width:751px){.contact:has(.contact-composer),.contact:has(.keyboard-drawer[open]){grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:22px 24px;padding:48px 44px 28px}.contact-intro{align-self:start;padding:32px 18px 12px 2px}.contact-intro h2{font-size:54px;max-width:12ch;line-height:1.06;margin-top:16px}.contact .tablet-object{width:calc(100% + 38px);height:355px;margin-left:-28px;transform:perspective(1300px) rotateY(-3deg) rotateZ(2deg)}.contact .tablet-object:hover,.contact .tablet-object:focus-within{transform:perspective(1300px) rotateY(-1deg) rotateZ(1deg)}.contact .contact-composer{width:calc(100% + 8px);margin-top:-17px;padding:23px;transform:rotate(-2deg)}.contact .contact-composer textarea{height:120px;min-height:100px}.contact .scratch-desk,.contact:has(.keyboard-drawer[open]) .scratch-desk{width:calc(100% - 10px);margin:-9px 0 0 5px;padding:24px 22px;transform:rotate(1.5deg)}.contact .scratch-desk textarea{height:125px}.contact .doodle-drawer{margin-top:0}}
.coffee-spill{position:absolute;width:var(--spot-size,24px);height:calc(var(--spot-size,24px)*.68);border:2px solid #77502c77;border-radius:48% 57% 43% 52%;background:radial-gradient(ellipse,#6f461b48,#9b682b22 55%,#724a2322 70%,transparent 73%);box-shadow:8px -6px 0 -7px #72502d88,-7px 6px 0 -7px #72502d77;pointer-events:none;z-index:3;mix-blend-mode:multiply;animation:coffee-dry 8s linear forwards}@keyframes coffee-dry{0%{opacity:.55}65%{opacity:.2}100%{opacity:0}}
.battery-reveal{height:auto!important;min-height:450px;padding-bottom:48px}.battery-reveal .research-sheet{height:auto!important;min-height:365px}.battery-reveal #battery-scene{height:400px!important;bottom:auto}.paper-research-notes{position:relative;z-index:4;margin-top:18px;border-block:1px dashed #a9bece;padding:4px 0;background:#fffdf4d9}.paper-research-notes summary{font:700 12px Nunito,sans-serif;display:flex;justify-content:space-between;gap:12px;padding:12px 0;cursor:pointer;list-style:none;color:#365e85}.paper-research-notes p{font:12px/1.85 Nunito,sans-serif;color:#3e5c77;margin:10px 0 15px}.battery-reveal .scroll-note{bottom:10px}@media(max-width:750px){.paper-research-notes summary{min-height:44px}.paper-research-notes p{font-size:13px}.battery-reveal{min-height:440px}}
/* A lit display, with depth that remains quiet until approached. */
#shirt-view{position:relative;isolation:isolate}#shirt-view:before{content:'';position:absolute;inset:7% 5% 17%;border-radius:50%;background:radial-gradient(ellipse at 50% 38%,#fff3ccaa 0%,#d5eaff80 45%,#9ebed733 62%,transparent 75%);filter:blur(18px);opacity:.36;transition:opacity .45s;pointer-events:none;z-index:0}#shirt-view canvas{position:relative;z-index:1;filter:drop-shadow(0 15px 11px #24446148);transition:filter .35s}#shirt-view:focus-visible:before{opacity:.85}@media(hover:hover) and (pointer:fine){#shirt-view:hover:before{opacity:1}#shirt-view:hover canvas{filter:drop-shadow(0 23px 15px #24446160)}}@media(prefers-reduced-motion:reduce){#shirt-view:before,#shirt-view canvas{transition:none}}
.mannequin-pose-tag{position:absolute;left:-12px;top:69%;z-index:5;border:1px dashed #99b3c8;background:#fffdf0;color:#a64655;box-shadow:2px 4px 0 #b7cbd9;padding:9px 14px;font:21px 'Caveat',cursive;rotate:-6deg;cursor:pointer;min-height:42px}.mannequin-pose-tag:hover,.mannequin-pose-tag:focus-visible{background:#e8f1f7;rotate:-2deg}.mannequin-pose-tag[aria-pressed=true]{color:#355f86}@media(max-width:750px){.mannequin-pose-tag{top:65%;left:-8px;font-size:18px;padding:8px 11px;min-height:44px}}@media(prefers-reduced-motion:reduce){.mannequin-pose-tag:hover,.mannequin-pose-tag:focus-visible{rotate:-6deg}}

.battery-question{display:block;background:#fffbed;border:1px dashed #91abc0;color:#9f4252;box-shadow:2px 3px 0 #c6d8e4;padding:8px 12px;margin:14px 0;min-height:44px;font-size:23px;cursor:pointer;rotate:-2deg}.battery-question:hover,.battery-question:focus-visible{background:#e1edf5;outline:2px solid #466f94;outline-offset:3px}.battery-question[aria-pressed="true"]{color:#315c82}
.battery-question{position:relative;z-index:4}

.battery-reveal>.battery-question{margin:16px auto 24px;max-width:90%}
@media(max-width:750px){.battery-reveal{padding-bottom:108px}.battery-reveal>.battery-question{margin-bottom:12px}}

.scholarly-proof{position:relative;max-width:205px;margin:28px auto 4px;padding:9px 9px 12px;background:#fffdf4;box-shadow:3px 5px 0 #bccfd9,5px 8px 12px #35506b1c;rotate:3deg}.scholarly-proof:before{content:"";position:absolute;top:-10px;left:34%;width:62px;height:22px;background:#d5e4edbf;rotate:-5deg;pointer-events:none}.scholarly-proof a{display:block;text-decoration:none}.scholarly-proof img{width:100%;height:auto;display:block}.scholarly-proof span{display:block;font:21px Caveat,cursive;color:#3d6381;margin-top:8px}.scholarly-proof figcaption{font:10px/1.5 Nunito,sans-serif;color:#536d81;margin-top:6px}

#muse-scene.muse-is-floating.muse-makes-room{opacity:.12;pointer-events:none!important;transition:opacity .18s ease}@media(prefers-reduced-motion:reduce){#muse-scene.muse-makes-room{transition:none}}

/* A slow folded napkin traverses the viewport; it never blocks a whole-page overlay. */
.paper-pilot{position:fixed;left:0;top:0;width:86px;z-index:75;--pilot-start-x:calc(100vw - 106px);--pilot-start-y:28vh;pointer-events:none}
.paper-pilot.is-flying{animation:pilot-lap 72s ease-in-out infinite}
.paper-pilot-surface{position:relative;display:block;width:86px;height:78px;background:none;border:0;padding:0;pointer-events:auto;cursor:grab;filter:drop-shadow(3px 8px 5px #36546c28);touch-action:manipulation}
.pilot-folds{width:100%;height:100%;transform:perspective(280px) rotateX(16deg) rotateY(-12deg);transition:opacity .25s,transform .3s}
.pilot-catch{position:absolute;top:57px;left:2px;white-space:nowrap;font:18px Caveat,cursive;color:#42688b;rotate:-7deg}
.paper-pilot:has(.paper-pilot-surface:hover),.paper-pilot:has(.paper-pilot-surface:focus-visible),.paper-pilot.pilot-paused{animation-play-state:paused}
.pilot-napkin{display:none}.paper-pilot.is-caught{width:150px}.is-caught .paper-pilot-surface{width:132px;height:108px;touch-action:none;cursor:grab}.is-caught .pilot-folds,.is-caught .pilot-catch{display:none}
.is-caught .pilot-napkin{position:absolute;display:block;inset:3px;background-color:#fffcef;background-image:linear-gradient(31deg,transparent 44%,#71849b15 47%,#fff 49%,transparent 52%),linear-gradient(135deg,transparent 36%,#bec7ce55 39%,#fffdf6 42%,transparent 46%),linear-gradient(74deg,transparent 65%,#b1b7bc44 67%,#fff 70%,transparent 73%),repeating-linear-gradient(12deg,#ffffff20 0 2px,#b2a9950c 2px 3px);border:1px solid #d7d8cf;clip-path:polygon(3% 0,43% 2%,75% 0,100% 4%,97% 45%,100% 95%,61% 100%,29% 97%,0 100%,2% 58%,0 23%);box-shadow:inset 0 0 12px #b4b4a832;rotate:-7deg}
.pilot-napkin:before,.pilot-napkin:after{content:'';position:absolute;inset:11px;border:1px dashed #bdcbd2;pointer-events:none}.pilot-napkin:after{inset:0;background:linear-gradient(156deg,transparent 50%,#b4bac44a 51%,#fff8 52%,transparent 55%);border:0}.pilot-napkin i{position:absolute;bottom:12px;left:20px;font:17px Caveat,cursive;color:#ae4b58}
.is-wiping .paper-pilot-surface{cursor:grabbing;filter:drop-shadow(1px 2px 2px #36546c20)}
.pilot-tools{pointer-events:auto;padding:7px;background:#fffdf0;border:1px dashed #a7bdcc;border-radius:4px;box-shadow:2px 3px 0 #c5d5df;font:11px/1.4 Nunito,sans-serif;color:#46627b;margin-top:8px}.pilot-tools[hidden]{display:none!important}.pilot-tools span{display:block}.pilot-tools button{display:block;min-height:34px;width:100%;margin-top:5px;border:1px solid #a9bfd0;border-radius:4px;background:#edf4f8;font:12px Nunito,sans-serif;cursor:pointer}.pilot-tools .pilot-release{font:20px Caveat,cursive;color:#a54655}.pilot-sweep{font-size:10px!important}.pilot-live{position:fixed;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
@keyframes pilot-lap{0%,100%{transform:translate3d(var(--pilot-start-x),var(--pilot-start-y),0) rotate(-12deg)}25%{transform:translate3d(8vw,45vh,0) rotate(-24deg)}52%{transform:translate3d(34vw,calc(100vh - 120px),0) rotate(16deg)}77%{transform:translate3d(calc(100vw - 110px),58vh,0) rotate(-8deg)}}
@media(max-width:750px){.paper-pilot-surface{width:72px;height:66px}.pilot-catch{top:49px;font-size:16px}.pilot-tools button{min-height:44px}.paper-pilot{--pilot-start-y:32vh}}
@media(prefers-reduced-motion:reduce){.paper-pilot.is-flying{animation:none;transform:translate3d(calc(100vw - 100px),32vh,0)}.pilot-folds{transition:none}}

.archive-keepsake{margin:26px -6px -5px;text-align:center;pointer-events:none}.archive-keepsake svg{display:block;width:min(100%,230px);height:auto;margin:auto;filter:drop-shadow(3px 6px 4px #45627a20)}.archive-keepsake p{font-size:23px!important;line-height:1.15!important;margin:2px 0 0!important;color:#476f90!important;rotate:-5deg}.throwback-grid:has(.yarn-pull-handle[aria-expanded="true"]) .archive-keepsake{opacity:.55}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.resume-photo-backdrop{transition:transform .35s ease,filter .35s ease}.resume-photo-backdrop:hover:not(.is-dragging){animation:portrait-hover 3.4s ease-in-out infinite;filter:drop-shadow(0 12px 9px #35536b20)}.resume-photo-backdrop.is-dragging{animation:none!important}}
.resume-photo-backdrop:has(.portrait-open:focus-visible){transform:translateY(-10px) rotate(-2deg)}
@keyframes portrait-hover{0%,100%{transform:translateY(-9px) rotate(-1.5deg)}50%{transform:translateY(-17px) rotate(-2.5deg)}}

.paper-pilot.is-flying.pilot-resting{animation:none;transform:translate3d(calc(100vw - 100px),32vh,0)}

@media(min-width:751px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .contact .tablet-object{transform-origin:50% 55%;transition:transform .65s cubic-bezier(.2,.7,.25,1)}
 .contact .tablet-object:hover,.contact .tablet-object:focus-within{transform:perspective(1300px) translateY(-10px) rotateX(3deg) rotateY(6deg) rotateZ(-2deg) scale(1.025)}
}

/* The expanded SHIFT story shares its desktop column with a connected margin note. */
.shift-desk-column{min-width:0;grid-column:1;grid-row:1}.shift-project>.project-text{grid-row:1}.shift-thread-note{display:none}
@media(min-width:901px){.shift-thread-note:not([hidden]){display:block;position:relative;margin:50px 20px 15px 25px;padding:26px 28px 22px;background:repeating-linear-gradient(#fffdf3 0 27px,#ccd9df55 28px,#fffdf3 29px);border:1px solid #d9d6c5;box-shadow:5px 8px 0 #d8e2e9,10px 16px 24px #314e6519;rotate:-2deg}.shift-thread-note:before{content:'';position:absolute;top:-13px;left:40%;width:84px;height:28px;background:repeating-linear-gradient(90deg,#aec8dc99 0 10px,#e2edf499 10px 20px);rotate:5deg}.shift-thread-note h4{font:700 31px/1.1 'Nunito',sans-serif;margin:16px 0 22px;color:#335d7a}.shift-thread-note h4 i{font:34px 'Caveat',cursive;color:#9b4451}.shift-thread-note ol{list-style:none;padding:0;margin:0 0 14px 7px;border-left:3px dashed #ae5967}.shift-thread-note li{position:relative;padding:0 0 18px 22px}.shift-thread-note li:before{content:'';position:absolute;left:-9px;top:5px;width:12px;height:12px;border-radius:50%;background:#b44e60;border:2px solid #fff9e8;box-shadow:1px 2px 2px #63344044}.shift-thread-note li span{display:block;font:8px 'DM Sans';letter-spacing:1px;color:#755b63}.shift-thread-note strong{font:700 22px 'Nunito';color:#355d7c}.shift-thread-note li p{font-size:11px;margin:3px 0 0;line-height:1.5}.thread-note-caption{font:22px/1.25 'Caveat';color:#9b4451;margin:2px 0 18px}.shift-thread-note a{font-size:11px;line-height:1.6;display:inline-block;min-height:30px}.shift-thread-note small{display:block;font-size:9px;line-height:1.5;color:#637683;margin-top:8px}}
@media(max-width:750px){.shift-desk-column{grid-column:auto;grid-row:auto}.shift-project>.project-text{grid-row:auto}}
@media(min-width:751px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .calculator-object{transform-origin:50% 65%;transition:transform .32s ease,filter .32s ease}
 .calculator-object:hover:not(.is-dragging),.calculator-object:focus-within:not(.is-dragging){transform:translateY(-16px) rotate(-4deg) scale(1.06);filter:drop-shadow(3px 16px 10px #294c7040);z-index:8}
 .calculator-object.is-dragging{transition:none;filter:none}
}

.paper-pilot:not(.coffee-ready) .pilot-catch{display:none}.paper-pilot-surface:disabled{cursor:default;opacity:1}.coffee-plane-hint{position:absolute;left:18%;bottom:19%;max-width:240px;font-size:23px;line-height:1.1;color:#476b89;rotate:-5deg;pointer-events:none;z-index:10;background:#fffbedeb;padding:8px 12px;box-shadow:2px 3px 0 #b8cfdd55}
@media(max-width:750px){.coffee-plane-hint{left:5%;bottom:26%;font-size:20px;max-width:180px}}

.clock-preview-control{display:block;margin:12px 0 6px;font-size:12px;color:#365e80}.clock-preview-control output{float:right;font-weight:700}.clock-preview-control input{display:block;width:100%;min-height:36px;accent-color:#456e98}.clock-preview-readout{font-size:11px!important;margin:4px 0 10px!important;color:#365e80}

.monitor-demo .clock-preview-vision{font-size:11px;line-height:1.55;margin:10px 0;max-width:100%;color:#45647d}

/* The clock-only demo is one readable sheet, rather than the old scenario grid. */
.integrated-computer .monitor-demo{display:flex;flex-direction:column;align-items:stretch;gap:9px;left:4%;right:1%;bottom:0;min-width:0;padding:21px 25px;rotate:-3deg}
.integrated-computer .monitor-demo>.eyebrow{width:auto;white-space:normal;line-height:1.4;letter-spacing:1.2px;margin:0}
.integrated-computer #monitor-demo-copy{width:auto;margin:0;font-size:12px;line-height:1.55}
.integrated-computer .clock-preview-control{width:100%;margin:0;display:block;font-size:12px}
.integrated-computer .clock-preview-control input{width:100%;margin:2px 0;cursor:ew-resize;touch-action:pan-y}
.integrated-computer .clock-preview-vision{width:auto;margin:0;font-size:11px;line-height:1.55}
.integrated-computer .clock-preview-readout{width:auto;margin:0!important;font-size:11px!important;white-space:normal}
.integrated-computer .monitor-demo>small{font-size:9px;line-height:1.5}
@media(min-width:751px){.shift-project .integrated-computer{height:760px!important}.integrated-computer #monitor-scene{height:450px!important;top:0}.integrated-computer .monitor-demo{max-width:none}}
@media(max-width:750px){.integrated-computer .monitor-demo{left:2%;right:1%;padding:18px 17px;rotate:-2deg}.shift-project .integrated-computer{height:800px!important}}

.personal-tabs-note{position:relative;margin:38px 4px 10px;padding:25px 26px 20px;background:repeating-linear-gradient(#fffbed 0 28px,#b6cbd83d 29px,#fffbed 30px);border:1px solid #dedbc9;border-left:3px dashed #b15c66;box-shadow:4px 6px 0 #dce5eb,9px 13px 22px #35526b14;rotate:-2deg}.personal-tabs-note:before{content:'';position:absolute;top:-12px;left:40%;width:75px;height:25px;background:repeating-linear-gradient(90deg,#adc9dc99 0 9px,#edf4efaa 9px 18px);rotate:5deg}.personal-tabs-note h3{font:700 23px/1.2 'Nunito',sans-serif;margin:13px 0 20px;color:#345d7d}.personal-tabs-note dl{margin:0}.personal-tabs-note dl div{margin:0 0 16px}.personal-tabs-note dt{font:700 11px 'DM Sans';color:#a04b5a;margin-bottom:4px}.personal-tabs-note dd{font:12px/1.7 'DM Sans';color:#36566f;margin:0}.personal-tabs-note .handwritten{font-size:23px;line-height:1.2;margin:12px 0 0;color:#426d8b}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.resume-photo-backdrop{transition:transform .32s ease,filter .32s ease}.resume-photo-backdrop:hover:not(.is-dragging),.resume-photo-backdrop:focus-within:not(.is-dragging){animation:none!important;transform:translateY(-16px) rotate(-2deg) scale(1.04);filter:drop-shadow(3px 16px 10px #294c7040);z-index:7}.resume-photo-backdrop.is-dragging{transition:none;filter:none}}

.calc-tape:before{content:'a little proof.\A(I always come with receipts.)';white-space:pre-line;font-size:17px;line-height:1.25}
.org-collection{padding:25px!important;background:#fffbed!important}.org-collection h3{font:30px/1.05 'Caveat',cursive!important;color:#3b6481;margin:10px 0 20px!important}.org-patches{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 12px;list-style:none;padding:0;margin:0}.org-patch{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:2px dashed #eef5f6;border-radius:12px;box-shadow:2px 4px 0 #7e9bb13d,inset 0 0 0 4px #ffffff30;min-width:0;padding:13px 7px;color:#294e70}.org-main{grid-column:span 3;min-height:135px;background:repeating-linear-gradient(12deg,#b3cfe3 0 2px,#bed8e9 2px 4px);border-radius:45% 45% 20% 20%;rotate:-5deg}.org-main>span{font-size:21px;color:#a34e5d;line-height:1}.org-main strong{font:800 32px/1.3 'Nunito',sans-serif;letter-spacing:2px}.org-patch small{font:9px/1.4 'DM Sans';display:block;margin-top:5px}.org-gis{rotate:5deg;background:repeating-linear-gradient(-12deg,#e4d3bd 0 2px,#f0e4ce 2px 4px);border-color:#fffbed;color:#795c49}.org-ticket{grid-column:span 2;min-height:82px;rotate:3deg;border-radius:4px;background:#e0eaf0;border:1px dashed #839eaf;box-shadow:2px 3px 0 #d1dce5}.org-ticket:nth-child(4){rotate:-4deg;background:#f2e0dd;border-color:#be8f97}.org-ticket strong{font:700 17px/1.2 'Nunito'}.org-accounting{rotate:2deg;background:#e5e7d8;border-color:#9fa892}.org-accounting strong{font-size:13px}.org-collection .org-caption{font:23px/1.2 'Caveat';margin:21px 0 0!important;color:#466e8a;rotate:-2deg}
@media(max-width:750px){.org-collection{padding:24px 18px!important}.org-main{min-height:128px}.org-patches{gap:12px 9px}}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){#monitor-scene{transform-origin:50% 65%;transition:transform .4s ease,filter .4s ease}#monitor-scene:hover:not(.is-manipulating):not(.is-keyboard-active){animation:desktop-hover 4s ease-in-out infinite;filter:drop-shadow(0 18px 12px #284e7538);z-index:3}#monitor-scene:focus-visible{transform:translateY(-12px) scale(1.025);filter:drop-shadow(0 18px 12px #284e7538)}#monitor-scene.is-manipulating{animation:none!important;transition:none;transform:none}}
@keyframes desktop-hover{0%,100%{transform:translateY(-12px) scale(1.025)}50%{transform:translateY(-18px) scale(1.025)}}
#monitor-scene.is-manipulating{transform:var(--held-monitor-transform,none)}

.intro-paper h1{display:flex;align-items:center;gap:9px;line-height:1.1}.intro-paper h1 .yarn-name{font-size:91px;flex:0 0 auto}.hero-domain-signature{display:flex;flex-direction:column;align-items:flex-start;gap:0;flex:0 0 auto;rotate:-6deg;color:#a74958;transform:translateY(15px)}.hero-domain-signature>span{font:47px/.9 'Caveat',cursive}.hero-domain-signature small{font:24px/1.1 'Caveat',cursive;margin-top:6px;margin-left:5px}.intro-paper h1>.star{position:absolute;left:65%;bottom:-5px;font-size:30px;top:auto;right:auto}
@media(max-width:1000px){.intro-paper h1 .yarn-name{font-size:77px}.hero-domain-signature>span{font-size:39px}.hero-domain-signature small{font-size:22px}}
@media(max-width:750px){.intro-paper h1 .yarn-name{font-size:clamp(57px,14.8vw,85px)}.hero-domain-signature>span{font-size:35px}.hero-domain-signature small{font-size:21px}.intro-paper h1{gap:5px}.intro-paper h1>.star{font-size:25px;left:62%}}
/* Open 3D desk, no opaque backing sheet or clipped bottom row. */
.integrated-computer:before{display:none}.shift-project .integrated-computer{height:auto!important;min-height:0;display:flex;flex-direction:column;gap:10px;background:transparent;isolation:auto}.integrated-computer #monitor-scene{position:relative;inset:auto!important;top:auto!important;height:540px!important;width:100%;flex:0 0 540px}.integrated-computer .monitor-demo{position:relative;inset:auto;left:auto;right:auto;bottom:auto;flex:0 0 auto;margin:5px 0 20px 4%;transform:none;rotate:-2deg}.shift-project>.project-text{align-self:start}
@media(max-width:750px){.integrated-computer #monitor-scene{height:450px!important;flex-basis:450px}.integrated-computer .monitor-demo{margin:0 2% 20px}}

.hero-domain-signature,.hero-domain-signature>span,.hero-domain-signature small{letter-spacing:normal!important;white-space:nowrap}.intro-paper h1>.star{left:auto;right:-10px;top:-9px;bottom:auto;font-size:25px}

.intro-paper h1{display:block;padding-bottom:20px}.intro-paper h1 .yarn-name{font-size:112px}.hero-domain-signature{position:absolute;right:0;bottom:-2px;transform:none;rotate:-4deg;align-items:flex-end}.hero-domain-signature>span{font-size:28px}.hero-domain-signature small{font-size:17px;margin:0 2px 0 0}.intro-paper h1>.star{right:-5px;top:0}.heart-i{position:relative}.heart-i sup{position:absolute;left:50%;top:.08em;transform:translateX(-50%) rotate(-9deg);font:bold .22em/1 'Nunito';-webkit-text-fill-color:#b05262;color:#b05262;filter:none;text-shadow:1px 1px #fff2e5}
@media(max-width:1000px){.intro-paper h1 .yarn-name{font-size:100px}}
@media(max-width:750px){.intro-paper h1 .yarn-name{font-size:clamp(73px,20vw,110px)}.hero-domain-signature>span{font-size:26px}.hero-domain-signature small{font-size:16px}.intro-paper h1{padding-bottom:25px}}
.clock-preview-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.clock-preview-actions button{min-height:36px;border:1px solid #a1bdd0;background:#e5eff7;color:#345c7a;border-radius:5px;padding:7px 11px;font:11px 'DM Sans';cursor:pointer}.clock-preview-actions button:focus-visible{outline:2px solid #aa4e5c;outline-offset:3px}.clock-preview-actions span{font:19px 'Caveat';color:#a64d5b}.clock-preview-actions button:hover{background:#d3e4f0}
.heart-i sup{top:.43em}

@media(min-width:1001px){.intro-paper{width:460px;padding-left:32px;padding-right:32px}.intro-paper h1 .yarn-name{font-size:120px}}
.intro-paper h1{display:flex;align-items:center;gap:4px;padding-bottom:22px}.hero-domain-signature{position:static;right:auto;bottom:auto;transform:translateY(19px);align-items:flex-start}.hero-domain-signature>span{font-size:38px}.hero-domain-signature small{font-size:24px;margin-top:3px}
@media(min-width:751px) and (max-width:1000px){.intro-paper{padding-left:24px;padding-right:24px}.hero-domain-signature>span{font-size:32px}.hero-domain-signature small{font-size:22px}}
@media(max-width:750px){.intro-paper{width:84%;left:8%;padding-left:22px;padding-right:22px}.intro-paper h1 .yarn-name{font-size:clamp(68px,22vw,110px)}.hero-domain-signature>span{font-size:28px}.hero-domain-signature small{font-size:20px}.hero-domain-signature{transform:translateY(14px)}}
@media(max-width:350px){.intro-paper h1 .yarn-name{font-size:68px}.hero-domain-signature>span{font-size:23px}.hero-domain-signature small{font-size:18px}}
.contact-composer select{width:100%;min-height:44px;padding:9px;border:1px solid #b4ccdf;border-radius:4px;background:#fffef8;color:#355b78;font:12px 'DM Sans';margin-bottom:12px}.profile-tabs{flex-wrap:wrap}.profile-panel .fresh-prints-draft{border:0;border-radius:5px;background:#385f89;color:#fff;padding:10px 14px;font:11px 'DM Sans';min-height:40px;cursor:pointer}.profile-panel small{display:block;font-size:10px;line-height:1.5;margin:9px 0 0;color:#59738a}.fresh-prints-inquiry-link{display:inline-block;margin-top:16px;font-size:12px;text-underline-offset:5px}

#shirt-view:before{opacity:.7;background:radial-gradient(ellipse at 50% 40%,#fff0caa8 0%,#d7eaff99 38%,#a5c8e644 62%,transparent 76%)}@media(hover:hover) and (pointer:fine){#shirt-view:hover:before{opacity:1}#shirt-view:hover canvas{filter:drop-shadow(0 25px 16px #24446166)}}

@media(max-width:750px){
 #work .section-heading{margin-bottom:22px}#work .section-heading>p{margin-top:16px}
 #work .project{display:block;grid-template-columns:minmax(0,1fr);gap:0;margin-top:22px;margin-bottom:34px;min-width:0;width:100%}
 #work .project>*{min-width:0;max-width:100%;grid-column:auto!important;grid-row:auto!important}
 #work #shift>.project-text{margin:0 0 18px;padding:20px;rotate:0deg;transform:none}
 #work .shift-project .integrated-computer{display:block!important;width:100%;max-width:100%;min-width:0;margin:0!important;padding:0;height:auto!important;min-height:0;transform:none!important;translate:none!important;rotate:0deg;scale:1;overflow:visible}
 #work .integrated-computer #monitor-scene{display:block;position:relative!important;inset:auto!important;width:100%!important;max-width:100%;height:310px!important;min-height:0;flex:none;margin:0!important;transform:none!important;translate:none!important;rotate:0deg;scale:1}
 #work .integrated-computer .monitor-demo{position:relative;inset:auto;width:100%;max-width:100%;min-width:0;margin:4px 0 18px!important;padding:17px;rotate:0deg;transform:none!important;translate:none!important;scale:1}
 #work .monitor-demo .clock-preview-vision{display:none}#work .monitor-demo .eyebrow{font-size:8px}#work .monitor-demo>small{font-size:10px}#work .monitor-demo .clock-preview-actions button{min-height:44px}
 #work .project>.project-text{margin-top:18px}#work .energy-project .project-cover{margin:0 0 22px;max-width:100%}
}
/* Draw the i and its heart together; mobile font metrics cannot separate them. */
.heart-i{display:inline-block;position:relative;width:.2em;-webkit-text-fill-color:transparent;vertical-align:baseline}.heart-i sup{display:none}.heart-i:before{content:'';position:absolute;inset:0;top:.14em;bottom:-.04em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 90'%3E%3Cdefs%3E%3Cpattern id='y' width='5' height='5' patternUnits='userSpaceOnUse' patternTransform='rotate(20)'%3E%3Crect width='5' height='5' fill='%238bb6d9'/%3E%3Cpath d='M0 1h5M0 4h5' stroke='%23c3deee' stroke-width='1'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath d='M12 19C-7 7 5-1 12 6 19-1 31 7 12 19' fill='%23b05162'/%3E%3Crect x='6' y='27' width='13' height='61' rx='6' fill='url(%23y)'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat;pointer-events:none}
.drawn-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;overflow:visible}.drawn-icon.icon-eyes{width:1.5em}.startup-logo .drawn-icon{width:.6em;height:.6em}

.coffee-spill{border-color:#70421dbb;background:radial-gradient(ellipse,#6a3b1b88,#925b3480 55%,#70452366 70%,transparent 73%);animation:coffee-dry 20s linear forwards}@keyframes coffee-dry{0%,65%{opacity:.86}88%{opacity:.42}100%{opacity:0}}

@media(max-width:750px){
 #work .battery-reveal{min-height:0!important;height:auto!important;padding-bottom:12px}
 #work .battery-reveal .research-sheet{min-height:0;height:auto;padding:22px 20px}
 #work .battery-reveal #battery-scene{position:relative!important;inset:auto!important;width:100%!important;max-width:290px;height:200px!important;margin:4px auto 0;transform:none!important;translate:none!important}
 #work .battery-reveal .scroll-note{display:none}#work .battery-reveal>.battery-question{margin:8px auto 12px}
 #home .coffee-drag{touch-action:pan-y;transition:translate .25s ease}#home .coffee-drag:after{content:'tap for a sip';font-size:15px}
 .paper-pilot.is-flying,.paper-pilot.is-caught{animation:none!important;transform:none!important;left:auto!important;top:auto!important;right:12px;bottom:18px;max-width:150px}
 .paper-pilot .paper-pilot-surface{width:58px;height:54px;touch-action:pan-y}.paper-pilot .pilot-catch{font-size:14px;top:44px}.paper-pilot:not(.coffee-ready){opacity:.45;pointer-events:none}.paper-pilot.is-caught .paper-pilot-surface{width:100px;height:90px}.paper-pilot .pilot-tools{display:none!important}.paper-pilot .pilot-napkin i{font-size:16px}
 .coffee-plane-hint{font-size:17px;max-width:155px;bottom:25%;left:7%;padding:6px 9px}
}
@media(max-width:750px) and (prefers-reduced-motion:reduce){#home .coffee-drag{transition:none}}
@media(max-width:750px){.battery-reveal .battery-controls{display:none!important}.battery-reveal #battery-scene{touch-action:pan-y}.battery-reveal .battery-question{min-height:44px}}
