:root{color-scheme:light;--paper:#faf7f0;--ink:#342e2c;--muted:#706662;--line:#d7cdc2;--surface:#eee8db;--accent:#7c483a;--rust:#82513f;--focus:#984124}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--paper:#211f20;--ink:#f0e7db;--muted:#c5b8ac;--line:#504743;--surface:#302b2a;--accent:#d5ab94;--rust:#d5ab94;--focus:#eebc91}}:root[data-theme=dark]{color-scheme:dark;--paper:#211f20;--ink:#f0e7db;--muted:#c5b8ac;--line:#504743;--surface:#302b2a;--accent:#d5ab94;--rust:#d5ab94;--focus:#eebc91}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:17px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}.no-wrap{white-space:nowrap}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,h4,h5,p,figure{margin:0}h1,h2,h3,h4,h5{line-height:1.1}h2,h3,h4,h5{letter-spacing:-.04em;font-family:Georgia,Times New Roman,serif;font-weight:400}h2{font-size:1.75rem}h3{font-size:2.25rem}p+p{margin-top:16px}section[id]{scroll-margin-top:28px}.wrap{width:min(1120px,100% - 88px);margin:auto}.section{padding-bottom:80px}.skip{background:var(--paper);z-index:5;padding:12px;position:absolute;top:-100px;left:20px}.skip:focus{top:12px}.site-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:29px 0;display:flex}.brand{white-space:nowrap;align-items:center;gap:11px;font:400 1.2rem Georgia,Times New Roman,serif;text-decoration:none;display:flex}.brand-mark{border-right:1px solid var(--line);letter-spacing:-1px;place-items:center;width:37px;height:25px;padding-right:10px;font:15px Arial,Helvetica,sans-serif;display:grid}.nav-links{align-items:center;gap:28px;font-size:.77rem;display:flex}.nav-links a{text-decoration:none}.nav-links a:hover{text-decoration:underline}.theme-toggle{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:8px;transition:background-color .18s,transform .18s;display:grid}.theme-toggle[hidden]{display:none}.theme-toggle:hover{background:var(--surface)}.theme-toggle:active{transform:scale(.9)}.theme-toggle svg{transform-origin:50%;grid-area:1/1;width:20px;height:20px;transition:transform .48s cubic-bezier(.22,1,.36,1),opacity .25s}.theme-toggle .sun-icon{opacity:0;transform:rotate(-90deg)scale(.35)}.theme-toggle .moon-icon,.theme-toggle[data-dark=true] .sun-icon{opacity:1;transform:rotate(0)scale(1)}.theme-toggle[data-dark=true] .moon-icon{opacity:0;transform:rotate(90deg)scale(.35)}.hero{grid-template-columns:minmax(0,1fr) 205px;align-items:center;gap:90px;padding:84px 0 91px;display:grid}.hero h1{letter-spacing:-.07em;margin-bottom:27px;font:400 clamp(4rem,7.5vw,7rem)/1.02 Georgia,Times New Roman,serif}.intro{max-width:520px;color:var(--muted);font:400 1.28rem/1.6 Georgia,Times New Roman,serif}.contact-cta{border:1px solid var(--line);border-radius:2px;margin-top:30px;padding:11px 20px;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-block}.contact-cta:hover{background:var(--surface)}.portrait img{object-fit:cover;filter:saturate(.75);border-radius:2px;width:205px;height:245px}.project-heading,.section-head{margin-bottom:30px}.project-heading,.section-head h2{text-transform:uppercase;letter-spacing:.14em;font:600 .73rem/1.1 Arial,Helvetica,sans-serif}.project-heading{margin-bottom:0}.tag,.small-label{letter-spacing:.08em;text-transform:uppercase;color:var(--rust);font-size:.64rem;font-weight:600;line-height:1.6}.why{border-left:2px solid var(--accent);margin-top:22px;padding-left:16px;font-size:.9rem}.stack{flex-wrap:wrap;gap:7px;margin-top:24px;display:flex}.stack span{border-bottom:1px solid var(--line);margin-right:9px;padding:2px 0;font-size:.68rem}.platform{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:35px 48px;margin-bottom:70px;padding:30px 0 0;display:grid}.platform>div:first-child{grid-area:1/1}.platform h3{letter-spacing:-.05em;margin:15px 0 23px;font-size:3.1rem}.platform h3 a,.app-content h3 a{text-decoration:none}.platform h3 a:hover,.app-content h3 a:hover{text-decoration:underline}.platform>div:first-child p{color:var(--muted);font-size:.93rem}.platform>div:first-child .why{font:1.15rem/1.6 Georgia,Times New Roman,serif}.stats{grid-area:2/1/auto/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;padding-top:25px;display:grid}.stat{min-width:0}.stat b{letter-spacing:-.04em;white-space:nowrap;font:400 2.7rem/1.1 Georgia,Times New Roman,serif}.stat span{color:var(--muted);margin-top:8px;font-size:.73rem;line-height:1.4;display:block}.bank-preview{border:1px solid var(--line);background:var(--surface);border-radius:2px;grid-area:1/2;width:100%;padding-top:29px;display:block;position:relative;overflow:hidden}.bank-preview:before{content:"bankrewards.io";letter-spacing:.025em;color:var(--muted);font-size:10px;position:absolute;top:5px;left:16px}.bank-preview img{border-top:1px solid var(--line);width:100%;height:auto}.bank-offers{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-top:8px;display:grid}.bank-offers a{border:1px solid var(--line);background:var(--surface);border-radius:2px;display:block;overflow:hidden}.bank-offers img{width:100%;height:auto}.bank-offers figcaption{color:var(--muted);margin-top:10px;font:italic .78rem/1.5 Georgia,Times New Roman,serif}.bank-calculators{grid-column:1/-1;padding-top:18px}.bank-calculators>h4{margin-bottom:8px;font-size:1.35rem}.calc-intro{color:var(--muted);margin:0 0 24px;font-size:.86rem}.calc-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.calc-card{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.calc-card h5{letter-spacing:-.035em;margin-bottom:15px;font-size:1.55rem;line-height:1.2}.calc-card p{color:var(--muted);font-size:.86rem}.calc-card .why{border:0;margin:20px 0 25px;padding:0;font-family:Georgia,Times New Roman,serif;font-size:1rem}.calc-card>a{margin-top:auto;font-size:.8rem;font-weight:600}.app-card{border-top:1px solid var(--line);grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);align-items:start;gap:55px;min-width:0;margin-bottom:70px;padding-top:32px;display:grid}.app-content{min-width:0}.app-card>.app-content{grid-area:1/1}.app-content h3{margin:12px 0 21px;font-size:2.5rem}.app-content p{color:var(--muted);font-size:.91rem}.app-content .why{color:var(--ink);border:0;padding:0;font:1.13rem/1.55 Georgia,Times New Roman,serif}.shots{grid-area:1/2;grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}.shots>a{grid-column:1/-1;min-width:0}.shots>a:last-child{justify-self:end;width:70%}.shots img{border-radius:1px;width:100%;height:auto}.cledge-photo{grid-area:1/2;padding:0 45px}.cledge-photo img{object-fit:cover;object-position:center 45%;border-radius:1px;width:100%;max-height:560px}.cledge-photo figcaption{color:var(--muted);padding-top:12px;font:italic .82rem/1.7 Georgia,Times New Roman,serif}.tally-screens{grid-area:1/2;grid-template-columns:minmax(0,2.9fr) minmax(0,1fr);align-items:stretch;gap:12px;padding:27px 0;display:grid}.tally-screens a{border:1px solid var(--line);background:#fff;border-radius:2px;min-width:0;display:block;position:relative;overflow:hidden}.tally-screens a:first-child{aspect-ratio:1100/820}.tally-screens img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.triangul8-media{grid-area:1/2;grid-template-columns:minmax(0,1fr) minmax(0,265px);align-items:end;gap:25px;display:grid}.store-photo{border-radius:1px;height:280px;margin-bottom:34px;display:block;overflow:hidden}.store-photo img{object-fit:cover;object-position:65% 67%;transform-origin:65% 67%;width:100%;height:100%;transform:scale(1.7)}.game-img{background:#202725;border:1px solid #56635d;border-radius:29px;padding:10px 9px 13px;display:block}.game-img img{border-radius:20px;width:100%;height:auto}.app-bottom>.app-card:last-child{margin-bottom:0}.research-about{margin-top:20px;font-size:.8rem;font-weight:600;display:inline-block}.research-media{grid-area:1/2;grid-template-columns:repeat(2,minmax(0,1fr));align-self:center;gap:18px;display:grid}.research-media a{display:block}.research-media img{border:1px solid var(--line);border-radius:2px;width:100%;height:auto}.research-media figcaption{color:var(--muted);margin-top:10px;font:italic .78rem/1.5 Georgia,Times New Roman,serif}.experience{border-top:1px solid var(--line);grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:55px;padding-top:32px;display:grid}.experience>div:first-child h2{font-size:2.5rem}.job{border-top:1px solid var(--line);padding:26px 0}.job:first-child{border:0;padding-top:0}.job-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 24px;margin-bottom:15px;display:flex}.job-heading{flex:230px;min-width:0}.job-header .company{font-size:.7rem;display:block}.company{letter-spacing:.08em;font-weight:700}.date{color:var(--muted);font-size:.73rem}.role-dates{text-align:right;display:grid}.job h3{margin:10px 0 0;font-size:1.6rem}.job p{color:var(--muted);font-size:.92rem}.field-visit{margin:8px 0 35px}.field-photos{grid-template-columns:2.2fr 1fr;align-items:end;gap:12px;display:grid}.field-photos img{border-radius:1px;width:100%;height:auto}.field-visit figcaption{color:var(--muted);margin-top:13px;font:.88rem/1.55 Georgia,Times New Roman,serif}.field-visit strong{color:var(--ink)}.earlier{border-top:1px solid var(--line);padding-top:24px}.earlier h3{margin-bottom:16px;font-size:1.4rem}.earlier ul{color:var(--muted);margin:0;padding:0;font-size:.86rem;list-style:none}.earlier li+li{margin-top:19px}.earlier strong{color:var(--ink);font-weight:500}.details-grid{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:70px;padding-top:33px;display:grid}.details-grid h2,.accomplishments h2{margin-bottom:22px;font-size:1.6rem}.details-grid h3{margin-bottom:12px;font:600 .9rem/1.1 Arial,Helvetica,sans-serif}.details-grid p{color:var(--muted);font-size:.87rem}.details-grid .stack{margin-top:0}.student-team+.student-team{margin-top:30px}.details-grid .team-role{color:var(--ink);margin:0 0 18px;font-size:.8rem}.student-team .team-description{margin:0 0 20px}.hyperloop-photos{grid-template-columns:minmax(0,.55fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.student-team figure{min-width:0;margin:0}.student-team figure a{display:block}.student-team img{border-radius:1px;width:100%;height:auto}.student-team figcaption{color:var(--muted);margin-top:9px;font:italic .78rem/1.5 Georgia,Times New Roman,serif}.robotics-team{grid-template-columns:minmax(0,1fr) minmax(0,190px);align-items:center;gap:24px;display:grid}.education-tools{grid-column:1/-1;grid-template-columns:220px minmax(0,1fr);align-items:start;gap:30px;display:grid}.education-tools h2{margin-bottom:0}.education-photo{width:100%;max-width:340px;margin:26px 0 0}.education-photo a{display:block}.education-photo img{border-radius:1px;width:100%;height:auto}.education-photo figcaption{color:var(--muted);margin-top:10px;font:italic .82rem/1.6 Georgia,Times New Roman,serif}.accomplishments{border-top:1px solid var(--line);grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:55px;margin-top:36px;padding-top:33px;display:grid}.accomplishments ul{color:var(--muted);margin:0;padding-left:18px;font-size:.85rem}.accomplishments li{break-inside:avoid;padding-bottom:12px}.accomplishments strong{color:var(--ink);font-weight:500}.personal-photos h2{margin-bottom:26px;font-size:1.6rem}.personal-stories{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 70px;margin-bottom:36px;display:grid}.personal-stories h3{margin-bottom:12px;font-size:1.3rem}.biking-story{grid-template-columns:minmax(0,1fr) 150px;align-content:start;column-gap:22px;display:grid}.biking-story h3{grid-column:1/-1}.bike-photo a{display:block}.bike-photo img{border-radius:2px;width:100%;height:auto}.bike-photo figcaption{color:var(--muted);margin-top:9px;font:italic .75rem/1.5 Georgia,Times New Roman,serif}.personal-stories p{color:var(--muted);font-size:.9rem}.visited-places{color:var(--ink);flex-wrap:wrap;gap:7px 16px;margin:16px 0 0;padding:0;font-size:.78rem;list-style:none;display:flex}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding:25px 0 35px;font-size:.73rem;display:flex}.footer-links{gap:25px;display:flex}@media (width<=1000px){.wrap{width:calc(100% - 52px)}.hero{grid-template-columns:minmax(0,1fr) 150px;gap:35px;padding:66px 0}.hero h1{font-size:4.3rem}.portrait img{width:150px;height:190px}.intro{font-size:1.17rem}.platform{column-gap:30px}.platform h3{font-size:2.7rem}.app-card,.experience{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:30px}.app-content h3{font-size:2.05rem}.cledge-photo{padding:0 10px}.cledge-photo img{max-height:470px}.tally-screens{justify-self:center;width:100%;padding-top:18px}.triangul8-media{grid-template-columns:minmax(0,1fr) minmax(0,200px);gap:13px}.store-photo{height:200px;margin-bottom:25px}.game-img{padding:8px 7px 10px}.game-img img{border-radius:18px}.details-grid{gap:35px}.accomplishments{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:30px}}@media (width<=680px){.wrap{width:calc(100% - 36px)}.site-nav{flex-wrap:wrap;gap:14px;padding:19px 0}.brand{gap:6px;font-size:1rem}.brand-mark{width:29px;padding-right:8px;font-size:13px}.nav-links{gap:15px;font-size:.73rem}.social-nav{display:none}.theme-toggle{width:32px;height:32px;padding:6px}.hero{grid-template-columns:minmax(0,1fr) 65px;gap:24px 12px;padding:51px 0 55px}.hero-copy{display:contents}.hero h1{letter-spacing:-.075em;grid-area:1/1;margin-bottom:0;font-size:clamp(2.7rem,11vw,4rem)}.portrait{grid-area:1/2}.portrait img{width:62px;height:75px}.hero .intro{grid-area:2/1/auto/-1;max-width:none;font-size:1.13rem;line-height:1.55}.hero .contact-cta{grid-area:3/1/auto/-1;justify-self:start;margin-top:6px}.section{padding-bottom:57px}.section-head{margin-bottom:24px}.platform{grid-template-columns:1fr;gap:27px;margin-bottom:53px;padding-top:24px}.platform h3{margin-bottom:20px;font-size:2.6rem}.platform>div:first-child p{font-size:.91rem}.platform .stats{grid-area:3/1;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:20px}.stat{border:0;padding:0}.stat b{font-size:1.85rem}.stat span{margin-top:7px;font-size:.64rem;line-height:1.45}.bank-preview{grid-area:2/1}.bank-offers{grid-column:1;grid-template-columns:1fr;gap:24px}.calc-grid{grid-template-columns:1fr;gap:25px}.calc-card h5{font-size:1.5rem}.calc-card .why{margin:16px 0 18px}.app-card{grid-template-columns:1fr;gap:26px;margin-bottom:53px;padding-top:24px}.app-content h3{margin:10px 0 18px;font-size:2.35rem}.research-media{grid-template-columns:1fr;gap:24px}.shots,.cledge-photo,.tally-screens,.triangul8-media,.research-media{grid-area:2/1}.shots>a:last-child{width:76%}.cledge-photo{padding:0 14px}.cledge-photo img{height:405px;max-height:none}.tally-screens{gap:8px;padding:0}.triangul8-media{grid-template-columns:minmax(0,1fr) minmax(0,210px);gap:12px}.store-photo{height:210px;margin-bottom:30px}.experience{grid-template-columns:1fr;gap:28px;padding-top:28px}.experience>div:first-child h2{font-size:2.35rem}.job-header .date{text-align:left}.job p{font-size:.9rem}.field-photos{gap:8px}.details-grid{grid-template-columns:1fr;gap:30px}.education-tools{grid-template-columns:1fr;gap:20px}.robotics-team{grid-template-columns:minmax(0,1fr) minmax(0,145px);gap:18px}.accomplishments{grid-template-columns:1fr;gap:0}.biking-story{grid-template-columns:minmax(0,1fr) 120px;column-gap:18px}.personal-stories{grid-template-columns:1fr;gap:26px;margin-bottom:28px}footer{flex-wrap:wrap}.footer-links{gap:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.theme-toggle,.theme-toggle svg{transition:none}}
