
:root{font-family:Inter,Arial,sans-serif;color:#000;background:#fff;font-synthesis:none;--scale:calc(100vw / 1920)}
*{box-sizing:border-box}body,h1,h2,h3,p{margin:0}a{color:inherit;text-underline-offset:.15em}a:focus-visible{outline:3px solid #4855f5;outline-offset:6px}a:hover{text-decoration-thickness:2px}img{display:block}html{scroll-behavior:smooth}.container{width:86.145833%;margin-inline:auto}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-160%);z-index:5;background:white;color:black;padding:12px}.skip-link:focus{transform:none}
.hero{position:relative;height:50.625vw;overflow:hidden;color:white}.hero-photo{position:absolute;width:100%;height:295.94%;top:-44.82%;object-fit:fill}.masthead{position:relative;display:flex;justify-content:space-between;align-items:start;padding:1.927083vw 3.177083vw;font-size:1.041667vw;line-height:1.2;color:inherit;z-index:1}.masthead>a{font-weight:500;text-decoration:none}.masthead p{width:31.25vw;text-align:right;font-weight:300}.hero h1{position:absolute;bottom:0;left:0;width:100%;font-size:9.375vw;font-weight:500;line-height:1.21;text-align:center}.hero h1 span{display:block;font-size:7.291667vw}
.work-section{padding-block:5.208333vw}.introduction{display:grid;grid-template-columns:61.37% 29.44%;justify-content:space-between;align-items:center;font-family:'DM Sans',Arial,sans-serif}.intro-lead{font-size:2.083333vw;line-height:1.3;font-weight:500}.intro-aside{text-align:right;font-size:1.145833vw;font-weight:300;color:#616161;line-height:1.3}.about-link{display:flex;justify-content:end;align-items:center;gap:.4vw;font-size:1.5625vw;margin-top:.885417vw;color:black;text-decoration:none;font-weight:400}.about-icon{width:2.5vw;height:2.5vw;display:grid;place-items:center}.about-icon img{transform:scale(calc(100vw / 1920px))}.work-section h2{font-weight:500;font-size:5.208333vw;text-align:center;margin-top:5.208333vw;margin-bottom:3.4375vw;line-height:1.21}.projects{display:grid;grid-template-columns:1fr 1fr;gap:2.083333vw;min-height:33.489583vw}.project-photo{display:block;aspect-ratio:807/470;border-radius:2.1875vw;overflow:hidden;position:relative}.project-photo img{width:100%;height:100%;object-fit:cover}.project-photo.drona img{position:absolute;max-width:none;width:114.25%;left:-10.61%;top:.05%}.projects h3{display:flex;align-items:center;gap:.677083vw;font-weight:400;font-size:2.083333vw;line-height:1.2;margin-top:1.510417vw}.project-arrow{display:grid;place-items:center;flex:0 0 3.535vw;height:3.535vw}.project-arrow img{transform:rotate(44deg) scale(calc(100vw / 1920px))}
.contact{position:relative;padding-block:3.4375vw 3.8vw;min-height:33.020833vw}.contact-kicker{font:1.041667vw/1.3 'IBM Plex Mono',monospace}.contact h2{font-weight:400;font-size:4.010417vw;line-height:1.21}.contact h2 a{text-decoration:none}.contact-circle{position:absolute;top:9.739583vw;right:8.28125vw;width:14.479167vw;aspect-ratio:1;display:grid;place-items:center;color:white;font-size:1.25vw;text-decoration:none}.contact-circle>img{position:absolute;transform:scale(calc(100vw / 1920px));z-index:0}.contact-circle span{z-index:1}.contact-divider{height:0;margin-top:5.885417vw;overflow:visible}.contact-divider img{transform:scale(calc(100vw / 1920px));transform-origin:left center}.contact-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.96875vw;margin-top:5.885417vw}.contact-details dt{color:#7e7e7e;font-size:.833333vw;margin-bottom:.260417vw}.contact-details dd{font-size:1.25vw;line-height:1.21;margin:0;overflow-wrap:anywhere}.contact-details dd a{display:block}.contact-details .plain{text-decoration:none}
.signature{background:#000;color:#fff;position:relative;height:29.427083vw;padding:2.96875vw 1.875vw 0;overflow:hidden;font-family:'DM Sans',Arial,sans-serif}.signature p{font-size:5.208333vw;font-weight:300;margin-left:1.71875vw;line-height:1.3}.signature .name{font-size:14.583333vw;font-weight:500;letter-spacing:.291667vw;line-height:1.3;white-space:nowrap;margin:0}.back-top{position:absolute;right:1.875vw;top:2.96875vw;width:7.395833vw;height:7.395833vw;display:grid;place-items:center}.back-top img{position:absolute;transform:scale(calc(100vw / 1920px))}
.skills-page{background:#000;color:white}.skills-page>.masthead{position:absolute;width:100%;padding-top:2.447917vw}.skills-section{padding-top:3.4375vw;padding-bottom:3.4375vw}.skills-heading{height:44.375vw;display:grid;place-items:center;margin-bottom:3.645833vw}.skills-heading h1{max-width:63.125vw;font:400 7.291667vw/1.3 'DM Sans',sans-serif;text-align:center}.skills-grid{display:grid;grid-template-columns:586fr 442fr 586fr;gap:1.041667vw}.skill-column{display:flex;flex-direction:column;gap:1.041667vw}.skill-card{background:#1e1e1e;border-radius:1.666667vw;padding:2.604167vw 2.083333vw;font-family:'DM Sans',sans-serif}.skill-card h2{font-size:1.458333vw;font-weight:500;line-height:1.3;margin-top:1.5625vw;margin-bottom:.520833vw}.skill-card p{font-size:1.041667vw;font-weight:300;color:#aaa;line-height:1.3}.icon-rows{display:flex;flex-direction:column;gap:1.5625vw}.icon-row{display:flex;justify-content:center;gap:1.5625vw}.icon-row.spread{justify-content:space-between}.icon-row.start{justify-content:flex-start}.icon-row.end{justify-content:flex-end}.skill-icon{width:5.208333vw;height:5.208333vw;flex-shrink:0;border-radius:50%;background:#141414;display:grid;place-items:center}.skill-icon img{transform:scale(calc(100vw / 1920px))}.skill-icon img.raster{width:2.604167vw;height:auto;transform:none}.tags{display:flex;flex-wrap:wrap;gap:.78125vw .520833vw}.tags span{padding:.625vw 1.25vw;background:#141414;border-radius:40px;font-size:1.041667vw;font-weight:300;line-height:1.3}.skills-page .signature{background:#fff;color:#000}
@media(min-width:1920px){.hero h1{bottom:0}}
@media(max-width:800px){
 .container{width:calc(100% - 40px)}.masthead{padding:22px 20px;font-size:12px;gap:25px}.masthead p{width:min(55%,300px);font-size:10px}.hero{height:78svh;min-height:520px;max-height:850px}.hero-photo{height:100%;top:0;object-fit:cover;object-position:50% 26%}.hero h1{bottom:30px;font-size:clamp(38px,8.8vw,70px)}.hero h1 span{font-size:clamp(27px,6.4vw,52px);margin-top:10px}.work-section{padding-block:45px 55px}.introduction{grid-template-columns:1fr;gap:28px}.intro-lead{font-size:22px}.intro-aside{font-size:15px;max-width:420px;margin-left:auto}.about-link{font-size:19px;margin-top:15px;gap:10px}.about-icon{width:28px;height:28px}.about-icon img{transform:scale(.58)}.work-section h2{font-size:clamp(32px,7vw,52px);margin:48px 0 28px}.projects{gap:32px;grid-template-columns:1fr;min-height:0}.project-photo{border-radius:22px}.projects h3{font-size:20px;gap:8px;margin-top:15px}.project-arrow{flex-basis:34px;height:34px}.project-arrow img{transform:rotate(44deg) scale(.6)}
 .contact{padding-block:25px 45px;min-height:0}.contact-kicker{font-size:12px}.contact h2{font-size:clamp(29px,5.5vw,44px);margin-top:8px}.contact-circle{position:relative;top:auto;right:auto;width:140px;height:140px;margin:26px 0 26px auto;font-size:14px}.contact-circle>img{transform:scale(.5036)}.contact-divider{margin:0;overflow:hidden}.contact-details{grid-template-columns:1fr 1fr;gap:28px 18px;margin-top:24px}.contact-details dt{font-size:12px;margin-bottom:7px}.contact-details dd{font-size:13px;line-height:1.5}.signature{height:32vw;min-height:125px;padding-top:18px}.signature p{font-size:5.2vw}.signature .name{margin-top:10px;font-size:14.4vw}.back-top{top:16px;width:8vw;height:8vw}.back-top img{transform:scale(calc(100vw / 1775px))}
 .skills-page>.masthead{padding-top:22px}.skills-section{padding-top:90px;padding-bottom:40px}.skills-heading{height:320px;margin-bottom:25px}.skills-heading h1{font-size:clamp(40px,8vw,64px);max-width:600px}.skills-grid{grid-template-columns:1fr;gap:18px}.skill-column{gap:18px}.skill-card{border-radius:24px;padding:28px}.skill-card h2{font-size:23px;margin:24px 0 10px}.skill-card p{font-size:16px}.icon-rows{gap:18px}.icon-row{gap:18px}.skill-icon{width:64px;height:64px}.skill-icon img{transform:scale(.64)}.skill-icon img.raster{width:32px}.tags{gap:10px}.tags span{padding:10px 14px;font-size:13px}
}
.skill-icon,.about-icon,.project-arrow{display:flex;align-items:center;justify-content:center}.skill-icon img,.about-icon img,.project-arrow img{flex-shrink:0}
@media(max-width:800px){.icon-row{gap:2vw}.skill-icon{width:min(64px,16vw);height:min(64px,16vw)}.skill-icon img{transform:scale(calc(min(64px,16vw) / 100px))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Experience uses the Skills card surface on both pages. */
.experience-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 1.04vw, 24px);
}
.experience-card { color: #fff; }
.experience-card .experience-date {
  display: inline-block;
  background: #141414;
  border-radius: 999px;
  padding: .55em 1em;
  font-size: clamp(13px, 1.04vw, 20px);
}
.experience-card h2, .experience-card h3 {
  margin: 1em 0 .35em;
  font: 500 clamp(21px, 1.46vw, 32px)/1.3 'DM Sans', sans-serif;
}
.experience-card .experience-company {
  color: #fff;
  font-size: clamp(16px, 1.15vw, 24px);
}
.experience-card .experience-summary, .experience-card ul {
  margin: 1.4em 0 0;
  color: #aaa;
  font-size: clamp(15px, 1.04vw, 22px);
  font-weight: 300;
  line-height: 1.5;
}
.experience-card ul { padding-left: 1.2em; }
.experience-card li + li { margin-top: .6em; }
.experience-link { margin-top: 1.3em; }
@media (max-width: 800px) {
  .experience-grid { grid-template-columns: 1fr; gap: 18px; }
}

.resume-action {
  display: flex;
  justify-content: center;
  padding-block: 0 clamp(36px, 4vw, 76px);
}
.resume-download {
  display: inline-flex;
  align-items: center;
  gap: 1em;
  padding: .85em 1.5em;
  border: 1px solid currentColor;
  border-radius: 999px;
  font: 500 clamp(16px, 1.15vw, 22px)/1.3 'DM Sans', sans-serif;
  text-decoration: none;
}
.resume-download:hover { text-decoration: underline; }
.experience-grid + .resume-action {
  padding-block: clamp(24px, 2vw, 40px) 0;
}
.work-section:has(> .project-resume) {
  padding-bottom: 0;
}
.project-resume {
  align-items: center;
  min-height: max(80px, 5.208333vw);
  padding: 0;
}
