@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:DM Sans,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}::selection{color:#20251d;background:#c6de80}.skip{z-index:20;background:var(--paper);padding:12px;position:fixed;top:-100px}.skip:focus{top:10px}header{z-index:5;color:#fff;border-bottom:1px solid #ffffff35;justify-content:space-between;align-items:center;height:104px;padding:0 5%;display:flex;position:absolute;top:0;left:0;right:0}.brand{letter-spacing:-1.5px;font-family:Manrope,sans-serif;font-size:30px;font-weight:800}.brand span{vertical-align:top;letter-spacing:0;margin-left:4px;font-size:11px}nav{gap:38px;font-size:13px;display:flex}nav sup{opacity:.6;margin-left:3px;font-size:8px}.nav-contact{border:1px solid #ffffff70;border-radius:30px;padding:13px 20px;font-size:13px}.nav-contact span{margin-left:25px}.hero{color:#fff;background:#555f59;height:100svh;min-height:760px;position:relative;overflow:hidden}.hero-top{letter-spacing:1.4px;justify-content:space-between;font-size:10px;display:flex;position:absolute;top:138px;left:5%;right:5%}.status{background:#d8ef80;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block;box-shadow:0 0 9px #d8ef8030}.hero-copy{position:absolute;bottom:135px;left:9%;right:9%}.eyebrow{letter-spacing:1.6px;margin:0 0 26px;font-size:10px;font-weight:500}.hero h1{letter-spacing:-6px;margin:20px 0 35px;font-family:Manrope,sans-serif;font-size:clamp(64px,7.9vw,126px);font-weight:500;line-height:1.03}em{letter-spacing:-.035em;font-family:Georgia,serif;font-weight:400}.hero-bottom{justify-content:space-between;align-items:end;display:flex}.hero-bottom p{color:#ffffffc4;margin:0;font-size:14px;line-height:1.8}.pill{border-radius:40px;justify-content:space-between;align-items:center;gap:35px;padding:17px 23px;font-size:12px;transition:transform .25s,background .25s;display:inline-flex}.pill:hover{transform:translateY(-3px)}.light{background:var(--paper);color:var(--ink)}.dark{background:var(--ink);color:#fff}.hero-foot{letter-spacing:1.4px;border-top:1px solid #ffffff45;justify-content:space-between;padding-top:22px;font-size:9px;display:flex;position:absolute;bottom:30px;left:5%;right:5%}.section{padding:100px 7%}.section-label{letter-spacing:1.1px;flex-direction:column;gap:45px;font-size:9px;display:flex}.little-star{font-size:54px;line-height:1}.intro{border-bottom:1px solid var(--line);grid-template-columns:25% 75%;padding-top:105px;padding-bottom:105px;display:grid}h2{letter-spacing:-1.7px;margin:0;font-family:Manrope,sans-serif;font-size:clamp(30px,3vw,48px);font-weight:500;line-height:1.23}.intro h2 span{color:#85887a}.intro-bottom{align-items:end;gap:8%;margin-top:35px;display:flex}.intro-bottom p,.about-columns>p{color:#65695f;max-width:450px;margin:0;font-size:14px;line-height:1.9}.text-link{border-bottom:1px solid var(--ink);white-space:nowrap;padding-bottom:9px;font-size:12px}.text-link span{margin-left:30px}.section-heading{justify-content:space-between;align-items:end;gap:25px;margin-bottom:45px;display:flex}.section-heading .eyebrow{margin-bottom:20px}.subtle{color:var(--muted);max-width:190px;font-size:11px;line-height:1.7}.project{display:block}.project-art{height:310px;padding:25px;transition:filter .4s;position:relative;overflow:hidden}.project:hover .project-art{filter:brightness(1.06)}.featured .project-art{height:410px}.art-top,.art-bottom{letter-spacing:1.7px;z-index:2;justify-content:space-between;font-size:9px;display:flex;position:absolute;left:27px;right:27px}.art-top{top:26px}.art-top>span:last-child{font-size:22px}.art-bottom{bottom:26px}.orbit{border:1px solid #86977a80;border-radius:50%;width:460px;height:210px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-25deg)}.orbit-two{width:540px;height:210px;transform:translate(-50%,-50%)rotate(25deg)}.cloud-core{background:linear-gradient(140deg,#f4f7eb,#aabf99);border-radius:33px;flex-direction:column;justify-content:center;align-items:center;width:155px;height:155px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:12px 25px 40px #65745530,inset 1px 1px 2px #fff}.cloud-core>span{font-size:85px;font-weight:400;line-height:1}.cloud-core small{letter-spacing:1.4px;margin-top:13px;font-size:7px}.project-info{justify-content:space-between;gap:25px;padding:26px 0 36px;display:flex}.project-info .eyebrow{color:var(--muted);margin-bottom:10px;font-size:8px}h3{letter-spacing:-.7px;margin:0 0 12px;font-family:Manrope,sans-serif;font-size:25px;font-weight:500}.project-info p:not(.eyebrow){color:#73766c;max-width:670px;margin:0;font-size:12px;line-height:1.8}.round-arrow{border:1px solid #b9bcb0;border-radius:50%;flex-shrink:0;place-items:center;width:37px;height:37px;transition:background .2s;display:grid}.project:hover .round-arrow{background:var(--accent)}.tags{flex-wrap:wrap;gap:7px;margin-top:20px;display:flex}.tags span{border:1px solid var(--line);border-radius:20px;padding:6px 10px;font-size:9px}.project-grid{grid-template-columns:1fr 1fr;gap:30px;margin-top:17px;display:grid}.auth{color:#e6eadc;background:#282f2c}.auth-graphic{justify-content:center;align-items:center;gap:37px;height:100%;display:flex}.auth-bracket{color:#637666;font-family:monospace;font-size:125px;font-weight:100}.key-symbol{color:#d8ef80;flex-direction:column;align-items:center;font-size:110px;line-height:1;display:flex}.key-symbol small{letter-spacing:2px;margin-top:13px;font-size:7px}.redis-graphic{justify-content:center;align-items:center;gap:20px;display:flex;position:absolute;inset:55px 20px}.redis-graphic i{background:#c2bead;border:1px solid #8a8574;border-radius:50%;width:110px;height:74px;position:absolute;top:35%;left:17%;transform:rotate(-20deg);box-shadow:0 12px #aaa996}.redis-graphic i:nth-child(2){margin-top:-22px}.redis-graphic i:nth-child(3){background:#e5e5d4;margin-top:-44px}.redis-graphic>span{margin-left:140px;font-family:Georgia,serif;font-size:32px;font-style:italic;line-height:1.1}.github-link{margin:20px auto 0;display:table}.about{background:#e3e4da;grid-template-columns:25% 75%;display:grid}.about-columns{grid-template-columns:1.3fr 1fr;gap:65px;margin-top:36px;display:grid}.about-note{border-left:1px solid #c1c5b6;padding-left:28px}.about-note .little-star{font-size:35px}.about-note p{margin:15px 0 24px;font-size:15px;line-height:1.5}.about-note .pill{padding:14px 18px}.skills{border-top:1px solid #c1c5b6;grid-template-columns:1fr 1fr 1fr;gap:15px;margin-top:60px;padding-top:25px;display:grid}.skills>div>span{color:#858a78;font-size:9px}.skills h4{margin:14px 0;font-size:13px;font-weight:500}.skills p{color:#737a68;font-size:11px;line-height:1.9}.timeline article{border-top:1px solid var(--line);grid-template-columns:25% 65% 10%;padding:35px 0;display:grid}.timeline article:last-child{border-bottom:1px solid var(--line)}.date{letter-spacing:1px;padding-top:7px;font-size:9px}.timeline h3{font-size:22px}.timeline p{color:#73776c;max-width:560px;font-size:12px;line-height:1.9}.timeline .company{color:var(--ink);margin-bottom:16px;font-size:11px}.timeline-index{color:#a2a595;justify-self:end;font-family:Georgia,serif;font-size:20px}.education{grid-template-columns:25% 1fr 1fr;gap:0;margin-top:45px;display:grid}.education .eyebrow{font-size:8px}.education h4{margin:0 0 10px;font-size:12px;font-weight:500}.education p:not(.eyebrow){color:#777b6e;max-width:280px;font-size:10px;line-height:1.8}.contact{color:#eeece5;background:#272e26;padding-top:60px;padding-bottom:70px}.contact-top{justify-content:space-between;align-items:start;display:flex}.contact-top>span{letter-spacing:1px;font-size:9px}.contact-top .status{margin-left:10px}.contact h2{letter-spacing:-3.4px;margin:35px 0 45px;font-size:clamp(42px,6.5vw,92px);position:relative}.contact h2>a{color:var(--accent);font-family:Arial;font-size:90px;position:absolute;bottom:0;right:0}.contact-bottom{border-top:1px solid #5d6356;align-items:center;gap:25px;padding-top:30px;display:flex}.email{font-size:16px}.contact button{color:#e5e8db;cursor:pointer;background:0 0;border:1px solid #6a715e;border-radius:25px;padding:10px 17px;font-size:10px}.contact button span{margin-left:14px}#copy-status{color:var(--accent);font-size:11px}footer{justify-content:space-between;align-items:center;gap:20px;padding:32px 5%;display:flex}footer>.brand{font-size:24px}footer>span{letter-spacing:1px;color:#7a7c71;font-size:8px}footer div{gap:25px;display:flex}footer a:not(.brand){font-size:10px}a:focus-visible,button:focus-visible{outline-offset:6px;outline:2px solid #91a747}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(20px)}.reveal.visible{opacity:1;transform:none}@media (min-width:1600px){.section{padding-left:max(7%,50vw - 675px);padding-right:max(7%,50vw - 675px)}}@media (max-width:900px){.hero h1{letter-spacing:-3px}.section{padding:75px 6%}.intro,.about{grid-template-columns:1fr;gap:35px}.section-label{flex-direction:row;justify-content:space-between;align-items:center}.section-label .little-star{font-size:30px}.about-columns{gap:35px}.hero-copy{left:6%;right:6%}.hero-bottom p{font-size:12px}.education{grid-template-columns:1fr 1fr;gap:20px}.education>.eyebrow{grid-column:1/-1;margin-bottom:0}.timeline article{grid-template-columns:25% 70% 5%}footer{flex-wrap:wrap}}@media (max-width:600px){header{height:80px;padding:0 6%}.brand{font-size:26px}nav{gap:17px;font-size:10px}nav>a:nth-child(3){display:none}.nav-contact{padding:10px 12px;font-size:10px}.nav-contact span{margin-left:8px}.hero{min-height:720px;max-height:1000px}.hero-top{font-size:8px;top:104px;left:6%;right:6%}.hero-top p:last-child{display:none}.hero h1{letter-spacing:-3px;margin:22px 0 28px;font-size:clamp(51px,11.8vw,72px)}.hero-copy{bottom:135px}.hero-copy>.eyebrow{letter-spacing:1.5px;font-size:9px}.hero-bottom{display:block}.hero-bottom p{font-size:12px}.hero-bottom .pill{margin-top:25px;padding:14px 19px;font-size:11px}.hero-foot{gap:25px;font-size:7px;line-height:1.7;bottom:25px;left:6%;right:6%}.hero-foot a{white-space:nowrap}.intro-bottom{display:block}.intro-bottom .text-link{margin-top:25px;display:inline-block}.intro h2{font-size:29px}.section-heading{display:block}.section-heading h2{font-size:32px}.subtle{max-width:100%;margin-top:20px;display:block}.featured .project-art{height:310px}.orbit{width:290px;height:140px}.orbit-two{width:340px;height:160px}.cloud-core{width:125px;height:125px}.cloud-core>span{font-size:65px}.project-grid{grid-template-columns:1fr;gap:15px}.project-art{height:280px}.project-info h3{font-size:22px}.about-columns{grid-template-columns:1fr;gap:25px}.about h2{font-size:34px}.about-note{grid-template-columns:40px 1fr;align-items:center;gap:15px;display:grid}.about-note p{margin:0}.about-note .pill{grid-column:2;justify-self:start}.skills{grid-template-columns:1fr;gap:7px;margin-top:35px}.skills>div{grid-template-columns:30px 1fr 1.4fr;align-items:baseline;display:grid}.skills p{font-size:10px}.skills h4{font-size:12px}.timeline article{grid-template-columns:1fr 25px;gap:15px;padding:26px 0}.timeline .date{grid-column:1/-1}.timeline-index{grid-area:2/2}.timeline p{font-size:11px}.education{grid-template-columns:1fr}.contact h2{letter-spacing:-1.8px;margin-top:30px;font-size:42px}.contact h2>a{font-size:45px;bottom:-55px}.contact-bottom{flex-wrap:wrap;gap:16px;padding-right:32px}.email{font-size:12px}.contact-top>span{font-size:7px}.contact-top .eyebrow{font-size:9px}footer{gap:25px}footer>span{font-size:7px}footer div{gap:23px}footer>a:last-child{margin-left:auto}.section{padding-top:60px;padding-bottom:60px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}:root{--paper:#faf9f6;--ink:#252b28;--muted:#777d77;--line:#e0e2db;--accent:#d8e5ce}header{height:100px;color:var(--ink);border-bottom:1px solid var(--line);padding:0 7%;position:relative}.brand{font-size:27px}.brand span{color:#72846b;vertical-align:baseline;margin-left:1px;font-size:30px}nav{color:#60675f;gap:32px}nav a:hover,.hero-cv:hover{color:#647b56}.nav-contact{border-color:#cfd4c9}.hero{background:var(--paper);height:auto;min-height:min(790px,100svh - 100px);color:var(--ink);grid-template-columns:1.15fr 1fr;align-items:center;gap:7%;padding:55px 9% 95px;display:grid;overflow:visible}.hero-copy{position:static}.hero-copy>.eyebrow{color:#767d71;letter-spacing:1.6px;margin:0 0 36px;font-size:10px}.status{box-shadow:none;background:#718965;width:6px;height:6px}.hero-intro{color:#656e63;margin:0 0 16px;font-size:17px}.hero h1{letter-spacing:-3.8px;margin:0 0 26px;font-size:clamp(44px,5.2vw,80px);font-weight:500;line-height:1.13}.hero-title-line{font-family:inherit;font-style:normal;font-weight:inherit;letter-spacing:inherit;animation:.7s cubic-bezier(.2,.7,.2,1) both title-enter;display:block}.hero-title-accent{color:#78896b;animation-delay:.12s}@keyframes title-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hero-title-line{animation:none}}.hero-description{color:#72786f;margin:0;font-size:14px;line-height:1.95}.hero-actions{flex-wrap:wrap;align-items:center;gap:27px;margin-top:33px;display:flex}.pill{border-radius:5px}.hero-actions .pill{gap:27px;padding:16px 21px}.hero-cv{padding:12px 0;font-size:12px}.hero-cv span{margin-left:13px}.hero-specialties{letter-spacing:1.1px;color:#808779;margin:46px 0 0;font-size:8px}.hero-specialties span{color:#bbc1b4;margin:0 10px}.hero-portrait{justify-self:end;width:100%;min-width:0;max-width:450px;margin:0}.portrait-frame{aspect-ratio:4/5;background:#e1e8e7;border-radius:3px;width:100%;overflow:hidden}.portrait-frame img{object-fit:cover;object-position:50% 65%;width:100%;height:100%;display:block}.hero-portrait figcaption{letter-spacing:1.2px;color:#788073;justify-content:space-between;gap:12px;padding-top:15px;font-size:7px;display:flex}.hero-scroll{border-top:1px solid var(--line);letter-spacing:1.5px;color:#7a8274;justify-content:space-between;padding-top:17px;font-size:8px;display:flex;position:absolute;bottom:25px;left:9%;right:9%}.intro{border-top:1px solid var(--line)}.intro h2{font-size:clamp(29px,2.8vw,43px)}.little-star{color:#859078;font-size:34px}.about{background:#f0f1eb}.about h2{font-size:clamp(32px,3.2vw,48px)}.cloud-core{box-shadow:8px 15px 30px #65745518}.cloud{background:#e8ece3}.auth{background:#353c36}.redis{background:#e9e4da}.contact{background:#30382e}.contact h2{font-size:clamp(40px,5.5vw,78px)}.contact h2>a{color:#c9d6b9;font-size:65px}footer{padding-left:7%;padding-right:7%}@media (min-width:1600px){.hero{padding-left:max(9%,50vw - 650px);padding-right:max(9%,50vw - 650px)}.hero-portrait{max-width:480px}}@media (max-width:1000px){.hero{gap:5%;min-height:680px;padding-left:7%;padding-right:7%}.hero h1{letter-spacing:-2.7px;font-size:54px}.hero-description{font-size:13px}.desktop-break{display:none}.hero-actions{gap:18px}.hero-scroll{left:7%;right:7%}.hero-portrait figcaption{letter-spacing:.7px;font-size:6px}}@media (max-width:700px){header{height:80px;padding:0 6%}nav{gap:18px}.hero{grid-template-columns:1fr;gap:40px;min-height:0;max-height:none;padding:48px 6% 78px}.hero-copy>.eyebrow{margin-bottom:27px;font-size:8px}.hero-intro{font-size:15px}.hero h1{letter-spacing:-2.5px;margin:0 0 23px;font-size:clamp(44px,9vw,62px)}.hero-description{font-size:13px}.hero-actions{gap:25px;margin-top:25px}.hero-actions .pill{font-size:11px}.hero-specialties{margin-top:30px;font-size:7px}.hero-portrait{justify-self:stretch;max-width:none}.portrait-frame{aspect-ratio:4/4.6;max-height:510px}.portrait-frame img{object-position:50% 64%}.hero-portrait figcaption{letter-spacing:1px;font-size:7px}.hero-scroll{font-size:7px;bottom:24px;left:6%;right:6%}.contact h2>a{font-size:42px}}.work .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:0}.work .project-art{height:215px}.work .project-info{gap:12px;padding:21px 0 15px}.work .project-info h3{font-size:20px}.work .project-info p:not(.eyebrow){font-size:11px;line-height:1.75}.work .round-arrow{width:29px;height:29px;font-size:14px}.work .art-top,.work .art-bottom{letter-spacing:1px;font-size:7px;left:17px;right:17px}.work .art-top{top:18px}.work .art-bottom{bottom:18px}.work .orbit{width:225px;height:100px}.work .orbit-two{width:260px;height:115px}.work .cloud-core{border-radius:22px;width:95px;height:95px}.work .cloud-core>span{font-size:49px}.work .cloud-core small{letter-spacing:.8px;margin-top:9px;font-size:5px}.work .auth-graphic{gap:20px}.work .auth-bracket{font-size:90px}.work .key-symbol{font-size:76px}.work .key-symbol small{letter-spacing:1px;font-size:5px}.work .redis-graphic{inset:35px 10px}.work .redis-graphic i{width:72px;height:48px;top:45%;left:10%}.work .redis-graphic>span{margin-left:90px;font-size:24px}.work .tags{gap:5px;margin-top:14px}.work .tags span{padding:5px 8px;font-size:8px}.work .github-link{margin-top:30px}@media (min-width:701px) and (max-width:1000px){.work .project-grid{gap:16px}.work .project-art{height:185px}.work .project-info h3{font-size:17px}.work .round-arrow{display:none}.work .redis-graphic>span{margin-left:65px;font-size:19px}.work .redis-graphic i{width:55px;left:3%}}@media (max-width:700px){.work .project-grid{grid-template-columns:1fr;gap:25px}.work .project-art{height:200px}.work .project-info h3{font-size:22px}.work .project-info p:not(.eyebrow){font-size:12px}}.contact.section{padding-top:44px;padding-bottom:44px}.contact-top .eyebrow{margin-bottom:0;font-size:9px}.contact-top>span{font-size:8px}.contact h2{letter-spacing:-1.8px;margin:26px 0 18px;font-size:clamp(32px,4vw,56px);line-height:1.18}.contact h2>a{font-size:48px;bottom:0}.contact-direction{color:#c5cdbf;max-width:610px;margin:0 70px 26px 0;font-size:13px;line-height:1.8}.contact-bottom{gap:20px;padding-top:21px}.contact .email{font-size:13px}.contact button{padding:9px 14px}@media (max-width:600px){.contact.section{padding-top:35px;padding-bottom:35px}.contact h2{letter-spacing:-1.2px;padding-right:30px;font-size:32px}.contact h2>a{font-size:30px;bottom:0}.contact-direction{margin-bottom:22px;margin-right:0;font-size:12px;line-height:1.75}.contact-bottom{gap:14px;padding-right:0}.contact .email{overflow-wrap:anywhere;font-size:12px}}.contact{color:#283126;background:#e8ede3}.contact-direction{color:#56624f}.contact h2>a{color:#526847}.contact-top .status{background:#667f58}.contact-bottom{border-top-color:#c2ccba}.contact button{color:#34412e;border-color:#aebda4}.contact button:hover{background:#dce5d5}.contact #copy-status{color:#435c36}.opening-sweep{z-index:100;color:#34412e;background:#faf9f6;position:fixed;inset:0;overflow:hidden}.opening-sweep[hidden]{display:none}.blueprint-drawing{pointer-events:none;position:absolute;inset:0}.blueprint-grid{background-image:linear-gradient(#80966d0b 1px,#0000 1px),linear-gradient(90deg,#80966d0b 1px,#0000 1px);background-size:44px 44px;animation:.9s both blueprint-grid-in;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000,#0000 78%);mask-image:radial-gradient(#000,#0000 78%)}.blueprint-meta,.blueprint-edition{letter-spacing:1.5px;color:#7d8974;font-family:monospace;font-size:9px;animation:.5s .2s both blueprint-label-in;position:absolute;top:36px}.blueprint-meta{left:7%}.blueprint-edition{right:7%}.blueprint-name-frame,.blueprint-portrait{position:absolute}.blueprint-name-frame{place-items:center;display:grid}.blueprint-edge{background:#99ac88;position:absolute}.edge-top,.edge-bottom{transform-origin:0;height:1px;animation:.85s cubic-bezier(.4,0,.2,1) both blueprint-line-x;left:0;right:0}.edge-top{top:0}.edge-bottom{animation-delay:.22s;bottom:0}.edge-left,.edge-right{transform-origin:top;width:1px;animation:.65s .35s both blueprint-line-y;top:0;bottom:0}.edge-left{left:0}.edge-right{animation-delay:.5s;right:0}.blueprint-cross{color:#7d9270;font-family:monospace;font-size:18px;font-weight:300;line-height:1;animation:.4s .7s both blueprint-label-in;position:absolute}.cross-tl{top:-9px;left:-5px}.cross-tr{top:-9px;right:-5px}.cross-bl{bottom:-9px;left:-5px}.cross-br{bottom:-9px;right:-5px}.blueprint-measure{letter-spacing:1.3px;color:#89977e;font-family:monospace;font-size:8px;animation:.45s .65s both blueprint-label-in;position:absolute;top:-26px;left:0}.blueprint-annotation{letter-spacing:1px;color:#89977e;font-family:monospace;font-size:7px;animation:.45s 1.1s both blueprint-label-in;position:absolute;bottom:-26px;right:0}.blueprint-identity{flex-direction:column;align-items:center;gap:18px;animation:2.1s .65s both blueprint-name-in;display:flex}.blueprint-name{letter-spacing:-2px;font-family:Manrope,sans-serif;font-size:clamp(29px,4.4vw,56px);font-weight:500}.blueprint-name>span{color:#849775}.blueprint-role{letter-spacing:2.5px;color:#7d8974;font-size:8px}.blueprint-copy-lines{opacity:0;flex-direction:column;gap:20px;animation:.5s 2.85s both blueprint-label-in;display:flex;position:absolute;inset:35px 25px}.blueprint-copy-lines i{background:#aab99b;width:85%;height:1px;display:block}.blueprint-copy-lines i:nth-child(2){width:65%}.blueprint-copy-lines i:nth-child(3){width:72%;margin-top:24px}.blueprint-copy-lines>span{border:1px solid #aab99b;border-radius:3px;width:100px;height:30px;margin-top:10px;display:block}.blueprint-portrait{background:#e8ede332;border:1px solid #99ac88}.blueprint-portrait>span{letter-spacing:1px;color:#89977e;white-space:nowrap;font:8px monospace;position:absolute;top:-26px}.blueprint-portrait svg{stroke:#99ac8840;stroke-width:.3px;width:100%;height:100%}.blueprint-baseline{transform-origin:0;background:#aab99b70;height:1px;animation:.9s 2.45s both blueprint-line-x;position:absolute;top:100px;left:7%;right:7%}.blueprint-caption{text-align:center;position:absolute;bottom:80px;left:0;right:0}.blueprint-phase{letter-spacing:1.8px;color:#7d8974;opacity:0;font:8px monospace;position:absolute;left:0;right:0}.phase-one{animation:1.5s both blueprint-phase}.phase-two{animation:1.5s 1.45s both blueprint-phase}.phase-three{animation:.5s 3.1s both blueprint-label-in}.intro-skip{color:#58694e;cursor:pointer;background:#faf9f6;border:1px solid #cbd3c3;border-radius:5px;padding:12px 17px;font-size:11px;position:absolute;bottom:28px;right:7%}.intro-skip span{margin-left:20px}.intro-skip:hover{background:#e8ede3}.intro-pending .site-content{visibility:hidden}.intro-running .site-content{visibility:visible;pointer-events:none}html.intro-pending,html.intro-running{overflow:hidden}.intro-pending .hero-title-line,.intro-running .hero-title-line{opacity:0;animation:none}@keyframes blueprint-line-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes blueprint-line-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes blueprint-label-in{0%{opacity:0}to{opacity:1}}@keyframes blueprint-grid-in{0%{opacity:0;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@keyframes blueprint-name-in{0%{opacity:0;filter:blur(3px);transform:translateY(5px)}30%,75%{opacity:1;filter:blur();transform:translateY(0)}to{opacity:0;filter:blur()}}@keyframes blueprint-phase{0%,to{opacity:0}20%,75%{opacity:1}}@media (max-width:600px){.blueprint-meta,.blueprint-edition{letter-spacing:.5px;font-size:6px;top:28px}.blueprint-baseline{top:80px}.blueprint-annotation{font-size:6px}.blueprint-caption{bottom:100px}.intro-skip{bottom:22px;right:6%}}@media (prefers-reduced-motion:reduce){.opening-sweep{display:none}.intro-pending .site-content,.intro-running .site-content{visibility:visible;pointer-events:auto}html.intro-pending,html.intro-running{overflow:auto}.intro-pending .hero-title-line,.intro-running .hero-title-line{opacity:1}}.blueprint-closing-curtain{z-index:2;background:repeating-linear-gradient(90deg,#e2e9da 0,#e8ede3 65px,#dce5d3 130px);place-items:center;animation:2s cubic-bezier(.4,0,.3,1) 4s both blueprint-curtain-close;display:grid;position:absolute;inset:0;transform:translate(-100%);box-shadow:12px 0 35px #3b51321a}.blueprint-rabbit{z-index:3;width:150px;height:110px;animation:2s cubic-bezier(.4,0,.3,1) 4s both blueprint-rabbit-cross;position:absolute;top:calc(50% - 135px);left:-140px}.blueprint-rabbit svg{width:150px;height:110px;overflow:visible}.blueprint-rabbit-rope{border-top:2px solid #98a98b;border-radius:50%;width:55px;height:16px;position:absolute;top:59px;left:-20px}.blueprint-rabbit-hop{transform-origin:90px 90px;animation:.4s ease-in-out 4s 5 blueprint-rabbit-bound}.blueprint-rabbit-backleg,.blueprint-rabbit-frontleg{transform-box:fill-box;transform-origin:top;animation:.4s ease-in-out 4s 5 blueprint-rabbit-stride}.blueprint-rabbit-ears{transform-origin:125px 45px;animation:.4s ease-in-out 4s 5 blueprint-rabbit-stride}@keyframes blueprint-curtain-close{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes blueprint-rabbit-cross{0%{transform:translate(0)}to{transform:translate(calc(100vw + 150px))}}@keyframes blueprint-rabbit-bound{0%,to{transform:translateY(0)rotate(1deg)}50%{transform:translateY(-12px)rotate(-3deg)}}@keyframes blueprint-rabbit-stride{0%,to{transform:rotate(-12deg)}50%{transform:rotate(16deg)}}@media (prefers-reduced-motion:reduce){.blueprint-closing-curtain,.blueprint-rabbit,.blueprint-rabbit-hop,.blueprint-rabbit-backleg,.blueprint-rabbit-frontleg,.blueprint-rabbit-ears{animation:none}}.opening-name-only{place-items:center;animation:.7s both blueprint-label-in;display:grid;position:absolute;inset:0}.opening-name-rectangle{place-items:center;width:min(620px,84vw);height:220px;display:grid;position:relative}.opening-name-rectangle>.blueprint-name{animation:.7s .65s both blueprint-label-in}@media (max-width:600px){.opening-name-rectangle{height:175px}}.opening-name-details{flex-direction:column;align-items:center;gap:22px;padding:20px;display:flex}.opening-name-details>.blueprint-name{animation:.75s cubic-bezier(.2,.7,.2,1) .65s both opening-name-settle}.opening-role-line{letter-spacing:1.5px;color:#74836a;align-items:center;gap:14px;font-size:10px;font-weight:500;animation:.6s 1.25s both opening-name-settle;display:flex}.opening-role-line i{background:#9aaa8c;border-radius:50%;width:3px;height:3px}.opening-name-rectangle .blueprint-cross{animation:.7s cubic-bezier(.2,.7,.2,1) .4s both opening-corner-settle}.opening-name-rectangle .cross-tl{--corner-x:-14px;--corner-y:-14px}.opening-name-rectangle .cross-tr{--corner-x:14px;--corner-y:-14px;animation-delay:.5s}.opening-name-rectangle .cross-bl{--corner-x:-14px;--corner-y:14px;animation-delay:.6s}.opening-name-rectangle .cross-br{--corner-x:14px;--corner-y:14px;animation-delay:.7s}@keyframes opening-name-settle{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes opening-corner-settle{0%{opacity:0;transform:translate(var(--corner-x), var(--corner-y))}to{opacity:1;transform:translate(0)}}@media (max-width:600px){.opening-name-details{gap:18px}.opening-role-line{letter-spacing:1px;gap:10px;font-size:8px}}@media (prefers-reduced-motion:reduce){.opening-name-details>.blueprint-name,.opening-role-line,.opening-name-rectangle .blueprint-cross{animation:none}}.intro-dog{z-index:1;width:150px;height:117px;animation:.75s ease-out 3s both intro-dog-arrive,1ms step-end 5.3s forwards intro-scene-away;position:absolute;top:calc(50% + 5px);left:12%}.intro-dog svg{width:100%;height:100%;overflow:visible}.intro-dog-body{transform-origin:90px 120px;animation:.65s 3.65s both intro-dog-throw}.intro-dog-paw{transform-box:fill-box;transform-origin:0;animation:.65s 3.65s both intro-paw-throw}.intro-spider{z-index:2;width:42px;height:36px;animation:1.7s linear 3s both intro-spider-flight,1ms step-end 4.7s forwards intro-scene-away;position:absolute;top:calc(50% + 45px);left:calc(12% + 106px)}.intro-spider svg{width:100%;height:100%}.intro-impact{z-index:2;border:2px solid #819a6a;border-radius:50%;width:20px;height:20px;animation:.5s ease-out 4.7s both intro-hit;position:absolute;top:50%;left:50%}.blueprint-closing-curtain{z-index:3;background:repeating-linear-gradient(90deg,#cee0bc 0,#dce9ce 65px,#c7dcb3 130px);animation:.6s ease-out 4.7s both intro-green-spread,2s cubic-bezier(.4,0,.3,1) 5.7s forwards intro-curtain-open;transform:none}.blueprint-rabbit{z-index:4;animation:2s cubic-bezier(.4,0,.3,1) 5.7s both intro-rabbit-open}.blueprint-rabbit-hop,.blueprint-rabbit-backleg,.blueprint-rabbit-ears{animation-delay:5.7s}.intro-skip{z-index:5}.intro-running .hero-title-line{opacity:1}@keyframes intro-dog-arrive{0%{opacity:0;transform:translate(-160px)}to{opacity:1;transform:translate(0)}}@keyframes intro-dog-throw{0%,to{transform:rotate(0)}40%{transform:rotate(-9deg)}70%{transform:rotate(6deg)}}@keyframes intro-paw-throw{0%{transform:rotate(0)}40%{transform:rotate(-45deg)}70%,to{transform:rotate(-90deg)}}@keyframes intro-spider-flight{0%{opacity:0;transform:translate(0)rotate(0)}43%,57%{opacity:1;transform:translate(0)rotate(-15deg)}76%{opacity:1;transform:translate(calc(19vw - 53px),-150px)rotate(170deg)}to{opacity:1;transform:translate(calc(38vw - 127px),-63px)rotate(360deg)}}@keyframes intro-green-spread{0%{clip-path:circle(0)}to{clip-path:circle(150vmax)}}@keyframes intro-curtain-open{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes intro-rabbit-open{0%{opacity:1;transform:translate(0)}to{opacity:1;transform:translate(calc(100vw + 150px))}}@keyframes intro-scene-away{to{visibility:hidden}}@keyframes intro-clear-background{to{background:0 0}}@keyframes intro-hit{0%{opacity:.8;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(10)}}@media (max-width:600px){.intro-dog{width:120px;left:3%}.intro-spider{left:calc(3% + 85px)}@keyframes intro-spider-flight{0%{opacity:0;transform:translate(0)}43%,57%{opacity:1;transform:translate(0)}76%{opacity:1;transform:translate(calc(23.5vw - 53px),-120px)rotate(170deg)}to{opacity:1;transform:translate(calc(47vw - 106px),-63px)rotate(360deg)}}}@media (prefers-reduced-motion:reduce){.opening-sweep,.opening-name-only,.intro-dog,.intro-dog-body,.intro-dog-paw,.intro-spider,.intro-impact,.blueprint-closing-curtain,.blueprint-rabbit{animation:none}}.blueprint-closing-curtain{background:radial-gradient(#e0eccf,#c4d8ae);animation:.85s ease-out 4.7s both intro-green-spread,2s cubic-bezier(.4,0,.3,1) 6s forwards intro-curtain-open}.spiderweb-curtain{stroke:#627f4e;stroke-width:.35px;width:100%;height:100%;position:absolute;inset:0}.web-spokes{stroke-dasharray:170;stroke-dashoffset:170px;animation:.8s ease-out 4.7s forwards web-cast}.web-rings path{opacity:0;animation:web-ring-appear .3s ease-out var(--web-delay) forwards}.intro-impact{border-color:#8aa674}.blueprint-rabbit,.blueprint-rabbit-hop,.blueprint-rabbit-backleg,.blueprint-rabbit-ears{animation-delay:6s}.blueprint-rabbit-rope{border-top-color:#627f4e}@keyframes web-cast{to{stroke-dashoffset:0}}@keyframes web-ring-appear{0%{opacity:0}to{opacity:.7}}@media (prefers-reduced-motion:reduce){.web-spokes,.web-rings path{animation:none}}.written-name{white-space:nowrap;display:inline-flex}.opening-name-details>.written-name{animation:none}.written-name>span{color:inherit;opacity:0;animation:story-letter .13s ease var(--letter-delay) forwards;display:inline-block}.written-name>.name-dot{color:#849775}.opening-role-line{animation-delay:2.2s}.writing-person-track{z-index:1;width:min(620px,84vw);position:absolute;top:calc(50% - 228px);left:50%;transform:translate(-50%)}.writing-person{width:75px;height:113px;animation:2.1s linear .3s both person-write,.4s 2.6s forwards story-person-away}.writing-person svg{width:100%;height:100%;overflow:visible}.writing-arm{transform-origin:62px 70px;animation:.23s ease-in-out .3s 9 writing-stroke}.opening-name-only{animation:.5s both blueprint-label-in,1ms step-end 6.1s forwards intro-scene-away}.opening-sweep{animation:1ms step-end 6.1s forwards intro-clear-background}.intro-dog{animation:.65s ease-out 3.4s both intro-dog-arrive,1ms step-end 6.1s forwards intro-scene-away}.intro-dog-body,.intro-dog-paw{animation-delay:4.2s}.intro-spider{animation:.9s ease-out 2.6s both spider-approach,.4s 5.2s forwards spider-startled,1ms step-end 6.1s forwards intro-scene-away;top:calc(50% + 32px);left:calc(50% - 21px)}.intro-pebble{z-index:2;width:15px;height:13px;animation:1s linear 4.2s both pebble-toss,1ms step-end 6.1s forwards intro-scene-away;position:absolute;top:calc(50% + 45px);left:calc(12% + 106px)}.intro-pebble svg{width:100%;height:100%}.intro-impact{animation-delay:5.2s;top:calc(50% + 42px)}.blueprint-closing-curtain{animation:.8s ease-out 5.3s both intro-green-spread,2s cubic-bezier(.4,0,.3,1) 6.3s forwards intro-curtain-open}.web-spokes{animation-delay:5.3s}.blueprint-rabbit,.blueprint-rabbit-hop,.blueprint-rabbit-backleg,.blueprint-rabbit-ears{animation-delay:6.3s}.blueprint-rabbit-frontleg{animation-delay:6.5s}@keyframes story-letter{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes person-write{0%{opacity:0;transform:translate(-30px)}8%{opacity:1}to{opacity:1;transform:translate(calc(min(620px,84vw) - 75px))}}@keyframes writing-stroke{0%,to{transform:rotate(-6deg)}50%{transform:rotate(8deg)}}@keyframes story-person-away{to{opacity:0}}@keyframes spider-approach{0%{opacity:0;transform:translate(45vw)}10%{opacity:1}to{opacity:1;transform:translate(0)}}@keyframes spider-startled{0%,to{margin-top:0}40%{margin-top:-22px}}@keyframes pebble-toss{0%{opacity:0;transform:translate(0)}40%{opacity:1;transform:translate(0)}70%{opacity:1;transform:translate(calc(19vw - 38px),-95px)rotate(180deg)}to{opacity:1;transform:translate(calc(38vw - 76px),12px)rotate(360deg)}}@media (max-width:600px){.writing-person-track{top:calc(50% - 193px)}.writing-person{width:65px;height:98px}.intro-spider{left:calc(50% - 21px)}.intro-pebble{left:calc(3% + 85px)}@keyframes pebble-toss{0%{opacity:0;transform:translate(0)}40%{opacity:1;transform:translate(0)}70%{opacity:1;transform:translate(calc(23.5vw - 27px),-85px)rotate(180deg)}to{opacity:1;transform:translate(calc(47vw - 55px),12px)rotate(360deg)}}}@media (prefers-reduced-motion:reduce){.written-name>span,.writing-person,.writing-arm,.intro-pebble,.intro-spider{animation:none}}
