:root{--paper:#f6f4ee;--ink:#24253e;--muted:#626377;--hero:#202448;--accent:#dbfa78;--coral:#ff947f;--purple:#7354d3;--line:#dcdad3;--white:#fff;--heading:'Orbitron',sans-serif;--body:'Chakra Petch',sans-serif;--mono:'Share Tech Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:5px}.hero a:focus-visible,.contact a:focus-visible,.contact button:focus-visible{outline-color:var(--accent)}[hidden]{display:none!important}::selection{background:var(--coral);color:var(--ink)}.container{width:min(1320px,calc(100% - 96px));margin-inline:auto}.section-space{padding:100px 0}.eyebrow{font:500 11px/1.6 var(--mono);letter-spacing:1.6px;text-transform:uppercase;margin:0 0 18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:16px;background:var(--accent);padding:12px;z-index:100}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between;gap:26px}.wordmark{font:700 36px/.8 var(--heading);letter-spacing:-3px;text-decoration:none;display:flex;align-items:center;gap:7px}.wordmark span{font-size:32px;color:var(--purple);line-height:1}.desktop-nav{display:flex;gap:32px;margin-left:auto}.desktop-nav a{font-size:13px;font-weight:600;text-decoration:none;position:relative}.desktop-nav a::after{content:'';position:absolute;bottom:-6px;left:0;width:0;height:2px;background:var(--purple);transition:width .2s}.desktop-nav a:hover::after{width:100%}.nav-tools{display:flex;align-items:center;gap:20px}.palettes{border:0;border-left:1px solid var(--line);padding:0 0 0 26px;margin:0;display:flex;gap:2px}.swatch{width:30px;height:36px;border:0;background:transparent;position:relative;border-radius:50%}.swatch::after{content:'';position:absolute;inset:8px 5px;border-radius:50%;background:var(--swatch)}.swatch[aria-pressed=true]::after{outline:1px solid var(--ink);outline-offset:3px}.indigo{--swatch:#7354d3}.sunset{--swatch:#e5785b}.forest{--swatch:#298770}.menu-button{display:none;border:0;background:transparent;font-size:13px;padding:10px 0}.mobile-nav{padding:8px 24px 24px;border-top:1px solid var(--line)}.mobile-nav a{display:block;text-decoration:none;padding:10px}.hero{background:var(--hero);color:var(--paper);transition:background .3s}.hero>.container{padding-top:34px;padding-bottom:52px}.hero-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;gap:24px}.hero-topline .eyebrow{margin:0;color:var(--accent);display:flex;align-items:center;gap:10px}.status-dot{height:7px;width:7px;background:var(--accent);border-radius:50%}.local-time{font:10px var(--mono);color:#cecde0;white-space:nowrap}.local-time time{margin-left:10px}.hero-grid{display:grid;grid-template-columns: .8fr 2fr;gap:58px;align-items:center}.hero-copy h1{font:600 clamp(75px,8.4vw,126px)/.88 var(--heading);letter-spacing:-7px;margin:0 0 25px}.coral{color:var(--coral)}.purple{color:var(--purple)}.lime{color:var(--accent)}.hero-location{font-size:14px;line-height:1.65;color:#dbdae9;margin:0 0 25px}.hero-location strong{font-weight:600;color:var(--paper)}.pill-button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;padding:13px 21px;border-radius:50px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .2s}.pill-button:hover{transform:translateY(-3px)}.lime-button{background:var(--accent);color:#24253e}.dark-button{background:var(--ink);color:white}.hero-signature{display:flex;align-items:center;gap:14px;margin-top:30px;font:11px/1.5 var(--mono);color:#c8c6dd}.asterisk{font:52px/1 var(--heading);color:var(--coral);transition:transform .4s}.hero-signature:hover .asterisk{transform:rotate(90deg)}.hero-video-wrap{min-width:0}.video-label,.video-caption{display:flex;justify-content:space-between;gap:16px}.video-label{font:10px/1.5 var(--mono);letter-spacing:1px;margin-bottom:12px;color:#dcdaeb}.video-frame{aspect-ratio:16/9;position:relative;background:#11162c;border:1px solid #8c8ca4;border-radius:8px;overflow:hidden;box-shadow:12px 12px 0 rgba(150,139,210,.2)}.video-frame iframe{width:100%;height:100%;border:0;position:absolute;inset:0}.video-caption{align-items:center;margin-top:24px;font-size:12px;color:#dad7e8}.video-caption a{font-size:11px}.interest-strip{border-top:1px solid #ffffff24;background:#ffffff05}.interest-strip>.container{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:65px;font:11px var(--mono);letter-spacing:1px}.interest-strip b{font-size:26px;font-weight:400;color:var(--coral)}.interest-strip a{color:var(--accent);text-decoration:none}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}h2{font:500 clamp(32px,4.5vw,60px)/1.08 var(--heading);letter-spacing:-2.6px;margin:0}.section-aside{font-size:13px;color:var(--muted);margin:0 0 4px}.journey-layout{display:grid;grid-template-columns:1fr 245px;gap:24px}.route-panel{border:1px solid var(--line);border-radius:10px;padding:30px;background:#fff9}.route-track{display:grid;grid-template-columns:repeat(6,1fr);position:relative;isolation:isolate}.route-track::before{content:'';position:absolute;left:8%;right:8%;height:1px;top:49px;background:#d0ccd9;z-index:-1}.route-track button{display:flex;align-items:center;flex-direction:column;gap:14px;border:0;padding:8px 0;background:transparent;font-size:11px;transition:color .2s;white-space:nowrap}.stop-number{font:10px var(--mono);color:var(--muted)}.stop-dot{width:11px;height:11px;border-radius:50%;background:var(--paper);border:2px solid #aea9bf;transition:background .2s,transform .2s;box-shadow:0 0 0 6px #fcfaf6}.route-track button:hover .stop-dot{transform:scale(1.4);border-color:var(--purple)}.route-track [aria-pressed=true]{color:var(--purple);font-weight:700}.route-track [aria-pressed=true] .stop-dot{background:var(--purple);border-color:var(--purple);box-shadow:0 0 0 5px #e8e1fb}.city-detail{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:30px;padding:35px 10px 8px;min-height:200px}.city-code{font:700 72px var(--heading);color:#b9acd9;letter-spacing:-5px}.city-detail .eyebrow{color:var(--purple);font-size:10px;margin:0 0 8px}.city-detail h3{font:500 27px var(--heading);margin:0 0 10px}.city-detail p:last-child{font-size:13px;max-width:480px;color:var(--muted);margin:0}.journey-note{border-radius:10px;background:var(--accent);padding:26px 28px;display:flex;flex-direction:column;justify-content:space-between}.journey-note>span{font:54px/1 var(--heading)}.journey-note p{font:500 29px/1.15 var(--heading);letter-spacing:-1px;margin:16px 0 25px}.journey-note em{font-style:normal;color:#686330}.journey-note a{font-size:11px}.experience{background:#eeedf5}.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.filter-bar>div{display:flex;gap:8px;flex-wrap:wrap}.filter-bar button{border:1px solid #cfccd9;border-radius:22px;padding:8px 18px;background:transparent;font-size:12px;transition:background .2s}.filter-bar button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}#experience-count{font:10px var(--mono);color:var(--muted);white-space:nowrap}.experience-row{border-top:1px solid #d5d2e0}.experience-row:last-child{border-bottom:1px solid #d5d2e0}.experience-row summary{display:grid;grid-template-columns:40px 1fr 110px 38px;gap:20px;align-items:center;padding:25px 12px;cursor:pointer;list-style:none;transition:background .2s}.experience-row summary::-webkit-details-marker,.school-story summary::-webkit-details-marker{display:none}.experience-row summary:hover{background:#fff6}.role-index{font:11px var(--mono);color:var(--purple)}.role-main h3{font:500 clamp(20px,2.3vw,28px)/1.3 var(--heading);letter-spacing:-.8px;margin:0 0 5px}.role-main p{font-size:12px;color:var(--muted);margin:0}.location-tag{font:10px var(--mono);text-align:right}.expand-icon{font-size:25px;font-weight:400;border:1px solid #cecadc;border-radius:50%;width:34px;height:34px;line-height:31px;text-align:center;transition:transform .2s}.experience-row[open] .expand-icon{transform:rotate(45deg);background:#d9d1f1}.role-description{margin:0 72px 26px;max-width:780px;font-size:14px;color:var(--muted)}.role-description p{margin:0 0 9px}.role-description .company-note{font:11px var(--mono);color:var(--purple)}.education .large-star{font:90px/.7 var(--heading);color:var(--purple)}.education-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.education-card{padding:30px 35px 40px;border-radius:8px;position:relative;overflow:hidden;min-height:310px}.lavender{background:#e2dcf4}.peach{background:#f9ddd0}.pale-green{background:#e3ecc9}.pale-blue{background:#dce8f3}.school-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font:10px var(--mono);letter-spacing:1px}.school-top img{width:44px;height:44px;object-fit:contain}.education-card h3{font:500 28px/1.15 var(--heading);letter-spacing:-.9px;margin:0 0 19px}.education-card p{font-size:13px;max-width:380px;position:relative;z-index:1;margin:6px 0}.education-card .degree{font-weight:700}.education-card .school-detail{font-size:11px;margin-top:14px}.school-number{position:absolute;right:25px;bottom:-15px;font:600 105px/1 var(--heading);color:#24253e12;pointer-events:none}.school-story{font-size:12px;margin-top:16px;position:relative;z-index:1}.school-story summary{cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:4px}.school-story p{font-size:12px}.text-link{display:inline-block;font-size:12px;margin-top:16px;position:relative;z-index:1}.teaching{display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid var(--line);padding-top:40px;margin-top:55px;align-items:center}.teaching h3{font:500 28px/1.2 var(--heading);letter-spacing:-.7px;margin:0 0 8px}.teaching p:last-child{font-size:12px;color:var(--muted);margin-bottom:0}.teaching-terms{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.teaching-terms span{font:11px var(--mono);padding:12px 20px;border:1px solid var(--line);border-radius:40px}.teaching-terms .current-term{background:#e2dcf4;border-color:#e2dcf4}.baseball{background:var(--coral)}.baseball-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:90px;align-items:center}.baseball-copy h2{font:600 clamp(45px,5.5vw,80px)/.98 var(--heading);letter-spacing:-4px}.baseball-copy h2 span{color:#fff}.baseball-copy>p:not(.eyebrow){font-size:14px;margin:25px 0}.baseball-seam{font:28px var(--mono);margin-top:35px;color:#793c32;letter-spacing:3px}.gallery{background:var(--paper);border-radius:5px;box-shadow:10px 12px 0 #24253e20;padding:12px;transform:rotate(2deg);transition:transform .3s}.gallery:hover,.gallery:focus-within{transform:rotate(0)}.photo-wrap{aspect-ratio:4/3;overflow:hidden;background:#dfdfd1}.photo-wrap img{width:100%;height:100%;object-fit:cover}.gallery-footer{padding:18px 10px 8px;display:flex;justify-content:space-between;gap:16px;align-items:center}.gallery-footer span{font:10px var(--mono);color:var(--muted)}.gallery-footer p{font-size:13px;font-weight:500;margin:5px 0}.gallery-controls{display:flex;gap:8px}.gallery-controls button{border:1px solid #c9c6ce;border-radius:50%;width:42px;height:42px;background:transparent;font-size:20px;transition:background .2s}.gallery-controls button:hover{background:var(--accent)}.contact{background:var(--hero);color:var(--paper)}.contact .eyebrow{color:var(--accent)}.contact-heading{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact h2{font-size:clamp(60px,10vw,138px);letter-spacing:-7px}.contact-arrow{display:flex;align-items:center;justify-content:center;width:100px;height:100px;border-radius:50%;background:var(--accent);color:var(--ink);font:70px var(--heading);text-decoration:none;transition:transform .2s}.contact-arrow:hover{transform:rotate(45deg)}.contact-bottom{border-top:1px solid #ffffff30;margin-top:55px;padding-top:32px;display:flex;align-items:start;justify-content:space-between;gap:32px}.email-block>a{font:500 clamp(14px,2vw,22px) var(--heading);text-decoration:none;display:block;overflow-wrap:anywhere}.email-block button{border:1px solid #ffffff40;color:#eeedf5;background:transparent;border-radius:30px;font-size:11px;padding:8px 14px;margin-top:15px}.email-block button:hover{background:#ffffff10}.email-block [role=status]{display:block;min-height:25px;font-size:11px;color:var(--accent);padding-top:6px}.contact-bottom>p{font-size:12px;color:#cecde0;margin:0}.github-link{font-size:12px;white-space:nowrap}footer{background:var(--hero);color:#cecde0;border-top:1px solid #ffffff26;padding:24px 0}footer .container{display:flex;justify-content:space-between;gap:24px;font:10px var(--mono)}footer a{text-decoration:none}body[data-palette=sunset]{--hero:#512c3a;--accent:#ffe096;--coral:#f7aa8d;--purple:#a34565}body[data-palette=forest]{--hero:#193e38;--accent:#dbf687;--coral:#efb78b;--purple:#327566}
@media(min-width:1600px){.hero>.container{padding-top:46px;padding-bottom:65px}.hero-topline{margin-bottom:48px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.hero-grid{grid-template-columns:.75fr 1.6fr;gap:35px}.hero-copy h1{font-size:85px;letter-spacing:-5px}.hero-location{font-size:13px}.hero-signature{margin-top:24px}.video-label{font-size:8px}.video-caption{font-size:10px}.desktop-nav{gap:22px}.journey-layout{grid-template-columns:1fr 200px}.route-panel{padding:25px 20px}.city-detail{grid-template-columns:120px 1fr;gap:20px}.city-code{font-size:54px}.baseball-grid{gap:55px}.education-card h3{font-size:25px}}
@media(max-width:800px){html{scroll-padding-top:80px}.container{width:calc(100% - 40px)}.nav-wrap{height:70px}.desktop-nav{display:none}.menu-button{display:block}.palettes{border:0;padding:0}.nav-tools{gap:20px}.section-space{padding:65px 0}.hero>.container{padding:28px 0 35px}.hero-topline{margin-bottom:22px}.hero-topline .eyebrow{font-size:9px;letter-spacing:.7px}.local-time{font-size:8px}.hero-grid{display:flex;flex-direction:column;gap:32px;align-items:stretch}.hero-video-wrap{order:0}.hero-copy{order:1;display:grid;grid-template-columns:1fr 1fr;column-gap:22px;align-items:center}.hero-copy h1{font-size:78px;margin:0;grid-row:span 2}.hero-location{margin:0 0 16px;font-size:13px}.hero-copy .pill-button{justify-self:start;padding:11px 15px;gap:15px;font-size:11px}.hero-signature{display:none}.video-label{font-size:9px}.video-caption{margin-top:18px;font-size:11px}.video-caption a{font-size:10px}.interest-strip>.container{gap:15px;flex-wrap:wrap;padding:18px 0;font-size:9px;justify-content:center}.interest-strip b{font-size:18px}.interest-strip a{display:none}.interest-strip b:last-of-type{display:none}.section-heading{gap:25px;align-items:start;flex-direction:column;margin-bottom:30px}h2{font-size:40px;letter-spacing:-1.8px}.section-aside br{display:none}.journey-layout{grid-template-columns:1fr}.journey-note{display:none}.city-detail{grid-template-columns:135px 1fr;padding:28px 5px 8px}.city-code{font-size:62px}.education .section-heading{flex-direction:row;align-items:center}.education .large-star{font-size:60px}.education-card{padding:24px;min-height:310px}.education-card h3{font-size:23px}.school-top{font-size:9px}.school-top img{width:35px;height:35px}.teaching{gap:25px}.teaching-terms span{padding:10px 13px;font-size:10px}.baseball-grid{grid-template-columns:1fr 1.4fr;gap:30px}.baseball-copy h2{font-size:52px;letter-spacing:-2.5px}.baseball-copy .pill-button{font-size:11px;gap:15px;padding:12px 16px}.baseball-seam{font-size:22px}.gallery{padding:8px}.gallery-footer{padding:12px 5px 5px;align-items:start}.gallery-footer p{font-size:11px}.gallery-controls{gap:5px}.gallery-controls button{width:32px;height:32px;font-size:17px}.contact h2{font-size:90px;letter-spacing:-4px}.contact-arrow{width:75px;height:75px;font-size:50px}.contact-bottom{flex-wrap:wrap}.email-block{flex-basis:100%}footer .container{font-size:9px}footer .container>span:nth-child(2){display:none}}
@media(max-width:540px){.hero-topline{gap:12px}.local-time{display:none}.hero-copy h1{font-size:72px}.hero-location{font-size:12px}.video-label{font-size:8px;letter-spacing:.5px}.video-frame{box-shadow:6px 7px 0 #968bd233}.video-caption{gap:10px;font-size:10px}.video-caption a{font-size:9px}.interest-strip>.container{font-size:8px;letter-spacing:.3px;gap:10px}.interest-strip b{font-size:16px}.route-panel{padding:18px 14px}.route-track{grid-template-columns:repeat(3,1fr);gap:14px 5px}.route-track::before{display:none}.route-track button{font-size:11px;gap:8px;padding:10px 0;border-radius:6px;background:#f0edf6}.route-track button[aria-pressed=true]{background:#e7e0f5}.stop-dot{box-shadow:none!important}.city-detail{grid-template-columns:1fr;gap:6px;min-height:265px;padding:24px 4px 4px}.city-code{font-size:40px;letter-spacing:-2px;line-height:1.2}.city-detail h3{font-size:25px}.city-detail .eyebrow{font-size:9px}.city-detail p:last-child{font-size:12px}.filter-bar{align-items:start;flex-direction:column}.filter-bar button{padding:8px 13px;font-size:11px}.experience-row summary{grid-template-columns:20px 1fr 28px;gap:12px;padding:22px 2px}.role-main h3{font-size:21px}.role-main p{font-size:11px}.location-tag{display:none}.expand-icon{height:28px;width:28px;line-height:25px;font-size:21px}.role-description{margin:0 32px 22px;font-size:12px}.education-grid{grid-template-columns:1fr;gap:15px}.education-card{min-height:285px;padding:27px}.education-card h3{font-size:28px}.teaching{grid-template-columns:1fr}.teaching-terms{justify-content:flex-start}.baseball-grid{grid-template-columns:1fr;gap:35px}.baseball-copy h2{font-size:58px}.baseball-copy h2 br{display:none}.baseball-copy h2 br::after{content:' '}.baseball-copy h2{max-width:280px}.baseball-seam{display:none}.baseball-copy>p:not(.eyebrow){margin:18px 0}.gallery{max-width:calc(100% - 12px);margin-inline:auto}.gallery-footer p{font-size:12px}.gallery-controls button{width:38px;height:38px}.contact h2{font-size:66px;letter-spacing:-3px}.contact-arrow{width:56px;height:56px;font-size:40px;flex-shrink:0}.contact-heading{gap:15px}.contact-bottom{margin-top:35px;gap:25px}.email-block>a{font-size:18px}.contact-bottom>p,.github-link{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.gallery{transform:none}}

/* Visual edition: fewer labels, stronger shapes, direct interaction. */
:root{--hero:#30226c;--accent:#dcff70;--coral:#ff866e;--purple:#6541d4}
body[data-palette=indigo]{--hero:#30226c;--accent:#dcff70;--coral:#ff866e;--purple:#6541d4}
body[data-palette=sunset]{--hero:#662a44;--accent:#fff08a;--coral:#ffad8e;--purple:#a33661}
body[data-palette=forest]{--hero:#163f39;--accent:#d6ff75;--coral:#f6af80;--purple:#22745b}
.section-space{padding:78px 0}.nav-wrap{height:74px}.hero{position:relative;isolation:isolate;overflow:hidden}.hero::before{content:'';width:600px;height:600px;position:absolute;left:-340px;top:70px;border:1px solid #ffffff18;border-radius:50%;box-shadow:0 0 0 70px #ffffff04,0 0 0 140px #ffffff03;z-index:-1;pointer-events:none}.hero>.container{padding-top:28px;padding-bottom:42px}.hero-topline{margin-bottom:32px}.hero-grid{grid-template-columns:.68fr 2fr;gap:46px}.hero-copy h1{font-size:clamp(66px,7.5vw,114px);text-transform:uppercase;line-height:.87;letter-spacing:-6px;margin-bottom:27px}.hero-copy h1>span{display:block}.outline-name{color:transparent;-webkit-text-stroke:1.5px var(--paper);transition:color .25s}.hero-copy:hover .outline-name{color:var(--paper)}.outline-name .coral{-webkit-text-stroke:0;color:var(--coral)}.hero-location{font:11px var(--mono);color:var(--accent);margin-bottom:25px}.hero-copy .pill-button{border-radius:3px;padding:12px 23px;min-width:126px}.hero-orbit{margin-top:40px;display:flex;align-items:center;justify-content:center;width:78px;height:78px;border:1px solid #ffffff40;border-radius:50%;text-decoration:none;transition:transform .4s}.hero-orbit span{font:65px/1 var(--heading);color:var(--coral)}.hero-orbit:hover{transform:rotate(90deg)}.video-frame{border:2px solid var(--accent);border-radius:3px;box-shadow:10px 10px 0 var(--coral)}.video-caption{justify-content:flex-end;margin-top:20px}.video-label{font-size:10px}.video-label>span:last-child{font-size:19px;line-height:1}.interest-strip{background:var(--accent);color:var(--ink);border:0}.interest-strip>.container{min-height:52px;font-size:10px}.interest-strip b{color:var(--purple)}.interest-strip a{color:var(--ink);font-size:22px}.section-heading{align-items:center;margin-bottom:30px}.section-heading .eyebrow{margin:0 0 7px;font-size:10px}.section-heading h2{font-size:clamp(44px,5vw,72px);line-height:1;letter-spacing:-3px}.journey{background:#e4dcfb}.journey .section-heading{margin-bottom:26px}.journey-layout{display:block;position:relative}.route-panel{border:0;border-radius:4px;background:var(--hero);color:var(--paper);padding:30px 36px}.route-track::before{background:#ffffff38}.route-track button{color:#e0d9f0;font-size:11px}.route-track .stop-number{color:#bfb4d5}.route-track .stop-dot{box-shadow:0 0 0 6px var(--hero);background:var(--hero);border-color:#aa9acb}.route-track button:hover .stop-dot{border-color:var(--accent)}.route-track [aria-pressed=true]{color:var(--accent)}.route-track [aria-pressed=true] .stop-dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 5px #ffffff20}.city-detail{grid-template-columns:minmax(140px,.85fr) 1fr;gap:35px;padding:32px 80px 0 0;min-height:190px}.city-code{font:600 clamp(80px,11vw,155px)/.95 var(--heading);letter-spacing:-8px;color:var(--accent)}.city-detail .eyebrow{color:#c7bcdf;font-size:9px}.city-detail h3{font-size:34px;margin-bottom:8px;letter-spacing:-1px}.city-detail p:last-child{color:#dfd7ed;font-size:12px}.next-city{position:absolute;right:33px;bottom:35px;width:55px;height:55px;background:var(--coral);color:var(--ink);border:0;border-radius:50%;font:40px/1 var(--heading);transition:transform .25s}.next-city:hover{transform:rotate(45deg)}.route-panel button:focus-visible{outline-color:var(--accent)}.experience{background:var(--paper)}.experience-row summary{padding-block:23px;transition:background .2s,padding-left .2s}.experience-row summary:hover{background:#e6def8;padding-left:21px}.experience-row[open]{background:#ebe5f5}.role-index{font-size:13px}.role-main h3{font-size:clamp(22px,2.4vw,32px)}.role-description{font-size:13px;padding-bottom:8px}.role-description .company-note{font-size:10px}.education{background:#eeedf5}.education-card{border-radius:3px;min-height:285px;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .25s;isolation:isolate}.lavender{background:#d7c4fc}.peach{background:#ffc4ac}.pale-green{background:#e0f291}.pale-blue{background:#bcdaf2}.school-number{font-size:135px;bottom:-15px;color:#24253e14}.education-card h3{font-size:29px}.education .large-star{font-size:82px;transition:transform .4s}.education .section-heading:hover .large-star{transform:rotate(90deg)}.teaching{margin-top:38px;padding-top:30px}.teaching h3{font-size:25px}.teaching .eyebrow{margin-bottom:10px}.baseball{overflow:hidden}.baseball-grid{grid-template-columns:1fr 1.8fr;gap:75px}.baseball-copy h2{font-size:clamp(64px,8vw,115px);line-height:.86;letter-spacing:-6px;text-transform:uppercase;margin-bottom:30px}.baseball-copy .eyebrow{margin-bottom:25px}.baseball-copy .dark-button{border-radius:3px;min-width:120px}.gallery{position:relative;isolation:isolate;border-radius:2px;box-shadow:none;transform:perspective(900px) rotate(-2deg) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .25s}.gallery::before,.gallery::after{content:'';position:absolute;inset:0;z-index:-1;border-radius:2px;pointer-events:none}.gallery::before{background:var(--hero);transform:rotate(5deg) translate(6px,7px)}.gallery::after{background:var(--accent);transform:rotate(2deg) translate(4px,3px)}.gallery:hover,.gallery:focus-within{transform:perspective(900px) rotate(0) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.gallery-footer{background:var(--paper);margin:-1px;padding:18px 12px 10px}.photo-wrap{touch-action:pan-y}.photo-wrap img{user-select:none;-webkit-user-drag:none}.gallery-controls button{background:var(--accent);border:0}.gallery-controls button:hover{background:var(--hero);color:var(--paper)}.contact{padding-top:70px;padding-bottom:45px}.contact h2{font-size:clamp(75px,12vw,160px);text-transform:uppercase;line-height:.9}.contact-bottom{margin-top:35px}.contact-arrow{border-radius:4px}.contact-arrow:hover{transform:translate(5px,-5px)}
@media(max-width:1100px){.hero-grid{grid-template-columns:.7fr 1.8fr;gap:30px}.hero-copy h1{font-size:76px;letter-spacing:-4px}.hero-orbit{height:60px;width:60px;margin-top:25px}.hero-orbit span{font-size:50px}.hero-location{font-size:10px}.baseball-grid{gap:45px}}
@media(max-width:800px){.nav-wrap{height:65px}.section-space{padding:58px 0}.hero-grid{display:flex;gap:30px}.hero>.container{padding-top:24px;padding-bottom:30px}.hero-topline{margin-bottom:20px}.hero-copy{display:grid;grid-template-columns:1fr auto;gap:15px}.hero-copy h1{grid-row:span 2;font-size:65px;letter-spacing:-3px;margin:0}.hero-copy h1>span{display:inline}.hero-copy h1>span:first-child{margin-right:12px}.hero-location{margin:0;font-size:10px}.hero-copy .pill-button{min-width:100px;justify-self:end}.hero-orbit{display:none}.video-frame{box-shadow:7px 7px 0 var(--coral)}.interest-strip>.container{padding:14px 0;min-height:44px;font-size:9px}.section-heading h2{font-size:54px}.route-panel{padding:24px}.city-detail{grid-template-columns:1fr 1.2fr;min-height:160px;gap:25px;padding-right:55px}.city-code{font-size:85px;letter-spacing:-5px}.city-detail h3{font-size:28px}.next-city{right:23px;bottom:30px;width:42px;height:42px;font-size:31px}.education-card h3{font-size:24px}.baseball-grid{grid-template-columns:1fr 1.6fr;gap:35px}.baseball-copy h2{font-size:70px;letter-spacing:-4px}.contact h2{font-size:95px;letter-spacing:-4px}.contact-arrow{height:70px;width:70px;font-size:50px}}
@media(max-width:540px){.hero-copy h1{font-size:clamp(44px,14vw,56px);letter-spacing:-3px}.hero-copy h1>span{display:block}.hero-copy h1>span:first-child{margin-right:0}.hero-location{font-size:9px}.hero-copy{align-items:center;gap:10px}.hero-copy .pill-button{padding:10px 15px;font-size:11px}.interest-strip>.container{font-size:8px}.section-heading h2{font-size:48px;letter-spacing:-2px}.section-heading{margin-bottom:22px}.route-panel{padding:17px 15px}.route-track{gap:9px}.route-track button{background:#ffffff0c;border-radius:2px;font-size:10px}.route-track button[aria-pressed=true]{background:#ffffff17}.city-detail{grid-template-columns:1fr;min-height:190px;padding:24px 52px 0 3px;gap:16px}.city-code{font-size:82px;letter-spacing:-4px}.city-detail h3{font-size:25px}.city-detail p:last-child{font-size:11px}.city-detail .eyebrow{display:none}.next-city{right:20px;bottom:20px}.education-card{min-height:265px}.education-card h3{font-size:28px}.baseball-grid{grid-template-columns:1fr;gap:20px}.baseball-copy h2 br{display:initial}.baseball-copy h2{font-size:70px;max-width:none;display:inline-block;margin-right:30px;margin-bottom:18px;vertical-align:middle}.baseball-copy .dark-button{vertical-align:middle}.baseball-copy .eyebrow{margin-bottom:15px}.gallery{max-width:calc(100% - 20px)}.gallery-footer{padding:13px 10px 7px}.contact h2{font-size:clamp(48px,13.5vw,70px);letter-spacing:-4px}.contact-arrow{height:56px;width:56px;font-size:40px}.contact{padding-block:55px 30px}.contact .eyebrow{margin-bottom:13px}}
@media(prefers-reduced-motion:reduce){[data-tilt],.gallery:hover,.gallery:focus-within{transform:none!important}.hero-orbit:hover,.contact-arrow:hover{transform:none}.experience-row summary:hover{padding-left:12px}}


/* Vector decorations render consistently without emoji substitution. */
.star-icon { display: block; width: 1em; height: 1em; flex: none; }
.arrow-icon { display: inline-block; width: 1em; height: 1em; vertical-align: -.12em; flex: none; }
.education .large-star { flex: 0 0 auto; }

/* School colors and text contrast stay consistent across palettes. */
.education-card { --school-ink: #faf8f2; --school-copy: #e9e5ed; --school-muted: #d8d1e0; --school-number: #ffffff16; --school-focus: var(--accent); color: var(--school-ink); min-height: 350px; border: 1px solid #ffffff12; }
.education-card.lavender { background: #efd2df; }
.education-card.peach { background: #172b4d; }
.education-card.pale-green { background: #70571b; }
.education-card.pale-blue { background: #dedfe3; }
.education-card.lavender, .education-card.pale-blue { --school-ink: #24253e; --school-copy: #414257; --school-muted: #535469; --school-number: #24253e14; --school-focus: #653a84; border-color: #24253e0c; }
.education-card h3, .education-card .degree { color: var(--school-ink); }
.education-card p { color: var(--school-copy); }
.education-card .school-top { min-height: 80px; justify-content: flex-end; align-items: flex-start; }
.education-card .school-top img { width: 80px; height: 80px; flex: 0 0 80px; object-fit: contain; }
.education-card .degree { max-width: none; }
.education-card .degree-year { font: inherit; letter-spacing: inherit; white-space: nowrap; }
.education-card .school-number { color: var(--school-number); }
.education-card a:focus-visible, .education-card summary:focus-visible { outline-color: var(--school-focus); }
@media (max-width: 800px) {
  .education .large-star { font-size: 48px; }
  .education-card .school-top { min-height: 72px; }
  .education-card .school-top img { width: 72px; height: 72px; flex-basis: 72px; }
}

/* Angular display lettering and technical text for the cyberpunk type style. */
body { font-weight: 500; }
.wordmark { font-weight: 700; letter-spacing: -.04em; }
.hero-copy h1 { font-size: clamp(62px, 6.1vw, 104px); font-weight: 700; line-height: 1; letter-spacing: -.035em; }
.outline-name { -webkit-text-stroke-width: 1.3px; }
.section-heading h2, .contact h2 { font-weight: 700; letter-spacing: -.035em; }
.section-heading h2 { text-transform: uppercase; }
.role-main h3, .city-detail h3, .teaching h3 { font-weight: 500; letter-spacing: -.025em; }
.education-card h3 { font-weight: 500; letter-spacing: -.025em; }
.desktop-nav a, .pill-button { font-weight: 600; letter-spacing: .035em; }
.school-number { font-weight: 700; letter-spacing: -.06em; }
@media (max-width: 1100px) {
  .hero-copy h1 { font-size: 76px; }
}
@media (max-width: 800px) {
  .hero-copy h1 { font-size: 60px; }
}
@media (max-width: 540px) {
  .hero-copy h1 { font-size: clamp(34px, 11vw, 58px); }
  .section-heading h2 { font-size: clamp(32px, 9vw, 48px); }
  .contact h2 { font-size: clamp(38px, 10vw, 54px); }
}
