:root{--paper:#f3f3ec;--ink:#102c29;--muted:#53645e;--line:#d4dad1;--green:#c5e895}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid #497d38;outline-offset:5px}.skip{position:absolute;top:-100px;background:var(--ink);color:white;padding:12px;z-index:10}.skip:focus{top:0}.header,main,footer{max-width:1320px;margin:auto}.header{padding:26px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:27px;letter-spacing:-2px;font-weight:800;text-decoration:none}.brand span{color:#6d8c5e}nav{display:flex;gap:30px;font-size:13px}nav a{text-decoration:none}nav a:hover{text-decoration:underline}.hero{padding:90px 6% 72px;display:grid;grid-template-columns:1.25fr 1fr;gap:55px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 26px}h1{font-size:clamp(46px,5.5vw,74px);line-height:1.08;letter-spacing:-3px;font-weight:500;margin:0 0 30px}em{font-family:Georgia,serif;font-weight:400}p{margin:0 0 18px}.intro{max-width:480px;color:var(--muted);font-size:16px}.button{display:inline-flex;align-items:center;gap:30px;background:var(--ink);color:white;padding:15px 21px;text-decoration:none;font-size:13px;margin-top:14px}.button:hover{background:#285047}.location{font-size:11px;color:var(--muted);margin-top:26px}.hero-art{position:relative;aspect-ratio:1/1.12;background:var(--ink);overflow:hidden;color:var(--green);display:grid;place-items:center}.orbit{position:absolute;border:1px solid #8dbd7550;border-radius:50%;width:77%;aspect-ratio:1}.two{width:109%}.three{width:46%}.cross{position:absolute;background:#8dbd7530}.horizontal{height:1px;width:100%}.vertical{width:1px;height:100%}.core{font-size:82px;font-weight:400;line-height:1;letter-spacing:-6px;text-align:center;z-index:1;background:var(--ink);padding:20px}.core span{display:block;font-size:9px;letter-spacing:3px;line-height:1.6;margin-top:20px}.art-label{position:absolute;font-size:8px;letter-spacing:2px;left:24px}.top{top:24px}.bottom{bottom:24px}.coordinate{position:absolute;right:22px;bottom:22px;font-size:10px}.section{padding:72px 6%;border-top:1px solid var(--line)}h2{font-size:clamp(30px,3.4vw,43px);line-height:1.2;letter-spacing:-1.5px;font-weight:500;margin:0 0 32px}h3{font-size:21px;line-height:1.4;font-weight:500;margin:0 0 8px}.about,.education{display:grid;grid-template-columns:1fr 1fr;gap:70px}.about p:not(.eyebrow){color:var(--muted)}.about .large{font-size:23px;color:var(--ink)!important;line-height:1.5}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-heading>p{font-size:12px;color:var(--muted);margin-bottom:36px}.job{display:grid;grid-template-columns:180px 1fr 40px;gap:28px;border-top:1px solid var(--line);padding:32px 0}.period{font-size:10px;letter-spacing:1px;padding-top:6px}.role{font-size:13px;color:#436d42;margin-bottom:20px}.job p:not(.role){color:var(--muted);font-size:14px;max-width:660px}.job-number{font:italic 24px Georgia,serif;color:#68816a}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;font-size:13px}summary{cursor:pointer;display:flex;justify-content:space-between;list-style:none}.earlier{padding:25px 0 0;color:var(--muted)}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:40px}.skill-grid article{border-top:2px solid var(--ink);padding-top:20px}.skill-index{font-size:12px;color:var(--muted)}.skill-grid h3{margin-top:30px;font-size:22px}.skill-grid p{font-size:14px;color:var(--muted);margin:20px 0 25px}.tags{display:flex;flex-wrap:wrap;gap:7px}.tags span{border:1px solid #becabb;padding:4px 9px;font-size:10px}.education-item{margin-top:26px}.education-item h3{font-size:17px}.education p,.certs{font-size:13px;color:var(--muted)}.minor-title{font-size:16px;margin:8px 0 22px}.certs{padding-left:18px;margin-bottom:32px}.certs li{padding:5px 0}.contact{background:var(--ink);color:var(--paper);padding:68px 6% 75px;position:relative}.contact h2{font-size:clamp(40px,5.5vw,68px)}.contact em{color:var(--green)}.light{background:var(--green);color:var(--ink)}.light:hover{background:#d9f3b5}footer{display:flex;justify-content:space-between;align-items:center;padding:30px 6%;gap:22px}footer p,footer>a:last-child{font-size:10px;margin:0;color:var(--muted)}@media(min-width:1500px){.header,main,footer{border-left:1px solid var(--line);border-right:1px solid var(--line)}}@media(max-width:760px){.header{padding:20px 6%}nav{gap:15px;font-size:11px}.hero{grid-template-columns:1fr;padding-top:55px;gap:32px}h1{letter-spacing:-2px}.hero-art{aspect-ratio:1.5}.core{font-size:65px}.section{padding-top:48px;padding-bottom:48px}.about,.education{grid-template-columns:1fr;gap:22px}.section-heading{display:block}.section-heading>p{margin-top:-15px}.job{grid-template-columns:1fr 30px;gap:12px}.period{grid-column:1/-1}.job-number{grid-column:2;grid-row:2}.job>div:nth-child(2){grid-column:1;grid-row:2}.skill-grid{grid-template-columns:1fr;gap:35px}.skill-grid h3{margin-top:16px}.skill-grid p{margin:12px 0 18px}footer{flex-wrap:wrap}footer p{max-width:170px}.contact{padding-top:48px;padding-bottom:55px}}@media(max-width:380px){nav{gap:10px;font-size:10px}.brand{font-size:23px}h1{font-size:43px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.language-switch{display:flex;gap:4px;align-items:center}.language-switch button{font:inherit;font-size:11px;border:1px solid var(--line);color:var(--ink);background:transparent;padding:7px 10px;cursor:pointer}.language-switch button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.language-switch button:focus-visible{outline:3px solid #497d38;outline-offset:3px}.header{gap:20px;flex-wrap:wrap}@media(max-width:1000px){.language-switch{margin-left:auto}}@media(max-width:760px){.language-switch{flex-basis:100%;justify-content:flex-end}.hero h1{font-size:clamp(38px,10.8vw,74px)}}
.contact-links{display:flex;flex-wrap:wrap;gap:12px}.contact-secondary{background:transparent;color:var(--paper);border:1px solid #6e8980}.contact-secondary:hover{background:#285047}@media(max-width:760px){.contact-links{align-items:flex-start;flex-direction:column}.contact-links .button{margin-top:0}.contact-links{margin-top:28px}}
