@charset "UTF-8";
:root{--bg:#09070d;--ink:#09070d;--white:#f5efff;--muted:#ada5bd;--accent:#b36bff;--line:#c7a5ff33;--surface:#14101c;--purple:#7828d4;--font:'DM Sans',sans-serif;--serif:'Instrument Serif',Georgia,serif;--condensed:'Barlow Condensed',sans-serif;color-scheme:dark;font-family:var(--font);font-synthesis:none;background:var(--bg);color:var(--white);scroll-behavior:smooth;scroll-padding-top:90px}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}a:focus-visible,button:focus-visible{outline:3px solid #d7adff;outline-offset:6px}h1,h2,h3,p{margin:0}em{font-family:var(--serif);font-weight:400}button:disabled{cursor:default}::selection{background:var(--accent);color:var(--ink)}.skip-link{position:fixed;left:20px;top:-100px;z-index:20;background:var(--accent);color:var(--ink);padding:15px}.skip-link:focus{top:20px}.eyebrow{font-size:12px;letter-spacing:.09em;font-weight:500;line-height:1.5}.site-header{height:88px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.wordmark{font-size:34px;font-weight:700;letter-spacing:-.17em;line-height:1}.wordmark span{color:var(--accent)}.wordmark sup{font-size:9px;letter-spacing:0;margin-left:7px;vertical-align:top}.site-header nav{display:flex;gap:32px;font-size:14px}.site-header nav a{padding:8px 0;position:relative}.site-header nav a:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}.site-header nav a:hover:after,.site-header nav a[aria-current]:after{transform:scaleX(1)}.site-header sup{font-size:9px;opacity:.7}.motion-toggle{display:flex;gap:8px;align-items:center;background:none;font-size:12px;color:var(--muted);padding:10px 0}.motion-symbol{font-size:18px;color:var(--accent)}.hero{padding:34px 5% 0;min-height:calc(100svh - 88px);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.hero-top,.hero-bottom,.hero-index{display:flex;justify-content:space-between;gap:20px}.hero-top{color:var(--muted)}.hero h1{font-size:clamp(80px,22vw,360px);line-height:.99;letter-spacing:-.09em;font-weight:600;position:relative;display:flex;align-items:baseline;gap:.1em;margin:8px 0 20px;white-space:nowrap}.hero h1 em{font-size:1.12em;letter-spacing:-.065em;color:var(--accent)}.hero-asterisk{font-size:.18em;color:var(--accent);position:absolute;right:0;top:10%;animation:turn 24s linear infinite}.hero-bottom{align-items:flex-end;padding:15px 0 48px}.hero-bottom>p{font-size:clamp(22px,2.65vw,42px);line-height:1.25;letter-spacing:-.04em}.hero-bottom>p>span{color:var(--muted)}.hero-aside{width:290px}.hero-aside>p{font-size:15px;color:var(--muted);line-height:1.65;margin-bottom:22px}.round-link{display:flex;align-items:center;justify-content:space-between;font-size:14px}.arrow-disc{width:47px;height:47px;background:var(--accent);border-radius:50%;display:grid;place-items:center;color:var(--ink);font-size:24px;transition:transform .3s}.round-link:hover .arrow-disc{transform:translateY(6px)}.hero-index{padding:18px 0;border-top:1px solid var(--line);font-size:10px;letter-spacing:.09em;color:var(--muted)}.ticker{background:var(--accent);color:var(--ink);padding:16px 0;overflow:hidden;border-top:1px solid var(--accent)}.ticker-track{display:flex;width:max-content;animation:marquee 35s linear infinite}.ticker-track>span{font:600 clamp(24px,3.8vw,58px)/1 var(--condensed);white-space:nowrap;letter-spacing:-.015em;padding-right:30px}.ticker i{font-family:var(--serif);font-weight:400}.ticker b{font:400 35px var(--font);margin:0 25px}.section-pad{padding:90px 5%}.section-kicker{display:flex;align-items:center;justify-content:space-between;margin-bottom:60px}.mini-mark{font-weight:700;letter-spacing:-.12em;font-size:28px}.intro{background:var(--surface);color:var(--white)}.intro-statement{max-width:1230px;font-size:clamp(34px,5.35vw,84px);font-weight:500;line-height:1.13;letter-spacing:-.052em}.intro-statement em{font-size:1.14em}.intro-statement>.intro-highlight{background:var(--accent);color:var(--ink);padding:0 .09em}.intro-bottom{display:flex;align-items:flex-end;gap:60px;justify-content:space-between;margin-top:40px}.intro-bottom>p{max-width:550px;font-size:17px;line-height:1.8;color:#bbb2cc}.text-link{padding:12px 0;background:none;border-bottom:1px solid currentColor;display:flex;align-items:center;justify-content:space-between;gap:36px;font-size:14px;text-align:left}.text-link span{font-size:24px;line-height:1;transition:transform .25s}.text-link:hover span{transform:translate(3px,-3px)}.journey{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #c7a5ff33;margin-top:62px;padding-top:25px;font:600 clamp(18px,2.4vw,36px) var(--condensed)}.journey>span:nth-child(even){font:400 28px var(--serif);color:#b36bff}.work{background:var(--bg)}.work .section-kicker{color:var(--muted);margin-bottom:48px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px;gap:35px}.section-heading h2{font-size:clamp(43px,6.5vw,104px);letter-spacing:-.06em;line-height:1.02;font-weight:500}.section-heading h2 em{color:var(--accent);font-size:1.15em}.section-heading>p{color:var(--muted);line-height:1.8;font-size:16px;padding-bottom:7px}.featured-project{display:grid;grid-template-columns:1.45fr 1fr;gap:5%;align-items:center;margin-bottom:85px}.project-image-button{display:block;width:100%;padding:0;text-align:left;background:none}.project-image{position:relative;aspect-ratio:1.12;overflow:hidden;background:#191221;display:flex;align-items:center;justify-content:center}.project-monogram{font:600 clamp(100px,17vw,230px) var(--condensed);letter-spacing:-.04em;color:var(--accent)}.project-monogram em{font-family:var(--serif)}.car-image{background-position:center;background-size:cover}.car-image.has-art .project-monogram{display:none}.image-caption{position:absolute;bottom:24px;left:24px;right:24px;font-size:11px;letter-spacing:.09em;color:var(--white);z-index:1}.image-open{position:absolute;top:20px;right:20px;border:1px solid #fff8;background:#1115;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;font-size:25px;transition:background .3s,color .3s}.project-image-button:hover .image-open{background:var(--accent);color:var(--ink);border-color:var(--accent)}.project-number{display:block;color:var(--muted);font-size:11px;letter-spacing:.06em;margin-bottom:25px}.project-info h3{font:600 clamp(48px,5.6vw,88px)/.95 var(--condensed);text-transform:uppercase;letter-spacing:-.025em}.project-info h3 em{font-size:1.13em;color:var(--accent);text-transform:none}.project-info>p{margin:27px 0;max-width:390px;font-size:16px;line-height:1.75;color:var(--muted)}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.tags span{padding:7px 10px;border:1px solid var(--line);border-radius:3px;font-size:12px}.project-info .text-link{width:100%;color:var(--accent)}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:35px}.project-cover{width:100%;aspect-ratio:1.32;display:flex;flex-direction:column;justify-content:space-between;padding:25px;text-align:left;overflow:hidden;position:relative;transition:filter .4s}.project-cover:hover{filter:brightness(1.12)}.cover-meta,.cover-bottom{font-size:11px;letter-spacing:.04em;position:relative;z-index:1}.cover-bottom{display:flex;justify-content:space-between;align-items:center}.cover-bottom>span{font-size:27px}.engineering-cover{background:#21132f;color:#f5efff}.engineering-type{font:700 clamp(44px,7vw,112px)/.81 var(--condensed);letter-spacing:-.025em;transform:rotate(-4deg);transform-origin:center;align-self:center;transition:transform .5s}.engineering-type i{font-style:normal;color:#b36bff}.engineering-cover:hover .engineering-type{transform:rotate(0)}.caliguide-cover{background:var(--accent);color:#09070d}.caliguide-type{font:500 clamp(45px,6.6vw,105px)/.9 var(--font);letter-spacing:-.09em;align-self:center;position:relative}.caliguide-type>span{font-family:var(--serif);font-style:italic;letter-spacing:-.07em}.caliguide-type>i{display:block;text-align:center;font:italic 32px var(--serif);letter-spacing:-.035em;margin-top:15px;transition:transform .5s}.caliguide-cover:hover .caliguide-type>i{transform:translateX(15px)}.project-row{display:flex;align-items:center;gap:20px;margin-top:25px}.project-row>span{font-size:12px;color:var(--muted)}.project-row h3{font-size:27px;font-weight:500;letter-spacing:-.04em;flex:1}.project-row>button{background:none;font-size:28px;padding:5px}.project-card>p{font-size:15px;line-height:1.6;color:var(--muted);margin:10px 0 0 35px;max-width:400px}.sports{background:var(--surface);color:var(--white)}.sports-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:55px}.sports-heading h2{font:600 clamp(72px,12vw,185px)/.8 var(--condensed);letter-spacing:-.045em;text-transform:uppercase}.sports-heading h2 em{font-size:.94em;text-transform:none;line-height:1.13}.sports-heading>p{font-size:16px;line-height:1.7;color:#bbb2cc;margin-bottom:13px}.sports-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:8%;align-items:center}.sports-photo{position:relative;aspect-ratio:1.2;background:#191221;background-size:cover;background-position:center}.sports-years{font:600 130px/.9 var(--condensed);letter-spacing:-.055em;margin-bottom:35px}.sports-years>span{font-size:60px;vertical-align:top;line-height:1.2;font-weight:400}.sports-years p{font:500 11px var(--font);letter-spacing:.07em;margin-top:12px}.sports-info h3{font-size:28px;letter-spacing:-.04em;font-weight:500;line-height:1.15;margin-bottom:20px}.sports-info>p{font-size:16px;line-height:1.7;color:#bbb2cc;max-width:400px;margin-bottom:27px}.sports-info .text-link{width:100%}.interests{display:flex;gap:45px;align-items:center;margin-top:55px;padding-top:26px;border-top:1px solid #c7a5ff33}.interests>span{font-size:11px;letter-spacing:.06em;white-space:nowrap}.interests>p{font-size:15px;line-height:1.7}.off-duty{background:var(--purple);color:var(--white)}.off-duty-line{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-top:40px}.off-duty h2{font-size:clamp(40px,5.5vw,86px);line-height:1.02;font-weight:500;letter-spacing:-.05em}.off-duty h2 em{font-size:1.25em}.off-duty-line>p{max-width:330px;font-size:17px;line-height:1.7}.site-footer{padding:60px 5% 0;overflow:hidden}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-top p{font-size:13px;line-height:1.5;letter-spacing:.04em}.footer-top a{font-size:14px;display:flex;gap:30px;align-items:center}.footer-top a>span{font-size:25px;color:var(--accent)}.footer-name{font-size:clamp(80px,21vw,360px);line-height:1.2;letter-spacing:-.09em;color:var(--accent);font-weight:600;white-space:nowrap}.footer-name em{font-size:1.08em}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:25px 0;font-size:10px;letter-spacing:.05em;color:var(--muted)}.noscript-note{padding:20px;text-align:center;background:var(--accent);color:var(--ink)}.reveal{transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1)}.reveal-pending{opacity:0;transform:translateY(35px)}.hero h1>span.hero-name,.hero h1>em{animation:rise 1.1s cubic-bezier(.22,1,.36,1) both}.hero h1>em{animation-delay:.12s}.hero-bottom{animation:rise 1s .25s cubic-bezier(.22,1,.36,1) both}@keyframes rise{from{opacity:0;transform:translateY(70px) rotate(2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes turn{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes modal-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.hero,.section-pad,.site-footer,.site-header{padding-left:max(5%,calc((100% - 1600px)/2));padding-right:max(5%,calc((100% - 1600px)/2))}.hero h1{font-size:340px}}
@media(max-width:900px){.section-pad{padding-top:65px;padding-bottom:65px}.section-kicker{margin-bottom:40px}.hero{min-height:600px}.hero h1{font-size:22vw}.hero-aside{width:230px}.featured-project{gap:5%;grid-template-columns:1.2fr 1fr}.project-info h3{font-size:55px}.project-info>p{font-size:15px}.project-pair{gap:22px}.project-cover{padding:20px;aspect-ratio:1}.cover-meta,.cover-bottom{font-size:9px}.sports-grid{gap:6%}.sports-years{font-size:100px}.sports-info h3{font-size:25px}.sports-heading>p br{display:none}.sports-heading>p{max-width:230px}.off-duty-line>p{max-width:275px}}
@media(max-width:600px){:root{scroll-padding-top:25px}.site-header{height:76px;gap:15px;padding:0 6%}.wordmark{font-size:28px}.site-header nav{gap:19px;font-size:12px}.site-header nav sup{display:none}.motion-label{display:none}.motion-toggle{padding:10px 5px}.hero{padding:25px 6% 0;min-height:570px}.hero-top{gap:10px}.hero-top .eyebrow{font-size:9px}.hero h1{font-size:21.5vw;gap:.09em;margin:20px 0;line-height:1.3}.hero h1 em{font-size:1.14em}.hero-asterisk{font-size:.2em;top:0}.hero-bottom{flex-direction:column;align-items:flex-start;gap:30px;padding-bottom:32px}.hero-bottom>p{font-size:27px;line-height:1.18}.hero-aside{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px}.hero-aside>p{font-size:12px;line-height:1.6;margin:0;max-width:170px}.hero-aside>p br{display:none}.round-link{font-size:12px;gap:12px}.round-link>span:first-child{max-width:63px}.arrow-disc{width:37px;height:37px;flex-shrink:0;font-size:22px}.hero-index{font-size:8px;gap:12px;padding:17px 0}.ticker{padding:14px 0}.ticker-track>span{font-size:30px}.ticker b{font-size:24px;margin:0 17px}.section-pad{padding:50px 6%}.section-kicker{gap:20px;margin-bottom:32px}.eyebrow{font-size:10px}.mini-mark{font-size:24px}.intro-statement{font-size:37px;line-height:1.16;letter-spacing:-.045em}.intro-bottom{display:block;margin-top:30px}.intro-bottom>p{font-size:16px}.intro-bottom .text-link{margin-top:20px;width:100%}.journey{font-size:18px;gap:10px;margin-top:35px;padding-top:22px}.journey>span:nth-child(even){font-size:20px}.section-heading{display:block;margin-bottom:35px}.section-heading h2{font-size:49px}.section-heading>p{margin-top:24px;font-size:15px;line-height:1.6}.work .section-kicker{margin-bottom:35px}.featured-project{grid-template-columns:1fr;gap:28px;margin-bottom:48px}.project-image{aspect-ratio:1.2}.project-monogram{font-size:130px}.project-number{font-size:10px;margin-bottom:15px}.project-info h3{font-size:64px}.project-info h3 br{display:none}.project-info>p{font-size:16px;margin:21px 0}.tags{margin-bottom:18px}.project-pair{grid-template-columns:1fr;gap:38px}.project-cover{aspect-ratio:1.1;padding:24px}.cover-meta,.cover-bottom{font-size:10px}.engineering-type{font-size:84px}.caliguide-type{font-size:68px}.caliguide-type>i{font-size:29px}.project-row{margin-top:20px;gap:13px}.project-row h3{font-size:25px}.project-card>p{font-size:15px;margin-left:27px}.sports .section-kicker{align-items:flex-start}.sports .section-kicker .eyebrow:last-child{max-width:110px;text-align:right}.sports-heading{display:block;margin-bottom:30px}.sports-heading h2{font-size:85px;line-height:.85}.sports-heading>p{font-size:16px;max-width:320px;margin-top:26px}.sports-grid{grid-template-columns:1fr;gap:30px}.sports-photo{aspect-ratio:1.15}.sports-years{font-size:110px;margin-bottom:25px}.sports-years>span{font-size:55px}.sports-info h3{font-size:29px}.sports-info>p{font-size:16px}.interests{display:block;margin-top:32px;padding-top:23px}.interests>p{margin-top:12px;font-size:14px}.off-duty-line{display:block;margin-top:25px}.off-duty h2{font-size:45px}.off-duty-line>p{margin-top:30px;font-size:16px;max-width:100%}.site-footer{padding:35px 6% 0}.footer-top p{font-size:11px}.footer-top a{font-size:12px;gap:20px}.footer-name{font-size:20vw;line-height:1.5}.footer-bottom{flex-wrap:wrap;font-size:9px;padding:20px 0;gap:15px}.footer-bottom>span:last-child{display:none}.dialog-content{padding:28px 24px}.dialog-content h2{font-size:39px}.dialog-top{padding:12px 20px}.dialog-top>span{font-size:10px}.dialog-lede{font-size:17px}.profile-footer>span{font-size:9px}.profile-footer button{font-size:12px;padding:12px}.image-caption{left:20px;bottom:20px;font-size:9px}}
@media(prefers-reduced-motion:reduce){html:not(:has(body.motion-enabled)){scroll-behavior:auto}body:not(.motion-enabled) *,body:not(.motion-enabled) *:before,body:not(.motion-enabled) *:after{animation:none!important;transition:none!important}.reveal-pending{opacity:1;transform:none}}
body.motion-paused *,body.motion-paused *:before,body.motion-paused *:after{animation:none!important;transition:none!important}body.motion-paused .reveal-pending{opacity:1;transform:none}html:has(body.motion-paused){scroll-behavior:auto}

.project-image img,.sports-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .9s cubic-bezier(.22,1,.36,1)}.project-image img{object-position:45% center}.sports-photo{overflow:hidden}.sports-photo img{object-position:65% center}.project-image:after,.sports-photo:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}.project-image-button:hover img,.project-image-button:focus-visible img{transform:scale(1.045)}

/* Black and electric violet, with sharp accents and quiet light behind the type. */
.hero{background:radial-gradient(ellipse at 73% 35%,#7626d31c,transparent 58%)}
.hero h1 em{text-shadow:0 0 70px #8d3ce326}
.arrow-disc,.image-open{border-radius:3px}
.ticker{border-color:#d6aaff;box-shadow:0 0 35px #822ed91a}
.intro .section-kicker,.sports .section-kicker{color:var(--accent)}
.intro .text-link,.sports .text-link{color:var(--accent)}
.sports-heading h2 em,.sports-years{color:var(--accent)}
.sports-years p{color:var(--muted)}
.engineering-cover{border:1px solid #b36bff55}
.off-duty{border-top:1px solid #bf85ff;border-bottom:1px solid #bf85ff}
.site-footer{background:#09070d}
.project-image-button:focus-visible .image-open{background:var(--accent);color:var(--ink)}

/* The editing timeline is a decorative expression of Sam's creative interests. */
.editing{background:var(--bg)}
.editing .section-kicker{color:var(--accent)}
.editing-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:8%;align-items:center}
.edit-art{min-width:0;padding:28px;background:#1c102b;border:1px solid #b36bff55;overflow:hidden}
.edit-art-top{display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:.08em;color:#c99afa}
.edit-art-title{padding:48px 0 55px;font:600 clamp(64px,7.2vw,120px)/.9 var(--condensed);letter-spacing:-.04em;white-space:nowrap}
.edit-art-title em{display:block;font-size:1.22em;line-height:1;color:var(--accent);padding-left:13%}
.edit-timeline{position:relative;border-top:1px solid #b36bff55;padding-top:13px;overflow:hidden}
.edit-ruler{display:flex;justify-content:space-between;font:10px/1.5 ui-monospace,monospace;color:#c5addc;margin-bottom:15px}
.edit-track{display:flex;gap:5px;margin-top:6px;height:45px;font-size:9px;letter-spacing:.05em}
.edit-track-picture>span{display:flex;align-items:center;padding:0 11px;background:var(--accent);color:var(--ink);flex:1}
.edit-track-picture>span:nth-child(2){flex:1.4;background:#dcc0ff}
.edit-track-picture>span:nth-child(3){background:#9153d3;color:var(--ink)}
.edit-track-sound{background:#352149;color:#dfbcff;align-items:center;padding:0 11px}
.edit-track-sound>i{flex:1;height:21px;margin-left:13px;background:repeating-linear-gradient(90deg,transparent 0 3px,#b36bff 3px 5px,transparent 5px 8px);clip-path:polygon(0 35%,8% 18%,16% 40%,24% 0,32% 28%,40% 12%,48% 35%,56% 2%,64% 22%,72% 5%,80% 32%,88% 15%,100% 35%,100% 65%,88% 85%,80% 68%,72% 95%,64% 78%,56% 98%,48% 65%,40% 88%,32% 72%,24% 100%,16% 60%,8% 82%,0 65%)}
.edit-playhead{position:absolute;left:12%;top:0;bottom:0;width:1px;background:var(--white);box-shadow:0 0 9px #f5efff44;animation:edit-scrub 9s ease-in-out infinite alternate}
.edit-playhead:before{content:'';position:absolute;top:0;left:-4px;width:9px;height:9px;background:var(--white);clip-path:polygon(0 0,100% 0,100% 55%,50% 100%,0 55%)}
.editing-copy{min-width:0}
.editing-copy>.eyebrow{color:var(--muted);margin-bottom:24px}
.editing-copy h2{font:600 clamp(55px,6.5vw,105px)/.85 var(--condensed);letter-spacing:-.035em;text-transform:uppercase;margin-bottom:30px}
.editing-copy h2 em{text-transform:none;line-height:1.15;color:var(--accent);font-size:1.06em}
.editing-copy>p:not(.eyebrow){font-size:16px;line-height:1.75;color:#bbb2cc;margin-bottom:17px;max-width:420px}
.editing-copy .tags{margin-top:25px}
.editing-copy .text-link{width:100%;color:var(--accent)}
@keyframes edit-scrub{from{left:12%}to{left:87%}}

/* React Bits-inspired motion, adapted to the site's native HTML and JS. */
.hero{position:relative;isolation:isolate}
.hero>:not(.hero-aurora){position:relative;z-index:1}
.hero-aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;opacity:.8}
.hero-aurora i{position:absolute;width:130%;height:75%;left:-15%;top:0;border-radius:50%;background:radial-gradient(ellipse at center,#8d33ec55 0%,#6419ad2b 34%,transparent 66%);filter:blur(28px);transform:rotate(-18deg);animation:aurora-drift 16s ease-in-out infinite alternate}
.hero-aurora i:nth-child(2){left:20%;top:-35%;background:radial-gradient(ellipse at center,#c184ff4a 0%,#7529cb33 30%,transparent 65%);animation-duration:21s;animation-delay:-8s}
.hero-aurora i:nth-child(3){left:-40%;top:35%;height:50%;background:radial-gradient(ellipse at center,#9947eb38 0%,transparent 65%);animation-duration:19s;animation-delay:-12s}
.hero.split-ready h1>.hero-name,.hero.split-ready h1>em{animation:none}
.name-letter{display:inline-block;transform-origin:50% 85%}
.scroll-word{display:inline-block;will-change:opacity,filter,transform}
.intro-statement>.intro-highlight{box-decoration-break:clone;-webkit-box-decoration-break:clone}
.spotlight-surface{position:relative;isolation:isolate}
.spotlight-surface:before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;border:1px solid #dcb1ff55;background:radial-gradient(360px circle at var(--spot-x,50%) var(--spot-y,50%),#cf9bff3d,transparent 65%);opacity:0;transition:opacity .35s}
.spotlight-surface.spotlight-active:before,.spotlight-surface:focus-visible:before{opacity:1}
.caliguide-cover:before{background:radial-gradient(340px circle at var(--spot-x,50%) var(--spot-y,50%),#ffffff59,transparent 65%)}
.project-cover,.edit-art{transition:border-color .4s,box-shadow .4s,filter .4s}
.project-cover:hover,.edit-art:hover{box-shadow:0 0 35px #9739ed18}
.magnetic-arrow{transition:translate .35s cubic-bezier(.2,.8,.25,1),transform .3s}
.hero.motion-out-of-view .hero-aurora i,body.page-hidden *{animation-play-state:paused!important}
body.motion-paused .scroll-word{opacity:1!important;filter:none!important;transform:none!important}
body.motion-paused .magnetic-arrow{translate:0 0!important;transform:none!important}
body.motion-paused .spotlight-surface:before{opacity:0}
@keyframes aurora-drift{0%{transform:translate(-7%,-8%) rotate(-18deg) scale(.9)}50%{transform:translate(4%,5%) rotate(-9deg) scale(1.08)}100%{transform:translate(10%,-3%) rotate(-23deg) scale(1.15)}}
@media(max-width:600px){.hero-aurora{opacity:.65}.hero-aurora i{filter:blur(18px)}.spotlight-surface:before{display:none}}
@media(prefers-reduced-motion:reduce){body:not(.motion-enabled) .scroll-word{opacity:1!important;filter:none!important;transform:none!important}body:not(.motion-enabled) .magnetic-arrow{translate:0 0!important}}

/* Chapters: a compact home and independent editorial pages. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:page-out .18s ease both}
::view-transition-new(root){animation:page-in .35s ease both}
@keyframes page-out{to{opacity:0}}
@keyframes page-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.motion-static *,.motion-static *:before,.motion-static *:after{animation:none!important;transition:none!important}
.motion-static::view-transition-old(root),.motion-static::view-transition-new(root){animation:none!important}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}}
.footer-nav{display:flex;flex-wrap:wrap;gap:15px 30px;margin:38px 0 18px;font-size:13px;color:var(--muted)}
.footer-nav a:hover,.breadcrumbs a:hover{color:var(--accent)}
.page-hero{position:relative;isolation:isolate;overflow:hidden;padding-top:30px;padding-bottom:65px;border-bottom:1px solid var(--line)}
.page-hero>:not(.hero-aurora){position:relative;z-index:1}
.page-hero .hero-aurora{opacity:.5}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--muted);margin-bottom:65px}
.breadcrumbs [aria-current]{color:var(--white)}
.page-hero>.eyebrow{color:var(--accent);margin-bottom:28px}
.page-title{font:600 clamp(60px,9.6vw,155px)/.88 var(--condensed);letter-spacing:-.035em}
.page-title>span,.page-title>em{display:block;animation:rise .9s cubic-bezier(.16,1,.3,1) both}
.page-title>em{font-family:var(--serif);font-size:1.05em;line-height:1.06;color:var(--accent);animation-delay:.12s}
.page-hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-top:40px}
.page-hero-bottom>p{font-size:clamp(17px,1.7vw,24px);line-height:1.65;letter-spacing:-.02em;max-width:760px;color:#c9c0d7}
.page-hero-bottom .tags{max-width:310px;justify-content:flex-end;flex-shrink:0;margin:0}
.page-hero.motion-out-of-view .hero-aurora i{animation-play-state:paused!important}
.chapter-directory .section-kicker{color:var(--accent);margin-bottom:35px}
.chapter-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.chapter-card{position:relative;min-height:420px;display:flex;flex-direction:column;justify-content:space-between;padding:30px;background:var(--surface);border:1px solid var(--line);overflow:hidden;transition:border-color .4s}
.chapter-card:hover{border-color:var(--accent)}
.chapter-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s cubic-bezier(.2,.8,.25,1)}
.chapter-card:hover>img{transform:scale(1.035)}
.chapter-work,.chapter-sports{background:transparent;isolation:isolate}
.chapter-work:after,.chapter-sports:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#09070d44 0%,#09070d66 35%,#09070deb 100%);z-index:-1;pointer-events:none}
.chapter-work{grid-column:1/-1;min-height:430px}
.chapter-work>img{object-position:center 58%}
.chapter-number{font-size:11px;letter-spacing:.08em;color:#e8d8ff}
.chapter-card-copy{position:relative;max-width:540px;margin-top:30px}
.chapter-card h3{font:600 clamp(37px,4.5vw,72px)/1 var(--condensed);letter-spacing:-.02em}
.chapter-card h3 em{color:var(--accent);font-size:1.1em}
.chapter-card p{font-size:15px;line-height:1.65;color:#c8bed8;margin-top:16px;max-width:400px}
.chapter-link{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);padding-top:17px;margin-top:26px;font-size:13px}
.chapter-link b{font-size:24px;font-weight:400;color:var(--accent);transition:transform .3s}
.chapter-card:hover .chapter-link b{transform:translate(4px,-4px)}
.chapter-concept{position:absolute;top:30px;right:30px;color:#d0c6dc;font-size:8px;letter-spacing:.07em}
.chapter-route{font:600 clamp(35px,4vw,62px)/1.1 var(--condensed);margin-top:35px}
.chapter-route>span{color:var(--accent);font-weight:400}
.chapter-route em{font:italic 30px var(--serif);color:var(--muted)}
.chapter-editing{background:#1c102b}
.mini-timeline{display:flex;gap:7px;position:relative;margin:45px 0 10px;height:50px;border-top:1px solid #ba88ea55;padding-top:10px}
.mini-timeline span{flex:1;background:#9b57e2}.mini-timeline span:nth-child(2){flex:1.4;background:#d2acff}.mini-timeline span:nth-child(3){background:#7441a8}
.mini-timeline i{position:absolute;left:12%;top:0;bottom:-10px;width:2px;background:var(--white);animation:edit-scrub 9s ease-in-out infinite alternate}
.chapter-play{background:#351451}.play-mark{color:var(--accent);font-size:95px;line-height:1;align-self:flex-end;margin-top:15px;animation:turn 30s linear infinite}
.chapter-photo{position:relative;margin:0;aspect-ratio:2.2;overflow:hidden;background:var(--surface)}
.chapter-photo img{width:100%;height:100%;object-fit:cover;display:block}
.chapter-photo figcaption{position:absolute;left:5%;bottom:24px;background:#09070dcc;padding:8px 10px;font-size:10px;letter-spacing:.08em;color:var(--white)}
.story-layout{display:grid;grid-template-columns:1fr 2.3fr;gap:9%;align-items:start}
.story-index{position:sticky;top:35px}
.story-index>.eyebrow{color:var(--muted);margin-bottom:22px}
.story-index nav{display:flex;flex-direction:column;gap:0}
.story-index a{display:flex;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.5}
.story-index a:hover{color:var(--accent)}
.story-index a>span{font-size:10px;color:var(--accent);padding-top:3px}
.story-content{min-width:0}.story-section{padding:0 0 46px;margin-bottom:42px;border-bottom:1px solid var(--line)}
.story-section>.eyebrow{display:block;color:var(--accent);font-size:11px;margin-bottom:16px}
.story-section h2{font-size:clamp(28px,3vw,46px);font-weight:500;line-height:1.12;letter-spacing:-.045em;margin-bottom:25px}
.story-section p,.story-list{font-size:18px;line-height:1.85;color:#c5bbd3}
.story-list{list-style:none;padding:0;margin:0}
.story-list li{padding:12px 0 12px 24px;position:relative}
.story-list li:before{content:'↗';color:var(--accent);position:absolute;left:0}
.story-note{background:#21122e;padding:30px;border-left:3px solid var(--accent)}
.story-note>.eyebrow{color:var(--accent);margin-bottom:18px}
.story-note>p{font:italic clamp(25px,3vw,42px)/1.25 var(--serif)}
.about-journey{background:var(--surface)}
.about-journey>.eyebrow{color:var(--accent)}
.about-journey .journey{margin-top:30px;margin-bottom:65px}
.values-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;background:var(--surface)}
.values-strip article>span{font-size:10px;letter-spacing:.08em;color:var(--accent)}
.values-strip h2{font:600 clamp(29px,3vw,48px)/1.1 var(--condensed);margin:22px 0 16px}
.values-strip p{color:var(--muted);font-size:15px;line-height:1.75}
.next-chapter{display:block;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--purple);color:var(--white);padding-top:45px;padding-bottom:45px}
.next-chapter>.eyebrow{display:block;margin-bottom:25px}
.next-chapter-title{display:flex;align-items:center;justify-content:space-between;gap:30px;font:500 clamp(40px,6vw,92px)/1.1 var(--font);letter-spacing:-.045em}
.next-chapter-title>span{transition:transform .4s;font-size:.8em}.next-chapter:hover .next-chapter-title>span{transform:translate(8px,-8px)}
.process-banner{display:flex;justify-content:space-between;gap:25px;background:#231032;color:var(--white);font:600 clamp(32px,5.6vw,90px)/1 var(--condensed)}
.process-banner>em{color:var(--accent);font-size:1.15em}
.guide-banner{background:var(--accent);color:var(--ink)}
.guide-banner>p{font:600 clamp(38px,6vw,96px)/1 var(--condensed);margin:38px 0}
.guide-banner>p>em{font-size:1.08em}.guide-banner .tags{margin:0}.guide-banner .tags span{border-color:#09070d55}
.sports-feature{display:grid;grid-template-columns:1fr 1.6fr;gap:8%;align-items:center;background:var(--surface)}
.sports-feature-stat>span{font:600 clamp(120px,17vw,250px)/.8 var(--condensed);color:var(--accent)}
.sports-feature-stat>span>em{font:400 .45em var(--font);vertical-align:top}
.sports-feature-stat>p{font-size:11px;letter-spacing:.08em;color:var(--muted);margin-top:20px}
.sports-feature-stat h2{font-size:clamp(22px,2.5vw,36px);font-weight:500;line-height:1.2;letter-spacing:-.03em;margin-top:35px}
.sports-feature .chapter-photo{aspect-ratio:1.25}.sports-feature .chapter-photo img{object-position:65% center}
.editing-feature{display:grid;grid-template-columns:1.3fr 1fr;gap:8%;align-items:center;background:var(--surface)}
.editing-feature-copy>.eyebrow{color:var(--accent);margin-bottom:30px}
.editing-feature-copy h2{font:600 clamp(45px,6vw,96px)/.94 var(--condensed);letter-spacing:-.03em;margin-bottom:30px}
.editing-feature-copy h2 em{color:var(--accent);font-size:1.1em}
.editing-feature-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;color:var(--muted)}
.play-banner{display:flex;align-items:center;justify-content:center;gap:10%;background:#261035}
.play-banner>span{font-size:clamp(80px,20vw,260px);line-height:1;color:var(--accent);animation:turn 40s linear infinite}
.play-banner>p{font:600 clamp(30px,5vw,80px)/1.1 var(--condensed)}.play-banner>p>em{color:var(--accent);font-size:1.08em}
.project-row>a{font-size:28px;padding:5px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.resume-page .page-hero{padding-top:28px;padding-bottom:45px}
.resume-page .breadcrumbs{margin-bottom:40px}
.resume-page .page-title{font-size:clamp(55px,7.3vw,116px)}
.resume-page .page-hero-bottom{margin-top:27px}
.resume-page .page-hero-bottom>p{font-size:18px;max-width:740px}
.resume-jump{display:flex;gap:32px;padding:21px 5%;border-bottom:1px solid var(--line);background:#09070df2;backdrop-filter:blur(14px);position:sticky;top:0;z-index:5}
.resume-jump a{font-size:13px;color:var(--muted);white-space:nowrap}
.resume-jump a:hover,.resume-jump a:focus-visible{color:var(--accent)}
.resume-jump sup{font-size:9px;color:var(--accent);margin-left:3px}
.resume-sheet{max-width:1440px;margin:auto;padding-top:55px;padding-bottom:25px}
.resume-group{margin-bottom:65px;scroll-margin-top:90px}
.resume-group-heading{display:flex;align-items:baseline;gap:22px;border-bottom:1px solid #b36bff77;padding-bottom:22px}
.resume-group-heading>.eyebrow{color:var(--accent);font-size:10px}
.resume-group-heading h2{font-size:clamp(25px,3vw,42px);font-weight:500;line-height:1.15;letter-spacing:-.04em;flex:1}
.resume-count{color:var(--muted);font:12px ui-monospace,monospace}
.resume-entry{display:grid;grid-template-columns:155px minmax(0,1fr);gap:38px;padding:32px 0 36px;border-bottom:1px solid var(--line);scroll-margin-top:90px}
.resume-entry--undated{grid-template-columns:minmax(0,1fr)}
.resume-period{font:11px/1.7 ui-monospace,monospace;color:var(--muted);padding-top:6px}
.resume-entry-content h3{font-size:clamp(23px,2.5vw,34px);font-weight:500;line-height:1.2;letter-spacing:-.035em;transition:color .3s}
.resume-entry:hover h3{color:#d2a4ff}
.resume-role{font-size:13px;color:var(--accent);line-height:1.6;margin-top:7px}
.resume-summary{font-size:16px;color:#c5bbd3;line-height:1.75;margin-top:18px;max-width:860px}
.resume-points{padding:0 0 0 17px;margin:11px 0 0;color:var(--muted);font-size:14px;line-height:1.85}
.resume-points li{padding-left:4px;margin-top:6px}.resume-points li::marker{color:var(--accent)}
.resume-recognition{display:flex;flex-wrap:wrap;gap:7px;margin-top:19px}
.resume-recognition>span{border:1px solid #b36bff44;background:#21102e;color:#d5b2fa;font-size:11px;line-height:1.7;padding:6px 9px;max-width:100%}
.resume-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.resume-links .resume-external{margin-top:0}
.resume-external{display:inline-flex;align-items:center;gap:12px;max-width:100%;min-height:44px;font-size:14px;font-weight:600;line-height:1.45;color:var(--accent);background:#b36bff12;border:1px solid #b36bff99;padding:11px 16px;margin-top:20px;box-shadow:3px 3px 0 #000}.resume-external>span[aria-hidden]{flex-shrink:0}
.resume-external:hover{color:var(--white)}
.resume-skills{margin:0}.resume-skills>div{display:grid;grid-template-columns:155px 1fr;gap:38px;border-bottom:1px solid var(--line);padding:22px 0}
.resume-skills dt{font-size:13px;color:var(--white)}.resume-skills dd{margin:0;font-size:15px;line-height:1.7;color:var(--muted)}
.about-background{padding-top:35px;padding-bottom:35px;background:var(--surface)}
.about-background>p{font-size:17px;line-height:1.8;max-width:800px;color:#bbb2cc}
.language-list{display:grid;grid-template-columns:repeat(3,1fr);margin:0;gap:30px;padding:28px 0;border-bottom:1px solid var(--line)}
.language-list dt{font-size:20px;letter-spacing:-.02em}.language-list dd{margin:10px 0 0;font-size:13px;color:var(--muted)}
.other-sports{font-size:18px;line-height:1.8;color:var(--muted);padding:25px 0;border-bottom:1px solid var(--line)}
@media(max-width:600px){.resume-page .page-hero{padding:22px 6% 35px}.resume-page .breadcrumbs{margin-bottom:32px}.resume-page .page-title{font-size:clamp(43px,12vw,68px)}.resume-page .page-hero-bottom>p{font-size:16px}.resume-jump{padding:17px 6%;gap:20px;justify-content:space-between}.resume-jump a{font-size:11px}.resume-jump sup{display:none}.resume-sheet{padding-top:35px}.resume-group{margin-bottom:43px}.resume-group-heading{gap:12px;padding-bottom:20px}.resume-group-heading h2{font-size:27px}.resume-group-heading>.eyebrow,.resume-count{font-size:9px}.resume-entry{grid-template-columns:1fr;gap:9px;padding:24px 0 28px}.resume-period{font-size:10px;padding:0}.resume-period:empty{display:none}.resume-entry-content h3{font-size:25px}.resume-role{font-size:12px}.resume-summary{font-size:15px;margin-top:14px}.resume-points{font-size:13px;line-height:1.8}.resume-recognition>span{font-size:10px}.resume-skills>div{grid-template-columns:1fr;gap:9px;padding:20px 0}.resume-skills dd{font-size:14px}.about-background{padding-top:28px;padding-bottom:28px}.about-background>p{font-size:15px}.language-list{gap:18px;grid-template-columns:1fr}.language-list>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.language-list dt{font-size:17px}.language-list dd{margin:0;font-size:12px}.other-sports{font-size:16px}}
@media(max-width:1000px){.page-hero-bottom{display:block}.page-hero-bottom .tags{justify-content:flex-start;max-width:none;margin-top:25px}.story-layout{gap:6%;grid-template-columns:1fr 2.2fr}.chapter-card{padding:24px}.chapter-concept{top:25px;right:25px}.values-strip{gap:30px}.process-banner{flex-wrap:wrap}.chapter-route{font-size:43px}}
@media(max-width:600px){.page-hero{padding-top:22px;padding-bottom:42px}.breadcrumbs{margin-bottom:43px;font-size:10px;gap:9px}.page-hero>.eyebrow{font-size:9px;margin-bottom:22px}.page-title{font-size:clamp(48px,12vw,72px);line-height:.96}.page-title>em{line-height:1.1}.page-hero-bottom{margin-top:26px}.page-hero-bottom>p{font-size:17px;line-height:1.7}.page-hero-bottom .tags{gap:6px}.page-hero-bottom .tags span{font-size:10px;padding:6px 9px}.chapter-directory .section-kicker{gap:20px}.chapter-directory .section-kicker>.eyebrow:last-child{max-width:115px;text-align:right}.chapter-grid{grid-template-columns:1fr;gap:20px}.chapter-work{grid-column:auto;min-height:420px}.chapter-card{min-height:360px;padding:24px}.chapter-card h3{font-size:42px}.chapter-card p{font-size:14px}.chapter-link{font-size:12px}.chapter-number{font-size:10px}.chapter-concept{font-size:7px;right:24px}.chapter-route{font-size:47px}.chapter-route em{font-size:28px}.chapter-photo{aspect-ratio:1.35}.chapter-photo figcaption{font-size:8px;bottom:16px;max-width:90%}.story-layout{display:block}.story-index{position:static;margin-bottom:40px}.story-index nav{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.story-index a{font-size:11px;gap:9px}.story-index>.eyebrow{margin-bottom:12px}.story-section{padding-bottom:30px;margin-bottom:30px}.story-section h2{font-size:32px;margin-bottom:20px}.story-section p,.story-list{font-size:16px;line-height:1.8}.story-note{padding:24px}.story-note>p{font-size:29px}.about-journey .journey{margin-bottom:35px}.values-strip{grid-template-columns:1fr;gap:32px}.values-strip article+article{border-top:1px solid var(--line);padding-top:28px}.values-strip h2{font-size:35px;margin-top:15px}.next-chapter{padding-top:35px;padding-bottom:35px}.next-chapter-title{font-size:40px;gap:15px}.next-chapter>.eyebrow{margin-bottom:20px}.process-banner{display:grid;grid-template-columns:1fr 1fr;font-size:39px;gap:25px}.guide-banner>p{font-size:41px;margin:30px 0}.sports-feature,.editing-feature{grid-template-columns:1fr;gap:35px}.sports-feature-stat>span{font-size:160px}.sports-feature-stat h2{font-size:29px}.sports-feature .chapter-photo{aspect-ratio:1.15}.editing-feature-copy h2{font-size:65px}.play-banner{gap:20px;align-items:flex-start}.play-banner>span{font-size:65px}.play-banner>p{font-size:28px}.footer-nav{gap:14px 22px;font-size:12px;margin-top:30px}}
@media(max-width:900px){.editing-grid{gap:5%}.edit-art{padding:22px}.edit-art-title{font-size:8vw}.edit-track{font-size:8px}.edit-track-picture>span{padding:0 7px}.editing-copy h2{font-size:67px}}
@media(max-width:600px){.site-header{gap:12px}.site-header nav{gap:13px;font-size:11px}.editing-grid{grid-template-columns:1fr;gap:35px}.edit-art{padding:22px}.edit-art-title{font-size:19vw;padding:35px 0 40px}.edit-art-top{font-size:9px}.edit-track{font-size:8px;height:38px}.editing-copy h2{font-size:75px}.editing-copy>.eyebrow{margin-bottom:18px}.editing-copy>p:not(.eyebrow){font-size:16px}.editing-copy .tags{gap:6px}.editing-copy .tags span{font-size:11px}}
