:root{--paper:#efe6d6;--ink:#1a1612;--mute:#5d554c;--rule:#d2c4ae;--copper:#b34a2a;--card:#f6efe3;--display:"Fraunces", "Iowan Old Style", Georgia, serif;--sans:"Figtree", "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--pad:clamp(1.1rem, 3vw, 2.4rem)}:root[data-theme=dark]{--paper:#14110e;--ink:#f0e6d6;--mute:#b7aa96;--rule:#3a3228;--copper:#e08a6a;--card:#1d1915}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}html[data-view=folio]{scroll-snap-type:y mandatory}html,body{background:var(--paper);min-height:100%;color:var(--ink);font-family:var(--sans);margin:0;font-size:17px;line-height:1.45}#root{min-height:100%}a{color:inherit}img,svg{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}h1,h2,h3,p,ul,ol{margin:0}.skip{z-index:40;background:var(--ink);color:var(--paper);padding:.5rem .8rem;position:absolute;top:-4rem;left:.8rem}.skip:focus{top:.8rem}.grain{pointer-events:none;z-index:30;opacity:.09;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.55'/></svg>");position:fixed;inset:0}:root[data-theme=dark] .grain{mix-blend-mode:overlay;opacity:.16}.chrome{z-index:20;padding:.7rem var(--pad);background:color-mix(in srgb, var(--paper) 88%, transparent);border-bottom:1px solid var(--rule);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;display:grid;position:sticky;top:0}.chrome__name{font-family:var(--display);letter-spacing:-.02em;white-space:nowrap;font-size:1.05rem;font-weight:600}.chrome__nav{letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:.55rem .9rem;font-size:.78rem;display:flex}.chrome__nav a{color:var(--mute);text-decoration:none}.chrome__nav a:hover,.chrome__nav a:focus-visible{color:var(--copper)}.chrome__tools{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.seg-wrap{justify-items:end;gap:.18rem;display:grid}.seg-wrap__note{max-width:16rem;color:var(--mute);letter-spacing:.02em;text-align:right;font-size:.62rem;line-height:1.25}.toggle{--toggle-pad:.16rem;min-width:4.6rem;height:1.72rem;padding:var(--toggle-pad);cursor:pointer;background:#d6d7dc;border:0;border-radius:999px;grid-template-columns:1fr 1fr;align-items:center;transition:background .35s;display:grid;position:relative;box-shadow:inset 0 1px 2px #0000001f,0 1px 2px #ffffff59}.toggle--theme{min-width:6.5rem}.toggle.is-on{background:#2f62e8}.toggle__knob{top:var(--toggle-pad);bottom:var(--toggle-pad);left:var(--toggle-pad);width:calc(50% - var(--toggle-pad));background:#fff;border-radius:999px;transition:transform .38s cubic-bezier(.22,1,.36,1);position:absolute;box-shadow:0 1px 3px #14100c38}.toggle.is-on .toggle__knob{transform:translate(100%)}.toggle__opt{z-index:1;letter-spacing:.06em;text-transform:uppercase;color:#6a6a72;place-items:center;font-size:.68rem;transition:color .3s;display:grid;position:relative}.toggle:not(.is-on) .toggle__opt:first-of-type,.toggle.is-on .toggle__opt:last-of-type{color:#1c1c22}.toggle.is-on .toggle__opt:first-of-type{color:#ffffffe0}.plate{min-height:100svh;padding:2.2rem var(--pad) 4rem;border-bottom:1px solid var(--rule);scroll-margin-top:3.4rem}html[data-view=folio] .plate{scroll-snap-align:start;align-items:center;display:flex}.plate__frame{width:min(1100px,100%);margin-inline:auto}html[data-view=folio] .plate--hero,html[data-view=folio] .plate--contact{display:block}.plate--hero,.plate--contact{padding:0;overflow:hidden}.plate--contact{background:#0a0a0f;border-bottom:0;height:100svh;min-height:100svh}.plate--contact .plate__frame{width:100%;max-width:none;height:100svh;position:relative}.plate--hero .plate__frame{width:100%;max-width:none;height:100svh;min-height:36rem;position:relative}.intro{max-width:38rem}.intro--hero{pointer-events:none;left:var(--pad);z-index:4;max-width:min(28rem,72vw);position:absolute;bottom:1.8rem}.intro__name{max-width:14ch;font-family:var(--display);letter-spacing:-.04em;margin:0 0 .55rem;font-size:clamp(2.4rem,6vw,4.4rem);font-weight:560;line-height:.95}.intro__role{margin:0;font-size:1.15rem}.intro__school{color:var(--mute);margin:.2rem 0 0}.unveil{touch-action:none;perspective:1100px;perspective-origin:50% 40%;cursor:grab;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.unveil.is-drag{cursor:grabbing}.unveil__space,.unveil__world{transform-style:preserve-3d;position:absolute;inset:0}.unveil__card{width:min(15rem,28vmin);transform-style:preserve-3d;backface-visibility:hidden;cursor:zoom-in;will-change:transform, opacity;filter:none;background:0 0;border:0;margin:0;padding:0;display:block;position:absolute;top:48%;left:50%;overflow:visible}.unveil__face{z-index:1;background:var(--card);border-radius:.2rem;display:block;position:relative;overflow:hidden;box-shadow:0 .9rem 2.2rem #14100c33,0 0 0 1px #14100c0f}.unveil__face img{aspect-ratio:1;object-fit:cover;filter:none;place-items:center;width:100%;display:grid}.unveil__face:not(:has(img)){aspect-ratio:1;object-fit:cover;filter:none;place-items:center;width:100%;display:grid}.unveil__face:not(:has(img)){border:1px dashed var(--rule);color:var(--mute);font-family:var(--mono);font-size:.72rem}.unveil__mirror{pointer-events:none;filter:blur(18px);opacity:.9;width:116%;height:52%;position:absolute;left:-8%}.unveil__mirror--down{top:92%;-webkit-mask-image:linear-gradient(#000 0%,#0000 85%);mask-image:linear-gradient(#000 0%,#0000 85%)}.unveil__mirror--up{bottom:92%;-webkit-mask-image:linear-gradient(#0000 15%,#000 100%);mask-image:linear-gradient(#0000 15%,#000 100%)}.unveil__vignette{display:none}.unveil__full{z-index:80;cursor:zoom-out;background:#0a080800;position:fixed;inset:0}.unveil__full.is-in{background:#0a0808eb;transition:background .55s}.unveil__full img{left:var(--x);top:var(--y);width:var(--w);height:var(--h);object-fit:cover;position:fixed}.unveil__full.is-in img{width:100%;height:100%;transition:left .7s cubic-bezier(.22,1,.36,1),top .7s cubic-bezier(.22,1,.36,1),width .7s cubic-bezier(.22,1,.36,1),height .7s cubic-bezier(.22,1,.36,1);top:0;left:0}.eyebrow{max-width:36rem;color:var(--mute);letter-spacing:.04em;text-transform:uppercase;font-size:.95rem}.display{max-width:16ch;font-family:var(--display);font-optical-sizing:auto;letter-spacing:-.04em;margin:.8rem 0 1.1rem;font-size:clamp(2.6rem,8vw,5.4rem);font-weight:560;line-height:.95}.display span{animation:.9s both rise;display:inline-block}.title{max-width:18ch;font-family:var(--display);letter-spacing:-.03em;margin-bottom:.7rem;font-size:clamp(2rem,5vw,3.4rem);font-weight:560;line-height:1.05}.lede,.hint,.credit{max-width:38rem;color:var(--mute)}.hint{margin-bottom:1.4rem;font-size:.95rem}.plate--timeline{background:#f8f4ec}:root[data-theme=dark] .plate--timeline{background:#181512}.timeline-stage{margin:1.5rem 0 0;position:relative}.timeline{gap:.85rem;margin:0;padding:.2rem 0;list-style:none;display:grid}.timeline__rail{pointer-events:none;z-index:2;width:3rem;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline__line,.timeline__fill{border-radius:999px;width:3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.timeline__line{background:#c9bba6;bottom:0}:root[data-theme=dark] .timeline__line{background:#3a3228}.timeline__fill{background:linear-gradient(#ffe14a,#ff8c00 55%,#ff4500);height:0;transition:height .55s cubic-bezier(.22,1,.36,1);box-shadow:0 0 10px #ff8c00,0 0 22px #ff45008c}.timeline__needle{z-index:3;width:2.15rem;height:2.45rem;margin-top:-1.2rem;transition:transform .55s cubic-bezier(.22,1,.36,1);position:absolute;top:0;left:50%;transform:translate(-50%)}.timeline__needle svg{filter:drop-shadow(0 0 4px #fff6b0)drop-shadow(0 0 10px #ffe14a)drop-shadow(0 0 18px #ff8c00)drop-shadow(0 0 32px #ff4500e6);width:100%;height:100%;animation:1.5s ease-in-out infinite needle-glow;display:block}@keyframes needle-glow{0%,to{filter:drop-shadow(0 0 4px #fff6b0)drop-shadow(0 0 10px #ffe14a)drop-shadow(0 0 18px #ff8c00)drop-shadow(0 0 28px #ff4500bf)}50%{filter:drop-shadow(0 0 8px #fff)drop-shadow(0 0 16px #ffe14a)drop-shadow(0 0 28px #ff8c00)drop-shadow(0 0 42px #ff4500)}}.timeline-stage:not(.is-static) .timeline>li{opacity:0}.timeline>li{grid-template-columns:minmax(0,1fr) 3rem minmax(0,1fr);align-items:start;display:grid;position:relative}.time-block{text-align:right;grid-column:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);justify-self:end;align-items:stretch;gap:.8rem;width:min(100%,38rem);display:grid}.timeline>li.is-flip .time-block{text-align:left;grid-column:3;justify-self:start}.timeline>li.is-flip .time-photo{order:2}.timeline>li.is-flip .time-copy{order:1}.time-photo{background:var(--card);border:1px solid var(--rule);width:100%;height:100%;margin:0;padding:.28rem;display:flex;position:relative}.time-photo__still{object-fit:cover;width:100%;height:100%;min-height:9.5rem;display:block}.time-photo__empty{border:1px dashed var(--rule);width:100%;height:100%;min-height:9.5rem;color:var(--mute);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;place-items:center;font-size:.72rem;display:grid}.time-copy__when{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--copper);margin-bottom:.25rem;font-size:.75rem}.time-copy{min-width:0}.time-copy h3{font-family:var(--display);font-size:1.18rem;font-weight:560;line-height:1.2}.time-copy h3 a{color:inherit;text-decoration:none}.time-copy h3 a:hover,.time-copy h3 a:focus-visible{color:var(--copper)}.time-copy__role{color:var(--mute);margin:.12rem 0 .28rem;font-size:.88rem}.time-copy p:last-child{color:var(--mute)}.time-tags{text-align:left;flex-wrap:wrap;gap:.28rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.timeline>li:not(.is-flip) .time-tags{justify-content:flex-end}.timeline>li.is-flip .time-tags{justify-content:flex-start}.time-tag{letter-spacing:.01em;white-space:nowrap;border:0;border-radius:999px;align-items:center;width:max-content;max-width:100%;padding:.28rem .7rem;font-size:.75rem;font-weight:550;display:inline-flex}.time-tag--gray{color:#f3f3f6;background:#5c5c66}.time-tag--teal{color:#e4faf8;background:#0f6e6a}.time-tag--blue{color:#eef5ff;background:#2b6cb8}.time-tag--green{color:#e8f8ee;background:#1f7a4d}.time-tag--red{color:#fff1f1;background:#c43c3c}.time-tag--orange{color:#fff4ec;background:#c45a2d}.time-tag--magenta{color:#fceef8;background:#a33d8f}.time-tag--slate{color:#eef1f5;background:#4a5568}.time-tag--gold{color:#fff8e6;background:#9a7420}:root[data-theme=dark] .time-tag--gray{color:#3f3f48;background:#ececee}:root[data-theme=dark] .time-tag--teal{color:#0c5855;background:#d8f3f2}:root[data-theme=dark] .time-tag--blue{color:#1e528c;background:#dceafc}:root[data-theme=dark] .time-tag--green{color:#17633e;background:#d8f3e2}:root[data-theme=dark] .time-tag--red{color:#9a2c2c;background:#f8dfe0}:root[data-theme=dark] .time-tag--orange{color:#9a431c;background:#f8e3d8}:root[data-theme=dark] .time-tag--magenta{color:#7e2d6e;background:#f3dff0}:root[data-theme=dark] .time-tag--slate{color:#343c4c;background:#e6e8ee}:root[data-theme=dark] .time-tag--gold{color:#735616;background:#f4ecd0}html[data-view=folio] .plate--yolo{height:100svh;max-height:100svh;padding:4.6rem var(--pad) 1.15rem;display:flex;overflow:hidden}.plate--yolo{background:radial-gradient(70% 50% at 80% 20%,#82cbb22e,#0000 58%),linear-gradient(#e8f3ee 0%,#f4faf7 48%,#e4f0ea 100%);border-bottom-color:#c5ddd2}.plate--yolo .plate__frame{width:min(1180px,100%);height:100%}.plate--yolo .title{font-size:clamp(1.7rem,3.4vw,2.7rem)}:root[data-theme=dark] .plate--yolo{background:radial-gradient(70% 50% at 80% 20%,#2d5a4373,#0000 58%),linear-gradient(#101814 0%,#141c18 55%,#101612 100%);border-bottom-color:#2a3d34}.plate--yolo .title,.plate--yolo .yolo-beats strong{color:#1a3a32}.plate--yolo .lede,.plate--yolo .hint,.plate--yolo .yolo-beats em{color:#4a635a}.plate--yolo .yolo-beats li{border-bottom-color:#c9ddd4}.plate--yolo .yolo-beats span{color:#2d5a43}.plate--yolo .btn{color:#f4fff9;background:#1a3a32;border-radius:999px}.plate--yolo .btn--ghost{color:#1a3a32;background:#ffffff8c;border:1px solid #1a3a32}:root[data-theme=dark] .plate--yolo .title,:root[data-theme=dark] .plate--yolo .yolo-beats strong{color:#d5efe4}:root[data-theme=dark] .plate--yolo .lede,:root[data-theme=dark] .plate--yolo .hint,:root[data-theme=dark] .plate--yolo .yolo-beats em{color:#9bb5aa}:root[data-theme=dark] .plate--yolo .yolo-beats li{border-bottom-color:#2d4238}:root[data-theme=dark] .plate--yolo .yolo-beats span{color:#82cbb2}:root[data-theme=dark] .plate--yolo .btn{color:#f4fff9;background:#2d5a43}:root[data-theme=dark] .plate--yolo .btn--ghost{color:#d5efe4;background:0 0;border-color:#82cbb2}.yolo{grid-template-columns:minmax(0,1.15fr) minmax(0,auto);align-items:center;gap:clamp(1rem,3vw,2.2rem);height:100%;min-height:0;display:grid;position:relative}.yolo__copy,.phone{z-index:1;position:relative}.yolo__pills{pointer-events:none;z-index:0;position:absolute;inset:-8% -6%;overflow:hidden}.yolo-cap{opacity:.78;filter:blur(.45px);border-radius:999px;width:6.2rem;height:2.45rem;animation:22s ease-in-out infinite yolo-cap-flow;position:absolute;overflow:hidden;box-shadow:inset 0 1px #ffffffb3,0 .55rem 1.3rem #1a3a3224}.yolo-cap:before,.yolo-cap:after{content:"";width:50%;position:absolute;top:0;bottom:0}.yolo-cap:before{background:var(--cap-a);left:0}.yolo-cap:after{background:linear-gradient(#ffffffeb,#ecf4f0b3);right:0}.yolo-cap--mint{--cap-a:linear-gradient(180deg, #9ee0c8, #6fbea4)}.yolo-cap--pink{--cap-a:linear-gradient(180deg, #f3c4cc, #e8a0ae)}.yolo-cap--blue{--cap-a:linear-gradient(180deg, #b7ddf5, #7eb6de)}.yolo-cap--gold{--cap-a:linear-gradient(180deg, #f3e2a4, #e2c56a)}.yolo__pills .yolo-cap:first-child{top:10%;left:2%;transform:rotate(-30deg)}.yolo__pills .yolo-cap:nth-child(2){opacity:.7;width:5rem;height:2rem;animation-duration:26s;animation-delay:-6s;top:6%;right:18%;transform:rotate(20deg)}.yolo__pills .yolo-cap:nth-child(3){width:7rem;height:2.7rem;animation-duration:20s;animation-delay:-11s;bottom:14%;left:24%;transform:rotate(26deg)}.yolo__pills .yolo-cap:nth-child(4){width:4.4rem;height:1.75rem;animation-duration:24s;animation-delay:-4s;bottom:12%;right:4%;transform:rotate(-16deg)}.yolo__pills .yolo-cap:nth-child(5){opacity:.64;width:3.8rem;height:1.5rem;animation-duration:18s;animation-delay:-9s;top:36%;left:48%;transform:rotate(-42deg)}.yolo__pills .yolo-cap:nth-child(6){width:5.6rem;height:2.2rem;animation-duration:28s;animation-delay:-15s;top:48%;left:8%;transform:rotate(14deg)}.yolo__pills .yolo-cap:nth-child(7){animation-duration:21s;animation-delay:-8s;bottom:34%;right:26%;transform:rotate(-22deg)}.yolo__pills .yolo-cap:nth-child(8){opacity:.66;width:3.4rem;height:1.35rem;animation-duration:19s;animation-delay:-13s;top:18%;left:68%;transform:rotate(38deg)}.yolo__pills .yolo-cap:nth-child(9){width:4.8rem;height:1.9rem;animation-duration:25s;animation-delay:-2s;top:4%;left:36%;transform:rotate(-8deg)}.yolo__pills .yolo-cap:nth-child(10){width:5.2rem;height:2.05rem;animation-duration:23s;animation-delay:-17s;top:52%;right:12%;transform:rotate(32deg)}@keyframes yolo-cap-flow{0%{translate:-8vw 6vh}25%{translate:10vw -10vh}50%{translate:16vw 4vh}75%{translate:-4vw -8vh}to{translate:-8vw 6vh}}.yolo-beats{gap:.42rem;margin:.7rem 0 .85rem;padding:0;list-style:none;display:grid}.yolo-beats li{border-bottom:1px solid var(--rule);grid-template-columns:2.2rem 1fr;gap:.15rem .7rem;padding-bottom:.55rem;animation:14s ease-in-out infinite beat-pulse;display:grid}.yolo-beats li:first-child{animation-delay:0s}.yolo-beats li:nth-child(2){animation-delay:3s}.yolo-beats li:nth-child(3){animation-delay:6s}.yolo-beats li:nth-child(4){animation-delay:9s}.yolo-beats li:nth-child(5){animation-delay:12s}.yolo-beats span{font-family:var(--mono);color:var(--copper);grid-row:span 2}.yolo-beats strong{font-family:var(--display);font-size:clamp(1rem,1.5vw,1.18rem);font-weight:560}.yolo-beats em{color:var(--mute);font-size:.92rem;font-style:normal}.yolo__links{flex-wrap:wrap;gap:.55rem;margin:0 0 .9rem;display:flex}.yolo__links a,.btn{background:var(--ink);color:var(--paper);letter-spacing:.04em;padding:.7rem 1.05rem;text-decoration:none;display:inline-flex}.btn--ghost{color:var(--ink);border:1px solid var(--rule);background:0 0}.phone{justify-self:end;width:min(17.5rem,46.1538svh - 5.07692rem,34vw);margin:0}.phone__stage{perspective:1200px;perspective-origin:68% 38%}.phone__bezel{transform-origin:55%;transform-style:preserve-3d;background:linear-gradient(165deg,#6f7c76 0%,#55635d 100%);border:1px solid #44514c;border-radius:1.85rem;padding:.58rem .46rem .7rem;animation:5.4s ease-in-out infinite phone-float;position:relative;transform:rotateY(-22deg)rotateX(10deg);box-shadow:0 0 0 1px #3d4844,inset 0 1px #ffffff24,1.1rem 1.8rem 2.6rem #14100c47}:root[data-theme=dark] .phone__bezel{background:linear-gradient(165deg,#65726c 0%,#4a5651 100%);border-color:#8a9891;box-shadow:0 0 0 1px #7d8c85,inset 0 1px #ffffff1f,1.1rem 1.8rem 2.6rem #00000080}.phone__edge{transform-origin:0;background:linear-gradient(#3f4a46,#2a322f);border-radius:0 .4rem .4rem 0;width:.55rem;position:absolute;inset:4% -.55rem 4% auto;transform:rotateY(78deg)translateZ(-2px)}.phone__notch{background:#2c3532;border-radius:999px;width:4.4rem;height:.48rem;margin:0 auto .36rem;display:block;box-shadow:inset 0 1px 2px #00000059}.phone__screen{aspect-ratio:9/19.5;background:#e8f3ee;border-radius:.85rem;position:relative;overflow:hidden}.yolo-shot{object-fit:contain;object-position:top center;opacity:0;width:100%;height:100%;transition:opacity .4s,transform .5s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:translate(12%)}.yolo-shot.is-on{opacity:1;transform:none}@keyframes phone-float{0%,to{transform:rotateY(-22deg)rotateX(10deg)translateY(0)}50%{transform:rotateY(-16deg)rotateX(7deg)translateY(-10px)}}@keyframes beat-pulse{0%,22%{opacity:1}33%,to{opacity:.42}}@keyframes scan{0%{top:12%}to{top:82%}}.deck{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:0;list-style:none;display:grid}.card{background:var(--card);border:1px solid var(--rule);height:100%;padding:1.1rem 1.15rem 1.2rem}.card header{align-items:baseline;gap:.8rem;margin-bottom:.55rem;display:flex}.card header span{font-family:var(--mono);color:var(--copper);font-size:.78rem}.card h3{font-family:var(--display);font-size:1.5rem;font-weight:560}.card p{color:var(--mute)}.tags{flex-wrap:wrap;gap:.35rem;margin:.8rem 0;padding:0;list-style:none;display:flex}.tags li{border:1px solid var(--rule);font-family:var(--mono);letter-spacing:.04em;padding:.12rem .45rem;font-size:.72rem}.card__links{gap:.9rem;display:flex}.card__links a{color:var(--copper);text-underline-offset:.18em}.covers{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:1.2rem 0 0;list-style:none;display:grid}.contact-void{color:#f4f0ea;width:100%;height:100%;min-height:100svh;position:relative}.contact-void__copy{pointer-events:none;left:var(--pad);z-index:5;max-width:min(28rem,78vw);position:absolute;top:5.2rem}.contact-void__title{color:#fff;font-family:var(--display);letter-spacing:-.04em;margin:0 0 .7rem;font-size:clamp(2.6rem,7vw,4.6rem);font-weight:560;line-height:.95}.contact-void__hint{color:#ffffffc7;margin:0;font-size:1.05rem;line-height:1.45}.web-menu{--tilt-x:0deg;--tilt-y:0deg;background:radial-gradient(46% 30% at 50% 74%,#ff1a1a29,#0000 58%),radial-gradient(80% 50% at 50% 100%,#140814 0%,#0a0a0f 70%);position:absolute;inset:0}.web-menu__silk{pointer-events:none;z-index:3;opacity:0;visibility:hidden;width:100%;max-width:none;height:100%;position:absolute;inset:0;overflow:hidden}.web-menu.is-open .web-menu__silk{opacity:1;visibility:visible}.web-menu__strand{fill:none;stroke:#ffffffc7;stroke-linecap:round;stroke-linejoin:round}.web-menu.is-open .web-menu__strand{filter:drop-shadow(0 0 1.4px #ffffff73)}.web-menu__strand--spoke{stroke-width:1.35px;opacity:.95}.web-menu__strand--hair{stroke-width:.55px;opacity:.42}.web-menu__strand--ring{stroke-width:1.05px;opacity:.82}.web-menu__strand--frame{stroke-width:1.2px;opacity:.88}.web-menu.is-wave .web-menu__strand{stroke:#ffffffeb}.web-menu__panel{z-index:6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;pointer-events:none;transform-origin:bottom;background:radial-gradient(80% 70% at 50% 120%,#ff1a1a29,#0000 62%),#08080cb3;border:1px solid #ffffff1a;border-radius:1.15rem;width:min(19rem,100% - 2rem);padding:.45rem;transition:opacity .3s ease-out,transform .32s cubic-bezier(.22,1.15,.36,1);display:grid;position:absolute;bottom:calc(30% + 4.4rem);left:50%;transform:translate(-50%)scale(.8);box-shadow:0 1.2rem 2.4rem #00000073}.web-menu.is-panel .web-menu__panel{opacity:1;pointer-events:auto;transform:translate(-50%)scale(1)}.web-menu__item{color:#f4f0ea;opacity:0;border-radius:.8rem;align-items:center;gap:.75rem;padding:.74rem .85rem;text-decoration:none;transition:opacity .32s,transform .32s,background .2s,box-shadow .2s;display:flex;transform:translateY(10px)}.web-menu.is-panel .web-menu__item{opacity:1;transform:translateY(0)}.web-menu__item:hover,.web-menu__item:focus-visible{background:#ff1a1a1a;box-shadow:0 0 1.2rem #ff1a1a2e}.web-menu__icon{place-items:center;width:1.55rem;height:1.55rem;display:grid}.web-menu__icon svg{stroke:#ff3b3b;stroke-width:1.6px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:1.2rem;height:1.2rem}.web-menu__item span:last-child{font-size:.98rem}.web-menu__tension{pointer-events:none;z-index:4;opacity:0;width:100%;max-width:none;height:100%;position:absolute;inset:0;overflow:hidden}.web-menu.is-pull .web-menu__tension{opacity:1;overflow:visible}.web-menu__dock{z-index:5;width:3.75rem;height:3.75rem;position:absolute;top:74%;left:50%;transform:translate(-50%,-50%)}.web-menu__cord{fill:none;stroke:#fff;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;opacity:.95}.web-menu__cord--core{stroke:#fffef8;opacity:1}.web-menu__cord--tie{stroke:#fff;stroke-width:1.35px;opacity:.72}.web-menu__aim{z-index:2;will-change:transform;width:3.75rem;height:3.75rem;position:relative}.web-menu.is-snap .web-menu__aim{transition:transform .26s cubic-bezier(.18,.9,.32,1.15)}.web-menu__trigger{cursor:grab;touch-action:none;background:radial-gradient(circle at 32% 28%,#ff1a1a,#8a0000 72%);border:0;border-radius:50%;width:3.75rem;height:3.75rem;animation:2s ease-in-out infinite web-pulse;box-shadow:0 0 20px #ff1a1a8c}.web-menu.is-pull .web-menu__trigger{cursor:grabbing;animation:none}.web-menu.is-open .web-menu__trigger svg{transform:rotate(45deg)}.web-menu__trigger svg{stroke:#fff;stroke-width:1.7px;fill:none;stroke-linecap:round;width:1.35rem;height:1.35rem;margin:auto;transition:transform .35s}@keyframes web-pulse{0%,to{box-shadow:0 0 20px #ff1a1a80}50%{box-shadow:0 0 40px #ff1a1ad9}}.contact-mail,.contact-campus{margin-top:1.2rem}.contact-mail{flex-wrap:wrap;align-items:baseline;gap:.45rem .85rem;display:flex}.contact-mail span,.contact-campus{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--copper);font-size:.75rem}.contact-mail a{font-family:var(--display);color:inherit;text-underline-offset:.18em;font-size:1.35rem;font-weight:560}.contact-mail em{color:var(--mute);text-transform:none;letter-spacing:0;font-style:normal;font-family:var(--sans);font-size:.95rem}.earth-fly{background:var(--paper);border:1px solid var(--rule);width:min(100%,28rem);margin:.7rem auto 0;position:relative;overflow:hidden}.earth-fly__stage{aspect-ratio:4/3;background:var(--paper);width:100%;position:relative}.earth-fly__map,.earth-fly .maplibregl-map,.earth-fly .maplibregl-canvas-container,.earth-fly .maplibregl-canvas{background:var(--paper)}.earth-fly__map{width:100%;height:100%;position:absolute;inset:0}.earth-fly .maplibregl-canvas{display:block}.earth-fly .maplibregl-ctrl-attrib{font-size:.62rem}.earth-fly__stars,.earth-fly__veil,.earth-fly__still{pointer-events:none;transition:opacity .55s;position:absolute;inset:0}.earth-fly__stars{opacity:.55;background-image:radial-gradient(1px 1px at 12% 18%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 28% 42%,#fff 50%,#0000 51%),radial-gradient(1.4px 1.4px at 63% 14%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 81% 36%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 8% 72%,#fff 50%,#0000 51%),radial-gradient(1.2px 1.2px at 91% 78%,#fff 50%,#0000 51%)}.earth-fly.is-clouds .earth-fly__stars,.earth-fly.is-city .earth-fly__stars,.earth-fly.is-campus .earth-fly__stars,.earth-fly.is-photo .earth-fly__stars{opacity:0}.earth-fly__veil{opacity:0;filter:blur(8px);background:radial-gradient(at 20% 40%,#ffffff8c 0%,#0000 42%),radial-gradient(at 70% 30%,#ffffff80 0%,#0000 46%),radial-gradient(at 48% 70%,#fff6 0%,#0000 40%);animation:9s ease-in-out infinite earth-drift}.earth-fly.is-clouds .earth-fly__veil{opacity:.85}.earth-fly.is-city .earth-fly__veil{opacity:.22}.earth-fly.is-campus .earth-fly__veil,.earth-fly.is-photo .earth-fly__veil{opacity:0}.earth-fly__still{object-fit:cover;object-position:center top;opacity:0;z-index:2;filter:blur(10px);width:100%;height:100%;transition:opacity 1.15s,transform 1.35s,filter 1.15s;transform:scale(1.03)}.earth-fly.is-photo .earth-fly__still{opacity:1;filter:blur();transform:scale(1)}.earth-fly__caption{background:var(--card);border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:.8rem;padding:.55rem .75rem .65rem;display:flex}.earth-fly__caption span{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--copper);font-size:.72rem}.earth-fly__caption button{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--rule);font-size:.72rem}@keyframes earth-drift{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(4%,-3%)scale(1.06)}}.cover{transform:rotate(var(--tilt,0deg))}.cover a{background:var(--card);border:1px solid var(--rule);line-height:0;text-decoration:none;display:block;overflow:hidden;box-shadow:.22rem .32rem #1a16121a}.cover a:hover,.cover a:focus-visible{outline:1px solid var(--copper)}.cover__drawing{aspect-ratio:160/200;width:100%;height:auto;display:block}.cover__drawing [class^=cover-]{transform-box:fill-box;transform-origin:50%}.cover-bar--a,.cover-bar--b,.cover-bar--c{transform-origin:0}.cover-banner{transform-origin:80px 25px;animation:2.4s ease-in-out infinite cover-wave}.cover-in{transform-origin:40px 72px;animation:1.8s ease-in-out infinite cover-bounce}.cover-bubble{transform-origin:118px 62px;animation:2.8s ease-in-out infinite cover-pop}.cover-hand--l{animation:1.6s ease-in-out infinite cover-reach-l}.cover-hand--r{animation:1.6s ease-in-out infinite cover-reach-r}.cover-shake{stroke-dasharray:8 6;animation:1.2s linear infinite cover-dash}.cover-dot--r{animation:1.1s steps(2,jump-none) infinite cover-blink}.cover-dot--y{animation:1.7s steps(2,jump-none) .2s infinite cover-blink}.cover-dot--g{animation:.9s steps(2,jump-none) .1s infinite cover-blink}.cover-cursor{animation:.9s steps(1,jump-none) infinite cover-blink}.cover-type{animation:3.2s ease-in-out infinite cover-flicker}.cover-commit{animation:2.2s ease-in-out infinite cover-drop}.cover-branch{stroke-dasharray:12 8;animation:1.4s linear infinite cover-dash}.cover-bug{animation:3.6s ease-in-out infinite cover-scurry}.cover-medal{transform-origin:42px 78px;animation:3s ease-in-out infinite cover-spin-soft}.cover-auc{animation:1.8s ease-in-out infinite cover-float}.cover-bar--a{transform-origin:78px 87px;animation:2.4s ease-in-out infinite cover-grow}.cover-bar--b{transform-origin:78px 103px;animation:2.8s ease-in-out .2s infinite cover-grow}.cover-bar--c{transform-origin:78px 119px;animation:2.2s ease-in-out .4s infinite cover-grow}.cover-jump{animation:1.1s ease-in-out infinite cover-hop}.cover-run{animation:1.4s steps(2,jump-none) infinite cover-flicker}.cover-m{transform-origin:128px 28px;animation:4s ease-in-out infinite cover-spin-soft}.cover-draft{animation:4s ease-in-out infinite cover-typein}.cover-draft--2{animation-delay:.45s}.cover-clap{transform-origin:50%;animation:.9s ease-in-out infinite cover-clap}.cover-clap--2{animation-delay:.12s}.cover-clap--3{animation-delay:.24s}.cover-scribble{stroke-dasharray:140;stroke-dashoffset:140px;animation:3.2s ease-in-out infinite cover-draw}.cover a:hover .cover-banner,.cover a:hover .cover-in,.cover a:hover .cover-bubble,.cover a:hover .cover-hand--l,.cover a:hover .cover-hand--r,.cover a:hover .cover-medal,.cover a:hover .cover-jump,.cover a:hover .cover-clap,.cover a:hover .cover-bug{animation-duration:.55s}@keyframes cover-wave{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2.4deg)}}@keyframes cover-bounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-5px)scale(1.06)}}@keyframes cover-pop{0%,70%,to{opacity:0;transform:scale(.2)}78%,92%{opacity:1;transform:scale(1)}}@keyframes cover-reach-l{0%,to{transform:translate(0)}50%{transform:translate(7px)}}@keyframes cover-reach-r{0%,to{transform:translate(0)}50%{transform:translate(-7px)}}@keyframes cover-dash{to{stroke-dashoffset:-28px}}@keyframes cover-blink{0%,49%{opacity:1}50%,to{opacity:.15}}@keyframes cover-flicker{0%,40%,to{opacity:1}48%,55%{opacity:.15}}@keyframes cover-drop{0%,to{transform:translateY(0)}50%{transform:translateY(18px)}}@keyframes cover-scurry{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-18px,8px)rotate(-12deg)}50%{transform:translate(8px,-6px)rotate(10deg)}75%{transform:translate(-6px,12px)rotate(-8deg)}}@keyframes cover-spin-soft{0%,to{transform:rotate(-8deg)}50%{transform:rotate(10deg)}}@keyframes cover-float{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-8px)}}@keyframes cover-grow{0%,to{transform:scaleX(.55)}50%{transform:scaleX(1)}}@keyframes cover-hop{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes cover-typein{0%,12%{opacity:0}20%,70%{opacity:1}82%,to{opacity:0}}@keyframes cover-clap{0%,to{transform:scale(1)rotate(-6deg)}50%{transform:scale(1.18)rotate(8deg)}}@keyframes cover-draw{0%{stroke-dashoffset:140px}40%,70%{stroke-dashoffset:0}to{stroke-dashoffset:-140px}}@keyframes rise{0%{opacity:0;transform:translateY(.7rem)}to{opacity:1;transform:none}}:focus-visible{outline:2px solid var(--copper);outline-offset:3px}@media (width<=900px){.chrome{grid-template-columns:1fr}.chrome__nav{display:none}.deck,.yolo{grid-template-columns:1fr}.covers{grid-template-columns:1fr 1fr}.intro{grid-template-columns:1fr;justify-items:start}.unveil__card{width:min(12.5rem,42vmin);top:48%;left:50%}.timeline__rail{left:.95rem;transform:none}.timeline>li,.timeline>li.is-flip{grid-template-columns:2.2rem minmax(0,1fr);padding-left:0}.time-block,.timeline>li.is-flip .time-block{text-align:left;grid-column:2;grid-template-columns:minmax(7.5rem,.9fr) minmax(0,1.1fr);justify-self:start;width:100%}.timeline>li.is-flip .time-photo,.timeline>li.is-flip .time-copy{order:0}.timeline>li:not(.is-flip) .time-tags,.timeline>li.is-flip .time-tags{justify-content:flex-start}.phone{justify-self:center;width:min(15.5rem,58vw);max-width:none;margin-inline:auto}.phone__bezel{transform:rotateY(-12deg)rotateX(6deg)}html[data-view=folio] .plate{padding-top:4.5rem;display:block}html[data-view=folio] .plate--hero,html[data-view=folio] .plate--contact{padding-top:0}html[data-view=folio] .plate--yolo{height:auto;max-height:none;padding-top:4.5rem;overflow:visible}.yolo{height:auto}}@media (prefers-reduced-motion:reduce){.toggle,.toggle__knob,.toggle__opt{transition:none}html{scroll-behavior:auto}html[data-view=folio]{scroll-snap-type:none}.display span,.timeline__needle svg,.yolo-beats li,.yolo__pills span,.yolo-cap,.phone__scan,.cover-banner,.cover-in,.cover-bubble,.cover-hand--l,.cover-hand--r,.cover-shake,.cover-dot--r,.cover-dot--y,.cover-dot--g,.cover-cursor,.cover-type,.cover-commit,.cover-branch,.cover-bug,.cover-medal,.cover-auc,.cover-bar--a,.cover-bar--b,.cover-bar--c,.cover-jump,.cover-run,.cover-m,.cover-draft,.cover-clap,.cover-scribble,.earth-fly__veil,.earth-fly__stars{animation:none}.unveil__world{transform:none}.timeline-stage .timeline>li,.timeline-stage .timeline__line,.timeline-stage .timeline__needle{opacity:1;transform:none}.web-menu__trigger,.web-menu__strand,.web-menu__panel,.web-menu__item{transition:none;animation:none}.web-menu.is-panel .web-menu__panel,.web-menu.is-panel .web-menu__item{opacity:1;transform:translate(-50%)scale(1)}.web-menu.is-panel .web-menu__item{transform:none}.phone__bezel,.yolo-shot{transition:none;animation:none}}html[data-view=flat] .plate{min-height:0;padding-block:2rem}html[data-view=flat] .plate--hero{min-height:100svh;padding:0}html[data-view=flat] .yolo-beats li,html[data-view=flat] .phone__bezel{animation:none}html[data-view=flat] .phone__bezel{transform:none}html[data-view=flat] .display,html[data-view=flat] .intro__name{font-size:clamp(2rem,5vw,3.2rem)}
