*,:before,:after{--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: rgb(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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::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: rgb(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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:IBM Plex Sans,ui-sans-serif,system-ui,sans-serif;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,samp,pre{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;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-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,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{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}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1))}html,body,.mobile-menu-panel{scroll-behavior:smooth;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:rgb(var(--color-scrollbar-thumb)) transparent}body{min-height:100vh;--tw-bg-opacity: 1;background-color:rgb(var(--color-bg) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip;background-color:rgb(var(--color-bg));background-image:linear-gradient(180deg,rgb(var(--color-surface) / var(--page-wash-opacity)),transparent 20rem),radial-gradient(circle var(--page-glow-size) at var(--page-glow-x) var(--page-glow-y),rgb(var(--color-brand) / var(--page-glow-opacity)),transparent 55%);font-family:var(--font-sans);text-rendering:optimizeLegibility;font-optical-sizing:auto;line-height:1.6}body[data-page=projects]{--page-glow-x: 82%;--page-glow-y: 2%;--page-glow-size: 52rem}body[data-page=leadership]{--page-glow-x: 16%;--page-glow-y: 8%;--page-glow-size: 58rem}body[data-page=cycling]{--page-glow-x: 70%;--page-glow-y: 4%;--page-glow-size: 56rem}body[data-page=project-detail]{--page-glow-x: 84%;--page-glow-y: 2%;--page-glow-size: 48rem}body[data-project-slug=stride]{--page-glow-x: 84%;--page-glow-y: 2%;--page-glow-size: 44rem}body[data-project-slug=bed-project]{--page-glow-x: 76%;--page-glow-y: 6%;--page-glow-size: 50rem}body[data-project-slug=applied-machine-learning]{--page-glow-x: 24%;--page-glow-y: 4%;--page-glow-size: 46rem}body[data-project-slug=career-and-labour-market-analysis]{--page-glow-x: 18%;--page-glow-y: 4%;--page-glow-size: 52rem}img{display:block;max-width:100%}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;letter-spacing:0;word-spacing:0;white-space:normal;overflow-wrap:anywhere;border:1px solid rgb(var(--color-border) / .78);border-radius:.2rem;background-color:rgb(var(--color-surface-strong) / .48);padding:.08em .34em;color:rgb(var(--color-text))}h1,h2{font-family:var(--font-serif);font-weight:600;text-wrap:balance}h3,h4,h5,h6{font-family:var(--font-sans);font-weight:600}header *,footer *,button,input,select,textarea,label,[class*=uppercase],.eyebrow,.wordmark,.nav-link,.mobile-nav-link,.button-primary,.button-secondary,.text-link,.hero-social-link,.footer-social-link,.theme-toggle,.hero-meta-item,.project-link,.tag-chip,.contact-card-label,.about-aside-heading,.stack-pill,.stat-pill{font-family:var(--font-sans)}a{text-underline-offset:.18em}::-moz-selection{background:rgb(var(--color-brand) / .16);color:rgb(var(--color-text))}::selection{background:rgb(var(--color-brand) / .16);color:rgb(var(--color-text))}section[id]{scroll-margin-top:6.5rem}html::-webkit-scrollbar,body::-webkit-scrollbar,.mobile-menu-panel::-webkit-scrollbar{width:.78rem;height:.78rem;background:transparent}html::-webkit-scrollbar-track,body::-webkit-scrollbar-track,.mobile-menu-panel::-webkit-scrollbar-track{background:transparent}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,.mobile-menu-panel::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:linear-gradient(180deg,rgb(var(--color-scrollbar-thumb-edge) / .9),rgb(var(--color-scrollbar-thumb) / .92)) padding-box,linear-gradient(180deg,rgb(var(--color-brand) / .08),rgb(var(--color-brand) / .02)) border-box}html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover,.mobile-menu-panel::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgb(var(--color-scrollbar-thumb-hover) / .94),rgb(var(--color-scrollbar-thumb) / .96)) padding-box,linear-gradient(180deg,rgb(var(--color-brand) / .12),rgb(var(--color-brand) / .04)) border-box}html::-webkit-scrollbar-thumb:active,body::-webkit-scrollbar-thumb:active,.mobile-menu-panel::-webkit-scrollbar-thumb:active{background:linear-gradient(180deg,rgb(var(--color-scrollbar-thumb-active) / .98),rgb(var(--color-scrollbar-thumb-hover) / .98)) padding-box,linear-gradient(180deg,rgb(var(--color-brand) / .14),rgb(var(--color-brand) / .06)) border-box}html::-webkit-scrollbar-corner,body::-webkit-scrollbar-corner,.mobile-menu-panel::-webkit-scrollbar-corner{background:transparent}html.is-theme-switching body,html.is-theme-switching [data-site-header],html.is-theme-switching .nav-shell,html.is-theme-switching .site-footer,html.is-theme-switching .section-card,html.is-theme-switching .surface-note,html.is-theme-switching .case-panel,html.is-theme-switching .project-card,html.is-theme-switching .project-card-caption,html.is-theme-switching .media-shell,html.is-theme-switching .strava-activity-shell,html.is-theme-switching .strava-widget-shell,html.is-theme-switching .project-cover,html.is-theme-switching .media-fallback,html.is-theme-switching .mobile-menu-panel,html.is-theme-switching .button-primary,html.is-theme-switching .button-secondary,html.is-theme-switching .theme-toggle,html.is-theme-switching .back-to-top,html.is-theme-switching .tag-chip,html.is-theme-switching .nav-link,html.is-theme-switching .wordmark,html.is-theme-switching .text-link,html.is-theme-switching .hero-social-link,html.is-theme-switching .footer-social-link,html.is-theme-switching .contact-card,html.is-theme-switching .skill-card{transition:background-color .28s var(--ease-premium),border-color .28s var(--ease-premium),color .24s var(--ease-premium),box-shadow .32s var(--ease-premium)}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.\!shell{margin-left:auto;margin-right:auto;width:100%;max-width:72rem;padding-left:1.5rem;padding-right:1.5rem}@media (min-width: 640px){.\!shell{padding-left:2rem;padding-right:2rem}}@media (min-width: 1024px){.\!shell{padding-left:2.5rem;padding-right:2.5rem}}.shell{margin-left:auto;margin-right:auto;width:100%;max-width:72rem;padding-left:1.5rem;padding-right:1.5rem}@media (min-width: 640px){.shell{padding-left:2rem;padding-right:2rem}}@media (min-width: 1024px){.shell{padding-left:2.5rem;padding-right:2.5rem}}.section{padding-top:4rem;padding-bottom:4rem}@media (min-width: 640px){.section{padding-top:4.5rem;padding-bottom:4.5rem}}@media (min-width: 1024px){.section{padding-top:6rem;padding-bottom:6rem}}.section-card,.case-panel,.project-card,.media-shell,.strava-activity-shell,.strava-widget-shell{border:1px solid rgb(var(--color-border) / .82);background-color:rgb(var(--color-surface) / .92);background-image:none;box-shadow:0 1px #ffffff3d,0 14px 30px #261f1906}[data-theme=dark] .section-card,[data-theme=dark] .case-panel,[data-theme=dark] .project-card,[data-theme=dark] .media-shell,[data-theme=dark] .strava-activity-shell,[data-theme=dark] .strava-widget-shell{background-color:rgb(var(--color-surface) / .94);background-image:none;box-shadow:0 1px #ffffff08,0 16px 28px #05040324}.surface-note{position:relative;display:flex;height:100%;flex-direction:column;padding:1rem .75rem .15rem 0;border-top:1px solid rgb(var(--color-border) / .82);background-color:transparent;box-shadow:none}.eyebrow{margin-bottom:1rem;display:inline-flex;align-items:center;gap:.75rem;font-size:.63rem;font-weight:600;text-transform:uppercase;letter-spacing:.28em;color:rgb(var(--color-brand))}.panel-label{font-size:.63rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:rgb(var(--color-text) / .72)}.body-copy,.body-copy-strong{font-size:var(--body-copy-size);line-height:var(--body-copy-leading)}.body-copy{color:rgb(var(--color-muted))}.body-copy-strong{color:rgb(var(--color-text))}.eyebrow:before{content:"";height:1px;width:1.45rem;background-color:rgb(var(--color-brand) / .48)}.section-title{font-size:2.65rem;--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}@media (min-width: 640px){.section-title{font-size:3.15rem}}@media (min-width: 1024px){.section-title{font-size:3.65rem}}.section-title{letter-spacing:-.038em;line-height:.98}.section-copy{max-width:38rem;font-size:1rem}@media (min-width: 640px){.section-copy{font-size:1.08rem}}.section-copy{color:rgb(var(--color-text) / .78);line-height:1.76}.display-title{font-size:clamp(4.05rem,9vw,7rem);line-height:.84;--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1));letter-spacing:-.055em}.hero-copy{max-width:36rem;font-size:1.02rem;--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))}@media (min-width: 640px){.hero-copy{font-size:1.12rem}}.hero-copy{line-height:1.8}@keyframes page-enter{0%{opacity:0;transform:translateY(14px);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.72rem;font-weight:600;text-transform:uppercase;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.button-primary:focus-visible,.button-secondary:focus-visible{outline:2px solid transparent;outline-offset:2px}.button-primary,.button-secondary{border-radius:.18rem;letter-spacing:.18em}.button-primary{border:1px solid rgb(var(--color-text) / .22);background-color:rgb(var(--color-text));color:rgb(var(--color-surface))}.button-secondary{border:1px solid rgb(var(--color-border) / .96);background-color:transparent;color:rgb(var(--color-text))}.button-primary,.button-secondary,.theme-toggle,.project-card,.surface-note,.case-panel,.media-shell{transition:transform .28s var(--ease-premium),background-color .24s var(--ease-premium),border-color .24s var(--ease-premium),box-shadow .32s var(--ease-premium),color .22s var(--ease-premium)}.text-link,.hero-social-link,.footer-social-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.text-link:focus-visible,.hero-social-link:focus-visible,.footer-social-link:focus-visible{outline:2px solid transparent;outline-offset:2px}.text-link,.hero-social-link,.footer-social-link{color:rgb(var(--color-muted))}.hero-meta{display:flex;flex-wrap:wrap;-moz-column-gap:1.25rem;column-gap:1.25rem;row-gap:.5rem}.hero-meta-ledger{gap:.72rem 1.25rem}.hero-meta-item{font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:rgb(var(--color-muted))}.hero-meta-ledger .hero-meta-item{position:relative}.hero-meta-ledger .hero-meta-item:not(:last-child):after{content:"";position:absolute;top:.08rem;right:-.64rem;height:.78rem;width:1px;background-color:rgb(var(--color-border) / .9)}.nav-shell{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-top:1rem;padding-bottom:1rem}@media (min-width: 1024px){.nav-shell{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem}}.nav-shell{min-height:4rem;padding-inline:clamp(1.2rem,2.4vw,2rem);border-bottom:0;background-color:transparent}.site-header-stack{position:relative;background-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.masthead-rail{position:relative;pointer-events:auto;border:0;border-radius:0;transition:background-color .22s var(--ease-premium),border-color .22s var(--ease-premium),box-shadow .32s var(--ease-premium)}.nav-brand-slot{display:flex;min-width:0px;align-items:center}.nav-center{align-items:center;justify-content:center;gap:1.5rem}.nav-actions{display:flex;align-items:center;gap:.5rem}@media (min-width: 1024px){.nav-actions{justify-self:end}}.wordmark{display:inline-flex;align-items:center;white-space:nowrap;text-decoration-line:none;color:rgb(var(--color-text));font-family:var(--font-serif);font-size:1.06rem;font-style:normal;font-weight:600;line-height:1;letter-spacing:-.02em;text-transform:none}.wordmark:before{content:none}.nav-link{position:relative;padding-bottom:.25rem;font-size:.69rem;font-weight:600;text-transform:uppercase;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.nav-link:focus-visible{outline:2px solid transparent;outline-offset:2px}.nav-link{color:rgb(var(--color-muted));letter-spacing:.18em}.nav-link-active{color:rgb(var(--color-text))}.nav-link-active:after{content:"";position:absolute;left:0;right:0;bottom:-.18rem;height:1px;background-color:rgb(var(--color-brand) / .82)}.theme-toggle{display:inline-flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.theme-toggle:focus-visible{outline:2px solid transparent;outline-offset:2px}.theme-toggle{border-radius:.18rem;border:1px solid rgb(var(--color-border) / .82);background-color:rgb(var(--color-surface) / .76);color:rgb(var(--color-text))}.title-page,.chapter-head{position:relative;border-top:0;padding-top:0}.title-page[data-chapter]:before,.chapter-head[data-chapter]:before{content:attr(data-chapter);display:block;position:static;margin-bottom:.55rem;padding-right:0;background-color:transparent;font-family:var(--font-sans);font-size:.67rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--color-brand))}.chapter-head-compact{padding-top:0}.title-page-figure{align-self:start}.home-hero-grid{display:grid;gap:clamp(2.5rem,5vw,4.75rem);align-items:end}.home-hero-copy{max-width:46rem}.home-hero-copy .display-title{max-width:9ch}.home-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.15rem}.home-hero-icon-links{display:inline-flex;align-items:center;gap:.45rem}.home-hero-icon-links .hero-social-link{justify-content:center;height:2.45rem;width:2.45rem;gap:0;border:1px solid rgb(var(--color-border) / .88);border-radius:.22rem;background-color:rgb(var(--color-surface) / .8);color:rgb(var(--color-text) / .86)}.home-hero-icon-links .hero-social-link svg{height:1.02rem;width:1.02rem}.home-hero-icon-links .hero-social-link:hover{color:rgb(var(--color-text));border-color:rgb(var(--color-text) / .18);background-color:rgb(var(--color-surface-strong) / .82);transform:translateY(-1px)}.home-hero-ledger{max-width:39rem;border-top:1px solid rgb(var(--color-border) / .76);border-bottom:1px solid rgb(var(--color-border) / .76);padding:1rem 0 .95rem}.home-hero-aside{max-width:20.5rem}.home-portrait-shell{max-width:20.5rem;margin-left:auto}.home-portrait-shell .media-shell{padding:.82rem}.home-portrait-shell .media-image,.home-portrait-shell .media-fallback{top:.82rem;right:.82rem;bottom:.82rem;left:.82rem;height:calc(100% - 1.64rem);width:calc(100% - 1.64rem)}.home-hero-notes{display:grid;gap:1.1rem;margin-top:1.45rem}.home-hero-note{padding-top:1rem;border-top:1px solid rgb(var(--color-border) / .82)}.home-hero-note .body-copy-strong{max-width:16rem;font-size:.97rem;line-height:1.66;color:rgb(var(--color-text) / .88)}.home-projects-section,.home-skills-section,.home-contact-section{border-top:1px solid rgb(var(--color-border) / .74)}.home-projects-section{padding-top:clamp(3.75rem,6vw,5.5rem)}.home-about-section{padding-top:clamp(4.75rem,7vw,6.5rem)}.home-skills-section{padding-top:clamp(4rem,6vw,5.6rem)}.home-leadership-section{padding-top:clamp(4.75rem,7vw,6.25rem)}.home-contact-section{padding-top:clamp(4rem,6vw,5.6rem)}.home-about-copy .section-copy,[data-leadership-teaser-copy] .section-copy{max-width:40rem}.home-about-aside{padding-top:1rem}.home-skills-ledger{display:grid;gap:0}.home-contact-panel{max-width:46rem;padding:1.2rem 1.45rem 1.35rem}.home-contact-panel .contact-card:first-child{padding-top:.1rem}.projects-hero-section{padding-top:clamp(4rem,6vw,5.25rem)}.projects-filter-rail{max-width:46rem;align-items:center;row-gap:.7rem}.projects-filter-rail .tag-chip{background-color:rgb(var(--color-surface) / .34);font-size:.64rem;letter-spacing:.2em}.projects-metric{min-height:100%;padding:1.1rem .8rem .15rem 0;border-top-color:rgb(var(--color-border) / .84)}.projects-metric .stat-note-value{font-size:clamp(2.1rem,5vw,2.85rem);letter-spacing:-.05em}.projects-metric .stat-note-copy{max-width:18rem;font-size:.9rem;line-height:1.62}.projects-archive-section{border-top:1px solid rgb(var(--color-border) / .72);padding-top:clamp(4rem,6vw,5.4rem)}.projects-archive-head{margin-bottom:clamp(2rem,4vw,3rem)}.leadership-hero-section{padding-top:clamp(4rem,6vw,5.25rem)}.leadership-hero-grid{gap:clamp(2.25rem,4vw,3.5rem);align-items:end}.leadership-hero-note{padding:1.15rem 0 0}.leadership-hero-note .body-copy{max-width:18rem;font-size:1rem;line-height:1.78;color:rgb(var(--color-text) / .82)}.leadership-communities-section,.leadership-story-section{border-top:1px solid rgb(var(--color-border) / .72)}.leadership-communities-section{padding-top:clamp(4rem,6vw,5.3rem)}.leadership-story-section{padding-top:clamp(4.25rem,6vw,5.5rem)}.leadership-org-grid .surface-note{padding:1.15rem .9rem .2rem 0}.leadership-org-grid h3{max-width:13ch}.leadership-story-copy{padding-top:1.15rem;border-top:1px solid rgb(var(--color-border) / .8)}.leadership-lessons-note{padding:1.2rem 1.15rem 1.25rem;border:1px solid rgb(var(--color-border) / .82);background-color:rgb(var(--color-surface) / .72)}.cycling-hero-section{padding-top:clamp(4rem,6vw,5.5rem)}.cycling-hero-copy{max-width:44rem}.cycling-image-section{padding-top:clamp(2.4rem,4vw,3.75rem)}.cycling-plate{background-color:rgb(var(--color-surface) / .76)}.cycling-image-note{max-width:48rem;margin-top:1.65rem}.cycling-live-section,.cycling-notes-section{border-top:1px solid rgb(var(--color-border) / .72)}.cycling-live-section{padding-top:clamp(4rem,6vw,5.5rem)}.cycling-live-grid{gap:clamp(2.5rem,5vw,4rem)}.cycling-featured-block{max-width:none}.cycling-recent-block{padding-top:1.15rem;border-top:1px solid rgb(var(--color-border) / .76)}.cycling-notes-section{padding-top:clamp(4rem,6vw,5.4rem)}.cycling-notes-panel{padding:0 0 .35rem;border-color:transparent;background-color:transparent}.project-detail-hero-section{padding-top:clamp(2.9rem,4vw,4rem)}.project-detail-back-link{margin-bottom:1.15rem}.project-detail-hero-grid{gap:clamp(2rem,4vw,3.25rem);align-items:end}.project-detail-hero-copy{max-width:46rem}.project-detail-intro-section{border-top:1px solid rgb(var(--color-border) / .72);padding-top:clamp(3rem,5vw,4.25rem)}.project-detail-intro-stack{gap:2rem}.project-detail-cover-group{max-width:none}.project-detail-summary-grid{gap:clamp(1.2rem,3vw,2rem)}.project-detail-two-up,.project-detail-split-grid{align-items:start}.surface-note,.case-panel{padding:1.25rem;border-radius:var(--radius-panel)}.surface-note .surface-note,.case-panel .surface-note{background-color:rgb(var(--color-bg) / .42);box-shadow:none}[data-theme=dark] .surface-note .surface-note,[data-theme=dark] .case-panel .surface-note{background-color:rgb(var(--color-bg) / .22)}.case-block{padding-top:0;border-top:0}.case-block p+p,.case-block ul,.case-block [data-media-shell],.case-block .surface-note,.case-block .media-shell{margin-top:1rem}.about-aside{border-top:1px solid rgb(var(--color-border) / .88);padding-top:1.2rem}.about-aside-heading{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.24em;color:rgb(var(--color-muted))}.about-aside-list{display:grid;gap:0px}.about-aside-item.leading-7,.about-aside-item.leading-6{font-size:var(--body-copy-size)}.about-aside-item.leading-7{line-height:var(--body-copy-leading)}.about-aside-item.leading-6{line-height:1.68}.about-aside-item{padding-top:1rem;padding-bottom:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1));border-top:1px solid rgb(var(--color-border) / .72);font-size:var(--body-copy-size);line-height:1.7}.about-aside-item:first-child{padding-top:0;border-top-width:0}.about-aside-item:last-child{padding-bottom:0}.tag-chip{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;border-radius:.14rem;border:1px solid rgb(var(--color-border) / .92);color:rgb(var(--color-muted))}.stack-pill{display:inline-flex;align-items:center;font-size:.82rem;text-transform:uppercase;color:rgb(var(--color-muted));letter-spacing:.08em}.skill-card,.contact-card{display:block;padding-top:1.25rem;padding-bottom:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.skill-card:focus-visible,.contact-card:focus-visible{outline:2px solid transparent;outline-offset:2px}.skill-card,.contact-card{border-top:1px solid rgb(var(--color-border) / .9)}.skill-card:first-child{border-top-width:0;padding-top:0}.contact-card{display:grid;-moz-column-gap:1.5rem;column-gap:1.5rem;row-gap:.25rem;padding-top:1rem;padding-bottom:1rem}@media (min-width: 768px){.contact-card{grid-template-columns:6.5rem minmax(0,1fr);align-items:baseline}}.contact-card:first-child{border-top-width:0;padding-top:0}.contact-card-label{font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.24em;color:rgb(var(--color-muted))}.contact-card-value{font-size:1.08rem;font-weight:600;letter-spacing:-.02em;--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1));word-break:break-word}.footer-social-link.leading-7,.footer-social-link.leading-6{font-size:var(--body-copy-size)}.footer-social-link.leading-7{line-height:var(--body-copy-leading)}.footer-social-link.leading-6{line-height:1.68}.footer-social-link{font-size:.875rem;line-height:1.25rem}.project-card{position:relative;display:flex;height:100%;flex-direction:column;overflow:hidden;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;border-radius:var(--radius-panel)}.project-cover{position:relative;aspect-ratio:16/10;overflow:hidden;border-bottom:1px solid rgb(var(--color-border) / .88);background-color:rgb(var(--color-surface-strong) / .62);padding:1rem}.project-cover .media-image,.project-cover .media-fallback{top:1rem;right:1rem;bottom:1rem;left:1rem;height:calc(100% - 2rem);width:calc(100% - 2rem)}.project-cover[data-figure-label]{padding:1.95rem .95rem .95rem}.project-cover[data-figure-label] .media-image,.project-cover[data-figure-label] .media-fallback{top:1.95rem;right:.95rem;bottom:.95rem;left:.95rem;height:calc(100% - 2.9rem);width:calc(100% - 1.9rem)}.project-card-caption{display:flex;align-items:center;gap:1rem;border-bottom:1px solid rgb(var(--color-border) / .84);background-color:transparent;padding:.82rem 1.35rem .88rem}.project-card-caption-meta,.project-card-caption-copy{font-size:.67rem;font-weight:600;text-transform:uppercase;color:rgb(var(--color-muted));letter-spacing:.16em;white-space:nowrap}.project-card-caption-meta{font-variant-numeric:tabular-nums}.project-card-caption-copy{margin-left:auto;text-align:right;color:rgb(var(--color-text))}.project-card-body{padding:1.25rem 1.35rem 1.4rem}.project-summary{color:rgb(var(--color-text));font-size:var(--body-copy-size);line-height:var(--body-copy-leading)}.project-stack-note{font-size:.88rem;line-height:1.65;color:rgb(var(--color-muted))}.project-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.86rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;color:rgb(var(--color-text));letter-spacing:-.01em}.media-shell{position:relative;overflow:hidden;border-radius:var(--radius-panel);padding:1rem}.media-shell:after,.project-cover:after{content:none}[data-figure-label].media-shell:after,.project-cover[data-figure-label]:after{content:"";position:absolute;top:1.42rem;left:1rem;right:1rem;height:1px;background-color:rgb(var(--color-border) / .76);pointer-events:none}[data-figure-label]:before{content:attr(data-figure-label);position:absolute;left:1rem;top:.68rem;z-index:2;padding-right:.7rem;background-color:rgb(var(--color-surface));font-family:var(--font-sans);font-size:.58rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--color-muted))}.project-cover[data-figure-label]:before{background-color:rgb(var(--color-surface-strong) / .92)}.media-image{position:absolute;height:100%;width:100%;-o-object-fit:cover;object-fit:cover;opacity:0;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;top:1rem;right:1rem;bottom:1rem;left:1rem;height:calc(100% - 2rem);width:calc(100% - 2rem);border:1px solid rgb(var(--color-border) / .92);transform:scale(var(--image-scale, 1))}[data-figure-label].media-shell{padding-top:1.95rem}[data-figure-label].media-shell .media-image{top:1.95rem;right:1rem;bottom:1rem;left:1rem;height:calc(100% - 2.95rem)}.has-media .media-image{opacity:1}.project-card:hover .media-image,.media-shell:hover .media-image{transform:scale(calc(var(--image-scale, 1) + .008))}.media-fallback{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center;top:1rem;right:1rem;bottom:1rem;left:1rem;pointer-events:none;transition:opacity .3s ease;border:1px solid rgb(var(--color-border) / .92);background-color:rgb(var(--color-surface))}[data-figure-label].media-shell .media-fallback{top:1.95rem;right:1rem;bottom:1rem;left:1rem}.has-media .media-fallback{opacity:0}.media-shell-data{background-color:rgb(var(--color-surface-strong) / .72)}.media-shell-data .media-fallback{background-color:rgb(var(--color-surface-strong))}.media-shell-data .media-image{top:1.05rem;right:1.05rem;bottom:1.05rem;left:1.05rem;height:calc(100% - 2.1rem);width:calc(100% - 2.1rem);-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;filter:none}.media-shell-data-tight .media-image{top:.8rem;right:.8rem;bottom:.8rem;left:.8rem;height:calc(100% - 1.6rem);width:calc(100% - 1.6rem)}[data-figure-label].media-shell-data .media-image{top:2rem;right:1.05rem;bottom:1.05rem;left:1.05rem;height:calc(100% - 3.05rem)}[data-figure-label].media-shell-data-tight .media-image{top:1.85rem;right:.8rem;bottom:.8rem;left:.8rem;height:calc(100% - 2.65rem)}.portrait-shell{max-width:420px}.hero-portrait-image{-o-object-position:30% center;object-position:30% center}.cycling-hero-image{--image-scale: 1.18;-o-object-position:center 100%;object-position:center 100%}body[data-page=cycling] [data-figure-label].media-shell{padding-top:2.2rem}body[data-page=cycling] [data-figure-label].media-shell .media-image,body[data-page=cycling] [data-figure-label].media-shell .media-fallback{top:2.2rem;right:1rem;bottom:1rem;left:1rem;height:calc(100% - 3.2rem)}.list-check{position:relative;display:block;--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1));padding-left:1.8rem;font-size:var(--body-copy-size);line-height:var(--body-copy-leading)}.list-check:before{content:"";position:absolute;left:0;top:.96rem;height:1px;width:.78rem;border-radius:999px;background-color:rgb(var(--color-brand) / .76)}[data-theme=dark] .list-check:before{background-color:rgb(var(--color-brand))}.list-check>span{display:block;min-width:0}.text-sm.leading-7,.text-sm.leading-6,.text-base.leading-7{font-size:var(--body-copy-size)}.\!text-sm.leading-7,.\!text-sm.leading-6{font-size:var(--body-copy-size)!important}.\!text-sm.leading-7{line-height:var(--body-copy-leading)!important}.text-sm.leading-7{line-height:var(--body-copy-leading)}.\!text-sm.leading-6{line-height:1.68!important}.text-sm.leading-6,.text-base.leading-7{line-height:1.68}.stat-note{display:flex;height:100%;flex-direction:column;gap:.5rem}.stat-note-value{font-size:1.875rem;line-height:2.25rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.stat-note-copy{font-size:.94rem;line-height:1.62;color:rgb(var(--color-muted))}.reveal{opacity:0;transform:translateY(14px);filter:blur(6px);will-change:opacity,transform,filter;transition:opacity .62s var(--ease-premium),transform .62s var(--ease-premium),filter .62s var(--ease-premium);transition-delay:var(--reveal-delay, 0ms)}.reveal.is-visible{opacity:1;transform:translateY(0);filter:blur(0)}.mobile-menu-panel{padding:.75rem;border-radius:var(--radius-panel);width:100%;max-height:min(calc(100vh - 7rem),24rem);overflow:auto;border:1px solid rgb(var(--color-border) / .92);background-color:rgb(var(--color-surface));box-shadow:0 18px 32px #261f1914}.mobile-nav-link{display:block;padding:.75rem;font-size:.78rem;font-weight:600;text-transform:uppercase;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;border-radius:.4rem;color:rgb(var(--color-muted));letter-spacing:.12em}.back-to-top-rail{--back-to-top-size: 2.85rem;--back-to-top-base-bottom: max(1rem, calc(env(safe-area-inset-bottom) + 1rem) );position:sticky;top:calc(100vh - var(--back-to-top-size) - var(--back-to-top-base-bottom));top:calc(100dvh - var(--back-to-top-size) - var(--back-to-top-base-bottom));z-index:40;height:var(--back-to-top-size);margin-bottom:calc(var(--back-to-top-size) * -1);pointer-events:none}.back-to-top-rail>.shell{display:flex;justify-content:flex-end}.back-to-top-rail>.\!shell{display:flex;justify-content:flex-end}.back-to-top{display:inline-flex;height:2.85rem;width:2.85rem;align-items:center;justify-content:center;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.back-to-top:focus-visible{outline:2px solid transparent;outline-offset:2px}.back-to-top{position:relative;margin-left:auto;border-radius:.44rem;border:1px solid rgb(var(--color-border) / .96);background-color:rgb(var(--color-surface));color:rgb(var(--color-text));opacity:0;visibility:hidden;pointer-events:none;transform:translateY(.6rem)}.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.strava-activity-shell,.strava-widget-shell{overflow:hidden;border-radius:var(--radius-panel)}.strava-activity-shell{display:inline-block;max-width:100%;min-height:0;overflow-x:auto;overflow-y:hidden;padding:.75rem}.strava-widget-shell{display:inline-block;max-width:100%;padding:.75rem}.strava-widget-shell iframe{display:block;max-width:300px}.strava-embed-placeholder[data-embed-type=activity]{display:inline-block;min-height:0}.strava-stack{display:grid;gap:3rem}.strava-featured-block{max-width:860px}.strava-secondary-block{width:min(100%,360px)}body[data-page=home] .chapter-head{max-width:40rem}body[data-page=home] .section-title{max-width:14ch}body[data-page=home] .skill-card{display:grid;gap:.55rem 1.5rem;align-items:start}body[data-page=home] .skill-card .body-copy-strong{font-size:1.02rem;line-height:1.74;color:rgb(var(--color-text) / .88)}body[data-page=home] .home-leadership-rail .surface-note{padding-right:1rem}body[data-page=projects] .projects-hero-copy{max-width:42rem}body[data-page=projects] .projects-hero-copy .section-title{max-width:11ch}body[data-page=projects] .project-card,body[data-page=projects] .case-panel{box-shadow:none}body[data-page=projects] .project-card{background-color:rgb(var(--color-surface) / .72)}body[data-page=projects] .project-card-caption{padding:.78rem 1.15rem .82rem}body[data-page=projects] .project-card-body{padding:1.15rem 1.2rem 1.25rem}body[data-page=projects] .projects-archive-grid .project-card:hover{transform:translateY(-1px)}body[data-page=leadership] .chapter-head{max-width:42rem}body[data-page=leadership] .surface-note{border-top-color:rgb(var(--color-brand) / .28);box-shadow:none}body[data-page=leadership] .surface-note .body-copy,body[data-page=leadership] .surface-note .body-copy-strong{color:rgb(var(--color-text) / .8)}body[data-page=leadership] .leadership-lessons-note{border-top-color:rgb(var(--color-border) / .82)}body[data-page=leadership] .leadership-lessons-note .list-check{font-size:.98rem;line-height:1.72}body[data-page=cycling] .section{padding-top:clamp(4.25rem,7vw,6rem);padding-bottom:clamp(4.25rem,7vw,5.75rem)}body[data-page=cycling] .cycling-hero-copy .section-title{max-width:11ch}body[data-page=cycling] .media-shell,body[data-page=cycling] .strava-activity-shell,body[data-page=cycling] .strava-widget-shell{box-shadow:none}body[data-page=cycling] .cycling-notes-panel .list-check{line-height:1.72}body[data-page=project-detail] .project-detail-hero-copy .section-title{max-width:11ch}body[data-page=project-detail] .project-detail-back-link{background-color:transparent}body[data-page=project-detail] .surface-note{display:block;height:auto;align-self:start;border:1px solid rgb(var(--color-border) / .84);background-color:rgb(var(--color-surface) / .72);box-shadow:none}body[data-page=project-detail] .surface-note .surface-note{display:block;height:auto;background-color:rgb(var(--color-surface-strong) / .52)}body[data-page=project-detail] .project-detail-snapshot{padding:1.1rem 1.2rem 1.25rem}body[data-page=project-detail] .project-detail-snapshot>.mt-4{border-top:1px solid rgb(var(--color-border) / .72);padding-top:1rem}body[data-page=project-detail] .project-detail-live-note{border-color:rgb(var(--color-border) / .78);background-color:rgb(var(--color-surface-strong) / .48)}body[data-page=project-detail] [data-project-live][hidden]{display:none!important}body[data-page=project-detail] .project-detail-kicker,body[data-page=project-detail] .project-detail-stack-note,body[data-page=project-detail] .project-detail-highlights{align-self:start;border-color:rgb(var(--color-border) / .8)}body[data-page=project-detail] .stack-pill{display:inline-flex;align-items:center;padding:.42rem .55rem;border:1px solid rgb(var(--color-border) / .76);border-radius:.16rem;background-color:rgb(var(--color-surface-strong) / .36);font-size:.72rem;letter-spacing:.14em;line-height:1}body[data-page=project-detail] .project-detail-summary-grid,body[data-page=project-detail] .project-detail-two-up,body[data-page=project-detail] .project-detail-split-grid{align-items:start}body[data-page=project-detail] .project-detail-two-up>*,body[data-page=project-detail] .project-detail-split-grid>*,body[data-page=project-detail] .project-detail-hero-grid>*,body[data-page=project-detail] .project-detail-summary-grid>*{min-width:0}body[data-page=project-detail] .project-detail-stack-note [data-project-stack]{gap:.55rem}body[data-page=project-detail] .case-block{padding-top:1.05rem;border-top:1px solid rgb(var(--color-border) / .78)}body[data-page=project-detail] .case-block p+p,body[data-page=project-detail] .case-block ul,body[data-page=project-detail] .case-block [data-media-shell],body[data-page=project-detail] .case-block .surface-note,body[data-page=project-detail] .case-block .media-shell{margin-top:1.15rem}body[data-page=project-detail] .case-panel{padding:1rem;background-color:rgb(var(--color-surface) / .62);box-shadow:none}body[data-page=project-detail] .case-panel:hover{transform:none}body[data-page=project-detail] .media-shell,body[data-page=project-detail] .strava-activity-shell,body[data-page=project-detail] .strava-widget-shell{box-shadow:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.top-0{top:0}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.\!mb-5{margin-bottom:1.25rem!important}.\!mt-3{margin-top:.75rem!important}.mb-8{margin-bottom:2rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-\[1189\/390\]{aspect-ratio:1189/390}.aspect-\[16\/10\]{aspect-ratio:16/10}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-\[5\/4\]{aspect-ratio:5/4}.aspect-\[571\/455\]{aspect-ratio:571/455}.aspect-\[576\/455\]{aspect-ratio:576/455}.aspect-\[790\/490\]{aspect-ratio:790/490}.h-4{height:1rem}.h-5{height:1.25rem}.h-full{height:100%}.w-4{width:1rem}.w-5{width:1.25rem}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.flex-1{flex:1 1 0%}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border\/70>:not([hidden])~:not([hidden]){border-color:rgb(var(--color-border) / .7)}.border-y{border-top-width:1px;border-bottom-width:1px}.border-t{border-top-width:1px}.border-border\/70{border-color:rgb(var(--color-border) / .7)}.border-border\/80{border-color:rgb(var(--color-border) / .8)}.\!p-4{padding:1rem!important}.\!px-4{padding-left:1rem!important;padding-right:1rem!important}.\!py-2\.5{padding-top:.625rem!important;padding-bottom:.625rem!important}.\!py-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-24{padding-bottom:6rem}.pt-14{padding-top:3.5rem}.pt-28{padding-top:7rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.\!text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.72rem\]{font-size:.72rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.tracking-\[0\.24em\]{letter-spacing:.24em}.tracking-\[0\.28em\]{letter-spacing:.28em}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-tight{letter-spacing:-.025em}.\!text-muted{--tw-text-opacity: 1 !important;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))!important}.text-muted{--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))}.text-muted\/90{color:rgb(var(--color-muted) / .9)}.text-text{--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{color-scheme:light;--font-sans: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--font-serif: "Source Serif 4", ui-serif, Georgia, serif;--body-copy-size: 1rem;--body-copy-leading: 1.74;--color-bg: 239 236 230;--color-surface: 246 243 238;--color-surface-strong: 232 226 217;--color-text: 30 27 24;--color-muted: 108 100 92;--color-brand: 132 102 78;--color-accent: 132 102 78;--color-border: 206 198 188;--color-scrollbar-thumb: 169 161 151;--color-scrollbar-thumb-edge: 189 181 171;--color-scrollbar-thumb-hover: 149 141 131;--color-scrollbar-thumb-active: 131 123 114;--radius-panel: .36rem;--ease-premium: cubic-bezier(.22, 1, .36, 1);--page-glow-x: 18%;--page-glow-y: 0%;--page-glow-size: 64rem;--page-glow-opacity: .045;--page-wash-opacity: .58}[data-theme=dark]{color-scheme:dark;--color-bg: 27 27 29;--color-surface: 34 34 37;--color-surface-strong: 43 43 47;--color-text: 238 234 228;--color-muted: 165 158 150;--color-brand: 181 150 123;--color-accent: 181 150 123;--color-border: 88 86 82;--color-scrollbar-thumb: 110 108 104;--color-scrollbar-thumb-edge: 126 123 119;--color-scrollbar-thumb-hover: 134 131 127;--color-scrollbar-thumb-active: 149 146 142;--page-glow-opacity: .08;--page-wash-opacity: .28}[data-mobile-menu]{position:absolute;top:calc(100% + .55rem);right:0;z-index:20;width:min(22rem,100%);transform-origin:top right;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-.6rem);transition:opacity .22s var(--ease-premium),transform .22s var(--ease-premium),visibility 0s linear .22s}[data-mobile-menu].is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .22s var(--ease-premium),transform .22s var(--ease-premium),visibility 0s linear 0s}.button-primary:hover{background-color:rgb(var(--color-brand));color:#fff9f2;transform:translateY(-1px)}.button-secondary:hover,.theme-toggle:hover{border-color:rgb(var(--color-text) / .18);background-color:rgb(var(--color-surface-strong) / .76);transform:translateY(-1px)}.text-link:hover,.hero-social-link:hover,.footer-social-link:hover,.nav-link:hover,.project-link:hover,.contact-card:hover,.skill-card:hover{color:rgb(var(--color-text))}.project-card:hover,.case-panel:hover{border-color:rgb(var(--color-text) / .18)}.surface-note:hover{border-top-color:rgb(var(--color-text) / .18)}.case-panel:hover{transform:translateY(-1px)}.project-card:hover{box-shadow:0 1px #ffffff4d,0 14px 26px #261f190b;transform:translateY(-2px)}[data-theme=dark] .project-card:hover{box-shadow:0 1px #ffffff0a,0 16px 28px #0003}.case-panel [data-media-shell]+p{margin-top:1rem;border-top:1px solid rgb(var(--color-border) / .74);padding-top:.85rem;font-size:.88rem;line-height:1.72}.mobile-menu-panel .nav-link-active{color:rgb(var(--color-text));background-color:rgb(var(--color-surface-strong) / .78)}.mobile-menu-panel .nav-link-active:after{display:none}.back-to-top:hover{border-color:rgb(var(--color-text) / .18);background-color:rgb(var(--color-surface-strong) / .56)}.button-primary:focus-visible,.button-secondary:focus-visible,.text-link:focus-visible,.hero-social-link:focus-visible,.footer-social-link:focus-visible,.nav-link:focus-visible,.theme-toggle:focus-visible,.contact-card:focus-visible,.back-to-top:focus-visible,.project-link:focus-visible{outline:none;box-shadow:0 0 0 2px rgb(var(--color-bg)),0 0 0 4px rgb(var(--color-brand) / .28)}[data-site-header]{background-color:rgb(var(--color-bg));border-bottom:1px solid rgb(var(--color-border) / .72);pointer-events:none;transition:background-color .22s var(--ease-premium),border-color .22s var(--ease-premium),opacity .26s var(--ease-premium),transform .32s var(--ease-premium),filter .32s var(--ease-premium);will-change:opacity,transform,filter;animation:page-enter .42s var(--ease-premium) both}[data-site-header].is-scrolled .masthead-rail{background-color:transparent;box-shadow:none}[data-site-header].is-scrolled .nav-shell{border-bottom-color:transparent}[data-site-header].is-scrolled .theme-toggle{background-color:rgb(var(--color-surface) / .76);border-color:rgb(var(--color-border) / .82)}[data-theme=dark] [data-site-header].is-scrolled .masthead-rail{box-shadow:none}main{transition:opacity .26s var(--ease-premium),transform .32s var(--ease-premium),filter .32s var(--ease-premium);will-change:opacity,transform,filter;animation:page-enter .56s var(--ease-premium) both;animation-delay:40ms}.site-footer{background:transparent;transition:opacity .26s var(--ease-premium),transform .32s var(--ease-premium),filter .32s var(--ease-premium);will-change:opacity,transform,filter;animation:page-enter .56s var(--ease-premium) both;animation-delay:90ms}html.is-page-transitioning{overflow:hidden}html.is-page-transitioning [data-site-header],html.is-page-transitioning main,html.is-page-transitioning .site-footer{opacity:0;transform:translateY(10px);filter:blur(6px);pointer-events:none}.site-footer-copy{letter-spacing:.1em;text-transform:uppercase;font-size:.68rem}.site-footer-links{row-gap:.65rem}.theme-icon-sun,.theme-icon-moon{transition:opacity .22s ease,transform .22s ease}html[data-theme=dark] .theme-icon-sun,html[data-theme=light] .theme-icon-moon{opacity:0;transform:scale(.85)}html[data-theme=dark] .theme-icon-moon,html[data-theme=light] .theme-icon-sun{opacity:1;transform:scale(1)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}@media (min-width: 1024px){.about-aside{border-top-width:0;border-left:1px solid rgb(var(--color-border) / .88);padding-top:0;padding-left:1.5rem}.title-page{padding-right:2rem}.home-hero-grid{grid-template-columns:minmax(0,1.28fr) minmax(17rem,20.5rem)}.home-hero-copy{padding-right:2.5rem}body[data-page=home] .skill-card{grid-template-columns:8.75rem minmax(0,1fr)}.leadership-hero-grid{grid-template-columns:minmax(0,1fr) 19rem}.leadership-story-grid{grid-template-columns:minmax(0,1fr) 21rem;gap:2rem}.cycling-live-grid{grid-template-columns:minmax(0,1fr) 22.5rem;align-items:start}.cycling-recent-block{padding-top:0;padding-left:1.5rem;border-top:0;border-left:1px solid rgb(var(--color-border) / .72)}.project-detail-hero-grid{grid-template-columns:minmax(0,1fr) 19rem}.project-detail-summary-grid{grid-template-columns:19rem minmax(0,1fr)}.project-detail-two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail-split-grid{grid-template-columns:minmax(0,1fr) 19rem}body[data-page=project-detail] .project-detail-snapshot{position:static;top:auto}.strava-secondary-block{margin-left:auto}}@media (min-width: 640px){.home-hero-links{gap:.85rem 1.65rem}body[data-page=home] .skill-card{grid-template-columns:8.5rem minmax(0,1fr)}.media-shell-data .media-image{top:1.18rem;right:1.18rem;bottom:1.18rem;left:1.18rem;height:calc(100% - 2.36rem);width:calc(100% - 2.36rem)}.media-shell-data-tight .media-image{top:.72rem;right:.72rem;bottom:.72rem;left:.72rem;height:calc(100% - 1.44rem);width:calc(100% - 1.44rem)}[data-figure-label].media-shell-data .media-image{top:2.08rem;right:1.18rem;bottom:1.18rem;left:1.18rem;height:calc(100% - 3.26rem)}[data-figure-label].media-shell-data-tight .media-image{top:1.82rem;right:.72rem;bottom:.72rem;left:.72rem;height:calc(100% - 2.54rem)}.cycling-hero-image{--image-scale: 1;-o-object-position:center 90%;object-position:center 90%}}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:fixed:focus{position:fixed}.focus\:left-4:focus{left:1rem}.focus\:top-4:focus{top:1rem}.focus\:z-\[60\]:focus{z-index:60}.focus\:rounded-md:focus{border-radius:.375rem}.focus\:bg-text:focus{--tw-bg-opacity: 1;background-color:rgb(var(--color-text) / var(--tw-bg-opacity, 1))}.focus\:px-4:focus{padding-left:1rem;padding-right:1rem}.focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}.focus\:text-bg:focus{--tw-text-opacity: 1;color:rgb(var(--color-bg) / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:aspect-\[16\/9\]{aspect-ratio:16/9}.sm\:pt-16{padding-top:4rem}.sm\:pt-32{padding-top:8rem}.sm\:pt-6{padding-top:1.5rem}.sm\:pt-8{padding-top:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-\[1\.5rem\]{font-size:1.5rem}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[180px_minmax\(0\,1fr\)\]{grid-template-columns:180px minmax(0,1fr)}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}}@media (min-width: 1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:max-w-\[18rem\]{max-width:18rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[280px_minmax\(0\,1fr\)\]{grid-template-columns:280px minmax(0,1fr)}.lg\:grid-cols-\[320px_minmax\(0\,1fr\)\]{grid-template-columns:320px minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}.lg\:grid-cols-\[minmax\(0\,1fr\)_340px\]{grid-template-columns:minmax(0,1fr) 340px}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:gap-14{gap:3.5rem}.lg\:pt-24{padding-top:6rem}}@media (min-width: 1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
