@font-face{font-family:Portfolio Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/assets/fonts/dm-sans-latin.woff2)format("woff2")}@font-face{font-family:Portfolio Serif;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/newsreader-latin.woff2)format("woff2")}:root{color:#f8faf4;font-synthesis:none;background:#b7d1e0;font-family:Portfolio Sans,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}html{scroll-behavior:auto;overflow-x:hidden}button,input,summary{font:inherit}button,summary{touch-action:manipulation}button{cursor:pointer}button:focus-visible,summary:focus-visible,input:focus-visible{outline-offset:5px;outline:3px solid #d7b77a}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}#world{isolation:isolate;pointer-events:none;background:linear-gradient(#81b5df,#e2e8d9);position:fixed;inset:0}#world canvas{width:100%;height:100%;display:block}.identity{z-index:2;letter-spacing:.24em;text-shadow:0 1px 12px #142a23c0;font-size:13px;font-weight:600;position:fixed;top:30px;left:36px}.identity:after{content:"";opacity:.7;background:currentColor;width:20px;height:1px;margin-top:8px;display:block}#experience-options{z-index:5;position:fixed;top:20px;right:28px}summary{cursor:pointer;letter-spacing:3px;text-shadow:0 1px 10px #12281ae0;border-radius:50%;place-items:center;width:44px;height:44px;list-style:none;display:grid}summary::-webkit-details-marker{display:none}summary:hover,#experience-options[open] summary{background:#233b2f30}.options-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#2f3d31;background:#f6f4ecd9;border-radius:14px;width:225px;padding:14px;position:absolute;top:50px;right:0;box-shadow:0 12px 40px #1b2c2520}.options-panel label{align-items:center;gap:10px;min-height:44px;font-size:13px;display:flex}.options-panel input{accent-color:#334b38;width:18px;height:18px}.options-panel button{text-align:left;width:100%;min-height:44px;color:inherit;background:0 0;border:0;border-radius:7px;padding:10px;font-size:13px}.options-panel button:hover{background:#d9dfd2}.options-panel nav{border-top:1px solid #abb6a950;margin-top:8px;padding-top:8px}#loading{z-index:3;letter-spacing:.06em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#203c3066;border-radius:30px;padding:10px 16px;font-size:12px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#scroll-cue{z-index:2;letter-spacing:.11em;text-shadow:0 1px 10px #172c22;pointer-events:none;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#1d36283d;border-radius:30px;align-items:center;gap:12px;padding:9px 14px;font-size:11px;display:flex;position:fixed;bottom:32px;left:50%;transform:translate(-50%)}.scroll-stroke{opacity:.85;background:#fffaf0;width:1px;height:18px}#readable,#graphics-error,.no-script{z-index:4;color:#29392e;background:#f5f3ebed;border-radius:16px;width:min(430px,100% - 40px);max-height:80svh;padding:32px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 20px 70px #18392c30}#readable[hidden],#graphics-error[hidden]{display:none}#readable h2{margin:0 0 22px;font:400 42px Portfolio Sans,Georgia,serif}#readable p{font-size:15px;line-height:1.7}#readable .placeholder{color:#67715f;font-size:12px}#readable button,#graphics-error button{color:#273c2c;background:#e6e9de;border:1px solid #b5beae;border-radius:8px;min-height:44px;margin-top:10px;padding:8px 14px}body.readable-mode #world{filter:blur(10px)}body.readable-mode #scroll-cue{visibility:hidden}#scroll-space{height:700vh}body[data-assets=degraded] #loading{top:auto;bottom:72px;transform:translate(-50%)}@media (width<=600px){.identity{top:24px;left:22px}#experience-options{top:14px;right:14px}#scroll-cue{white-space:nowrap;bottom:24px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}#intro-wall-layer{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}#intro-wall-layer[hidden],#intro-mobile[hidden]{display:none!important}#intro-wall{color:#263e36;backface-visibility:hidden;pointer-events:auto;-webkit-user-select:text;user-select:text;flex-direction:column;justify-content:center;width:1540px;height:620px;padding:42px 70px;font-family:Portfolio Sans,system-ui,sans-serif;display:flex}#intro-wall p{margin:0}#intro-wall h2{letter-spacing:-.04em;margin:0 0 22px;font:600 126px/1.1 Portfolio Sans,system-ui,sans-serif}#intro-wall .intro-eyebrow{letter-spacing:.17em;text-transform:uppercase;color:#627968;font-size:23px;display:none}#intro-wall .intro-degree{font-size:50px;font-weight:400;line-height:1.4}#intro-wall .intro-note{color:#687c6c;margin-top:32px;font-size:21px;line-height:1.4}#intro-mobile{z-index:3;color:#29392e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f6f3e9ed;border:1px solid #d6d8c8;border-radius:15px;grid-template-columns:60px 1fr;gap:10px 14px;max-height:43svh;padding:16px 18px;display:grid;position:fixed;bottom:18px;left:16px;right:16px;overflow:auto;box-shadow:0 8px 30px #27382918}#intro-mobile img{object-fit:cover;border-radius:9px}#intro-mobile h2{margin:0 0 5px;font:500 25px/1.1 Portfolio Sans,Georgia,serif}#intro-mobile .intro-degree{margin:0;font-size:12px;line-height:1.45}#intro-mobile .intro-bio{grid-column:1/-1;margin:0;font-size:14px;line-height:1.5}#intro-mobile .intro-note{grid-column:1/-1;margin:0;font-size:10px}body.intro-visible #scroll-cue{display:none}@media (width<=649px){#intro-wall-layer{display:none!important}}#story-wall{color:#30463b;backface-visibility:hidden;pointer-events:auto;-webkit-user-select:text;user-select:text;background:#f3f1e8;width:660px;height:540px;padding:32px 36px}#story-wall h2{margin:16px 0 20px;font:600 50px/1.15 Portfolio Sans,system-ui}#story-wall p{margin:0;font-size:33px;line-height:1.35}.story-eyebrow{text-transform:uppercase;letter-spacing:.13em}#story-wall .story-eyebrow{font-size:22px}#story-wall .story-placeholder{color:#62715d;margin-top:18px;font-size:28px;line-height:1.4}#story-mobile{z-index:3;color:#30463b;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f6f3e9ed;border:1px solid #d6d8c8;border-radius:15px;max-height:40svh;padding:18px 20px;position:fixed;bottom:18px;left:16px;right:16px;overflow:auto}#story-mobile[hidden]{display:none!important}#story-mobile h2{margin:8px 0 12px;font:500 26px/1.2 Portfolio Sans,Georgia,serif}#story-mobile p{margin:0;font-size:14px;line-height:1.5}#story-mobile .story-eyebrow{font-size:10px}#story-mobile .story-placeholder{color:#62715d;margin-top:12px;font-size:11px}#story-wall .highlights-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:24px;display:grid}.highlight-card{background:#e7e9dd;border:1px solid #d4d9cb;border-radius:16px;padding:18px 20px}.highlight-card strong,.highlight-card span{display:block}.highlight-card strong{letter-spacing:-.02em;font-size:28px;line-height:1.25}.highlight-card span{color:#596a5b;margin-top:10px;font-size:23px;line-height:1.35}#leadership-wall{color:#30463b;backface-visibility:hidden;pointer-events:auto;-webkit-user-select:text;user-select:text;background:#f3f1e8;width:900px;height:540px;padding:32px 38px}#leadership-wall .story-eyebrow{margin:0;font-size:22px}#leadership-wall h2{margin:14px 0 20px;font:600 46px/1.1 Portfolio Sans,system-ui}#leadership-wall [data-highlights]{gap:12px;display:grid}#leadership-wall .highlight-card{padding:14px 20px}#leadership-wall .highlight-card span{margin-top:4px}#story-mobile .highlights-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}#story-mobile .highlight-card,#readable .highlight-card{border-radius:10px;margin-bottom:8px;padding:10px 12px}#story-mobile .highlight-card strong,#readable .highlight-card strong{font-size:14px}#story-mobile .highlight-card span,#readable .highlight-card span{margin-top:5px;font-size:12px}#story-mobile h3{margin:16px 0 10px;font-size:16px}#leadership-wall .highlight-card strong{font-size:32px}#leadership-wall .highlight-card span{font-size:26px}#story-mobile:focus-visible{outline-offset:3px;outline:2px solid #bb9b58}#skills-wall{color:#30463b;backface-visibility:hidden;pointer-events:auto;-webkit-user-select:text;user-select:text;background:#f3f1e8;width:1400px;height:760px;padding:36px 48px}#skills-wall .skills-eyebrow{letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;font:24px/1.3 Portfolio Sans,system-ui}#skills-wall h2{letter-spacing:-.025em;margin:0 0 30px;font:600 56px/1.15 Portfolio Sans,system-ui}.skills-grid{grid-template-columns:1fr 1fr;gap:14px 20px;display:grid}.skills-grid section{background:#e7e9dd;border:1px solid #d4d9cb;border-radius:18px;padding:20px 24px}.skills-grid h3{margin:0 0 10px;font:600 30px/1.2 Portfolio Sans,system-ui}.skills-grid p{color:#4b6151;margin:0;font:28px/1.4 Portfolio Sans,system-ui}#skills-mobile{z-index:3;color:#30463b;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f6f3e9f5;border:1px solid #d6d8c8;border-radius:18px;max-height:62svh;padding:22px 18px;position:fixed;bottom:16px;left:14px;right:14px;overflow:auto}#skills-mobile[hidden]{display:none!important}#skills-mobile .skills-eyebrow{letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:11px}#skills-mobile h2{margin:0 0 18px;font:600 27px/1.15 Portfolio Sans,system-ui}#skills-mobile .skills-grid{grid-template-columns:1fr;gap:10px}#skills-mobile .skills-grid section,#readable .skills-grid section{border-radius:12px;padding:14px 16px}#skills-mobile .skills-grid h3,#readable .skills-grid h3{font-size:17px}#skills-mobile .skills-grid p,#readable .skills-grid p{font-size:15px}#skills-mobile:focus-visible{outline-offset:3px;outline:2px solid #bb9b58}@media (width<=649px){#readable .skills-grid{grid-template-columns:1fr}}#skills-wall.tool-workspace{background:linear-gradient(145deg,#f8f5ec,#e9ede5);padding:24px 36px;overflow:hidden}#skills-wall.tool-workspace h2{margin:4px 0 8px;font-size:48px}#skills-wall.tool-workspace .skills-eyebrow{margin:0;font-size:20px}#skills-wall .workspace-intro{color:#627465;margin:0;font:22px/1.3 Portfolio Sans,system-ui}.tool-filters{flex-shrink:0;gap:10px;margin:10px 0;display:flex;overflow-x:auto}.tool-workspace button{color:#30463b;cursor:pointer;background:#faf8f0;border:1px solid #cdd6c8;border-radius:12px;padding:9px 16px;font:600 20px/1.2 Portfolio Sans,system-ui}.tool-filters button[aria-pressed=true]{color:#fff;background:#304e40;border-color:#304e40}.tool-workspace button:disabled{opacity:.42;cursor:default}.tool-workspace button:focus-visible{outline-offset:3px;outline:3px solid #ba9151}.tool-bar{align-items:center;gap:10px;margin-bottom:10px;display:flex}.tool-counter{color:#627465;margin-left:auto;font:20px Portfolio Sans,system-ui}.tool-stage{background:radial-gradient(circle at 1px 1px,#a5b6a64d 1.5px,#0000 1.6px) 0 0/24px 24px,linear-gradient(140deg,#e2eadd,#e2e8ee);border:1px solid #cad3c8;border-radius:22px;height:330px;position:relative;overflow:hidden;box-shadow:inset 0 4px 12px #344b3a12}.tool-workspace .tool-tile{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:linear-gradient(145deg,#fff,#e5e9e0);border:1px solid #fff;border-bottom:5px solid #b6c4b5;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:132px;height:118px;padding:10px 6px 6px;display:flex;position:absolute;box-shadow:0 8px 12px #354c3926,0 2px #839881}.tool-tile img{pointer-events:none;filter:drop-shadow(0 3px 2px #21352d24);width:54px;height:54px}.tool-tile span{white-space:nowrap;font-size:19px}.tool-tile small{color:#627465;font:12px Portfolio Sans,system-ui}.tool-workspace .tool-tile[aria-pressed=true]{outline-offset:1px;outline:3px solid #b68c4c}.tool-workspace .tool-tile.picked-up{cursor:grabbing;border-bottom-color:#9aac99;box-shadow:0 15px 20px #304b3b42}.tool-status{color:#30463b;margin:10px 0 5px!important;font:21px/1.3 Portfolio Sans,system-ui!important}.tool-hint{color:#627465;margin:0!important;font:18px/1.3 Portfolio Sans,system-ui!important}#skills-mobile.tool-workspace{max-height:76svh;padding:18px 14px}#skills-mobile.tool-workspace h2{margin:5px 0 8px;font-size:27px}#skills-mobile .workspace-intro{margin:0;font:14px/1.4 Portfolio Sans,system-ui}#skills-mobile .tool-filters{gap:6px}#skills-mobile.tool-workspace button{white-space:nowrap;padding:8px 10px;font-size:13px}#skills-mobile .tool-bar{flex-wrap:wrap;gap:6px}#skills-mobile .tool-stage{border-radius:15px;height:280px}#skills-mobile.tool-workspace .tool-tile{border-radius:16px;gap:2px;width:84px;height:88px;padding:5px}#skills-mobile .tool-tile img{width:36px;height:36px}#skills-mobile .tool-tile span{font-size:12px}#skills-mobile .tool-tile small{font-size:9px}#skills-mobile .tool-status{font-size:13px!important}#skills-mobile .tool-hint{font-size:11px!important}#scroll-space{pointer-events:none}#skills-interaction-layer{z-index:2;pointer-events:none;position:fixed;inset:0;overflow:hidden}#skills-interaction-layer[hidden]{display:none!important}#skills-interaction-layer #skills-wall{transform-origin:0 0;pointer-events:auto;position:absolute}#skills-wall.tool-workspace{background:linear-gradient(135deg,#fbf8ef,#edf0e8);padding:26px 36px}#skills-wall.tool-workspace h2{letter-spacing:-.04em;margin:10px 0 20px;font:500 60px/1.05 Portfolio Sans,Georgia,serif}#skills-wall.tool-workspace .skills-eyebrow{letter-spacing:.19em;color:#718174;font-size:17px}.tool-workspace .tool-bar{justify-content:space-between;margin:0 0 12px}.tool-workspace .tool-counter{letter-spacing:.04em;margin:0;font-size:19px}.tool-stage{overscroll-behavior:contain;height:430px;overflow:auto}.tool-canvas{width:100%;min-height:100%;position:relative}.tool-workspace .tool-tile{border-radius:20px;width:112px;height:108px}.tool-tile img{width:46px;height:46px}.tool-tile span{font-size:16px}.tool-tile small{font-size:11px}.tool-workspace .tool-filters{margin:0 0 12px}.tool-workspace .tool-filters button{border-radius:20px;padding:8px 16px;font-weight:500}#skills-mobile.tool-workspace h2{letter-spacing:-.04em;margin:8px 0 18px;font:500 32px/1.05 Portfolio Sans,Georgia,serif}#skills-mobile .tool-stage{height:320px}#skills-mobile .tool-counter{font-size:13px}#skills-mobile .tool-canvas{min-height:280px}#world{z-index:1;background:0 0}#intro-wall-layer{z-index:2}#skills-travel-layer{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}#skills-travel-layer[hidden]{display:none!important}#skills-travel-layer #skills-wall{pointer-events:none}.gallery-content{color:#30463b;background:linear-gradient(135deg,#fbf8ef,#eef0e6);font-family:Portfolio Sans,system-ui,sans-serif}#gallery-wall{backface-visibility:hidden;width:1400px;height:760px;padding:28px 36px}.gallery-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#6b7e6c;margin:0 0 10px;font:500 17px/1.3 Portfolio Sans,system-ui}.gallery-content h2{letter-spacing:-.045em;margin:0 0 24px;font:500 66px/1.05 Portfolio Sans,Georgia,serif}.gallery-heading{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.gallery-heading>span{letter-spacing:.12em;color:#718174;font:15px Portfolio Sans,system-ui}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.project-card{background:linear-gradient(140deg,#ffffffd9,#ecefe5);border:1px solid #d5dacc;border-radius:25px;flex-direction:column;min-width:0;padding:22px;display:flex;box-shadow:0 7px 16px #344a3610}.project-index{letter-spacing:.08em;color:#6a7d6a;margin:0 0 17px;font:500 15px/1.3 Portfolio Sans,system-ui}.project-art{background:radial-gradient(at 70% 10%,#eaf0d3,#0000 75%),linear-gradient(140deg,#d8e4d7,#c4d5ca);border-radius:17px;justify-content:center;align-items:center;height:174px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #ffffffb0}.project-art-note{color:#6b7e6e;margin:8px 0 18px;font:12px/1.5 Portfolio Sans,system-ui}.project-card .project-title{letter-spacing:-.03em;margin:0 0 13px;font:500 37px/1.1 Portfolio Sans,Georgia,serif}.project-summary{min-height:97px;margin:0 0 18px;font:23px/1.4 Portfolio Sans,system-ui}.project-stack{color:#657b66;min-height:48px;margin:0 0 20px;font:16px/1.5 Portfolio Sans,system-ui}.project-card button{text-align:left;color:#304b3b;background:0 0;border:0;border-top:1px solid #cbd6c6;min-height:48px;margin-top:auto;padding:16px 0 0;font:500 20px/1.3 Portfolio Sans,system-ui}.project-card button:hover{color:#7b532d}.project-card button:focus-visible{outline-offset:5px;border-radius:6px;outline:3px solid #a67938}.receipt-sheet{background:#fbf9ef;border-radius:8px;width:180px;height:137px;padding:19px 16px;transform:rotate(-9deg);box-shadow:7px 12px 18px #314d3c30}.receipt-sheet>span{letter-spacing:.12em;font:600 13px Portfolio Sans,system-ui}.receipt-sheet i{background:#b8c6af;width:90%;height:3px;margin:10px 0;display:block}.receipt-sheet i:nth-child(3){width:62%}.receipt-sheet b{color:#5a735d;white-space:nowrap;font:9px Portfolio Sans,system-ui}.art-orbit{color:#fff;background:#334f3f;border-radius:50%;place-items:center;width:52px;height:52px;font:28px Portfolio Sans,Georgia;display:grid;position:absolute;bottom:22px;right:38px;box-shadow:0 6px 10px #334f3f30}.vision{background:linear-gradient(130deg,#dfe5e8,#bacdd0)}.vision-target{border:2px solid #698d88;border-radius:22px;justify-content:center;width:104px;height:106px;margin-right:35px;display:flex;position:relative}.vision-target span{background:#86a39b;border-radius:50%;width:29px;height:29px;position:absolute;top:17px}.vision-target i{background:#86a39b;border-radius:40px 40px 10px 10px;width:62px;height:37px;position:absolute;top:52px}.vision-lines i{background:#eff6ee;border-radius:5px;width:65px;height:7px;margin:15px 0;display:block}.vision-lines i:nth-child(2){width:40px}.art-caption{letter-spacing:.16em;color:#507262;font:10px Portfolio Sans,system-ui;position:absolute;bottom:11px;right:13px}.forecast{background:linear-gradient(135deg,#e8dfcc,#e5ebd6)}.forecast svg{fill:none;width:90%;height:85%}.chart-grid{stroke:#a6b49c;stroke-width:.5px;opacity:.6}.chart-line{stroke:#496b59;stroke-width:3px;stroke-linejoin:round}.chart-prediction{stroke:#bb8b4b;stroke-width:3px;stroke-dasharray:6 5}#gallery-interaction-layer{z-index:2;pointer-events:none;position:fixed;inset:0;overflow:hidden}#gallery-interaction-layer[hidden],#gallery-mobile[hidden]{display:none!important}#gallery-interaction-layer #gallery-wall{transform-origin:0 0;pointer-events:auto;position:absolute}#skills-travel-layer #gallery-wall{pointer-events:none}body.gallery-visible #scroll-cue{display:none}#gallery-mobile{z-index:3;overscroll-behavior:contain;border:1px solid #d6d8c8;border-radius:20px;max-height:72svh;padding:20px 18px;position:fixed;bottom:16px;left:14px;right:14px;overflow:auto;box-shadow:0 12px 40px #203c3020}#gallery-mobile h2{margin-bottom:18px;font-size:36px}#gallery-mobile .gallery-eyebrow{font-size:11px}#gallery-mobile .project-grid,#readable .project-grid{grid-template-columns:1fr;gap:14px}#gallery-mobile .project-card,#readable .project-card{border-radius:18px;padding:18px}#gallery-mobile .project-index,#readable .project-index{margin-bottom:12px;font-size:11px}#gallery-mobile .project-card .project-title,#readable .project-card .project-title{font-size:29px}#gallery-mobile .project-summary,#readable .project-summary{min-height:0;margin-bottom:14px;font-size:16px}#gallery-mobile .project-stack,#readable .project-stack{min-height:0;margin-bottom:12px;font-size:12px}#gallery-mobile .project-art,#readable .project-art{height:140px}#gallery-mobile .project-card button,#readable .project-card button{min-height:44px;padding-top:12px;font-size:15px}#gallery-mobile .project-art-note,#readable .project-art-note{margin-bottom:12px;font-size:10px}#project-case{overscroll-behavior:contain;color:#30463b;background:#f8f6ee;border:1px solid #d4dbcd;border-radius:25px;width:min(900px,100% - 32px);max-height:88svh;padding:40px;position:fixed;inset:0;overflow:auto;box-shadow:0 30px 100px #10271b50}#project-case::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#122a20a6}.case-close{float:right;color:#30463b;background:#edf0e5;border:1px solid #c6d1c1;border-radius:25px;min-height:44px;margin:-16px -16px 14px 20px;padding:12px 18px;font:500 14px Portfolio Sans,system-ui}#project-case .gallery-eyebrow{margin:6px 0 18px;font-size:11px}#project-case h2{letter-spacing:-.04em;margin:0 0 15px;font:500 58px/1.05 Portfolio Sans,Georgia,serif}.case-lead{max-width:650px;margin:0 0 14px;font:23px/1.5 Portfolio Sans,system-ui}.case-meta{color:#657b66;margin-bottom:25px;font:13px/1.6 Portfolio Sans,system-ui}#project-case .project-art{height:210px}#project-case .receipt-sheet{transform:rotate(-7deg)scale(1.2)}.case-note{color:#718174;margin:10px 0 28px;font:11px/1.5 Portfolio Sans,system-ui}.case-sections{grid-template-columns:1fr 1fr;gap:24px 32px;display:grid}.case-sections h3{margin:0 0 10px;font:500 23px Portfolio Sans,Georgia}.case-sections p{margin:0;font:15px/1.75 Portfolio Sans,system-ui}.case-close:focus-visible{outline-offset:3px;outline:3px solid #a67938}@media (width<=649px){#project-case{border-radius:19px;max-height:90svh;padding:24px}#project-case h2{font-size:40px}.case-close{margin:-10px -10px 12px 10px}.case-lead{font-size:19px}.case-sections{grid-template-columns:1fr;gap:24px}#project-case .gallery-eyebrow{max-width:180px}}#project-case .case-close{z-index:1;position:sticky;top:0}#gallery-mobile:focus-visible{outline-offset:3px;outline:2px solid #a67938}.gallery-heading-meta{letter-spacing:.08em;color:#718174;flex-direction:column;align-items:flex-end;gap:12px;margin-left:auto;font:15px Portfolio Sans,system-ui;display:flex}.publication-shortcut{color:#35503f;letter-spacing:0;background:#f7f6ec;border:1px solid #c5d1bf;border-radius:24px;min-height:44px;padding:10px 17px;font:500 18px Portfolio Sans,system-ui;text-decoration:none;display:inline-block}.publication-shortcut:hover,.publication-card a:hover{background:#e0e9d9}.publication-shortcut:focus-visible,.publication-card a:focus-visible{outline-offset:4px;outline:3px solid #a67937}.publication-card{color:#30463b;background:linear-gradient(130deg,#f8f5e9,#e0e9d9);border:1px solid #cbd5c5;border-radius:22px;margin:20px 0 0;padding:20px}.publication-card:before{content:"BOOK CHAPTER";letter-spacing:.18em;color:#6a7e68;font:11px Portfolio Sans,system-ui}.publication-card h3{margin:12px 0;font:500 25px/1.2 Portfolio Sans,Georgia,serif}.publication-card .publication-meta,.publication-card .publication-authors{color:#60735e;margin:8px 0;font:13px/1.6 Portfolio Sans,system-ui}.publication-card a{color:#35503f;background:#faf8ed;border:1px solid #bdcdb7;border-radius:24px;align-items:center;min-height:44px;margin-top:10px;padding:10px 14px;font:500 13px Portfolio Sans,system-ui;text-decoration:none;display:inline-flex}#gallery-wall .gallery-heading{align-items:center;margin-bottom:12px}#gallery-wall .gallery-heading h2{margin:0}#gallery-mobile>.publication-shortcut{margin-bottom:16px;font-size:14px}#gallery-wall .gallery-eyebrow{letter-spacing:.15em;font-size:14px}.project-card{background:radial-gradient(at 12% 0,#fff 0%,#0000 60%),linear-gradient(145deg,#fafaf3,#e7ecdf);border:1px solid #dce2d2;border-bottom:5px solid #bdc9b6;border-radius:24px;box-shadow:inset 0 2px 1px #fff,0 3px 1px #a0af982e,0 12px 24px #304b341a}#gallery-wall .project-grid{gap:24px;height:574px}#gallery-wall .project-card{padding:22px}#gallery-wall .project-index{margin-bottom:14px;font-size:14px}#gallery-wall .project-art{flex-shrink:0;height:150px}#gallery-wall .project-art-note{margin:8px 0 14px;font-size:11px}#gallery-wall .project-title{font-size:35px}#gallery-wall .project-summary{min-height:92px;margin-bottom:14px;font-size:22px;line-height:1.4}.project-stack{flex-wrap:wrap;align-content:start;gap:6px;min-height:70px;margin:0 0 14px;display:flex}.project-tech{color:#4d664f;background:linear-gradient(#fcfcf6,#e4eadc);border:1px solid #cdd7c5;border-radius:10px;align-items:center;gap:6px;max-width:100%;min-height:30px;padding:5px 8px;font:500 13px/1.2 Portfolio Sans,system-ui;display:inline-flex;box-shadow:inset 0 1px #fff,0 2px 2px #344d3510}.project-tech img{object-fit:contain;filter:drop-shadow(0 1px 1px #2b473220);flex-shrink:0;width:22px;height:22px}.tech-symbol{color:#35533b;letter-spacing:-.02em;background:#d6e2cf;border-radius:5px;flex-shrink:0;place-items:center;min-width:23px;height:22px;font:600 9px Portfolio Sans,system-ui;display:inline-grid}.project-art{border:1px solid #cbd7c7;box-shadow:inset 0 2px 4px #263f2910,inset 0 -2px 3px #fff9}.receipt-sheet{background:repeating-linear-gradient(0deg,#0000 0 3px,#c4bfa409 3px 4px),linear-gradient(120deg,#fffef4,#eee9d8);border:1px solid #e5dfca;transform:perspective(700px)rotateY(-12deg)rotate(-8deg);box-shadow:1px 2px #e3e0d1,3px 5px #f0eddf,7px 14px 17px #30483240}.art-orbit{background:radial-gradient(at 30% 25%,#628168,#304c3b);border:1px solid #728e72;box-shadow:inset 0 2px 2px #ffffff45,0 3px #2c4431,0 9px 14px #29412e40}.vision-target{background:linear-gradient(140deg,#f4f8ee,#d1ded3);border:1px solid #afc3b4;border-bottom:4px solid #a5b9aa;transform:perspective(600px)rotateY(12deg)rotate(-3deg);box-shadow:0 9px 12px #2d493325,inset 0 1px #fff}.vision-lines i{box-shadow:0 2px 2px #42624b16,inset 0 1px #fff}.forecast svg{filter:drop-shadow(0 3px 2px #3a5c3c1f)}#gallery-mobile .project-stack,#readable .project-stack{min-height:0;margin-bottom:14px}#gallery-mobile .project-tech,#readable .project-tech{min-height:28px;padding:5px 7px;font-size:11px}#gallery-mobile .project-tech img,#readable .project-tech img{width:18px;height:18px}#gallery-wall .project-tech{min-height:34px;font-size:16px}#gallery-wall .project-stack{min-height:76px}#gallery-wall .tech-symbol{font-size:12px}#gallery-wall .receipt-sheet{width:168px;height:123px;padding:14px 12px}.gallery-panel[hidden]{display:none!important}.gallery-views{letter-spacing:0;background:#e5ecdf;border:1px solid #ccd6c4;border-radius:24px;gap:6px;padding:4px;display:flex}.gallery-views button{color:#51694f;white-space:nowrap;background:0 0;border:0;border-radius:20px;min-height:36px;padding:7px 14px;font:500 17px/1.2 Portfolio Sans,system-ui}.gallery-views button[aria-selected=true]{color:#fffdf4;background:#37533f;box-shadow:0 2px 4px #2f4b2e20}.gallery-views button:focus-visible{outline-offset:3px;outline:3px solid #b48b43}#gallery-wall .gallery-heading-meta{gap:6px}#gallery-wall .gallery-heading-meta>.publication-shortcut{min-height:28px;padding:4px 12px;font-size:15px}.writing-layout{color:#30463b;grid-template-columns:1.15fr 1fr;gap:22px;display:grid}.writing-feature,.writing-note{background:linear-gradient(135deg,#fffdf4,#e8eee1);border:1px solid #d4ddcc;border-bottom:5px solid #bfccb7;border-radius:24px;padding:24px;box-shadow:inset 0 2px 1px #fff,0 10px 22px #32492e16}.writing-feature{flex-direction:column;display:flex}.writing-kicker{text-transform:uppercase;letter-spacing:.12em;color:#71816c;margin:0 0 15px;font:500 14px/1.3 Portfolio Sans,system-ui}.writing-feature .writing-title,.writing-note .writing-note-title{letter-spacing:-.025em;margin:16px 0 12px;font:500 33px/1.15 Portfolio Sans,Georgia,serif}.writing-book-name{margin:0 0 10px;font:20px/1.4 Portfolio Sans,system-ui}.writing-authors{color:#6b7e63;margin:0 0 18px;font:16px/1.5 Portfolio Sans,system-ui}.writing-feature>a{color:#35543b;background:#f8faef;border:1px solid #b7c8ad;border-radius:24px;align-self:flex-start;align-items:center;min-height:44px;margin-top:auto;padding:10px 16px;font:500 18px Portfolio Sans,system-ui;text-decoration:none;display:inline-flex}.writing-feature>a:hover{background:#dbe7d2}.writing-feature>a:focus-visible{outline-offset:4px;outline:3px solid #b48b43}.writing-notes{grid-template-rows:1fr 1fr;gap:20px;display:grid}.writing-note .writing-note-title{margin-top:0;font-size:34px}.writing-note>p:not(.writing-kicker){margin:0 0 12px;font:22px/1.5 Portfolio Sans,system-ui}.writing-note>p.writing-status{color:#6e8066;margin:0;font:16px/1.5 Portfolio Sans,system-ui}.writing-book-art{background:radial-gradient(at 30% 20%,#edf3db,#c7d6c4);border:1px solid #c9d5c0;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;height:150px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #39523412}.writing-book{color:#35543b;background:linear-gradient(120deg,#faf6e7,#dfe8d4);border-left:7px solid #35533d;border-radius:3px 8px 8px 3px;flex-direction:column;gap:7px;width:150px;height:129px;padding:13px 15px;display:flex;transform:perspective(600px)rotateY(-18deg)rotate(-7deg);box-shadow:3px 3px #cbd2be,7px 10px 14px #2d4b3038}.writing-book>span{letter-spacing:.17em;font:8px Portfolio Sans,system-ui}.writing-book strong{font:24px Georgia}.writing-book i{font:10px/1.4 Portfolio Sans,system-ui}.writing-book small{margin-top:auto;font:7px Portfolio Sans,system-ui}.writing-art-note{color:#708268;font:10px Portfolio Sans,system-ui;position:absolute;bottom:8px;right:10px}#gallery-wall #gallery-writing-panel>.writing-layout{height:574px}.writing-section{margin-top:26px}.writing-section>h3{margin:0 0 18px;font:500 27px Portfolio Sans,Georgia}#gallery-mobile .writing-layout,#readable .writing-layout{grid-template-columns:1fr;gap:16px}#gallery-mobile .writing-feature,#gallery-mobile .writing-note,#readable .writing-feature,#readable .writing-note{border-radius:20px;padding:20px}#gallery-mobile .writing-kicker,#readable .writing-kicker{font-size:10px}#gallery-mobile .writing-feature .writing-title,#gallery-mobile .writing-note .writing-note-title,#readable .writing-feature .writing-title,#readable .writing-note .writing-note-title{font-size:26px}#gallery-mobile .writing-book-name,#readable .writing-book-name{font-size:15px}#gallery-mobile .writing-authors,#readable .writing-authors{font-size:12px}#gallery-mobile .writing-feature>a,#readable .writing-feature>a{font-size:13px}#gallery-mobile .writing-note>p:not(.writing-kicker),#readable .writing-note>p:not(.writing-kicker){font-size:16px}#gallery-mobile .writing-note>p.writing-status,#readable .writing-note>p.writing-status{font-size:12px}#gallery-wall .gallery-eyebrow{margin-bottom:6px}.gallery-views button{min-height:44px;padding:9px 18px;font-size:20px}.gallery-views button[aria-selected=false]:hover{color:#314d35;background:#d6e2cd}#gallery-interaction-layer .project-card:hover,#gallery-interaction-layer .project-card:focus-within{border-color:#b8c9ab #b8c9ab #9fb594;box-shadow:inset 0 2px 1px #fff,0 4px 1px #a0af9838,0 15px 28px #304b3424}#project-case{width:min(960px,100% - 32px)}.case-toolbar{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8f6eef5;border-bottom:1px solid #d5ddcd;justify-content:space-between;align-items:center;gap:12px;margin:-12px 0 26px;padding:12px 0;display:flex;position:sticky;top:-40px}.case-pagination{align-items:center;gap:8px;display:flex}.case-pagination button{color:#344f39;background:#edf2e5;border:1px solid #c7d3be;border-radius:22px;min-height:44px;padding:10px 14px;font:500 14px/1.2 Portfolio Sans,system-ui}.case-pagination button:hover:not(:disabled){background:#dbe7cf}.case-pagination button:disabled{opacity:.4;cursor:default}.case-pagination button:focus-visible{outline-offset:3px;outline:3px solid #a67938}.case-count{text-align:center;color:#71816a;letter-spacing:.06em;min-width:44px;font:500 12px Portfolio Sans,system-ui}#project-case .case-close{float:none;flex-shrink:0;margin:0;padding:10px 16px;position:static}#project-case #case-title:focus{outline:none}#project-case .case-sections p{font-size:16px;line-height:1.75}#project-case .case-sections h3{font-size:25px}.gallery-section-nav{z-index:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#eef2e5f5;border:1px solid #c9d6be;border-radius:20px;gap:6px;margin:0 0 14px;padding:6px;display:flex;position:sticky;top:0;box-shadow:0 4px 12px #314c3210}.gallery-section-nav button{color:#405e42;background:0 0;border:0;border-radius:14px;flex:1;min-height:44px;padding:9px 8px;font:500 13px/1.3 Portfolio Sans,system-ui}.gallery-section-nav button[aria-pressed=true]{color:#fffdf4;background:#37533f;box-shadow:0 2px 4px #2f4b2e20}.gallery-section-nav button:focus-visible{outline-offset:2px;outline:3px solid #a67938}@media (width<=649px){.case-toolbar{gap:8px;margin:-10px 0 24px;padding:10px 0;top:-24px}.case-pagination{gap:5px}.case-pagination button{padding:9px 10px;font-size:12px}.case-count{min-width:32px;font-size:11px}#project-case .case-close{padding:10px 12px;font-size:12px}#project-case .case-sections p{font-size:15px}}.contact-content{color:#30463b;background:radial-gradient(at 100% 0,#e0e9da,#0000 60%),#f8f5ec;font-family:Portfolio Sans,system-ui,sans-serif}#contact-wall{backface-visibility:hidden;width:1400px;height:760px;padding:40px 48px}.contact-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#6b7e6c;margin:0 0 16px;font:500 14px/1.4 Portfolio Sans,system-ui}.contact-content h2{letter-spacing:-.045em;margin:0 0 16px;font:500 68px/1.04 Portfolio Sans,Georgia,serif}.contact-intro{color:#657861;max-width:900px;margin:0 0 30px;font:22px/1.5 Portfolio Sans,system-ui}.contact-channels{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.contact-channel{min-height:260px;color:inherit;background:linear-gradient(140deg,#fffdf6,#eaf0e5);border:1px solid #dce2d3;border-bottom:4px solid #b1c2a7;border-radius:26px;flex-direction:column;padding:24px 20px;text-decoration:none;display:flex;box-shadow:inset 0 2px 1px #fff,0 10px 22px #304b3414}.contact-channel img{object-fit:contain;opacity:.9;align-self:flex-start;width:48px;height:48px;margin:0 0 28px}.contact-channel strong{letter-spacing:-.025em;margin-bottom:10px;font:600 25px/1.2 Portfolio Sans,system-ui}.contact-channel>span{color:#657861;min-height:48px;font:16px/1.5 Portfolio Sans,system-ui}.contact-channel small{color:#667661;margin-top:auto;padding-top:18px;font:13px/1.4 Portfolio Sans,system-ui}.contact-channel[data-channel=discord]{background:linear-gradient(140deg,#fffdf9,#e8e9f0)}.contact-footer{border-top:1px solid #ccd6c4;justify-content:space-between;align-items:center;gap:18px;margin-top:34px;padding-top:22px;display:flex}.contact-footer p{margin:0;font:500 19px/1.5 Portfolio Sans,system-ui}.contact-footer p span{color:#718174;font-size:14px;font-weight:400;display:block}.contact-footer>div{gap:12px;display:flex}.contact-footer button{color:#365340;background:0 0;border:1px solid #ccd6c4;border-radius:28px;min-height:48px;padding:10px 20px;font:500 18px/1.4 Portfolio Sans,system-ui}.contact-footer button[data-replay]{color:#fffdf4;background:#365340;border-color:#365340}.contact-footer button:hover{box-shadow:0 4px 12px #314c3220}#contact-interaction-layer{z-index:2;pointer-events:none;position:fixed;inset:0;overflow:hidden}#contact-interaction-layer[hidden],#contact-mobile[hidden]{display:none!important}#contact-interaction-layer #contact-wall{transform-origin:0 0;pointer-events:auto;position:absolute}#skills-travel-layer #contact-wall{pointer-events:none}body.contact-visible #scroll-cue{display:none}#contact-mobile{z-index:3;overscroll-behavior:contain;border:1px solid #d6d8c8;border-radius:22px;max-height:73svh;padding:24px 20px;position:fixed;bottom:16px;left:14px;right:14px;overflow:auto;box-shadow:0 12px 40px #203c3020}#contact-mobile h2{font-size:38px}#contact-mobile .contact-eyebrow{font-size:10px}#contact-mobile .contact-intro{margin-bottom:22px;font-size:16px}#contact-mobile .contact-channels,#readable .contact-channels{grid-template-columns:1fr 1fr;gap:10px}#contact-mobile .contact-channel,#readable .contact-channel{border-radius:18px;min-height:175px;padding:16px 13px}#contact-mobile .contact-channel img,#readable .contact-channel img{width:32px;height:32px;margin-bottom:16px}#contact-mobile .contact-channel strong,#readable .contact-channel strong{font-size:18px}#contact-mobile .contact-channel>span,#readable .contact-channel>span{min-height:36px;font-size:12px}#contact-mobile .contact-channel small,#readable .contact-channel small{padding-top:12px;font-size:11px}#contact-mobile .contact-footer{flex-wrap:wrap;gap:10px;margin-top:20px}#contact-mobile .contact-footer button{padding:10px 14px;font-size:13px}#contact-mobile:focus-visible{outline-offset:3px;outline:3px solid #b48b43}#contact-mobile .contact-channels li:last-child,#readable .contact-channels li:last-child{grid-column:1/-1}#contact-mobile .contact-channels li:last-child .contact-channel,#readable .contact-channels li:last-child .contact-channel{grid-template-columns:40px 1fr;column-gap:12px;min-height:112px;display:grid}#contact-mobile .contact-channels li:last-child img,#readable .contact-channels li:last-child img{grid-row:1/4;align-self:center;margin:0}#contact-mobile .contact-channels li:last-child .contact-channel>span,#readable .contact-channels li:last-child .contact-channel>span{min-height:0}#contact-mobile .contact-channels li:last-child small,#readable .contact-channels li:last-child small{padding-top:6px}.options-panel{overscroll-behavior:contain;max-height:calc(100svh - 105px);overflow:auto}#exit-end{z-index:3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#30463b;text-align:center;background:#f6f5ebde;border:1px solid #ffffff50;border-radius:24px;width:min(420px,100% - 36px);padding:22px 26px;position:fixed;bottom:32px;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #142a231c}#exit-end[hidden]{display:none!important}#exit-end .contact-eyebrow{margin-bottom:8px;font-size:10px}#exit-end h2{letter-spacing:-.035em;margin:0 0 8px;font:500 29px/1.1 Portfolio Sans,Georgia,serif}#exit-end>p:not(.contact-eyebrow){color:#61745f;margin:0 0 16px;font:14px/1.5 Portfolio Sans,system-ui}#exit-end>div{justify-content:center;gap:8px;display:flex}#exit-end button{color:#365340;background:0 0;border:1px solid #c5d2bf;border-radius:24px;min-height:44px;padding:10px 16px;font:500 13px Portfolio Sans,system-ui}#exit-end button[data-replay]{color:#fffdf4;background:#365340;border-color:#365340}body:has(#exit-end:not([hidden])) #scroll-cue{display:none}@media (width>=650px){body.contact-visible #scroll-cue{display:flex}}@media (width<=649px){#exit-end{padding:18px 20px;bottom:20px}#exit-end h2{font-size:26px}}:root{--font-sans:"Portfolio Sans",system-ui,sans-serif;--font-display:"Portfolio Sans",Georgia,serif;font-optical-sizing:auto}button,a,input,summary{font-family:var(--font-sans)}#intro-wall h2{font:500 124px/1.04 var(--font-display);letter-spacing:-.035em;margin-bottom:28px}#intro-wall .intro-degree{letter-spacing:-.02em;font-weight:400}#intro-wall .intro-bio{letter-spacing:-.015em;font-size:44px;line-height:1.45}#story-wall h2{font:500 56px/1.06 var(--font-display);letter-spacing:-.025em;margin:14px 0 22px}#leadership-wall h2{font:500 52px/1.08 var(--font-display);letter-spacing:-.025em}.highlight-card strong{letter-spacing:-.025em;font-weight:600}.highlight-card span{letter-spacing:-.01em}#story-wall .story-eyebrow,#leadership-wall .story-eyebrow{letter-spacing:.16em;font-size:18px}#skills-wall.tool-workspace h2{letter-spacing:-.025em;font-size:62px}#gallery-wall .gallery-heading h2{letter-spacing:-.025em;font-size:56px}.project-card .project-title{letter-spacing:-.02em}.project-summary,.writing-feature p,.writing-note p{letter-spacing:-.012em}.contact-content h2{letter-spacing:-.025em;font-size:70px;line-height:1.02}.contact-channel strong{letter-spacing:-.025em;font-weight:600}#project-case h2{letter-spacing:-.025em;font-size:60px}.case-lead{letter-spacing:-.015em}#readable h2,#readable h3,#readable h4{font-family:var(--font-display);letter-spacing:-.02em;font-weight:500}#readable h3{margin:28px 0 14px;font-size:26px}#readable .project-title{font-size:30px}#intro-mobile h2{font-size:28px}#story-mobile h2{font-size:29px}#gallery-mobile h2,#contact-mobile h2{letter-spacing:-.025em;font-size:38px;line-height:1.05}#exit-end h2{letter-spacing:-.02em;font-size:31px}#experience-options summary{font-weight:600}.options-panel{box-shadow:0 16px 48px #1d352629}@media (width<=649px){#project-case h2{font-size:42px}#exit-end h2{font-size:28px}.contact-content h2{font-size:38px}}#loading{z-index:10;font-family:var(--font-sans);letter-spacing:0;color:#30463b;-webkit-backdrop-filter:none;backdrop-filter:none;background:radial-gradient(at 75% 30%,#e2ebdc,#0000 55%),#f5f2e9;border-radius:0;flex-direction:column;justify-content:space-between;padding:32px clamp(24px,6vw,96px);font-size:16px;display:flex;position:fixed;inset:0;overflow:auto;transform:none}#loading[hidden]{display:none!important}.loading-top{font:500 10px/1.5 var(--font-sans);letter-spacing:.15em;color:#6f806b;justify-content:space-between;gap:20px;display:flex}.loading-center{text-align:center;margin:24px 0}.loading-house{fill:none;stroke:#789078;stroke-width:1px;stroke-linejoin:round;stroke-linecap:round;width:120px;height:80px;margin-bottom:24px}.loading-center .contact-eyebrow{letter-spacing:.17em;margin-bottom:14px;font-size:10px}#loading h2{font:500 clamp(52px,7vw,92px)/1 var(--font-display);letter-spacing:-.035em;margin:0 0 20px}.loading-intro{font:16px/1.65 var(--font-sans);color:#71806a;margin:0}.loading-bottom{width:min(540px,100%);margin:0 auto}.loading-progress-heading{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:14px;display:flex}.loading-progress-heading p{font:13px/1.5 var(--font-sans);color:#687b62;margin:0}.loading-progress-heading>span{white-space:nowrap}#loading-percent{font:400 48px/1 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.04em}.loading-progress-heading small{font:12px var(--font-sans);color:#71806a;margin-left:5px}#loading-progress{appearance:none;background:#d6dfce;border:0;border-radius:3px;width:100%;height:2px;margin:0 0 24px;display:block}#loading-progress::-webkit-progress-bar{background:#d6dfce}#loading-progress::-webkit-progress-value{background:#365340}#loading-progress::-moz-progress-bar{background:#365340}.loading-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.loading-actions button{min-height:46px;font:500 13px var(--font-sans);color:#536c4e;background:0 0;border:1px solid #cbd6c2;border-radius:28px;padding:12px 22px}#enter-tour{color:#fffdf4;background:#365340;border-color:#365340;min-width:175px}#enter-tour:disabled{opacity:.48;cursor:progress}.loading-footnote{text-align:center;color:#8a9580;font:11px/1.5 var(--font-sans);margin:18px 0 0}.is-loading #scroll-cue{visibility:hidden}@media (width<=649px){#loading{padding:24px}.loading-top span:last-child{display:none}.loading-center{margin:22px 0}.loading-house{width:90px;height:60px;margin-bottom:20px}#loading h2{font-size:54px}.loading-intro{font-size:14px}.loading-actions{gap:8px}.loading-actions button{padding:11px 15px;font-size:12px}.loading-progress-heading p{font-size:12px}.loading-footnote{font-size:10px}}@media (height<=650px){#loading{padding-top:20px;padding-bottom:20px}.loading-house{display:none}.loading-center{margin:18px 0}#loading h2{font-size:48px}.loading-intro{font-size:13px}.loading-footnote{margin-top:12px}}.loading-house path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--prepared-fraction,0));transition:stroke-dashoffset .35s ease-out}@media (prefers-reduced-motion:reduce){.loading-house path{transition:none}}:root{--paper:#f5f3eb;--surface:#faf9f4;--surface-muted:#eeeee7;--ink:#293c32;--ink-muted:#607064;--accent:#365340;--hairline:#293c3224;--radius:16px;--radius-large:24px;--shadow-soft:0 2px 6px #1d302312}.gallery-content,.contact-content,#skills-wall.tool-workspace{background:var(--paper);color:var(--ink)}.project-card,.writing-feature,.writing-note,.contact-channel,.contact-channel[data-channel=discord]{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-large);box-shadow:var(--shadow-soft)}.project-art,.project-art.vision,.project-art.forecast{background:var(--surface-muted);box-shadow:none}.highlight-card{background:var(--surface-muted);border-color:var(--hairline)}.tool-stage{background:var(--surface-muted);border-color:var(--hairline);box-shadow:none}.tool-workspace .tool-tile{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow-soft);border-bottom:2px solid #bac6b9}.tool-tile img{filter:none}.tool-workspace .tool-tile.picked-up{border-color:var(--accent);box-shadow:0 6px 14px #293c3220}.tool-workspace .tool-tile[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}.project-summary,.writing-feature p,.writing-note p,.contact-intro{letter-spacing:-.01em;line-height:1.5}#gallery-wall .gallery-heading h2,#skills-wall.tool-workspace h2,.contact-content h2{letter-spacing:-.03em;line-height:1.1}.project-card button:hover{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.options-panel,.gallery-section-nav,.case-toolbar{background:var(--paper);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:none;backdrop-filter:none}#exit-end{background:var(--paper);border-color:var(--hairline);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:none;backdrop-filter:none}#readable{background:var(--paper);color:var(--ink)}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,.tool-workspace button:focus-visible,.project-card button:focus-visible,.writing-feature>a:focus-visible,.gallery-section-nav button:focus-visible,.case-pagination button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}#loading{background:var(--paper);color:var(--ink);grid-template-rows:1fr;grid-template-columns:minmax(0,1fr);place-content:normal;place-items:center;padding:24px;display:grid;overflow:hidden}#loading h2{font:750 clamp(30px,8vw,112px)/1.15 var(--font-sans);color:#202c25;letter-spacing:-.045em;white-space:nowrap;perspective:700px;max-width:none;margin:0}#loading-letters{justify-content:center;align-items:center;display:flex}.reveal-letter{text-align:center;transform-origin:50% 55%;backface-visibility:hidden;will-change:transform,opacity;width:.74em;height:1em;line-height:1;display:inline-block}.reveal-window{height:1em;display:block;overflow:hidden}.reveal-reel{will-change:transform;line-height:1;display:block}.reveal-reel>span{height:1em;line-height:1;display:block}.loading-access{flex-wrap:wrap;justify-content:center;gap:12px;display:flex;position:absolute;bottom:24px;left:24px;right:24px}.loading-access button{clip-path:inset(50%);background:var(--paper);width:1px;height:1px;color:var(--ink);font:14px var(--font-sans);border:0;padding:0;position:absolute;overflow:hidden}.loading-access button:focus-visible,#loading[data-state=failed] .loading-access button:not([hidden]){clip-path:none;border:1px solid var(--hairline);border-radius:16px;width:auto;height:auto;min-height:44px;padding:12px 20px;position:static}#loading[data-state=failed] .sr-only{clip-path:none;white-space:normal;text-align:center;width:auto;height:auto;position:static}#loading[data-state=failed]{align-content:center;gap:24px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}:root{--font-display:var(--font-sans);--ink:#353535;--ink-muted:#626262;--accent:#294f80;--hairline:#35353524}#intro-wall,#story-wall,#leadership-wall,.gallery-content,.contact-content,#skills-wall.tool-workspace{color:var(--ink)}#intro-wall h2,#story-wall h2,#leadership-wall h2,#skills-wall.tool-workspace h2,#gallery-wall .gallery-heading h2,.contact-content h2,#project-case h2,#readable h2,#readable h3,#readable h4,#exit-end h2{font-family:var(--font-sans);letter-spacing:-.025em;font-weight:500}#intro-wall h2{font-size:108px}#leadership-wall h2{font-size:43px}#skills-wall.tool-workspace h2{font-size:56px}#gallery-wall .gallery-heading h2{font-size:50px}.contact-content h2{font-size:62px}.project-card .project-title,.writing-feature .writing-title,.writing-note .writing-note-title{font-family:var(--font-sans);letter-spacing:-.025em;font-size:31px;font-weight:700}.project-summary,.writing-feature p,.writing-note p,.contact-intro{color:var(--ink);font-weight:350;line-height:1.6}#intro-wall .intro-degree{font-weight:400;line-height:1.6}#intro-wall .intro-degree span:last-child{font-weight:700}#intro-wall .intro-bio{font-size:42px;font-style:italic;font-weight:350;line-height:1.6}.highlight-card strong,.contact-channel strong{color:var(--ink);font-weight:700}.project-card button,.writing-feature>a,.publication-shortcut{color:var(--accent);font-weight:700}.gallery-views button[aria-selected=true],.tool-filters button[aria-pressed=true]{background:var(--accent);color:#fafafa}.gallery-eyebrow,.contact-eyebrow,.story-eyebrow,.project-index,.tool-tile small,.project-art-note{color:var(--ink-muted)}#readable{font-weight:350}#readable strong,#readable a{font-weight:700}#readable a{color:var(--accent)}#intro-mobile .intro-bio{font-style:italic}#intro-mobile .intro-degree span:last-child{font-weight:700}@media (width<=649px){#gallery-mobile h2,#contact-mobile h2{font-family:var(--font-sans);font-size:32px;font-weight:500}#gallery-mobile .project-title,#gallery-mobile .writing-title,#gallery-mobile .writing-note-title{font-size:25px}#skills-mobile.tool-workspace h2,#story-mobile h2{font-family:var(--font-sans);font-weight:500}}#skills-interaction-layer,#gallery-interaction-layer,#contact-interaction-layer{z-index:0}#text-interaction-layer{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}#text-interaction-layer[hidden]{display:none!important}#text-interaction-layer>section{transform-origin:0 0;pointer-events:auto;-webkit-user-select:text;user-select:text;position:absolute}#text-interaction-layer>section[hidden]{display:none!important}#intro-wall{background:#fbfaf3}#story-wall{width:760px;padding:22px 26px}#story-wall .story-eyebrow{letter-spacing:.12em;font-size:14px;line-height:1.4}#story-wall h2{margin:8px 0 12px;font-size:36px;line-height:1.15}.experience-list{gap:10px;display:grid}.experience-card{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;grid-template-columns:80px minmax(0,1fr);gap:16px;padding:12px;display:grid}.experience-brand{flex-direction:column;justify-content:flex-start;align-items:center;gap:6px;padding-top:2px;display:flex}.experience-brand img{object-fit:contain;background:#263a55;border-radius:7px;width:80px;height:38px;padding:6px}.experience-monogram{border:1px solid var(--hairline);width:54px;height:46px;color:var(--ink);background:#e8e9e3;border-radius:10px;place-items:center;font-size:23px;font-weight:700;display:grid}.experience-brand small{color:var(--ink-muted);white-space:nowrap;font-size:10px}.experience-card h3{font:700 25px/1.15 var(--font-sans);letter-spacing:-.025em;margin:0 0 3px}#story-wall .experience-role,.experience-role{font:500 17px/1.3 var(--font-sans);color:var(--accent);margin:0 0 5px}#story-wall .experience-summary,.experience-summary{font:350 18px/1.4 var(--font-sans);color:var(--ink);margin:0}#story-mobile .experience-card,#readable .experience-card{grid-template-columns:54px minmax(0,1fr);gap:10px;padding:12px}#story-mobile .experience-card h3,#readable .experience-card h3{font:700 17px/1.3 var(--font-sans);letter-spacing:-.02em;margin:0 0 4px}#story-mobile .experience-role,#readable .experience-role{font-size:12px}#story-mobile .experience-summary,#readable .experience-summary{font-size:13px;line-height:1.5}#story-mobile .experience-brand img,#readable .experience-brand img{width:54px;height:38px;padding:5px}#story-mobile .experience-brand small,#readable .experience-brand small{font-size:10px}#story-mobile .experience-monogram,#readable .experience-monogram{width:46px;height:42px;font-size:20px}#story-mobile{max-height:66svh}#story-wall{width:1100px;height:520px;padding:20px 24px}#story-wall h2{font-size:38px}#story-wall .experience-card{padding:10px}#story-wall .experience-role{margin-bottom:4px;font-size:20px;line-height:1.25}#story-wall .experience-summary{font-size:22px;line-height:1.35}:is(#intro-wall,#intro-mobile,#readable) .intro-note,:is(#skills-wall,#skills-mobile) .tool-counter,#skills-wall.tool-workspace .skills-eyebrow,.project-art-note,.project-index,.project-stack,.project-tech,.writing-kicker,.writing-book-name,.writing-authors,.writing-status,.contact-channel>span,.contact-channel small,.contact-footer p span,.case-note,.case-meta,.case-count{color:var(--ink-muted)}#intro-wall h2{margin-bottom:24px;font-size:96px}#intro-wall .intro-lead{font-size:42px;font-weight:350;line-height:1.4}#intro-wall .intro-lead strong{font-weight:700}#intro-wall .intro-bio{margin-top:20px;font-size:38px;line-height:1.45}#intro-wall .intro-note{margin-top:24px}#intro-mobile .intro-lead{grid-column:1/-1;margin:0;font-size:14px;line-height:1.5}#intro-mobile .intro-lead strong{font-weight:700}#intro-mobile{max-height:58svh}#hackathon-wall{background:var(--paper);width:850px;height:1000px;color:var(--ink);-webkit-user-select:text;user-select:text;padding:26px 30px}#hackathon-wall h2{font:500 43px/1.12 var(--font-sans);letter-spacing:-.025em;margin:0 0 18px}.competition-card{border-top:1px solid var(--hairline);padding:12px 0}.competition-card h3{font:700 29px/1.18 var(--font-sans);letter-spacing:-.02em;margin:0 0 5px}.competition-result{font:500 26px/1.3 var(--font-sans);color:var(--accent)}.competition-card p{font:350 26px/1.35 var(--font-sans);margin:5px 0 0}#hackathon-wall .additional-heading{font:500 20px/1.4 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin:18px 0 0}#story-mobile [data-study-panel][hidden]{display:none}#story-mobile .competition-card h3,#readable .competition-card h3{font-size:17px}#story-mobile .competition-result,#readable .competition-result{font-size:14px}#story-mobile .competition-card p,#readable .competition-card p{font-size:14px;line-height:1.5}#story-wall{height:600px}.experience-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.experience-top h3{min-width:0}.experience-top a{color:inherit;text-decoration:none}.experience-top a:hover{text-underline-offset:4px;text-decoration:underline}#story-wall .experience-date,.experience-date{font:500 18px/1.3 var(--font-sans);color:var(--ink-muted);white-space:nowrap;margin:0}#story-wall .experience-card{grid-template-columns:100px minmax(0,1fr);gap:16px;padding:10px 12px}#story-wall .experience-card h3{font-size:30px;line-height:1.2}#story-wall .experience-role{margin:4px 0 6px;font-size:19px;line-height:1.3}.experience-contributions{font:350 21px/1.35 var(--font-sans);margin:0;padding-left:20px}.experience-brand img{object-fit:contain;width:100px;height:65px;padding:6px}.experience-brand img[data-company=SkillSync\ Startup]{object-fit:cover;padding:0}:is(#story-mobile,#readable) .experience-top{display:block}:is(#story-mobile,#readable) .experience-date{white-space:normal;margin:3px 0 6px;font-size:11px}:is(#story-mobile,#readable) .experience-contributions{padding-left:16px;font-size:13px;line-height:1.5}:is(#story-mobile,#readable) .experience-contributions li+li{margin-top:5px}:is(#story-mobile,#readable) .experience-role{font-size:12px}:is(#story-mobile,#readable) .experience-brand img{width:54px;height:45px;padding:4px}:is(#story-mobile,#readable) .experience-brand img[data-company=SkillSync\ Startup]{padding:0}.experience-card .experience-brand{justify-content:flex-end;align-self:stretch;align-items:center;padding:0 0 4px}#bird-interaction{z-index:2;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:50%;width:44px;height:44px;padding:0;position:fixed;transform:translate(-50%,-50%)}#bird-interaction[hidden]{display:none}#bird-interaction:focus-visible{outline:2px solid var(--accent);outline-offset:2px;background:#f5f3eb22}.bird-actions{border:0;border-top:1px solid #293c3822;flex-wrap:wrap;gap:6px;margin:0;padding:10px 0;display:flex}.bird-actions legend{color:var(--ink);padding:0 5px 0 0;font-size:12px}.bird-actions button{min-height:36px;padding:8px;font-size:12px}.reading-shortcut{z-index:6;clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:fixed;top:16px;left:16px;overflow:hidden}.reading-shortcut:focus-visible{clip-path:none;background:var(--paper);width:auto;height:auto;min-height:44px;color:var(--ink);border:1px solid var(--hairline);box-shadow:var(--shadow-soft);border-radius:16px;padding:12px 20px}#readable{background:var(--paper);border:1px solid var(--hairline);overscroll-behavior:contain;scrollbar-gutter:stable;width:min(760px,100% - 32px);max-height:calc(100svh - 48px);padding:clamp(24px,5vw,48px)}#readable p{max-width:68ch;font-size:16px;line-height:1.65}#readable h2{margin:0 0 24px}#readable>h3,#readable>section>h3{border-top:1px solid var(--hairline);margin-top:36px;padding-top:24px}#readable-title{width:fit-content;max-width:100%}#readable figure{margin:24px 0}#readable figure img{border-radius:14px}#readable figcaption{color:var(--ink-muted);margin-top:6px;font-size:12px}#readable .experience-contributions{font-size:15px;line-height:1.6}#readable .experience-role{font-size:14px}#readable .experience-date{font-size:12px}#readable-title:focus-visible{outline:2px solid var(--accent);outline-offset:8px;border-radius:4px}#readable [data-reading-section]:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:4px}#resume-3d{min-height:44px;margin-top:28px}#project-case{background:var(--paper);color:var(--ink)}.case-pagination button,.case-close{color:var(--ink)}.case-pagination button:hover:not(:disabled),.case-close:hover{background:var(--surface-muted)}:is(#intro-mobile,#story-mobile,#skills-mobile,#gallery-mobile,#contact-mobile):focus-visible{outline:2px solid var(--accent);outline-offset:4px}@supports (padding:max(0px)){.identity{top:max(30px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left))}#experience-options{top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right))}#scroll-cue{bottom:max(24px,env(safe-area-inset-bottom))}}@media (width<=649px){:is(#intro-mobile,#story-mobile,#skills-mobile,#gallery-mobile,#contact-mobile){bottom:max(16px,env(safe-area-inset-bottom))}#story-mobile .experience-contributions{font-size:14px;line-height:1.5}#readable{max-height:calc(100svh - 32px)}#readable h2{font-size:36px}.bird-actions button{min-height:44px}}@media (prefers-contrast:more){:root{--ink-muted:#454545;--hairline:#35353573}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline-width:3px}}.project-card,.writing-feature,.contact-channel{transition:border-color .16s,box-shadow .16s}.project-card:focus-within,.writing-feature:focus-within,.contact-channel:focus-visible{border-color:var(--accent);box-shadow:0 2px 5px #293c3210,0 8px 18px #293c3210}.project-card button,.writing-feature>a,.contact-footer button,.case-pagination button,.case-close,.contact-copy{transition:background-color .16s,color .16s,border-color .16s}.project-art{transition:transform .22s cubic-bezier(.2,.7,.2,1)}@media (hover:hover) and (pointer:fine){.project-card:hover,.writing-feature:hover,.contact-channel:hover{border-color:#9ca99f;box-shadow:0 2px 5px #293c3210,0 8px 18px #293c3210}.project-card:hover .project-art{transform:translateY(-3px)}.project-card:hover .project-title{color:var(--accent)}}.project-card button:active,.writing-feature>a:active,.contact-footer button:active,.case-pagination button:active,.case-close:active{background-color:var(--surface-muted)}.contact-email{min-height:60px;color:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin-top:24px;display:flex}.contact-email-address{font:400 21px/1.5 var(--font-sans);overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.contact-copy{border:1px solid var(--hairline);background:var(--surface);min-width:160px;min-height:60px;color:var(--ink);font:500 19px/1.4 var(--font-sans);border-radius:16px;padding:12px 22px}.contact-copy:hover{border-color:var(--accent)}.contact-copy.is-copied{background:var(--accent);border-color:var(--accent);color:#fff}.contact-copy:disabled{cursor:wait}.contact-copy-status{font:14px/1.5 var(--font-sans);color:var(--ink-muted);flex-basis:100%}:is(#contact-mobile,#readable) .contact-email{justify-content:flex-start;gap:10px 16px;margin-top:20px}:is(#contact-mobile,#readable) .contact-email-address{font-size:14px}:is(#contact-mobile,#readable) .contact-copy{border-radius:12px;min-width:108px;min-height:44px;padding:10px 14px;font-size:14px}body[data-reduced-motion=true] *,body[data-reduced-motion=true] :before,body[data-reduced-motion=true] :after{transition:none!important;animation:none!important}body[data-reduced-motion=true] .project-art{transform:none!important}@media (prefers-reduced-motion:reduce){.project-art{transform:none!important}}
