/*
! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.static{position:static}.fixed{position:fixed}.relative{position:relative}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-4{margin-top:1rem}.flex{display:flex}.table{display:table}.grid{display:grid}.w-full{width:100%}.flex-1{flex:1 1 0%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.pr-0{padding-right:0}.text-sm{font-size:.875rem;line-height:1.25rem}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--ink:#263238;--muted:#718086;--paper:#fdfdfb;--blue:#b9e5ed;--yellow:#f8df72;--coral:#f6a391;--line:#d5e1df}*{margin:0;padding:0;box-sizing:border-box;color:var(--ink)}body{padding-left:245px}.site-nav,body{background:var(--paper);font-family:DM Sans,sans-serif}.site-nav{position:fixed;z-index:10;inset:0 auto 0 0;width:245px;padding:34px 28px 30px;align-items:flex-start;border-right:1px solid var(--line)}.site-nav,.wordmark{display:flex;flex-direction:column}.wordmark{align-items:center;align-self:center;width:156px;max-width:100%;padding:9px 9px 15px;gap:12px;background:#fffefb;border:1px solid #e3e0d7;box-shadow:0 3px 8px #2d342c12,0 12px 24px #2d342c08;transform:rotate(-3deg);transition:transform .25s ease;font-size:.95rem;font-weight:500;letter-spacing:-.035em;text-decoration:none}.wordmark:hover{transform:rotate(0deg)}.wordmark:focus-visible{outline:2px solid #718065;outline-offset:6px}.nav-photo{display:block;width:100%;height:auto;aspect-ratio:7/8;-o-object-fit:cover;object-fit:cover;-o-object-position:center 32%;object-position:center 32%}@media (prefers-reduced-motion:reduce){.wordmark{transition:none}}.nav-links{display:flex;flex-direction:column;gap:19px;margin-top:18vh;font-family:DM Sans,sans-serif;font-size:.86rem;font-weight:500;text-transform:lowercase}.circle-link,.nav-links a,.site-footer a{text-decoration:none}.nav-links a:hover,.site-footer a:hover{color:#df755a}.nav-links a:before{content:"↳";display:inline-block;width:20px;color:transparent;transition:color .2s ease}.nav-links a:hover:before{color:var(--coral)}.nav-footer{margin-top:auto;display:flex;flex-direction:column;gap:8px;color:var(--muted);font-family:DM Mono,monospace;font-size:.8rem;line-height:1.25}.nav-footer a{color:inherit;text-decoration:none;overflow-wrap:anywhere}.nav-footer a:hover{color:var(--coral)}.about-band,.hero,.site-footer,.work-section{max-width:1440px;width:96%;margin:0 auto;padding-left:3vw;padding-right:3vw}.hero{min-height:76vh;padding-top:15vh;padding-bottom:8vh;display:flex;flex-direction:column;justify-content:space-between}.eyebrow,.fact-row,.footer-kicker,.footer-note,.section-heading,.section-tag{font-family:DM Mono,monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.03em}.eyebrow,.footer-kicker,.footer-note,.section-tag{color:var(--muted)}.reference-hero h1{max-width:930px;margin:7vh 0 10vh;font-family:Cormorant Garamond,serif;font-size:clamp(3rem,5.2vw,5.5rem);line-height:.92;letter-spacing:-.035em;font-weight:600}.hero-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem}.hero-footer>p{max-width:370px;color:var(--muted);font-size:1rem;line-height:1.5}.archive-link,.text-link{color:var(--ink);font-family:DM Mono,monospace;font-size:.68rem;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:7px}.archive-link span,.text-link span{margin-left:8px}.about-band{padding-top:55px;padding-bottom:55px;background:var(--blue)}.about-content{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;margin:50px 0 45px}.about-lede{max-width:720px;font-size:clamp(1.8rem,3vw,3.2rem);line-height:1.08;letter-spacing:-.06em}.about-notes{display:grid;gap:22px;align-content:end;color:#44606a;font-size:.95rem;line-height:1.5}.about-notes p{border-top:1px solid rgba(38,50,56,.3);padding-top:11px}.fact-row{display:flex;gap:28px;color:#44606a}.fact-row b{color:var(--ink);margin-right:5px}.work-section{padding-top:80px}.section-heading{display:flex;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line);color:var(--muted)}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:7vw;column-gap:7vw;row-gap:10vw}.selected-grid{grid-template-columns:repeat(4,minmax(0,1fr));-moz-column-gap:2.5vw;column-gap:2.5vw;row-gap:0}.selected-grid .project-card-right{padding-top:0}.selected-grid .project-title{font-size:1.45rem}.selected-grid .project-desc{font-size:.78rem}.project-card{min-width:0}.project-card-right{padding-top:12vw}.zoom-in-image{display:block;width:100%;height:auto;transition:transform .35s ease;cursor:pointer}.zoom-in-image:hover{transform:rotate(-1deg) scale(1.015)}.project-schedule-preview{box-sizing:border-box;aspect-ratio:8200/5260;-o-object-fit:contain;object-fit:contain;padding:7%;background:#eef1e8}.project-title{display:flex;justify-content:space-between;align-items:baseline;margin-top:18px;margin-bottom:11px;font-family:Cormorant Garamond,serif;font-size:clamp(1.7rem,2.8vw,2.8rem);font-weight:600;letter-spacing:-.03em}.project-arrow{color:var(--muted);font-size:1.2rem}.tech-item{color:var(--muted);font-family:DM Mono,monospace;font-size:.6rem;text-transform:uppercase;border:1px solid var(--line);padding:5px 8px;margin:0 5px 5px 0;border-radius:20px;background:transparent}.project-desc{max-width:440px;margin-top:12px;color:var(--muted);font-size:.9rem;line-height:1.5}.project-link{display:inline-block;margin-top:20px;padding-bottom:6px;border-bottom:1px solid var(--ink);font-family:DM Mono,monospace;font-size:.65rem;text-transform:uppercase}.project-link a{text-decoration:none}.archive-link{display:block;width:-moz-fit-content;width:fit-content;margin:30px auto 0}.site-footer{margin-top:12vw;padding-top:20px;padding-bottom:42px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-end}.footer-kicker{margin-bottom:8px}.site-footer a{font-size:1.5rem;font-weight:600;letter-spacing:-.05em}.project-desc{font-family:DM Sans,sans-serif}.work-intro{max-width:1440px;margin:0 auto;padding:12vh 6vw 9vh;background:var(--yellow)}.work-intro h1{max-width:850px;margin:35px 0 25px;font-size:clamp(2.8rem,5vw,5rem)}.work-intro>p:last-child{max-width:440px;color:#5d5c45;font-size:1rem;line-height:1.5}.work-page-grid{padding-top:70px}.work-filters{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 45px}.filter-button{padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font-family:DM Sans,sans-serif;font-size:.75rem}.filter-button.active,.filter-button:hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}.about-intro{max-width:1080px;margin:0 auto;padding:12vh 6vw 10vh;display:grid;grid-template-columns:210px 1fr;gap:7vw;align-items:center}.about-photo-wrap{width:180px}.about-photo{display:block;width:180px;height:230px;-o-object-fit:cover;object-fit:cover;-o-object-position:center 38%;object-position:center 38%;border-radius:50%;filter:saturate(.9)}.about-page-heading h1{margin:26px 0 24px;font-family:Cormorant Garamond,serif;font-size:clamp(2.8rem,5vw,5rem);line-height:.92;letter-spacing:-.04em}.about-copy{max-width:560px;color:var(--muted);font-size:1rem;line-height:1.6}.about-copy p+p{margin-top:16px}.about-writing{max-width:1080px;margin:0 auto;padding:50px 6vw 0}.education-list{max-width:760px;margin-top:28px}.education-list>div{display:grid;grid-template-columns:12% 1fr 34%;gap:2vw;align-items:baseline;padding:19px 0;border-bottom:1px solid var(--line)}.education-list em,.education-list span{color:var(--muted);font-family:DM Mono,monospace;font-size:.65rem;font-style:normal;text-transform:uppercase}.education-list strong{font-size:1.2rem;font-weight:600}.experience-section{padding-top:75px;padding-bottom:80px}.experience-intro{max-width:680px;margin-top:28px;color:var(--muted);font-size:1.05rem;line-height:1.6}.experience-list{max-width:820px;margin-top:28px}.experience-list article{padding:24px 0;border-bottom:1px solid var(--line)}.experience-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.experience-heading h2{font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:600}.experience-heading span,.experience-role{color:var(--muted);font-family:DM Mono,monospace;font-size:.65rem;text-transform:uppercase}.experience-role{margin:6px 0 13px}.experience-list article>p:last-child{max-width:650px;color:var(--muted);font-size:.92rem;line-height:1.55}.research-page{background:#faf9f5;color:#262322;min-height:100vh;font-family:Plus Jakarta Sans,sans-serif}.research-page-note{position:relative;display:grid;grid-template-columns:minmax(0,1fr) clamp(150px,20vw,260px);align-items:center;gap:24px;width:90%;margin:0 auto;padding:clamp(42px,8vh,88px) 0 44px}.research-header-doodle{display:block;width:100%;height:auto}.research-header-copy{min-width:0}.research-page-note h1{color:#2d342c;font-family:inherit;font-size:clamp(2.6rem,6vw,5.2rem);font-weight:500;line-height:1;letter-spacing:-.045em}.research-page-note p{max-width:680px;margin-top:24px;color:#7d766c;font-family:inherit;font-size:.88rem;line-height:1.75}.research-page-note p>em,.research-page-note p>span{font-style:normal;font-weight:400}.research-page-note p>em{color:#596b4e;background:linear-gradient(transparent 65%,#e7ebc9 0,#e7ebc9 94%,transparent 0)}.research-page-note+.research-content{margin-top:40px}@media (max-width:700px){.research-page-note{padding-top:36px;padding-bottom:30px}.research-page-note+.research-content{margin-top:28px}}@media (max-width:480px){.research-page-note{grid-template-columns:minmax(0,1fr) 92px;gap:10px}.research-header-doodle{align-self:start}.research-page-note h1{font-size:2.5rem}}.research-intro{width:96%;max-width:1100px;margin:0 auto;padding:11vh 0 0;background:transparent}.research-page .eyebrow{color:#8a8177;font-family:inherit;font-size:.72rem;text-transform:none;letter-spacing:.01em}.research-intro h1{max-width:640px;margin:14px 0 24px;color:#262322;font-family:inherit;font-size:clamp(2.2rem,3.6vw,3.1rem);font-weight:600;letter-spacing:-.035em;line-height:1.05}.research-intro>p:last-child{max-width:640px;color:#55504a;font-size:.95rem;line-height:1.75}.research-list{width:96%;max-width:90%;margin:0 auto;padding:44px 0 0}.research-content{display:grid;grid-template-columns:200px minmax(0,1fr);gap:4vw;align-items:start;width:90%;max-width:90%;margin:7vh auto 0}.research-rail{position:sticky;top:46px;display:flex;flex-direction:column}.rail-group{margin:26px 0 9px;color:#8a8177;font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.rail-group:first-child{margin-top:0}.rail-link{padding:7px 0 7px 15px;border:none;border-left:1px solid #ddd6c8;background:transparent;color:#7d766c;cursor:pointer;font-family:inherit;font-size:.8rem;text-align:left;transition:color .2s ease,border-color .2s ease}.rail-link:hover{color:#2d342c}.rail-link.active{border-left-color:#2d342c;color:#2d342c;font-weight:600}.research-panel{min-width:0}.research-panel .research-capstone{width:100%;max-width:none;margin:0;padding:0 0 90px}.research-panel .masters-intro{padding-top:0}.research-page .section-heading{padding:22px 0 0;border-top:1px solid #e2dbd1;border-bottom:none;color:#8a8177;font-family:inherit;font-size:.78rem;text-transform:none;letter-spacing:0}.research-item{display:grid;grid-template-columns:56px 1fr;-moz-column-gap:24px;column-gap:24px;max-width:720px;padding:30px 0 28px;border-bottom:1px solid #ece6dc}.research-label,.research-note,.research-number{color:#8a8177;font-family:inherit;font-size:.74rem;text-transform:none}.research-number{padding-top:3px;color:#a29889}.research-item-main{grid-column:2;max-width:620px}.research-item h2{margin:6px 0 10px;color:#262322;font-family:inherit;font-size:1.2rem;font-weight:600;letter-spacing:-.02em;line-height:1.25}.research-description{max-width:620px;color:#55504a;font-size:.9rem;line-height:1.7}.research-note{grid-column:2;margin-top:11px;padding-top:0;text-align:left;color:#a29889}.research-tab.active{background:#2d342c;color:#f4f5ee}.research-content .research-list{max-width:1180px;width:90%;padding:34px 0 96px}.masters-intro{padding:22px 0 54px}.masters-kicker{color:#626c59;font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.masters-kicker span{margin:0 10px;color:#b4b7a8}.masters-projects-kicker{margin-bottom:12px}.masters-projects-intro{max-width:900px;margin-bottom:30px;color:#625f56;font-size:.9rem;line-height:1.8}.masters-intro h1{margin:25px 0 28px;font-family:inherit;font-size:clamp(3rem,5.8vw,6rem);font-weight:500;line-height:1.04;letter-spacing:-.055em;color:#2d342c}.masters-intro h1 em{color:#718065;font-weight:500}.masters-intro-copy{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:30px 5vw;align-items:start;max-width:none}.masters-intro-copy p{color:#625f56;font-size:.9rem;line-height:1.8}.masters-intro-copy p:first-child{grid-column:1;max-width:640px;color:#2d342c;font-family:inherit;font-size:clamp(1rem,1.3vw,1.15rem);font-weight:500;line-height:1.5;letter-spacing:-.025em}.masters-intro-copy p+p{grid-column:1;max-width:640px;margin-top:0;font-size:.88rem}.masters-topics{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;margin:0;padding:0;border:none}.masters-topics span{padding:0;border:none;border-radius:0}.masters-topics span:not(.masters-topics-label){padding:9px 0;border-top:1px solid #d9dccf;color:#3f453c;font-size:.82rem;line-height:1.4}.masters-topics .masters-topics-label{margin-bottom:11px;color:#8a8177;font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.product-studies{display:grid;gap:32px;padding-bottom:80px}.product-study{--project-accent:#607353;--project-tint:#eef1e8;--project-line:#d7dfce;border:1px solid #e0e1d8;border-radius:4px;background:#fdfcf8;overflow:hidden}.product-study--sand{--project-accent:#8b6b47;--project-tint:#f3eee4;--project-line:#e4d8c6}.product-study--blue{--project-accent:#526f7a;--project-tint:#eaf0f1;--project-line:#d1dfe3}.product-study-header{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:16px 26px;border-bottom:1px solid var(--project-line);background:var(--project-tint)}.product-study-number{color:var(--project-accent);font-family:inherit;font-size:.8rem}.product-study-label{color:var(--project-accent);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}.product-study-note{margin-left:auto;color:var(--project-accent);font-size:.65rem;line-height:1.5}.product-study-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:30px;padding:30px 26px}.product-study-copy h2{max-width:520px;font-family:inherit;font-size:clamp(1.3rem,2.1vw,1.9rem);font-weight:600;color:#30372c;line-height:1.22;letter-spacing:-.04em;text-wrap:balance}.product-study-copy>p{margin-top:16px;color:#625f56;font-size:.85rem;line-height:1.8}.product-stack{display:flex;flex-wrap:wrap;gap:7px 14px;list-style:none;margin-top:22px}.product-stack li{color:var(--project-accent);font-family:inherit;font-size:.6rem;line-height:1.6}.product-system{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:22px;border:1px solid var(--project-line);border-radius:3px;background:var(--project-tint)}.product-system-label{color:var(--project-accent);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px}.product-flow{list-style:none}.product-flow li{position:relative;padding:0 0 22px 22px;color:#454c40;font-family:inherit;font-size:.68rem;line-height:1.6}.product-flow li:before{content:"";position:absolute;top:5px;left:0;width:7px;height:7px;border:1px solid var(--project-accent);border-radius:50%;background:var(--project-tint)}.product-flow li:not(:last-child):after{content:"";position:absolute;left:3px;top:14px;bottom:3px;width:1px;background:var(--project-line)}.product-flow li:last-child{padding-bottom:0}.product-flow li:last-child:before{background:var(--project-accent)}.product-highlights{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:0 26px;padding:24px 0 28px;border-top:1px solid #e5e5dc}.product-highlights dt{margin-bottom:8px;color:#444b3e;font-size:.76rem;font-weight:600}.product-highlights dd{color:#6a675e;font-size:.78rem;line-height:1.75}@media (min-width:701px) and (max-width:1150px){.product-study-body{grid-template-columns:1fr;gap:24px}}@media (max-width:700px){.product-study-header{padding:14px 20px}.product-study-note{width:100%;margin-left:0}.product-study-body{grid-template-columns:1fr;padding:24px 20px;gap:24px}.product-highlights{grid-template-columns:1fr;margin:0 20px;gap:20px}}.profile-block{margin-top:46px}.research-panel>.profile-block:last-child{padding-bottom:92px}.profile-section-title{margin-bottom:18px;padding-left:12px;border-left:3px solid #718065;color:#35412f;font-family:inherit;font-size:1.08rem;font-weight:700;letter-spacing:-.025em;line-height:1.4}.profile-list{list-style:none;border-top:1px solid #d9dccf}.profile-list li{display:grid;grid-template-columns:125px minmax(0,1fr);gap:2vw;align-items:baseline;padding:13px 0;border-bottom:1px solid #d9dccf}.profile-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5vw;align-items:start;margin-top:46px}.profile-columns .profile-block{margin-top:0}.profile-columns .profile-list li{grid-template-columns:96px minmax(0,1fr);gap:14px}.profile-when{color:#8a8177;font-size:.72rem}.profile-what{color:#3f453c;font-size:.88rem;line-height:1.5}.profile-teaching-list{border-top:1px solid #d9dccf}.profile-teaching{padding:14px 0 17px;border-bottom:1px solid #d9dccf}.profile-teaching-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.profile-where{margin-top:5px;color:#8a8177;font-size:.72rem}.profile-detail{max-width:640px;margin-top:11px;color:#625f56;font-size:.83rem;line-height:1.7}.inline-link{padding:0;border:none;border-bottom:1px solid #a4ae94;background:none;color:#3f453c;font:inherit;cursor:pointer}.inline-link:hover{color:#2d342c;border-bottom-color:#2d342c}.masters-case-heading{display:flex;justify-content:space-between;gap:16px;margin-bottom:28px}.masters-case-heading>span{color:#746f65;font-size:.68rem}.masters-case .capstone-title{max-width:none;color:#2d342c;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:500;line-height:1.1}.masters-case .capstone-title span{display:block;margin-top:12px;font-weight:600;font-size:.65em;line-height:1.3}.masters-case .capstone-meta{color:#746f65}.masters-case a:focus-visible,.research-page button:focus-visible{outline:2px solid #59644f;outline-offset:5px}@media (max-width:700px){.masters-intro{padding-top:12px;padding-bottom:36px}.masters-intro-copy{grid-template-columns:1fr;gap:22px}.masters-topics{grid-column:1;grid-row:auto}.profile-columns{grid-template-columns:1fr;gap:0}.profile-columns .profile-block{margin-top:34px}.profile-list li{grid-template-columns:100px minmax(0,1fr);gap:4px 14px}.profile-teaching-head{flex-direction:column;gap:4px}.masters-case-heading{flex-direction:column;align-items:flex-start;gap:12px}.masters-case{margin-top:40px}.masters-case .capstone-columns{grid-template-columns:1fr;gap:26px}}.research-capstone{width:90%;min-width:90%;margin:0 auto;padding:48px 0 96px}.capstone-body{max-width:none}.capstone-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:4vw;align-items:start}.capstone-main{max-width:700px}.capstone-prose{margin-top:4px}.capstone-prose p{color:#55504a;font-size:.9rem;line-height:1.75}.capstone-prose p+p{margin-top:15px}.capstone-label{color:#8a8177;font-size:.74rem}.capstone-title{margin:7px 0 4px;color:#262322;font-family:inherit;font-size:1.75rem;font-weight:600;letter-spacing:-.03em;line-height:1.15}.capstone-subtitle{color:#55504a;font-size:.95rem}.capstone-meta{margin:12px 0 26px;color:#a29889;font-size:.74rem;line-height:1.6}.ura-main{max-width:900px}.ura-figure{margin-top:24px}.ura-figure img{display:block;width:100%;max-width:300px;height:auto}.ura-figure figcaption{max-width:300px;margin-top:12px;color:#8a8177;font-family:inherit;font-size:.62rem;line-height:1.55}.capstone-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 28px;margin:46px 0 50px}.snapshot{position:relative;margin:0;padding:11px 11px 0;background:#fffdf9;border:1px solid #ece6dc;box-shadow:0 2px 10px rgba(62,52,40,.07);transform:rotate(var(--tilt,0deg));transition:transform .28s ease,box-shadow .28s ease}.snapshot:before{content:"";position:absolute;top:-10px;left:50%;width:66px;height:19px;transform:translateX(-50%) rotate(calc(var(--tilt, 0deg) * -1.6));background:hsla(38,36%,76%,.45);border-left:1px solid hsla(38,27%,65%,.35);border-right:1px solid hsla(38,27%,65%,.35)}.snapshot:hover{transform:rotate(0deg) translateY(-5px) scale(1.015);box-shadow:0 12px 28px rgba(62,52,40,.15);z-index:2}.snapshot img{display:block;width:100%;height:auto;aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;filter:saturate(.93)}.snapshot figcaption{padding:10px 2px 12px;color:#8a8177;font-family:inherit;font-size:.62rem;line-height:1.4}.capstone-awards-label{margin:0 0 4px;color:#8a8177;font-size:.78rem;font-weight:600}.capstone-awards{list-style:none}.capstone-awards li{padding:12px 0;border-bottom:1px solid #ece6dc}.award-place{display:block;margin-bottom:3px;color:#262322;font-size:.8rem;font-weight:600}.award-name,.capstone-awards a{display:inline-block;color:#55504a;font-size:.8rem;line-height:1.5;text-decoration:none}.capstone-awards a{border-bottom:1px solid #d3c9ba}.capstone-awards a:hover{color:#262322;border-bottom-color:#262322}.about-page,.work-page{--ink:#2d342c;--muted:#7d766c;--line:#d9dccf;--paper:#faf9f5;min-height:100vh;background:var(--paper);color:var(--ink);font-family:Plus Jakarta Sans,sans-serif}.about-page .about-intro,.work-page .work-intro{position:relative;display:block;width:90%;max-width:none;margin:0 auto;padding:clamp(42px,8vh,88px) 0 0;background:transparent}.about-page .about-page-heading h1,.work-page .work-intro h1{margin:0;color:#2d342c;font-family:inherit;font-size:clamp(2.6rem,6vw,5.2rem);font-weight:500;line-height:1;letter-spacing:-.045em}.about-page .about-copy,.work-page .work-intro>p:last-child{max-width:680px;margin-top:24px;color:#7d766c;font-size:.88rem;line-height:1.75}.about-page .about-copy p{color:inherit}.about-page .section-tag,.work-page .eyebrow,.work-page .section-heading{color:#626c59;font-family:inherit;font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.work-page .eyebrow{margin-bottom:18px}.work-page .work-intro a{color:#596b4e;text-decoration:underline;text-decoration-color:#a4ae94;text-underline-offset:4px}.work-page .work-intro a:hover{color:#303f29}.about-page .about-writing,.work-page .work-page-grid{width:90%;max-width:none;margin:0 auto;padding:40px 0 0}.about-page .education-list,.about-page .experience-list{max-width:none}.about-page .education-list{border-top:1px solid #d9dccf;margin-top:22px}.about-page .education-list>div{grid-template-columns:50px minmax(0,1fr) minmax(0,.65fr);padding:20px 0;border-color:#d9dccf}.about-page .education-list em,.about-page .education-list span,.about-page .experience-heading span,.about-page .experience-role{color:#7d766c;font-family:inherit;font-size:.72rem;line-height:1.6;letter-spacing:0;text-transform:none}.about-page .education-list span{color:#718065}.about-page .education-list strong{font-size:.95rem;font-weight:500}.about-page .experience-section{padding-top:58px;padding-bottom:90px}.about-page .experience-intro{max-width:680px;margin-top:20px;color:#625f56;font-size:.88rem;line-height:1.8}.about-page .experience-list{margin-top:28px;border-top:1px solid #d9dccf}.about-page .experience-list article{padding:28px 0;border-color:#d9dccf}.about-page .experience-heading h2{font-family:inherit;font-size:1.3rem;font-weight:600;letter-spacing:-.03em}.about-page .experience-role{margin:8px 0 12px;color:#626c59}.about-page .experience-list article>p:last-child{max-width:700px;color:#625f56;font-size:.83rem;line-height:1.75}.work-page .work-page-grid{padding-bottom:90px}.work-page .section-heading{padding-bottom:16px}.work-page .section-heading span{color:inherit}.work-page .work-filters{margin:24px 0 32px}.work-page .filter-button{color:#626c59;border-color:#d9dccf;font-family:inherit;font-size:.72rem}.work-page .filter-button.active,.work-page .filter-button:hover{background:#e7ebdc;border-color:#a4ae94;color:#394b30}.work-page .projects-grid{gap:28px}.work-page .project-card{padding:20px;border:1px solid #d9dccf;border-radius:4px;background:#fdfcf8}.work-page .project-card>div:first-child{overflow:hidden;border-radius:0;background:#eef1e8}.work-page .project-title{font-family:inherit;font-size:clamp(1.2rem,2vw,1.65rem);font-weight:600;line-height:1.3;letter-spacing:-.035em}.work-page .project-arrow{color:#718065}.work-page .project-desc{font-family:inherit;color:#625f56;font-size:.83rem;line-height:1.75}.work-page .tech-item{font-family:inherit;text-transform:none;border-color:#d9dccf;color:#626c59;font-size:.62rem}.work-page .project-link{font-family:inherit;font-size:.68rem;text-transform:none;border-color:#a4ae94}.work-page .project-link span{color:#596b4e}.work-page a:focus-visible,.work-page button:focus-visible{outline:2px solid #59644f;outline-offset:4px}.button-3d{background-color:#fff;color:var(--ink);border-radius:10em;font-size:14px;font-weight:500;padding:1em 2em;cursor:pointer;transition:all .3s ease-in-out;border:1px solid var(--ink);box-shadow:0 0 0 0 var(--ink)}.button-3d:hover{transform:translateY(-4px) translateX(-2px);box-shadow:2px 5px 0 0 var(--ink)};.button-3d:active{transform:translateY(2px) translateX(1px);box-shadow:0 0 0 0 var(--black-75)};.video-container{border:35px solid rgba(130,185,247,.21)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.fade-in{animation:fadeIn 1s ease-in-out forwards}.slide-up{animation:slideUp 1s ease-in-out forwards}@media (max-width:700px){body{padding-left:155px}.site-nav{width:155px;padding:24px 18px}.wordmark{font-size:.78rem;padding:6px 6px 12px;gap:9px}.nav-links{gap:16px;margin-top:15vh;font-size:.7rem}.hero{min-height:78vh;padding-top:9vh}.hero:after{width:110px;height:110px;right:3%;top:18%}.hero-sticker{right:8%;top:19%;padding:16px 10px;font-size:.7rem}.reference-hero h1{font-size:clamp(2.8rem,13vw,4.6rem);margin:6vh 0}.hero-footer{align-items:flex-start;flex-direction:column}.about-content{display:block;margin:35px 0}.about-lede{font-size:2rem;margin-bottom:35px}.fact-row{flex-wrap:wrap;gap:12px 20px}.work-section{padding-top:60px}.work-intro{padding-top:9vh;padding-bottom:9vh}.work-intro h1{margin:28px 0 20px}.work-filters{margin:22px 0 35px}.about-intro{display:flex;flex-direction:column-reverse;align-items:stretch;gap:40px;padding-top:9vh}.about-page-heading h1{margin:28px 0 18px;font-size:3.8rem}.about-photo-wrap{width:150px;margin:0 auto}.about-photo{width:150px;height:190px}.about-writing{padding-top:50px}.education-list>div{display:grid;grid-template-columns:12% 1fr;gap:8px}.education-list em{grid-column:2}.about-page .about-intro,.work-page .work-intro{padding-top:36px;padding-bottom:30px}.about-page .about-page-heading h1,.work-page .work-intro h1{font-size:clamp(2.6rem,6vw,5.2rem)}.about-page .education-list>div{grid-template-columns:32px minmax(0,1fr)}.work-page .project-card{margin-bottom:24px;padding:16px}.about-page .about-copy,.about-page .experience-intro{font-size:.86rem}.about-page .education-list strong{font-size:.92rem}.experience-section{padding-top:60px;padding-bottom:55px}.experience-heading{align-items:flex-start;flex-direction:column;gap:4px}.research-intro{padding-top:8vh}.research-item{display:block;padding:26px 0 24px}.research-number{display:block;margin-bottom:10px}.research-content{display:block;width:90%;margin-top:5vh}.research-rail{position:static;flex-direction:row;flex-wrap:wrap;gap:4px 18px;margin-bottom:30px}.rail-group{width:100%;margin:12px 0 4px}.rail-group:first-child{margin-top:0}.rail-link{padding:5px 0 5px 11px}.research-capstone{padding:0 0 70px}.capstone-title{font-size:1.5rem}.capstone-gallery{grid-template-columns:1fr;gap:26px;margin:34px 0 38px}.capstone-columns{display:block}.capstone-credits{margin-top:30px}.projects-grid,.selected-grid{display:block}.project-card,.project-card-right{padding-top:0;margin-bottom:18vw}.project-title{font-size:1.8rem}.site-footer{margin-top:8vw;display:block}.footer-note{display:block;margin-top:28px}}.project-detail-page{--ink:#2d342c;--muted:#7d766c;--line:#d9dccf;background:#faf9f5;min-height:100vh;font-family:Plus Jakarta Sans,sans-serif}.project-detail-container{width:90%;margin:0 auto;padding-bottom:90px}.detail-header{position:relative;padding:clamp(42px,8vh,88px) 0 36px;margin-bottom:34px}.detail-back{display:inline-block;color:#626c59;font-size:.75rem}.detail-cover{display:block;width:100%;height:auto;border:1px solid #d9dccf;border-radius:4px}.detail-body{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,2fr);gap:clamp(28px,5vw,72px);padding-top:42px}.detail-sidebar{min-width:0}.detail-sidebar>div{padding:18px 0;border-top:1px solid #d9dccf}.detail-prose .detail-kicker,.detail-sidebar h2{margin:0 0 12px;color:#626c59;font-size:.65rem;font-weight:600;line-height:1.5;letter-spacing:.1em;text-transform:uppercase}.detail-sidebar a,.detail-sidebar p{color:#625f56;font-size:.78rem;line-height:1.75;overflow-wrap:anywhere}.detail-sidebar a{color:#596b4e;text-decoration:underline;text-decoration-color:#a4ae94;text-underline-offset:5px}.detail-source{display:inline-block;margin-top:12px}.detail-tools{display:flex;flex-wrap:wrap;gap:7px;list-style:none}.detail-tools li{padding:5px 9px;border:1px solid #d9dccf;border-radius:20px;color:#626c59;font-size:.62rem;line-height:1.5}.detail-prose{min-width:0}.detail-prose h2{margin:8px 0 18px;font-family:inherit;color:#30372c;font-size:clamp(1.3rem,2.1vw,1.9rem);font-weight:600;line-height:1.3;letter-spacing:-.035em}.detail-prose p{margin-bottom:20px;color:#625f56;font-size:.88rem;line-height:1.8}.detail-prose a{color:#596b4e;text-decoration:underline;text-underline-offset:3px}.detail-feature-media,.detail-prose img,.detail-prose video{display:block;width:100%;height:auto;border:1px solid #d9dccf;border-radius:4px;background:#fdfcf8;margin:8px 0 28px}.detail-prose img+h2{margin-top:14px}.detail-features{margin-top:36px}.detail-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:center;gap:36px;padding:36px 0;border-top:1px solid #d9dccf}.detail-feature-media{margin:0;overflow:hidden;padding:12px;background:#eef1e8}.detail-feature-media img,.detail-feature-media video{display:block;width:100%;height:auto}.project-detail-page .video-container{border:0}.detail-top{position:fixed;right:24px;bottom:24px;width:42px;height:42px;border:1px solid #a4ae94;border-radius:50%;background:#eef1e8;color:#596b4e;font-size:1.2rem}.project-detail-page a:hover{color:#303f29}.detail-top:focus-visible,.project-detail-page a:focus-visible{outline:2px solid #59644f;outline-offset:5px}@media (max-width:1000px){.detail-feature{grid-template-columns:1fr;gap:16px}}@media (max-width:700px){.detail-header{padding-top:36px;padding-bottom:30px}.detail-body{grid-template-columns:1fr;padding-top:28px;gap:32px}.detail-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.detail-source{grid-column:1/-1}.detail-top{right:16px;bottom:16px}}.detail-prose .recording-download{display:inline-block;margin:-12px 0 28px;font-size:.72rem}.detail-mobile-recording video{max-width:340px;max-height:650px}.project-live-link{margin-left:20px}.studio-section{margin-top:42px;padding-top:32px;border-top:1px solid #d9dccf}.studio-section>.detail-prose{max-width:720px;margin-bottom:26px}.studio-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}.studio-screenshot{min-width:0;margin:0}.studio-screenshot a{display:block;border:1px solid #d9dccf;border-radius:4px;overflow:hidden;background:#fdfcf8}.studio-screenshot img{display:block;width:100%;height:auto}.studio-screenshot figcaption{margin-top:10px;color:#7d766c;font-size:.72rem;line-height:1.6}.studio-cms-overview{max-width:780px;margin:0 auto 32px}@media (max-width:700px){.studio-gallery{grid-template-columns:1fr}}.about-page .about-copy{display:grid;grid-template-columns:1fr 1fr;max-width:1000px;gap:30px}.about-page .about-copy p:first-child{color:#444d3e;font-size:1rem;line-height:1.75}.about-page .about-copy p+p{margin-top:0}.about-jump-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.about-jump-links a{display:flex;align-items:center;gap:24px;padding:9px 14px;border:1px solid #d9dccf;border-radius:24px;color:#596b4e;font-size:.72rem}.about-jump-links span{color:#718065}.about-jump-links a:hover{background:#eef1e8;border-color:#a4ae94}.about-jump-links a:focus-visible{outline:2px solid #59644f;outline-offset:4px}.about-page .about-writing{scroll-margin-top:30px}.about-page .about-education{padding-top:32px}.about-page .experience-section{padding-top:34px;padding-bottom:60px}.about-section-heading{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid #a4ae94;margin-bottom:18px}.about-section-heading>span{color:#718065;font-size:.72rem}.about-section-heading h2{margin-top:4px;color:#2d342c;font-family:inherit;font-size:clamp(1.3rem,2vw,1.65rem);font-weight:500;letter-spacing:-.035em;line-height:1.2}.about-school-grid{list-style:none;display:grid;gap:0;border:1px solid #dedfd5;border-radius:4px;overflow:hidden}.about-school-grid li{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) auto;align-items:center;gap:4px 20px;padding:14px 18px;background:#fdfcf8}.about-school-grid li+li{border-top:1px solid #dedfd5}.about-school-grid .about-school-current{background:#eef1e8}.about-school-label{color:#74796b;font-size:.73rem;line-height:1.5}.about-school-grid h3{color:#35412f;font-size:.9rem;font-weight:600;letter-spacing:-.02em;line-height:1.4}.about-school-detail{grid-column:2;color:#625f56;font-size:.72rem;line-height:1.5}.about-current-badge{grid-column:3;grid-row:1/3}.about-current-badge,.about-role-current .about-role-heading>span{color:#596b4e;font-size:.62rem;font-weight:400;padding:4px 8px;border:1px solid #bec9b1;border-radius:20px}.about-page .experience-intro{max-width:900px;margin:-2px 0 18px;font-size:.83rem;line-height:1.65}.about-role-list{border-top:1px solid #dedfd5}.about-role-list article{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);-moz-column-gap:28px;column-gap:28px;row-gap:5px;align-content:start;padding:18px 0;border-bottom:1px solid #dedfd5}.about-role-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.about-role-heading h3{font-size:1rem;font-weight:600;color:#30372c;letter-spacing:-.025em;line-height:1.35}.about-role-heading>span{color:#74796b;font-size:.67rem}.about-role-title{grid-column:1;color:#626c59;font-size:.72rem;line-height:1.55}.about-role-list article>p:last-child{grid-column:2;grid-row:1/3;align-self:start;padding-left:22px;border-left:2px solid #d9dfcf;color:#625f56;font-size:.81rem;line-height:1.7}@media (max-width:900px){.about-school-grid li{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.about-school-detail,.about-school-grid h3,.about-school-label{grid-column:1}.about-current-badge{grid-column:2;grid-row:1/4}.about-role-list article{grid-template-columns:1fr;gap:6px}.about-role-list article>p:last-child{grid-column:1;grid-row:auto;border:0;padding:3px 0 0}}@media (max-width:700px){.about-page .about-copy{grid-template-columns:1fr;gap:16px}.about-page .about-education{padding-top:18px}.about-school-grid li{padding:12px 14px}.about-current-badge{max-width:90px;text-align:center}.about-page .about-writing{scroll-margin-top:24px}}.detail-prose .fifa-intro h2{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:500;line-height:1.18}.fifa-jump-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:24px;font-size:.73rem}.fifa-section{padding-top:28px;margin-top:40px;border-top:1px solid #a4ae94;scroll-margin-top:28px}.fifa-section-heading>span{color:#626c59;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}.fifa-section-heading h2{margin:9px 0 16px;color:#30372c;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:500;letter-spacing:-.035em;line-height:1.25}.fifa-section-copy{max-width:740px;color:#625f56;font-size:.86rem;line-height:1.75}.fifa-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0;border:1px solid #d5ddcb;border-radius:4px;background:#eef1e8}.fifa-results>div{display:flex;flex-direction:column;padding:22px}.fifa-results>div+div{border-left:1px solid #d5ddcb}.fifa-results dt{color:#596b4e;font-size:.71rem;line-height:1.5}.fifa-results dd{margin:10px 0;color:#3f5633;font-size:clamp(2rem,3.5vw,3.25rem);letter-spacing:-.05em;line-height:1.1;font-variant-numeric:tabular-nums}.fifa-results p{max-width:260px;color:#626c59;font-size:.73rem;line-height:1.6}.fifa-figure{margin:24px 0 16px}.fifa-figure a{display:block;border:1px solid #dedfd5;border-radius:4px;overflow:hidden;background:#fdfcf8}.fifa-figure img{display:block;width:100%;height:auto}.fifa-figure figcaption,.fifa-method-note{color:#74776c;font-size:.71rem;line-height:1.7}.fifa-figure figcaption{margin-top:10px}.fifa-method-note{max-width:850px;margin-top:14px}.fifa-method-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:30px;margin-top:24px}.fifa-section .detail-prose h3{color:#3f4938;font-size:.95rem;font-weight:600;margin-bottom:10px}.fifa-constraints{background:#f2efe6;border:1px solid #e2ddcf;border-radius:4px;padding:22px}.fifa-constraints>p{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:#7d7058;margin-bottom:14px}.fifa-constraints ul{padding-left:16px;list-style:disc}.fifa-constraints li{color:#625f56;font-size:.8rem;line-height:1.7;margin-top:10px}.fifa-solver{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:20px 0;border-bottom:1px solid #d9dccf}.fifa-solver dt{color:#74776c;font-size:.67rem}.fifa-solver dd{margin-top:6px;color:#3f4938;font-size:1.25rem;font-variant-numeric:tabular-nums}.fifa-expand{margin-top:24px;border:1px solid #d9dccf;border-radius:4px;padding:0 18px}.fifa-expand summary{cursor:pointer;padding:16px 0;color:#596b4e;font-size:.78rem}.fifa-expand summary:focus-visible{outline:2px solid #59644f;outline-offset:4px}.fifa-takeaways{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px}@media (max-width:900px){.fifa-method-grid{grid-template-columns:1fr;gap:14px}.fifa-results>div{padding:16px}}@media (max-width:600px){.fifa-results,.fifa-takeaways{grid-template-columns:1fr}.fifa-results>div+div{border-left:0;border-top:1px solid #d5ddcb}.fifa-results p{max-width:none}.fifa-solver{grid-template-columns:1fr 1fr}}.fifa-context-copy{max-width:850px;margin-top:26px}.fifa-reading-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px}.fifa-score-formula{padding:18px 22px;margin-top:20px;border-left:3px solid #a4ae94;background:#eef1e8}.fifa-score-formula>span{color:#626c59;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.fifa-score-formula p{margin-top:7px;color:#3f4938;font-size:.9rem;line-height:1.6}.fifa-assumptions{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin-top:24px}.fifa-assumptions>div{padding:18px 0;border-top:1px solid #d9dccf}.fifa-assumptions dt{color:#3f4938;font-weight:600;font-size:.88rem;margin-bottom:8px}.fifa-assumptions dd{color:#625f56;font-size:.81rem;line-height:1.75}@media (max-width:700px){.fifa-assumptions,.fifa-reading-grid{grid-template-columns:1fr;gap:0}}.fifa-altitude-note{margin-top:20px;padding:20px 24px;border-left:3px solid #a4ae94;background:#eef1e8}.fifa-altitude-note p:last-child{margin-bottom:0}.resume-page{padding:clamp(32px,6vh,64px) 5% 56px}.resume-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:24px;border-bottom:2px solid #718065}.resume-heading h1{font-size:clamp(2.4rem,5vw,4rem);font-weight:500;letter-spacing:-.05em;line-height:1.1}.resume-heading>span{font-size:.85rem;color:#626c59}.resume-page .about-writing{display:grid;grid-template-columns:140px minmax(0,1fr);gap:28px;width:100%;padding:28px 0}.resume-page .experience-section{border-top:1px solid #d9dccf}.resume-section-heading h2{display:flex;align-items:center;gap:9px;margin-top:14px;font-size:.82rem;font-weight:600;color:#596b4e}.resume-section-heading h2:before{content:"";width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#718065}.resume-page .about-school-grid{border:0;border-radius:0}.resume-page .about-school-grid li{padding:12px 16px;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) 90px}.resume-page .about-current-badge{justify-self:end}.resume-page .about-role-list{border-top:0}.resume-page .about-role-list article{grid-template-columns:minmax(0,1fr);gap:5px;padding:14px 0}.resume-page .about-role-heading{justify-content:space-between}.resume-page .about-role-list article>p:last-child{grid-column:1;grid-row:auto;border:0;padding:2px 0 0;max-width:780px}.resume-page .about-role-list article:last-child{border-bottom:0}.resume-page .about-role-list .about-role-current{background:#eef1e8;padding:12px 16px}.resume-research-link{color:#596b4e;text-decoration:underline;text-underline-offset:3px}.resume-research-link:hover{color:#35412f}.resume-research-link:focus-visible{outline:2px solid #718065;outline-offset:3px}@media (max-width:900px){.resume-page .about-school-grid li{grid-template-columns:minmax(0,1fr) 90px}}@media (max-width:700px){.resume-page .about-writing{grid-template-columns:1fr;gap:14px;padding:22px 0}.resume-section-heading h2{margin-top:0}.resume-heading{align-items:flex-start;flex-direction:column;gap:8px;padding-bottom:20px}.resume-page .about-role-heading{gap:6px 14px}}.nav-brand-row{display:flex;justify-content:center;width:100%}.nav-menu{display:flex;flex-direction:column;flex:1;min-height:0;width:100%}.nav-toggle{display:none}@media (max-width:900px){body{padding-left:0}.site-nav{position:sticky;inset:auto;top:0;width:100%;padding:12px 5%;border-right:0;border-bottom:1px solid #d9dccf}.nav-brand-row{align-items:center;justify-content:space-between;gap:20px}.site-nav .wordmark{flex-direction:row;width:auto;max-width:calc(100% - 64px);padding:0;gap:12px;border:0;background:transparent;box-shadow:none;transform:none;font-size:1rem;letter-spacing:-.035em}.site-nav .nav-photo{width:40px;height:46px;padding:3px 3px 6px;background:#fffefb;border:1px solid #e3e0d7;box-shadow:0 2px 5px #2d342c12;transform:rotate(-3deg)}.nav-toggle{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:1px solid #d9dccf;border-radius:4px;background:#eef1e8;cursor:pointer}.nav-toggle:focus-visible{outline:2px solid #596b4e;outline-offset:3px}.nav-toggle-icon{display:grid;gap:5px;width:20px}.nav-toggle-icon>span{height:2px;background:#35412f}.nav-toggle[aria-expanded=true] .nav-toggle-icon>span:first-child{transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-icon>span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle-icon>span:last-child{transform:translateY(-7px) rotate(-45deg)}.nav-menu{display:none;flex:auto;max-height:calc(100dvh - 82px);overflow-y:auto}.nav-menu.is-open{display:flex}.site-nav .nav-links{gap:0;margin-top:16px;font-size:1rem}.nav-links a{display:flex;align-items:center;min-height:48px}.site-nav .nav-footer{margin-top:16px;padding:12px 0 4px;border-top:1px solid #d9dccf;gap:0;font-size:.75rem}.nav-footer a{display:flex;align-items:center;min-height:44px}}@media (min-width:1024px){.lg\:pr-2{padding-right:.5rem}}@media (min-width:1280px){.xl\:pr-10{padding-right:2.5rem}}