/* Arial resized to Inter's metrics: text keeps its size and line breaks when Inter swaps in,
   so the late-loading web font no longer shifts the layout */
@font-face { font-family: "Inter Fallback"; src: local("Arial"), local("ArialMT"); ascent-override: 90.49%; descent-override: 22.56%; line-gap-override: 0%; size-adjust: 107.06%; }
:root{--ink:#151b25;--muted:#586373;--blue:#3676ff;--line:#bdcbd7;--paper:#f1f5f8}
.resume-nav .download { cursor: pointer; transition: background-color 200ms ease, color 200ms ease; }
.resume-nav .download:hover { background-color: #000000; color: #FFFFFF; }
.resume-nav .download span { color: inherit; }
*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#dfe9f0;font-family:Inter,"Inter Fallback",Arial,sans-serif;font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.skip-link{position:fixed;top:8px;left:16px;transform:translateY(-150%);z-index:5;background:white;padding:10px}.skip-link:focus{transform:none}
.resume-nav{position:sticky;top:0;z-index:3;background:rgba(241,245,248,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.nav-inner{max-width:1440px;margin:auto;min-height:80px;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;flex-shrink:0}.brand img{display:block;width:36px;height:36px;object-fit:contain}.nav-actions{display:flex;align-items:center;gap:28px}.email-action{font-size:13px}.download{display:inline-flex;align-items:center;gap:20px;padding:10px 16px;border:1px solid #adbcc9;background:transparent;border-radius:5px;font-size:13px}.download{color:#596675;cursor:pointer}.print-logo{display:none}.download span{font-size:20px;line-height:1}
.resume-spread{max-width:1440px;margin:28px auto 40px;padding:0 28px;display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}.paper{position:relative;min-width:0;padding:34px 36px 22px;background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23798ca1' opacity='.045' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");box-shadow:0 10px 30px #354f6810;display:flex;flex-direction:column}.paper-top{display:flex;justify-content:space-between;align-items:center;gap:14px}.eyebrow,.edition,.section-label,.paper-footer{font-size:10px;letter-spacing:2px;text-transform:uppercase}.edition{color:var(--muted);display:flex;align-items:center;gap:12px}.blue-dot{display:inline-block;width:7px;height:7px;background:var(--blue);border-radius:50%;flex-shrink:0}.profile-intro{padding-top:68px}.kicker{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;letter-spacing:1px}.profile h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(62px,5.6vw,84px);letter-spacing:-5px;line-height:1.1;margin:22px 0 10px}.role{display:flex;align-items:center;gap:12px;font-size:17px;color:var(--muted);margin:0 0 28px}.introduction{font-size:17px;line-height:1.7;color:var(--muted);margin:0 0 26px}address{font-style:normal;display:flex;flex-direction:column;gap:5px;font-size:12px}address a{width:fit-content}address a:hover{color:var(--blue)}address a span{margin-left:10px}address>span{color:var(--muted)}.about{border-top:1px solid var(--line);margin-top:34px;padding-top:22px}.section-label{font-weight:400;margin:0 0 25px;display:flex;align-items:center;gap:12px}.section-label:before{content:'';width:7px;height:7px;background:var(--blue);border-radius:50%}.expertise{display:grid;grid-template-columns:1.35fr 1fr;gap:24px}.expertise h3{font-size:12px;text-transform:uppercase;letter-spacing:1px;margin:0 0 18px}.expertise ul{list-style:none;padding:0;margin:0;color:var(--muted);font-size:13px}.expertise li{margin:9px 0}.skills li{display:flex;gap:14px}.skills li:before{content:'→';color:var(--ink)}.focus{border-left:1px solid var(--line);padding-left:24px}.pdf-status{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin:32px 0 40px}.paper-footer{border-top:1px solid var(--line);padding-top:17px;margin-top:auto;display:flex;justify-content:space-between;gap:10px;font-size:9px}.paper-footer span:first-child{letter-spacing:0}.projects>h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,3.65vw,54px);font-weight:400;line-height:1.12;letter-spacing:-2.5px;margin:40px 0 20px}.project-list{margin-bottom:20px}.project{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(0,36%);grid-template-rows:auto 1fr;column-gap:15px;row-gap:7px;padding:17px 0;border-bottom:1px solid var(--line);transition:color .18s}.project:last-child{border-bottom:0}.project-number{font-size:11px;grid-column:1;grid-row:1 / 3;padding-top:1px}.project-heading{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr auto;gap:6px 8px;align-items:baseline}.project h3{font-size:13px;line-height:1.4;text-transform:uppercase;letter-spacing:-.3px;margin:0;overflow-wrap:anywhere}.year{font-size:10px;color:#617184}.project-type{grid-column:1 / -1;font-size:8px;text-transform:uppercase;letter-spacing:1.5px;line-height:1.6;margin:0}.project-description{grid-column:2;grid-row:2;font-size:11px;line-height:1.55;color:var(--muted);margin:0}.thumbnail{grid-column:3;grid-row:1 / 3;position:relative;align-self:center}.thumbnail img{display:block;width:100%;height:auto;object-fit:contain;border-radius:12px}.project-arrow{position:absolute;right:7px;bottom:7px;border:1px solid var(--ink);border-radius:50%;width:29px;height:29px;display:grid;place-items:center;background:#f8fafc;font-size:19px;transition:background .18s,color .18s}.project:hover h3{color:var(--blue)}.project:hover .project-arrow{background:var(--blue);color:white;border-color:var(--blue)}
@media screen and (min-width:1200px){.paper{min-height:920px}}
@media screen and (max-width:1199px){.resume-spread{grid-template-columns:1fr;max-width:830px;gap:28px}.paper{padding:40px}.profile-intro{padding-top:44px}.profile h1{font-size:82px}.profile .paper-footer{margin-top:16px}.projects>h2{font-size:54px}.project{padding:22px 0;column-gap:20px}.project h3{font-size:16px}.project-description{font-size:13px}.project-type{font-size:9px}.year{font-size:12px}.expertise ul{font-size:15px}}
@media screen and (max-width:600px){.nav-inner{min-height:72px;padding:14px 16px}.email-action{display:none}.nav-actions{gap:0}.download{font-size:12px;gap:12px;padding:8px 12px}.resume-spread{display:block;padding:0 16px;margin:18px auto 24px}.paper{padding:26px 0 20px;box-shadow:none;background-color:transparent;background-image:none}.paper+.paper{margin-top:22px;border-top:1px solid var(--line)}body{background-color:var(--paper)}.paper-top{gap:8px}.eyebrow,.edition{font-size:9px;letter-spacing:1.5px}.profile-intro{padding-top:30px}.kicker{font-size:10px;letter-spacing:.5px}.profile h1{font-size:clamp(53px,13vw,76px);letter-spacing:-3px;margin:20px 0 12px}.role{font-size:16px;margin-bottom:24px}.introduction{font-size:16px}.expertise{grid-template-columns:1fr;gap:24px}.expertise ul{font-size:15px}.focus{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.focus ul{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.pdf-status{margin-bottom:28px}.paper-footer{font-size:8px;letter-spacing:1.5px}.projects>h2{font-size:clamp(36px,9vw,52px);letter-spacing:-1.8px;margin:30px 0 12px}.project{grid-template-columns:25px minmax(0,1fr);grid-template-rows:auto auto auto;gap:16px 10px;padding:25px 0}.project-number{grid-column:1;grid-row:1;font-size:12px}.project-heading{grid-column:2;grid-row:1}.project h3{font-size:16px}.project-type{font-size:9px;letter-spacing:1px}.thumbnail{grid-column:1 / -1;grid-row:2}.project-description{grid-column:1 / -1;grid-row:3;font-size:14px;line-height:1.65}.project-arrow{width:38px;height:38px;font-size:24px;right:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@page{size:A4 portrait;margin:0}
@media print{
html,body{margin:0;padding:0;background:transparent;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.resume-nav,.skip-link,.project-arrow,.pdf-status{display:none!important}
.resume-spread{display:block;width:210mm;max-width:none;margin:0;padding:0}
.paper{width:210mm;height:297mm;min-height:0;padding:34px 36px 22px;box-shadow:none;margin:0;break-inside:avoid;break-after:page;page-break-after:always}
.paper:last-child{break-after:auto;page-break-after:auto}
.print-logo{display:block;object-fit:contain;width:36px;height:36px;margin-right:8px}
.paper-top .edition{margin-left:auto}
.profile h1{font-size:80.64px}
.projects>h2{font-size:52.56px}
.project{break-inside:avoid;page-break-inside:avoid}
.project:hover h3{color:inherit}
.paper-footer{margin-top:auto}
}
@media print{.project{grid-template-columns:28px minmax(0,1fr) 219px}}
/* Screen positioning only: keep the two resume sheets in one centered column. */
@media screen {
  .resume-spread {
    width: 100%;
    max-width: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
  }
  .resume-spread > .paper {
    width: min(794px, calc(100% - 32px));
    aspect-ratio: 210 / 297;
    min-height: 0;
    flex: 0 0 auto;
  }
  .resume-spread > .paper + .paper { margin-top: 0; }
}
@media screen {
  /* Preserve content at its existing size when it needs more than the A4 minimum. */
  .resume-spread > .paper { min-height: min-content; }
}
/* Fit the project content inside the existing A4 screen sheet. */
@media screen and (min-width: 768px) {
  .resume-spread > .projects {
    min-height: 0;
    height: auto;
    aspect-ratio: 210 / 297;
  }
  .projects .project {
    grid-template-columns: 28px minmax(0, 1fr) minmax(0, 32%);
    padding-top: 11px;
    padding-bottom: 11px;
  }
  .projects .thumbnail img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
  }
}
/* Responsive web reflow; desktop and print retain their existing rules. */
@media screen and (max-width: 1023px) {
  html, body { max-width: 100%; }
  .resume-spread { width: 100%; max-width: 100%; padding: 0; transform: none; }
  .resume-spread > .paper {
    width: calc(100% - 40px);
    max-width: 100%;
    min-width: 0;
    height: auto;
    min-height: 0;
    aspect-ratio: auto;
    transform: none;
    margin-inline: 0;
  }
  .paper *, .nav-inner, .nav-actions { min-width: 0; }
  .paper img { max-width: 100%; }
  .paper p, .paper li, .paper address { overflow-wrap: anywhere; }
  .paper-footer { flex-shrink: 0; }
  .nav-inner { padding-inline: 20px; }
  .project-list { flex-shrink: 0; }
  .projects .project { padding-block: 20px; }
  .projects .project-description { font-size: 14px; }
}
@media screen and (max-width: 767px) {
  .resume-spread > .paper { width: calc(100% - 32px); padding: 26px 0 20px; }
  .nav-inner { padding: 14px 16px; min-height: 72px; gap: 12px; }
  .email-action { display: none; }
  .nav-actions { gap: 0; }
  .download { font-size: 12px; gap: 12px; padding: 8px 12px; }
  .paper-top { flex-wrap: wrap; gap: 8px; }
  .profile-intro { padding-top: 30px; }
  .profile h1 { font-size: clamp(40px, 13vw, 64px); line-height: .95; letter-spacing: -3px; }
  .role, .introduction { font-size: 16px; }
  .expertise { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .focus { border-left: 0; border-top: 1px solid var(--line); padding: 24px 0 0; }
  .focus ul { display: block; }
  .projects > h2 { font-size: clamp(34px, 9vw, 52px); letter-spacing: -1.8px; margin: 30px 0 12px; }
  .projects .project { display: flex; flex-direction: column; align-items: stretch; gap: 14px; padding: 25px 0; }
  .project-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
  .project-heading h3 { order: 0; }
  .project-type { order: 1; }
  .year { order: 2; }
  .projects .project-description { font-size: 14px; line-height: 1.65; }
  .thumbnail { width: 100%; align-self: stretch; }
  .thumbnail img { width: 100%; max-width: 100%; height: auto; object-fit: contain; border-radius: 12px; }
}
