@font-face{font-family:Newsreader;src:url(/fonts/newsreader-variable.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Public Sans;src:url(/fonts/public-sans-variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}.experience-root:has(.portfolio-app){background:radial-gradient(ellipse at 90% 5%,#7d685755,transparent 38%),linear-gradient(160deg,#38312c,#302a25 45%,#43372e);--accent:#dab597;--ink:#f7f3f0;--muted:#decfc2;--line:#e7ceb936;--bg:#2e2823}.experience-root:has(.portfolio-app) .flow-field{opacity:.2!important;filter:hue-rotate(95deg) saturate(1.2)}.experience-root:has(.portfolio-app) .scene-shade{background:radial-gradient(ellipse at 40% 8%,#a9805f1c,transparent 65%)}.experience-root:has(.portfolio-app) .scene-grain{opacity:.012}.experience-root:has(.portfolio-app) .pitch-backdrop{color:#e2c4ac;opacity:.07;transform:perspective(850px) rotateX(35deg) rotate(-12deg)}.portfolio-app{--font-display:Newsreader,Georgia,serif;--font-body:"Public Sans",Arial,sans-serif;--font-mono:"Public Sans",Arial,sans-serif;font-family:var(--font-body);color:#f7f3f0;line-height:1.8}.portfolio-app h1,.portfolio-app h2,.portfolio-app h3{font-family:var(--font-display);font-stretch:normal;font-weight:500;letter-spacing:-.035em}.portfolio-app p{color:#dfd0c4}.portfolio-app a,.portfolio-app button{font-family:var(--font-body)}.portfolio-app .identity-symbol,.portfolio-app .identity>span:last-child{font-family:var(--font-body);font-stretch:normal;letter-spacing:-.035em;font-weight:600}.portfolio-app .identity small{font-family:var(--font-body);letter-spacing:.07em;font-size:8px;color:#ddcec1}.portfolio-app>.site-header{max-width:1460px;padding-left:5%;padding-right:5%;border-bottom:1px solid #e3c7b024}.portfolio-app .header-resume{font-size:12px;letter-spacing:0;border-color:#e2c5ad58}.portfolio-app .chapter-caption{font-family:var(--font-body);font-size:11px;letter-spacing:.03em;color:#f4e8de;margin-bottom:38px}.portfolio-app .chapter-caption>span:last-child{font-size:11px;color:#e3c7b1}.chapter-engineer>.section-intro{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:7%;min-height:calc(70svh - 150px);padding:45px 0 25px;position:relative;isolation:isolate}.chapter-engineer>.section-intro:after{content:"";position:absolute;right:3%;top:0;width:39%;height:100%;border:1px solid #dbb79a20;border-radius:50%;transform:rotate(-25deg);z-index:-1;pointer-events:none}.chapter-engineer>.section-intro h1{font:500 clamp(49px,5.6vw,92px)/1.04 var(--font-display);letter-spacing:-.04em;max-width:740px}.chapter-engineer>.section-intro h1 em{font-family:inherit;font-weight:400;color:#dfbfa4;font-style:italic;font-size:1em}.chapter-engineer>.section-intro>p{font-size:15px;line-height:1.95;max-width:410px;color:#e3d6cb}.story-header{border-color:#ddba9e47;padding-top:24px}.story-header h2{font:400 13px var(--font-body);letter-spacing:0;color:#f6eee7}.story-header>span{font:10px var(--font-body);letter-spacing:.02em;color:#d5c1b0}.match-story-stage{background:radial-gradient(ellipse at 75% 50%,#b4907324,transparent 55%);padding-bottom:105px;overflow:hidden}.story-phase{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6%;padding:15px 0;min-width:0}.story-copy>p:first-child{font:11px var(--font-body);letter-spacing:.04em;color:#e6cdb8}.story-copy h3{font:500 clamp(76px,9.4vw,154px)/1 var(--font-display);letter-spacing:-.06em;color:#faf5f0;margin:20px 0 22px}.story-phase-1 .story-copy h3{color:#ebd7c7}.story-phase-2 .story-copy h3{color:#e1c2a9}.story-copy h4{font:500 clamp(21px,2vw,29px)/1.35 var(--font-body);letter-spacing:-.04em;max-width:440px;margin-bottom:20px}.story-description{font:400 14px/1.9 var(--font-body);max-width:430px;color:#e3d6cb!important}.story-copy small{font:10px/1.9 var(--font-body);letter-spacing:0;color:#e0c0a5;margin-top:25px}.story-artifact-wrap{min-width:0;padding:30px 36px 30px 12px;display:flex;justify-content:center;align-items:center;transform-origin:center}.story-artifact{width:100%;max-width:500px;min-height:315px;padding:27px;border:1px solid #e6cdb86b;border-radius:10px;background:linear-gradient(145deg,#816b59,#5c4d40);box-shadow:12px 17px 0 #2e282440,0 30px 70px #1d191655;color:#fbf8f5}.story-artifact:before{border-color:#e8d1be16}.artifact-bar{font:10px var(--font-body);letter-spacing:.015em;color:#f0e1d5;border-color:#e6cdb84d;padding-bottom:20px}.artifact-bar>i{border-color:#e9d3c185;width:5px;height:5px}.artifact-code{font:12px/1.5 Azeret Mono,Consolas,monospace;color:#f3e7dd;gap:10px}.artifact-code .code-comment{font-size:9px;color:#e1c3aa}.artifact-code b{color:#e2c5ae}.artifact-validation{right:-12px;bottom:32px;background:#dab597;color:#3f3730;border-color:#e1c3aa;padding:17px 20px;min-width:150px;transform:rotate(3deg)}.artifact-validation small,.artifact-validation>span{color:#514439;font-family:var(--font-body);letter-spacing:.015em}.artifact-validation>span{font-size:8px}.artifact-validation>strong{font:600 44px/1.25 var(--font-body);letter-spacing:-.05em}.artifact-validation>strong>span{color:#514439;font-size:26px}.artifact-validation small{font-size:9px}.artifact-caption{font:9px/1.6 var(--font-body);letter-spacing:.01em;color:#e9d2bf;border-color:#e6cdb838}.artifact-steps>div{border-color:#e6cdb830;padding:21px 2px}.artifact-steps strong{font:500 16px var(--font-body);letter-spacing:-.025em}.artifact-steps svg{color:#e2c4ab}.artifact-steps>div>span{display:none}.artifact-stamp{right:-12px;bottom:27px;background:#a98160;border-color:#e0c0a5;color:#f8f0ea;padding:15px 20px;transform:rotate(-3deg)}.artifact-stamp span{font:8px var(--font-body);letter-spacing:.04em}.artifact-stamp b{font:500 21px/1.7 var(--font-display);letter-spacing:-.02em}.artifact-records>div{border-color:#e6cdb830;padding:23px 0 20px}.artifact-records span{font:10px var(--font-body);letter-spacing:.03em;color:#ead4c2}.artifact-records b{font:500 21px var(--font-body);letter-spacing:-.035em}.artifact-2{background:linear-gradient(140deg,#504338,#3b342e);border-color:#ce9d757a}.artifact-2 .artifact-records span{color:#d9b394}.artifact-2 .artifact-caption{color:#e0c0a5}.story-timeline-track{background:#e2c5ae42}.story-timeline-track>i{background:#dab597}.story-timeline>button{font:13px var(--font-body);color:#dcb99d;padding:11px 0}.story-timeline>button[aria-current]{color:#f7efe8}.story-timeline>button>span{display:none}.journey-chapter .about-grid{background:linear-gradient(115deg,#705d4d7d,#463a3180);border-color:#e2c5ae42;border-radius:5px}.about-grid article+article{border-color:#e2c5ae42}.about-grid .eyebrow,.toolbox .eyebrow{font:11px var(--font-body);letter-spacing:.025em;color:#e5cbb6}.journey-chapter .about-grid h2{font-size:36px;line-height:1.15}.about-grid article>p:not(.eyebrow){font-size:14px;color:#ecd8c8}.role-line{font-family:var(--font-body);color:#fbf7f4!important}.role-line span{font:10px var(--font-body);color:#d6c2b2}.case-stats strong,.quiet-stat strong{font:500 44px/1.2 var(--font-body);font-stretch:normal;color:#debea2;letter-spacing:-.045em}.case-stats span,.quiet-stat span{font:11px/1.7 var(--font-body);color:#e4cab4}.toolbox>div>span{padding:10px 15px;font-size:13px;color:#f3e7de;background:#74615140;border-color:#dbb79945;border-radius:40px}.toolbox>div>span b{display:none}.about-bottom>p{font-size:14px;line-height:1.9}.about-bottom button{font-size:13px}.contact-view>h2,.work-title h2{font:500 clamp(48px,5.4vw,84px)/1.07 var(--font-display);letter-spacing:-.045em}.contact-view>h2 em,.work-title h2 em{font-family:inherit;font-style:italic;color:#debea2;font-weight:400}.work-title>span{font:11px var(--font-body);letter-spacing:.03em;color:#e4cab4}.chapter-work>.project-tabs{position:relative;top:auto;backdrop-filter:none;background:none;border:0;border-top:1px solid #e0c0a63b;border-bottom:1px solid #e0c0a63b;border-radius:0;padding:0;gap:0}.portfolio-app .project-tabs button{font:500 16px var(--font-body);font-stretch:normal;letter-spacing:-.025em;padding:19px 22px;color:#e0c0a5;min-height:60px}.project-tabs button[aria-pressed=true]{color:#f9f3ef;background:#ae886912}.project-tab-marker{background:#dab596}.project-tabs button>span{display:none}.project-tabs button svg{width:15px}.project-reel-controls>span{font:11px var(--font-body);letter-spacing:0;color:#e2c5ad}.project-reel-controls button{border-color:#e2c5ad50}.project-reel-controls button:hover{background:#dab596;color:#3f3730}.project-case{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;align-items:start;gap:45px 6%;border-color:#dbb69736;padding:70px 0 80px;min-height:0;scroll-margin-top:30px}.project-story{grid-column:1;grid-row:1;min-width:0}.project-case .project-story{padding-top:10px;align-self:start}.project-story .eyebrow{font:11px var(--font-body);letter-spacing:.025em;color:#debea2;gap:20px}.project-story .eyebrow>span{font-size:10px;color:#d4c0af}.project-story h2{font:500 clamp(31px,3.25vw,48px)/1.15 var(--font-display);letter-spacing:-.035em;margin:23px 0 25px}.project-story>p:not(.eyebrow){font:400 14px/1.95 var(--font-body);max-width:510px;color:#ebd6c5}.project-story .stack-line{font:11px/1.85 var(--font-body)!important;color:#dfbea3;margin:22px 0 28px}.project-visual,.project-visual:focus-within,.project-visual:hover{position:relative;top:auto;inset:auto;grid-column:2;grid-row:1;width:100%;min-width:0;transform:none!important;will-change:auto;align-self:start;border:1px solid #e3c6ae47;border-radius:9px;background:linear-gradient(145deg,#756252,#58493d);box-shadow:0 20px 45px #211d1924;overflow:visible;padding:28px}.case-hiphophub .project-visual{background:linear-gradient(140deg,#675547,#5e4e41);border-color:#e5cbb64a}.case-waymark .project-visual{background:linear-gradient(145deg,#8f7763,#675648)}.case-pact .project-visual{background:linear-gradient(145deg,#584a3e,#4a3d33);border-color:#d9b1914a}.visual-top{font:11px var(--font-body);letter-spacing:.025em;color:#f3e7de}.visual-top>span{font:9px var(--font-body);letter-spacing:0;color:#e5cbb6}.visual-foot{font:10px var(--font-body);letter-spacing:.015em;color:#e3c7b1;padding-top:20px}.project-details{position:relative;grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:7%;border-color:#e1c2a93d;padding-top:30px;min-width:0;isolation:isolate}.detail-list p{font:400 13px/1.95 var(--font-body);color:#dfd0c3;padding:0 0 12px}.detail-list p>span{display:none}.detail-list p:before{content:"";display:block;flex-shrink:0;width:4px;height:4px;background:#dab596;border-radius:50%;margin-top:11px}.portfolio-app .flow-hint{font:10px var(--font-body);letter-spacing:.015em;color:#efded0}.flow-hint>span{color:#e2c4ac}.flow-index{font-family:var(--font-body);background:#806b59;border-color:#ecd8c870;color:#f5ebe2;width:22px;height:22px}.flow-step[aria-pressed=true] .flow-index{background:#dab597;border-color:#dfbfa4;color:#3f3730}.flow-baseline,.flow-route{left:23px}.flow-route{background:#dab596}.flow-baseline{background:#debca050}.flow-step{padding:14px 11px;gap:14px;min-height:66px}.flow-step-copy{min-width:0}.portfolio-app .flow-step-copy b{font:500 15px/1.4 var(--font-body);letter-spacing:-.02em;font-stretch:normal}.flow-step-copy small{font:11px/1.65 var(--font-body);color:#e7ceba;overflow-wrap:anywhere}.flow-selection{background:#d7ae8d16;border-color:#ecd8c860;border-radius:5px}.flow-description{border-color:#e6cdb83b;min-height:95px}.flow-description>p{font:12px/1.85 var(--font-body);color:#f1e2d6}.flow-step:hover{background:#debea20c}.music-node{font:12px var(--font-body);background:#6a5849;border-color:#e2c4ab5c;color:#f2e5da}.music-node.selected,.music-node:hover{background:#e1c2a8;color:#4a3e34;border-color:#e6ccb7}.music-map svg{stroke:#ead5c371}.music-map svg .music-connection{stroke:#e1c2a8}.music-map svg .music-signal{fill:#f0e1d4}.map-caption>p{font:12px/1.8 var(--font-body);color:#ecd8c8}.project-visual>.button-text{font-size:12px;color:#f2e5da}.project-visual .button-text:hover{color:#f8f2ec}.portfolio-app .button-primary{background:#dab597;color:#3b342e;border-color:#dab597;font-family:var(--font-body);font-weight:600;font-size:13px;border-radius:5px}.portfolio-app .button-primary:hover{background:#e4c9b2;border-color:#e4c9b2}.portfolio-app .button-text{font:500 13px var(--font-body);border-color:#e3c7b065;color:#f5ebe2}.portfolio-app .button-text:hover{color:#dfbfa4}.chapter-play .phase-kicker{font:11px var(--font-body);letter-spacing:.025em;color:#e5cbb6}.chapter-play .halftime h2{font-family:var(--font-display);font-weight:500;font-size:50px}.chapter-play .halftime-header>p{font-size:14px;line-height:1.9}.tab-row{border-color:#e3c7b045}.tab-row button{font:500 13px var(--font-body);color:#e3c6af}.tab-row button[aria-pressed=true]{background:#ae886826;color:#e2c4ab;border-color:#dab597}.game-panel{background:#5e4f4266;border-color:#e5cab43b}.game-copy h3{font:500 32px var(--font-display)}.game-copy>p{font-size:13px}.insight-line{color:#debea2!important;font-size:12px}.code-board,.code-board button{font-family:Azeret Mono,Consolas,monospace}.code-board{background:#362f29;border-color:#e5cab445}.sort-visual{background:#44382f}.formation-slot{background:#43382f;border-color:#dfbfa455}.bench-row button,.formation-slot button{font-size:12px}.bench-row button,.choice-grid button{background:#5b4c40;border-color:#e5cab445;color:#f6ede5}.bench-row button:hover,.choice-grid button:hover{border-color:#dab596}.choice-grid button.correct{background:#5e4f42;color:#f9f3ee}.fix-list button{font:12px var(--font-body);color:#eddacb}.bug-status,.game-progress{font:11px var(--font-body)}.chapter-contact>p:not(.eyebrow){font:15px/1.9 var(--font-body);color:#e9d2c0}.chapter-contact .eyebrow{font:11px var(--font-body);letter-spacing:.02em;color:#e3c7b0}.contact-email{font-family:var(--font-body);color:#debea2!important;letter-spacing:-.035em}.contact-signoff>span{font:10px var(--font-body);letter-spacing:.01em;color:#e3c7b0}.social-links a,.social-links button{font-family:var(--font-body);font-size:13px;color:#eedcce}.view-footer{font:10px var(--font-body);letter-spacing:.015em;border-color:#e5cab43b;color:#e3c7b0}.section-rail.matchday-dock{background:#322b26ee;border-color:#e0c0a659;box-shadow:0 10px 30px #1f1b1750;border-radius:10px;padding:5px;gap:3px}.matchday-dock>button{font:11px var(--font-body);color:#e8d1bf;min-width:88px;min-height:48px;gap:5px;padding:8px 12px}.matchday-dock>button>span:first-child{display:none}.matchday-dock>button[aria-current]{color:#f9f3ef}.dock-selected{background:#8e7662;border-color:#e8d1be4a;border-radius:6px}.matchday-dock>.rail-trophy{border-color:#e2c4ab3b;color:#debea2;min-width:49px;gap:4px}.matchday-dock>.rail-trophy>span{display:block!important;font:9px var(--font-body)}.portfolio-dialog{background:#453930;border-color:#e2c5ad4f;color:#f5f1ed;font-family:var(--font-body)}.portfolio-dialog h2,.portfolio-dialog h3{font-family:var(--font-display)}.portfolio-dialog h2{font-size:42px}.discovered-story p,.portfolio-dialog>p,.report p{font-family:var(--font-body);font-size:14px;color:#ecd8c8}.dialog-heading .eyebrow{font:10px var(--font-body);letter-spacing:.02em;color:#e5cab4}.trophy-grid article{background:#58493d;border-color:#e2c5ad33}.trophy-grid article.earned{background:#695749;border-color:#dfbfa466}.trophy-grid h3{font:500 18px var(--font-display)}.trophy-grid p{font:11px var(--font-body);color:#e8d1be}.discovery-search input{background:#3a332d;border-color:#e3c7b04a;color:#f6ede5}.discovery-list button{font-family:var(--font-body);border-color:#e3c7b03b;background:#594a3e}.discovered-story{background:#5f4f42;border-color:#e3c7b03b}.toast{background:#635244;border-color:#e3c7b055;color:#f8f1ec;font-family:var(--font-body)}.landing-shell .landing-project{border-radius:7px;box-shadow:0 18px 55px #0003;border-left:1px solid #d8c6b735}.landing-chapters>a:before,.landing-personal:before,.landing-project:before{display:none}.landing-experience{background:none;border-top-color:#e2c4ab6b}.experience-root:has(.landing-shell) .pitch-backdrop{display:none}.experience-root:has(.landing-shell) .scene-shade{background:linear-gradient(90deg,#17141130,transparent 40%,#17141130),linear-gradient(0deg,#171411bb,transparent 45%)}.landing-project-top>span{letter-spacing:.02em}.landing-chapter-number{min-height:10px}.landing-chapter-number small{font-size:7px}.landing-chapter-number>svg{margin-left:auto}.match-entry{background:#443930f2;backdrop-filter:blur(15px);padding:35px;overflow:hidden;color:#f6f1ed;font-family:Public Sans,Arial,sans-serif}.entry-curtain{background:radial-gradient(ellipse at 70% 50%,#b5927680,transparent 65%),#615143}.entry-curtain:after,.entry-curtain:before{animation:entrance-line .65s cubic-bezier(.22,.8,.22,1) both;inset:auto 0 50%;height:2px;background:#dab596;transform:scaleX(0);transform-origin:left}.entry-curtain:after{height:1px;bottom:calc(50% + 65px);background:#e8d0bc50;animation-delay:.08s}.entry-window{width:min(850px,100%);border:0;border-left:0;border-radius:0;background:none;box-shadow:none;padding:30px;overflow:visible;animation:ticket-arrive .35s cubic-bezier(.2,.8,.2,1) both}.entry-ticket-bottom,.entry-ticket-top{font:11px Public Sans,Arial,sans-serif;letter-spacing:.035em;color:#f0e2d6;padding:20px 0;border:0}.entry-ticket-top>span:first-child{font-weight:500;color:#e1c3aa;letter-spacing:.07em}.entry-ticket-body{grid-template-columns:130px 1fr;padding:50px 0;gap:35px}.entry-added-time{font:500 75px/1 Newsreader,Georgia,serif;letter-spacing:-.07em;transform:none;color:#debea2;border-color:#e3c6af4d;padding-right:28px}.entry-added-time>span{font:9px Public Sans,Arial,sans-serif;letter-spacing:.03em;margin-top:18px}.entry-ticket-body h2{font:500 clamp(42px,7vw,85px)/1.03 Newsreader,Georgia,serif;letter-spacing:-.05em;max-width:630px}.entry-ticket-body p{font:11px Public Sans,Arial,sans-serif;letter-spacing:.035em;color:#e9d2c0}.entry-status{font:13px Public Sans,Arial,sans-serif;color:#eeddd0}.entry-status i{background:#dab597}.entry-track{height:1px;background:#dfbfa438}.entry-track i{background:#dab597}.entry-ticket-bottom{font-size:10px;color:#e6ccb6;padding-top:22px}.entry-recovery{font-family:Public Sans,Arial,sans-serif;color:#f8f2ec}@keyframes entrance-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media(max-width:1100px){.story-artifact-wrap{padding:23px 27px 23px 7px}.story-artifact{padding:21px;min-height:300px}.story-copy h3{font-size:100px}.story-copy h4{font-size:23px}.artifact-code{font-size:10px}.artifact-code .code-comment{font-size:7px}.artifact-validation{padding:14px;min-width:125px}.artifact-validation>strong{font-size:36px}.artifact-stamp{padding:13px 16px}.artifact-stamp b{font-size:19px}.project-story>p:not(.eyebrow){font-size:13px}.project-visual{padding:23px}.flow-step-copy small{font-size:10px}.project-story h2{font-size:36px}.story-description{font-size:13px}.story-copy small{font-size:9px}}@media(max-width:900px) and (min-width:701px){.chapter-engineer>.section-intro{grid-template-columns:1.1fr 1fr;gap:6%}.chapter-engineer>.section-intro h1{font-size:51px}.chapter-engineer>.section-intro>p{font-size:14px}.match-story[data-static=true] .story-phase{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:450px}.story-copy h3{font-size:88px}.story-artifact-wrap{padding:20px 25px 20px 0}.artifact-code{font-size:9px}.artifact-code .code-comment{display:none}.artifact-stamp b{font-size:17px}.artifact-validation{min-width:100px}.artifact-validation small{font-size:8px}.project-case{gap:30px 5%}.portfolio-app .project-tabs button{font-size:15px}.project-story .eyebrow{flex-direction:column;gap:7px}.flow-step{gap:10px;padding:13px 8px}.flow-step-copy b{font-size:13px!important}.flow-step-copy small{font-size:10px}}@media(max-height:680px) and (min-width:901px){.story-copy h3{font-size:90px;margin:12px 0 14px}.story-copy h4{font-size:22px;margin-bottom:12px}.story-description{font-size:12px;line-height:1.75}.story-copy small{font-size:8px;margin-top:16px}.story-artifact{min-height:265px;padding:19px}.story-artifact-wrap{padding:20px 35px 20px 10px}.artifact-code{font-size:10px;gap:7px;padding:15px 0}.artifact-caption{font-size:8px;margin-top:15px}.artifact-bar{font-size:9px;padding-bottom:15px}.artifact-records>div,.artifact-steps>div{padding:16px 0}.artifact-records b{font-size:19px}.story-timeline>button{padding:8px 0}.story-header{padding-top:18px}}@media(max-width:700px){.portfolio-app .chapter-caption{font-size:10px;letter-spacing:.015em;margin-bottom:25px}.portfolio-app .chapter-caption>span:last-child{font-size:9px}.chapter-engineer>.section-intro{display:block;padding:20px 0 15px;min-height:0}.chapter-engineer>.section-intro h1{font:500 clamp(40px,10.7vw,62px)/1.08 var(--font-display);letter-spacing:-.045em}.chapter-engineer>.section-intro>p{font-size:14px;line-height:1.9;margin-top:25px}.chapter-engineer>.section-intro:after{display:none}.story-header h2{font-size:12px;line-height:1.6}.story-phase{padding:10px 0;gap:20px!important}.story-copy>p:first-child{font-size:10px}.story-copy h3{font-size:clamp(80px,24vw,132px);margin:14px 0 22px}.story-copy h4{font-size:24px;line-height:1.3;max-width:100%;margin-bottom:17px}.story-description{font-size:14px;line-height:1.85}.story-copy small{font-size:9px;line-height:1.8;margin-top:22px}.story-artifact-wrap{padding:18px 18px 18px 0;display:block;width:100%;max-width:100%}.story-artifact{padding:21px;min-height:285px;max-width:100%;border-radius:7px}.artifact-bar{font-size:8px}.artifact-code{font-size:10px;gap:10px;padding:24px 0 20px}.artifact-code .code-comment{font-size:7px}.artifact-validation{min-width:120px;padding:13px;right:-9px;bottom:32px}.artifact-validation>span{font-size:7px}.artifact-validation small{font-size:8px}.artifact-validation>strong{font-size:36px}.artifact-caption{font-size:8px;line-height:1.6}.artifact-stamp{right:-9px;bottom:27px;padding:12px 15px}.artifact-stamp span{font-size:7px}.artifact-stamp b{font-size:21px}.artifact-steps strong{font-size:14px}.artifact-records span{font-size:9px}.artifact-records b{font-size:19px}.journey-chapter .about-grid h2{font-size:31px}.about-grid article>p:not(.eyebrow){font-size:13px}.toolbox>div>span{font-size:12px;padding:8px 12px}.about-bottom>p{font-size:13px}.contact-view>h2,.work-title h2{font-size:clamp(40px,10.2vw,61px)}.work-title>span{font-size:10px}.portfolio-app .project-tabs button{padding:17px 9px;font-size:13px;letter-spacing:-.025em;min-height:52px;gap:7px}.portfolio-app .project-tabs button>svg{width:12px;margin-left:4px}.project-reel-controls>span{font-size:10px}.project-case{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;padding:38px 0 50px;gap:27px;scroll-margin-top:18px}.project-story{grid-column:1;grid-row:1}.project-visual{grid-column:1;grid-row:2;position:relative;top:auto;padding:23px;min-height:0}.project-details{grid-column:1;grid-row:3;grid-template-columns:1fr;gap:25px;padding-top:27px}.project-story h2{font-size:34px;line-height:1.15;margin-top:20px}.project-story .eyebrow{font-size:10px}.project-story .eyebrow>span{font-size:9px}.project-story>p:not(.eyebrow){font-size:14px;line-height:1.9}.project-story .stack-line{font-size:11px!important;line-height:1.8}.visual-top{font-size:10px}.portfolio-app .flow-step-copy b{font-size:14px;line-height:1.4}.flow-step-copy small{font-size:11px}.flow-step{gap:12px;padding:14px 10px;min-height:65px}.flow-description>p{font-size:12px;line-height:1.85}.flow-description{min-height:0}.visual-foot{font-size:9px;line-height:1.7}.case-stats strong{font-size:42px}.case-stats span{font-size:10px}.detail-list p{font-size:13px;line-height:1.9}.portfolio-app .button-primary,.portfolio-app .button-text{font-size:12px}.chapter-play .halftime h2{font-size:38px}.chapter-play .halftime-header>p{font-size:13px}.tab-row button{font-size:11px}.game-copy h3{font-size:29px}.chapter-contact>p:not(.eyebrow){font-size:14px}.chapter-contact .contact-email{font-size:17px;letter-spacing:-.035em}.social-links a,.social-links button{font-size:12px}.section-rail.matchday-dock{gap:0;padding:4px;border-radius:8px}.matchday-dock>button{width:64px;min-width:0;min-height:44px;font-size:10px;padding:7px 3px}.matchday-dock>.rail-trophy{width:41px;min-width:41px;margin-left:2px}.matchday-dock>.rail-trophy>span{font-size:8px}.portfolio-dialog{padding:24px}.portfolio-dialog h2{font-size:36px}.discovered-story p,.portfolio-dialog>p,.report p{font-size:13px}.entry-window{padding:15px 0}.match-entry{padding:26px}.entry-ticket-bottom,.entry-ticket-top{font-size:9px;gap:18px}.entry-ticket-top>span:last-child{font-size:8px;max-width:120px;line-height:1.6}.entry-ticket-body{grid-template-columns:65px minmax(0,1fr);gap:22px;padding:38px 0}.entry-added-time{font-size:46px;padding-right:14px}.entry-added-time>span{font-size:7px;line-height:1.5;margin-top:15px}.entry-ticket-body h2{font-size:41px;line-height:1.05}.entry-ticket-body p{font-size:9px;line-height:1.6}.entry-status{font-size:11px}.entry-ticket-bottom{font-size:8px;line-height:1.7}}@media(prefers-reduced-motion:reduce){.entry-curtain:after,.entry-curtain:before{animation:none;transform:scaleX(1)}.story-artifact-wrap{transform:none!important}}.portfolio-app .game-shell{background:#453930;border-color:#e3c6af3b}.portfolio-app .tab-row{background:#453930}.portfolio-app .sort-visual>div,.portfolio-app .sort-visual>i,.portfolio-app .sort-visual>span{background:linear-gradient(#e4c9b2,#cb966a)}.portfolio-app .graph-node{background:#736050;border-color:#e7cfbc;color:#f7efe9}.portfolio-app .graph-line{background:#e5cbb66b}.portfolio-app .bug-category-row .active,.portfolio-app .puzzle-switcher .active{background:#87705d33;border-color:#debea2;color:#eddaca}.portfolio-app .game-progress i{border-color:#dcb99d}.portfolio-app .game-progress i.active,.portfolio-app .game-progress i.done{background:#dab597}@font-face{font-family:Newsreader;src:url(/fonts/newsreader-italic-variable.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--bg:#242321;--ink:#f3eee4;--muted:#c3baae;--line:#dbccb734;--accent:#dec19a;--navy:#302b27;--gold:#e5cfaf}.experience-root,.experience-root:has(.portfolio-app){--bg:#242321;--ink:#f3eee4;--muted:#c3baae;--line:#dbccb734;--accent:#dec19a;background:radial-gradient(ellipse at 90% 5%,#9b77532b,transparent 55%),linear-gradient(140deg,#292825,#242321 60%,#302a25)}.experience-root .scene-shade,.experience-root:has(.landing-shell) .scene-shade,.experience-root:has(.portfolio-app) .scene-shade{background:linear-gradient(90deg,#24232155,transparent 55%),linear-gradient(0deg,#24232166,transparent 35%)}.chapter-atmosphere{position:fixed;inset:0;z-index:-3;pointer-events:none;overflow:hidden;contain:strict}.chapter-atmosphere>svg{width:100%;height:100%;opacity:.28}.atmosphere-scene{opacity:0;transform-origin:70% 50%;transition:opacity 1.2s ease,transform 1.6s ease;transform:translateY(35px) scale(1.04);animation-play-state:paused}.chapter-atmosphere[data-scene=contact] .scenery-contact,.chapter-atmosphere[data-scene=landing] .scenery-landing,.chapter-atmosphere[data-scene=play] .scenery-play,.chapter-atmosphere[data-scene=player] .scenery-player,.chapter-atmosphere[data-scene=work] .scenery-work{opacity:1;transform:none;animation:material-drift 18s ease-in-out infinite alternate}@keyframes material-drift{0%{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-24px) rotate(2deg)}}.landing-intro h1 em,.landing-shell{color:#f3eee4}.landing-chapters p,.landing-description,.landing-footer,.landing-meta,.landing-project-caption>span,.landing-role{color:#c3baae}.landing-shell .landing-project{background:linear-gradient(140deg,#4e453bf0,#302b27ee);border-color:#e0c4a139;box-shadow:0 20px 55px #15131035}.landing-shell .button-primary,.portfolio-app .button-primary{background:#dec19a;border-color:#dec19a;color:#2b2722}.landing-shell .button-primary:hover,.portfolio-app .button-primary:hover{background:#f0dbbe;border-color:#f0dbbe}.landing-music .mini-wave i{background:#e8c59c}.landing-guardian .guardian-context{fill:#3f3830;stroke:#d0b39466}.landing-guardian text{fill:#d9c5aa}.landing-guardian .guardian-track{stroke:#b89b7c66}.landing-guardian .guardian-trace{stroke:#f2d5b2}.landing-guardian .guardian-packet{fill:#e4c29a}.landing-guardian .guardian-shield{color:#dec19a}.landing-score b{background:#40372d;color:#f3eee4;border-color:#dec19a55}.landing-score b i{background:#dec19a;color:#29251f}.landing-experience{border-top-color:#dec19a88}.portfolio-app .chapter-engineer>.section-intro:after{display:none}.portfolio-app .match-story-stage{background:radial-gradient(ellipse at 75% 50%,#c2965b13,transparent 60%)}.portfolio-app .story-artifact{background:linear-gradient(135deg,#615343,#38322b);border-color:#d9bc9466;box-shadow:12px 17px 0 #18161340,0 30px 70px #17140f40}.portfolio-app .artifact-1{background:linear-gradient(135deg,#554d42,#34322d)}.portfolio-app .artifact-2{background:linear-gradient(135deg,#6b513d,#3d3028)}.portfolio-app .story-phase-1 .story-copy h3{color:#d6cbb9}.portfolio-app .story-phase-2 .story-copy h3{color:#e2b68a}.portfolio-app .journey-chapter .about-grid{background:linear-gradient(115deg,#6a57442f,#3a342b44)}.portfolio-app .project-visual{background:linear-gradient(135deg,#4a4036,#302c28);border-color:#d9bc9445}.portfolio-app .case-hiphophub .project-visual{background:linear-gradient(135deg,#67503c,#3e3029)}.portfolio-app .case-waymark .project-visual{background:linear-gradient(135deg,#4b4a43,#30312d)}.portfolio-app .case-pact .project-visual{background:linear-gradient(135deg,#655a49,#38332a)}.portfolio-app .game-shell,.portfolio-app .tab-row{background:#322f29}.portfolio-app .game-panel{background:#45403766}.portfolio-app .bench-row button,.portfolio-app .choice-grid button{background:#494236;color:#f0e6d6;border-color:#ddc5a83d}.portfolio-app .choice-grid button:hover{background:#5c5040;border-color:#dec19a}.portfolio-app .code-board,.portfolio-app .sort-visual{background:#282720}.portfolio-app .sort-visual>i{background:linear-gradient(#e7ccaa,#ae8056)}.portfolio-app .section-rail.matchday-dock{background:#28251ff0;border-color:#d9bc9459}.portfolio-app .dock-selected{background:#68533c;border-color:#e0c3a050}.portfolio-dialog{background:#353027;border-color:#dac09a55}.portfolio-app .contact-email{color:#e7c49e!important}.portfolio-app .chapter-contact{min-height:0;padding-bottom:28px}.closing-studio{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:46px;padding:35px 0;align-items:center}.closing-mark{position:relative;min-width:0;overflow:hidden;text-align:center}.closing-mark svg{width:100%;max-width:390px;stroke:#d6b58b;stroke-width:1.2}.closing-mark svg path{stroke-dasharray:1000;stroke-dashoffset:1000;animation:closing-signature 3s ease forwards;animation-timeline:view();animation-range:entry 0 cover 45%}.closing-mark svg ellipse{stroke:#dec19a45;transform-origin:center;animation:seal-breathe 7s ease-in-out infinite alternate}.closing-mark>span{display:block;font-size:9px;letter-spacing:.23em;color:#c6ad8e;margin-top:-18px}.conversation-starters h3{font:500 34px/1.2 var(--font-display);margin:10px 0}.conversation-starters>p:not(.eyebrow){font-size:12px;margin-bottom:18px}.conversation-starters>a{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--line);font-size:13px;color:#eee3d3;gap:20px;transition:color .2s,padding .2s}.conversation-starters>a:hover{color:#e9c69c;padding-left:8px}.conversation-starters>a svg{transition:transform .2s}.conversation-starters>a:hover svg{transform:translate(2px,-2px)}.portfolio-app .contact-signoff{margin-top:28px;padding:18px 0}.portfolio-app .social-links{margin-top:30px}.portfolio-app .view-footer{margin-top:20px;padding-bottom:100px}.match-entry{background:#28241ff5}.entry-curtain{background:radial-gradient(ellipse at 70% 50%,#b38b5c40,transparent 65%),#302a23}.entry-ticket-body h2{color:#f3eee4}.entry-added-time,.entry-ticket-top>span:first-child{color:#dec19a}@keyframes closing-signature{to{stroke-dashoffset:0}}@keyframes seal-breathe{to{transform:scale(.94) rotate(5deg)}}@media(max-width:700px){.chapter-atmosphere>svg{opacity:.17}.closing-studio{grid-template-columns:1fr;gap:30px;margin-top:32px;padding:25px 0}.closing-mark svg{max-width:270px}.conversation-starters h3{font-size:30px}.conversation-starters>a{font-size:12px}.portfolio-app .contact-signoff{gap:18px;flex-wrap:wrap}.portfolio-app .view-footer{padding-bottom:95px}.portfolio-app .contact-email{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){.atmosphere-scene{animation:none!important;transition:none}.closing-mark svg path{stroke-dashoffset:0;animation:none}.closing-mark svg ellipse{animation:none}}@media(max-width:700px){.choice-grid>button:last-child:nth-child(odd){grid-column:1/-1}}