:root{--bg:#dedad3;--surface:#d3cec6;--ink:#0a0a0a;--muted:#5c5852;--accent:#256f82;--accent-text:#1c5867;--accent-ink:#fff;--font-display:"Literata", Georgia, serif;--font-text:"Literata", Georgia, serif;--step-small:clamp(.8125rem, .79rem + .1vw, .875rem);--step-body:clamp(1.125rem, 1.05rem + .3vw, 1.3125rem);--step-lead:clamp(1.25rem, 1.1rem + .7vw, 1.625rem);--step-head:clamp(2rem, 1.3rem + 3.2vw, 4rem);--step-hero:clamp(2.5rem, 1.6rem + 3.6vw, 3.5rem);--step-display:clamp(3rem, 1rem + 9vw, 9rem);--margin:clamp(1rem, 2.2vw, 2rem);--gutter:clamp(1rem, 2vw, 2rem);--section:clamp(5rem, 12vw, 13rem);--radius:0px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-expo:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.76, 0, .24, 1);--ease-soft:cubic-bezier(.33, 1, .68, 1);--ease-exit:cubic-bezier(.55, .055, .675, .19);--t-press:.14s;--t-hover:.18s;--t-ui:.24s;--t-reveal:.8s;--t-open:1.2s;--stagger-line:90ms;--stagger-item:70ms}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:auto}body{background:var(--bg);color:var(--ink);font-family:var(--font-text);font-size:var(--step-body);font-kerning:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.5}h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl,dd{margin:0}ul[class],ol[class]{padding:0;list-style:none}img,video,svg,canvas{max-width:100%;display:block}img,video{background:var(--surface);height:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit}:target{scroll-margin-top:6rem}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3{font-family:var(--font-display);font-weight:inherit;text-wrap:balance;-webkit-hyphens:none;hyphens:none}.display{font-size:var(--step-display);letter-spacing:-.035em;line-height:.95}.head{font-size:var(--step-head);letter-spacing:-.025em;line-height:1.02}.lead{font-size:var(--step-lead);max-width:40ch;line-height:1.35}.small{font-size:var(--step-small);line-height:1.45}.muted{color:var(--muted)}p{text-wrap:pretty;max-width:62ch}p+p{margin-top:.9em}.nums{font-variant-numeric:tabular-nums}.only-wide{display:none}@media (width>=48em){.only-wide{display:inline}}.wrap{padding-inline:var(--margin)}.grid{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.section{padding-block:calc(var(--section) / 2)}.section+.section{margin-top:0}.bleed{margin-inline:calc(var(--margin) * -1)}.cover{object-fit:cover;width:100%;height:100%}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.button{background:var(--accent);min-height:3rem;color:var(--accent-ink);border-radius:var(--radius);white-space:nowrap;transition:transform var(--t-press) var(--ease-out), background-color var(--t-hover) ease, color var(--t-hover) ease;justify-content:center;align-items:center;padding:0 1.4rem;text-decoration:none;display:inline-flex}.button:active{transform:scale(.97)}.link{text-underline-offset:.2em;transition:text-decoration-color var(--t-hover) ease;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:.07em}.link-plain{text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:.07em}@media (hover:hover) and (pointer:fine){.link:hover{text-decoration-color:currentColor}}.field{background:var(--surface);border-radius:var(--radius);width:100%;min-height:3rem;font-size:max(1rem, var(--step-body));border:0;padding:.7rem .9rem}.lines .line{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.lines [data-line]{display:block}.shutter{overflow:hidden}@media (prefers-reduced-motion:no-preference){.js [data-rise]{opacity:0;animation:ad-rise var(--t-reveal) var(--ease-out) forwards;animation-delay:calc(var(--i,0) * 90ms + .12s);transform:translateY(18px)}.js .lines [data-line]{animation:ad-line .9s var(--ease-out) forwards;animation-delay:calc(var(--i,0) * .11s + .15s);transform:translateY(105%)}.js [data-reveal]{opacity:0;transition:opacity .7s var(--ease-out), transform .9s var(--ease-out);transform:translateY(24px)}.js [data-reveal].is-in{opacity:1;transform:none}.js .shutter[data-reveal]{opacity:1;clip-path:inset(0 0 100%);transition:clip-path 1.1s var(--ease-in-out);transform:none}.js .shutter[data-reveal] img{transition:transform 1.5s var(--ease-soft);transform:scale(1.12)}.js .shutter[data-reveal].is-in{clip-path:inset(0)}.js .shutter[data-reveal].is-in img{transform:none}}@keyframes ad-rise{to{opacity:1;transform:none}}@keyframes ad-line{to{transform:none}}.visual{background:var(--ink);flex-direction:column;height:100svh;display:flex;position:sticky;top:0;overflow:hidden}.visual:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0009,#0000 20% 75%,#000000a6);position:absolute;inset:0}.visual__nav{z-index:2;color:#fff;justify-content:space-between;align-items:center;display:flex;position:absolute;inset:24px 24px auto}.visual__wordmark{font-family:var(--font-display);font-style:italic}.visual__links{gap:1.4rem;display:flex}.visual__links .link{color:#fff}.visual__frame{flex:1;position:relative}.visual__layer{position:absolute;inset:0}.visual__layer--overlay{opacity:0;transition:opacity .32s var(--ease-out)}.visual__layer--overlay.is-in{opacity:1}.visual__frame img{width:100%;height:100%}@media (prefers-reduced-motion:no-preference){.visual__frame img{animation:visual-drift 14s var(--ease-soft) infinite alternate}}@keyframes visual-drift{0%{transform:scale(1)}to{transform:scale(1.06)}}.visual__illustration{background:var(--surface);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.visual__illustration-svg{width:min(50%,260px);height:auto}.visual__bar{z-index:2;color:#fff;justify-content:space-between;display:flex;position:absolute;inset:auto 24px 20px}@media (width<=64rem){.visual{height:60svh;position:relative}.visual__bar{display:none}}.visual__stack{background:#000;flex-direction:column;justify-content:center;gap:6px;width:100%;height:100%;display:flex}.visual__stack-video{aspect-ratio:16/9;object-fit:contain;background:#000;width:100%}.visual__group{background:#000;gap:6px;width:100%;height:100%;display:grid}.visual__group--4{grid-template:"a a"48fr"b b"22fr"c d"18fr/1fr 24%;padding-block:0}.visual__group--4 .visual__group-img:first-child{grid-area:a}.visual__group--4 .visual__group-img:nth-child(2){grid-area:b}.visual__group--4 .visual__group-img:nth-child(3){grid-area:c}.visual__group--4 .visual__group-img:nth-child(4){grid-area:d}.visual__group-img{object-fit:contain;background:#000;width:100%;height:100%;min-height:0}.visual__group--4 .visual__group-img:first-child{object-fit:cover}.visual__group--7{grid-template-rows:48fr 24fr 26fr;grid-template-columns:repeat(4,1fr);grid-template-areas:"a b c d""e e f f""g g g g"}.visual__group--7 .visual__group-img:first-child{grid-area:a}.visual__group--7 .visual__group-img:nth-child(2){grid-area:b}.visual__group--7 .visual__group-img:nth-child(3){grid-area:c}.visual__group--7 .visual__group-img:nth-child(4){grid-area:d}.visual__group--7 .visual__group-img:nth-child(5){grid-area:e}.visual__group--7 .visual__group-img:nth-child(6){grid-area:f}.visual__group--7 .visual__group-img:nth-child(7){grid-area:g}.visual__group--3{grid-template-rows:1fr;grid-template-columns:repeat(3,1fr)}.visual__group--3 .visual__group-img{object-fit:cover}.video-whole{object-fit:contain;background:#000;width:100%;height:100%}.hero{min-height:100svh;padding:var(--margin);flex-direction:column;justify-content:center;gap:1.5rem;display:flex}.hero__headline{font-family:var(--font-display);font-size:var(--step-hero);letter-spacing:-.02em;color:var(--accent);flex-direction:column;line-height:1.05;display:flex}.hero__lead{color:var(--ink);max-width:28ch}.hero__action{width:max-content}@media (width<=64rem){.hero{min-height:auto;padding-top:clamp(2rem,8vw,4rem);padding-bottom:clamp(2rem,8vw,4rem)}}.dots{z-index:2;background:#0a0a0a80;border-radius:999px;align-items:center;gap:.15rem;padding:.05rem .45rem;display:flex;position:absolute;bottom:.6rem;left:50%;transform:translate(-50%)}.dots__dot{width:1.5rem;height:1.5rem;position:relative}.dots__dot:after{content:"";width:8px;height:8px;transition:background-color var(--t-hover) ease, transform var(--t-hover) var(--ease-out);background:#ffffff80;border-radius:50%;margin:-4px 0 0 -4px;position:absolute;inset:50% auto auto 50%}.dots__dot.is-on:after{background:#fff;transform:scale(1.25)}.dots__dot:focus-visible{outline-offset:-2px;outline:2px solid #fff}.slides__stage{position:relative}.slides__frame{background:var(--surface);cursor:pointer;width:100%;display:block;position:relative;overflow:hidden}.slides__img{opacity:0;transition:opacity .9s var(--ease-out);position:absolute;inset:0}.slides__img.is-on{opacity:1}.slides__stage+figcaption{margin-top:.75rem}.about{padding:calc(var(--section) / 2) var(--margin)}.about__letter{max-width:62ch}.about__portrait{object-fit:cover;border-radius:50%;width:44px;height:44px;margin-bottom:1.75rem}.about__paragraphs p{font-size:var(--step-body);line-height:1.55}.about__paragraphs p+p{margin-top:1.1em}.about__signoff{font-family:var(--font-display);flex-direction:column;gap:.25rem;margin-top:2rem;font-size:1.375rem;display:flex}.about__role{font-style:normal}.about__heading{margin-bottom:2rem}.about__figure{margin-top:3rem}.about__figure figcaption{margin-top:.75rem}.work{padding:calc(var(--section) / 2) var(--margin)}.work__heading{margin-bottom:2.5rem}.work__ledger{flex-direction:column;display:flex}.work__row{padding:1.75rem min(1.25rem, var(--margin));margin-inline:calc(-1 * min(1.25rem, var(--margin)));cursor:pointer;transition:background-color var(--t-ui) ease;position:relative}.work__row:before{content:"";background:var(--accent);transform-origin:top;width:.4rem;transition:transform var(--t-ui) var(--ease-out);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.work__row.is-active{background:var(--surface)}.work__row.is-active:before{transform:scaleY(1)}.work__row .work__name{transition:color var(--t-hover) ease}.work__row.is-active .work__name{color:var(--accent-text)}.work__row-top{grid-template-columns:1fr auto;align-items:baseline;gap:.25rem 1rem;display:grid}.work__name{font-family:var(--font-display);color:var(--ink);font-size:clamp(1.25rem,1rem + 1.1vw,2rem)}.work__meta{white-space:nowrap;text-align:right}.work__blurb{max-width:64ch;color:var(--ink);margin-top:.75rem;font-size:1.0625rem;line-height:1.55}.work__row-image{display:none}@media (width<=64rem){.work__row-image{aspect-ratio:16/10;background:var(--surface);margin-bottom:1rem;display:block;overflow:hidden}.work__row-illustration{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.work__row-illustration-svg{width:30%;height:auto}}@media (width<=36rem){.work__row-top{grid-template-columns:1fr;row-gap:.3rem}.work__meta{text-align:left;white-space:normal}}.work__extras{flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:.9rem;display:flex}.work__clips{gap:.5rem;display:flex}.work__clip{background:var(--surface);min-height:2.5rem;color:var(--ink);transition:background-color var(--t-hover) ease, color var(--t-hover) ease, transform var(--t-press) var(--ease-out);padding:0 1rem;font-size:1rem}.work__clip:active{transform:scale(.97)}.work__clip.is-on{background:var(--accent-text);color:var(--accent-ink)}.work__link{color:var(--accent-text);font-size:1rem}.work__clips{flex-wrap:wrap}.experience{padding:calc(var(--section) / 2) var(--margin)}.experience__heading{margin-bottom:2.5rem}.experience__list{flex-direction:column;display:flex}.experience__row{padding:1.75rem min(1.25rem, var(--margin));margin-inline:calc(-1 * min(1.25rem, var(--margin)));cursor:pointer;transition:background-color var(--t-ui) ease;position:relative}.experience__row:before{content:"";background:var(--accent);transform-origin:top;width:.4rem;transition:transform var(--t-ui) var(--ease-out);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.experience__row.is-active{background:var(--surface)}.experience__row.is-active:before{transform:scaleY(1)}.experience__row .experience__role{transition:color var(--t-hover) ease}.experience__row.is-active .experience__role{color:var(--accent-text)}.experience__row-top{grid-template-columns:1fr auto;align-items:baseline;gap:.25rem 1rem;display:grid}.experience__role{font-family:var(--font-display);font-size:clamp(1.25rem,1rem + 1vw,1.75rem)}.experience__desc{max-width:64ch;color:var(--ink);margin-top:.75rem;font-size:1.0625rem;line-height:1.55}.experience__row-image{display:none}@media (width<=64rem){.experience__row-image{aspect-ratio:16/10;background:var(--surface);margin-bottom:1rem;display:block;overflow:hidden}.experience__row-illustration{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.experience__row-illustration-svg{width:30%;height:auto}}@media (width<=36rem){.experience__row-top{grid-template-columns:1fr;row-gap:.3rem}}@media (width>=64.01rem){.experience{padding-bottom:max(calc(var(--section) / 2), 45svh)}}.journey{padding:calc(var(--section) / 2) var(--margin)}.journey__heading{text-align:center;margin-bottom:clamp(3rem,8vw,6rem)}.journey__row{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:clamp(1rem,4vw,3rem);display:flex}.journey__frame{flex-direction:column;gap:.75rem;width:11rem;display:flex}.journey__photo{aspect-ratio:1;background:var(--surface);width:100%;overflow:hidden}.journey__photo img{transition:transform .4s var(--ease-out)}.journey__frame:hover .journey__photo img,.journey__frame:focus-within .journey__photo img{transform:scale(1.06)}.journey__illustration{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.journey__illustration-svg{width:55%;height:auto}.journey__frame figcaption{flex-direction:column;gap:.2rem;display:flex}.journey__caption{color:var(--ink)}.athletics{padding:calc(var(--section) / 2) var(--margin)}.athletics__heading{margin-bottom:2.5rem}.athletics__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:3rem clamp(2rem,6vw,6rem);display:grid}.athletics__text{flex-direction:column;gap:2.5rem;display:flex}.athletics__stats,.athletics__results{flex-direction:column;padding:0;list-style:none;display:flex}.athletics__stats{gap:1.5rem}.athletics__stats li{grid-template-columns:clamp(7rem,20vw,13rem) 1fr;align-items:baseline;column-gap:1.25rem;display:grid}.athletics__value{font-family:var(--font-display);font-size:var(--step-head);letter-spacing:-.02em;line-height:1;display:block}.athletics__label{max-width:26ch;font-size:1.0625rem;display:block}.athletics__results{gap:.9rem;max-width:52ch;font-size:1.0625rem;line-height:1.55}@media (width<=64rem){.athletics__grid{grid-template-columns:1fr}.athletics__text{order:-1}}.activity{padding:calc(var(--section) / 2) var(--margin)}.activity__heading{margin-bottom:2.5rem}.activity__grid{grid-template-columns:minmax(0,760px) minmax(0,1fr);align-items:start;gap:3rem clamp(2rem,6vw,6rem);display:grid}.activity__graphs{flex-direction:column;gap:1rem;display:flex}.activity__graphs img{width:100%;height:auto}.activity__numbers{flex-direction:column;gap:1.75rem;padding:0;list-style:none;display:flex}.activity__count{font-family:var(--font-display);font-size:var(--step-head);letter-spacing:-.02em;line-height:1;display:block}.activity__note{margin-top:.4rem;font-size:1.0625rem;display:block}@media (width<=64rem){.activity__grid{grid-template-columns:1fr}.activity__numbers{order:-1}}.credentials{padding:calc(var(--section) / 2) var(--margin)}.credentials__heading{margin-bottom:2.5rem}.credentials__columns{grid-template-columns:repeat(4,1fr);gap:2.5rem 2rem;display:grid}.credentials__kind{font-size:var(--step-body);margin-bottom:.9rem}.credentials__item{max-width:32ch;font-size:1.0625rem;line-height:1.5}.credentials__item+.credentials__item{margin-top:.85em}@media (width<=64rem){.credentials__columns{grid-template-columns:repeat(2,1fr)}}@media (width<=36rem){.credentials__columns{grid-template-columns:1fr}}.certs{padding:calc(var(--section) / 2) var(--margin)}.certs__heading{margin-bottom:2.5rem}.certs__viewport{scrollbar-width:none;overscroll-behavior-x:contain;scroll-snap-type:none;cursor:grab;overflow:auto hidden}.certs__viewport.is-dragging,.certs__viewport.is-dragging *{cursor:grabbing;-webkit-user-select:none;user-select:none}.certs__viewport::-webkit-scrollbar{display:none}.certs__track{align-items:flex-start;gap:1.5rem;width:max-content;margin:0;padding:0;list-style:none;display:flex}.certs__card{text-align:left;cursor:zoom-in;transition:transform var(--t-hover) var(--ease-out);flex-direction:column;gap:.6rem;display:flex}.certs__card:hover,.certs__card:focus-visible{transform:translateY(-4px)}.certs__card img{-webkit-user-select:none;user-select:none;background:#fff;width:auto;height:clamp(13rem,24vw,18rem)}.certs__title{width:0;min-width:100%;color:var(--ink)}.lightbox{color:#fff;background:#0a0a0af0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0}.lightbox[open]{justify-content:center;align-items:center;display:flex}.lightbox::backdrop{background:#0a0a0af0}.lightbox__figure{flex-direction:column;align-items:center;gap:1rem;max-width:94vw;max-height:96dvh;display:flex}.lightbox__img{object-fit:contain;background:#fff;width:auto;max-width:94vw;height:auto;max-height:calc(96dvh - 5rem)}.lightbox figcaption{text-align:center;flex-wrap:wrap;justify-content:center;gap:.25rem 1rem;max-width:70ch;font-size:1rem;display:flex}.lightbox figcaption span{opacity:.85}.lightbox__btn{color:#fff;width:3rem;height:3rem;transition:background-color var(--t-hover) ease;background:#ffffff24;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.lightbox__btn:hover,.lightbox__btn:focus-visible{background:#ffffff47}.lightbox__close{top:1rem;right:1rem}.lightbox__prev,.lightbox__next{margin-top:-1.5rem;top:50%}.lightbox__prev{left:1rem}.lightbox__next{right:1rem}@media (width<=40rem){.lightbox__prev,.lightbox__next{margin-top:0;top:auto;bottom:1rem}}.site-footer{color:#fff;flex-direction:column;justify-content:space-between;width:100%;min-height:100svh;display:flex;position:relative;overflow:hidden}.site-footer__photo{filter:brightness(.55);opacity:0;width:100%;height:100%;transition:opacity 1.2s var(--ease-out);position:absolute;inset:0}.site-footer__photo.is-on{opacity:1}.site-footer__scrim{background:linear-gradient(#00000040,#0000 30% 70%,#00000059);position:absolute;inset:0}.site-footer__top{z-index:1;padding:2rem var(--margin);flex-wrap:wrap;justify-content:space-between;gap:2rem;display:flex;position:relative}.site-footer__nav,.site-footer__contact{font-size:var(--step-body);flex-direction:column;gap:.6rem;display:flex}.site-footer__wordmark{z-index:1;font-family:var(--font-display);padding:0 var(--margin) 2.5rem;font-size:clamp(2.5rem,4vw + 1rem,7rem);font-style:italic;line-height:1;position:relative}@media (width<=64rem){.site-footer{min-height:60svh}}.site-footer__email{position:relative}.site-footer__copy{color:#fff;opacity:.85;width:2.25rem;height:2.25rem;transition:opacity var(--t-hover) ease, transform var(--t-press) var(--ease-out);justify-content:center;align-items:center;margin-top:-1.125rem;display:flex;position:absolute;top:50%;right:100%}.site-footer__copy:hover,.site-footer__copy:focus-visible{opacity:1}.site-footer__copy:active{transform:scale(.92)}.music{right:var(--margin);bottom:var(--margin);z-index:10;background:var(--ink);color:#fff;width:3rem;height:3rem;transition:background-color var(--t-hover) ease, transform var(--t-press) var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed}.music:active{transform:scale(.94)}.music.is-on{background:var(--accent-text)}.split{grid-template-columns:45fr 55fr;display:grid}.split__content{background:var(--bg);min-width:0}@media (width>=64.01rem) and (prefers-reduced-motion:no-preference){html{scroll-snap-type:y proximity}.hero,.about,.work,.experience,.journey,.athletics,.activity,.credentials,.site-footer{scroll-snap-align:start}}@media (width<=64rem){.split{display:block}}
