body{font-family:var(--font-body)!important;background:var(--page-bg)!important;color:var(--text-primary)!important;font-size:1rem;line-height:1.7}body main.page{width:calc(100% - 48px);max-width:880px;margin:auto;padding:96px 0 56px}.page .grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:40px 48px;margin:0;padding:0;border:0;align-items:start}.page .section-title{grid-column:1/-1;grid-row:auto;font:600 2rem/1.25 var(--font-body);letter-spacing:-.04em;margin:0}.page .intro{grid-column:1;grid-row:2;min-width:0}.page .portrait{grid-column:2;grid-row:2;position:static;inset:auto;width:100%;height:auto;margin:0;border-radius:12px;overflow:hidden;aspect-ratio:418/534;transform:none;animation:none}.page .portrait img{width:100%;height:100%;display:block;object-fit:cover}.page .name{font:600 1.5rem/1.4 var(--font-body);letter-spacing:-.035em;max-width:none;padding:0;margin:0 0 4px}.page .role{font:400 1rem/1.5 var(--font-body);color:var(--text-secondary);max-width:none;margin:0 0 28px}.page .bio{font:400 1.125rem/1.7 var(--font-body);color:var(--text-secondary)}.page .bio p{margin:0 0 20px}.page .keyword{display:inline;padding:0;background:none;box-shadow:none;border-radius:0;color:var(--text-primary);font:inherit;white-space:normal}.page .bio-values{font:inherit;margin:0 0 24px;padding-left:20px}.page .bio-values li{margin:0 0 12px}.page .personal{font-size:1rem}.page .tools{grid-column:1/-1;grid-row:auto;padding:32px 0 0;background:none;border-radius:0;border-top:1px solid var(--border);margin:16px 0 0}.page .small-heading{font:600 1.25rem/1.4 var(--font-body);letter-spacing:-.025em;margin:0 0 20px}.page .tools-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:0}.page .tools-list a{font:500 .9375rem/1.5 var(--font-body);min-height:44px;padding:4px 0}.page .tools-list a:hover{color:var(--brand-primary)}.page .career{margin-top:80px;grid-template-columns:minmax(0,1fr) 280px;gap:32px 48px}.page .jobs{grid-column:1;grid-row:2;list-style:none;margin:0;padding:0}.page .job{margin:0 0 32px;padding:0;border:0}.page .job h3{font:600 1.125rem/1.5 var(--font-body);margin:0 0 4px;color:var(--text-primary)}.page .job p,.page .job-role{font:400 1rem/1.65 var(--font-body);color:var(--text-secondary);margin:4px 0 0}.page .date{font:500 .875rem/1.5 var(--font-body);color:var(--text-secondary);margin-bottom:8px}.page .aside{grid-column:2;grid-row:2;padding:0;margin:0;font:400 .9375rem/1.65 var(--font-body)}.page .aside section{margin-bottom:28px}.page .aside h3{font:600 1rem/1.5 var(--font-body);margin:0 0 10px}.page .aside p,.page .languages{font:inherit;color:var(--text-secondary)}.page-end{margin-top:32px;padding:0;border:0}
@media(max-width:700px){body main.page{padding-top:96px}.page .grid,.page .career{grid-template-columns:1fr;gap:28px}.page .portrait{grid-column:1;grid-row:2;max-width:280px}.page .intro{grid-column:1;grid-row:3}.page .tools{padding:24px 0 0;grid-column:1}.page .tools-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.page .career{margin-top:56px}.page .jobs{grid-column:1;grid-row:2}.page .aside{grid-column:1;grid-row:3}.page .bio{font-size:1rem}.page .section-title{font-size:1.75rem}}
.page .portrait{justify-self:start;align-self:start}

/* Editorial principles: clear labels and explanations in place of bullet points. */
.page .bio>p strong{font-weight:600;color:var(--text-primary)}
.page .bio-principles{display:grid;gap:22px;margin:24px 0 28px;padding:0}
.page .bio-principles>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;align-items:start}
.page .bio-principles dt{margin:0;font:500 16px/1.65 var(--font-body);color:var(--text-primary)}
.page .bio-principles dd{margin:0;font:400 16px/1.65 var(--font-body);color:var(--text-secondary)}
@media(max-width:600px){.page .bio-principles>div{grid-template-columns:1fr;gap:4px}.page .bio-principles{gap:20px}}

/* About uses the same quiet back action, without a global menu. */
.page-back{position:absolute;top:24px;left:max(24px,calc((100vw - 880px)/2));display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid #dedfdf;border-radius:50%;background:transparent;color:#202222;text-decoration:none}.page-back svg{width:20px;height:20px}.page-back:hover{background:#fff}.page-back:focus-visible{outline:2px solid #5850ec;outline-offset:5px}

/* CV facts are the main content; biography and tools live on Home. */
.page .career{margin-top:0}
.page .job{margin-bottom:44px}
.page .job h2{font:500 1.25rem/1.4 var(--font-body);letter-spacing:-.025em;margin:0 0 4px}
.page .job .projects-heading{font-size:1rem;margin:28px 0 16px}
.page .experience-projects{display:grid;gap:20px;margin:0}
.page .experience-projects dt{font-weight:500;color:var(--text-primary)}
.page .experience-projects dd{margin:4px 0 0;color:var(--text-secondary);font-size:1rem;line-height:1.65}
.page .aside h2{font:500 1rem/1.5 var(--font-body);margin:0 0 10px}
.page .aside strong{font-weight:500;color:var(--text-primary)}
.page .aside p+p{margin-top:16px}
.page .experience-resume{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}

/* Compact personal introduction and scannable CV badges. */
.page .experience-intro{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;align-items:center;margin:0 0 72px}
.page .experience-intro h1{font:500 2.5rem/1.2 var(--font-body);letter-spacing:-.04em;margin:0 0 24px}
.page .experience-intro-copy p{font:400 1rem/1.7 var(--font-body);color:var(--text-secondary);margin:0;max-width:540px}
.page .experience-portrait{width:220px;max-width:100%;aspect-ratio:418/534;margin:0;overflow:hidden;border-radius:12px;justify-self:end}
.page .experience-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 47%}
.page .experience-skills h3{font:500 .8125rem/1.5 var(--font-body);color:var(--text-secondary);margin:20px 0 10px}
.page .experience-badges{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.page .experience-badges li{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:6px 12px;border:1px solid #dedfe2;border-radius:999px;background:#ededf0;color:var(--text-primary);font:400 .8125rem/1.45 var(--font-body);overflow-wrap:normal}
.page .experience-tool-badges li{min-height:36px;background:transparent}
.page .experience-tool-badges img{width:20px;height:20px;object-fit:contain;flex:none}
.page .experience-tool-badges img[src$="tool-creative-cloud.svg"]{filter:invert(22%) sepia(96%) saturate(5571%) hue-rotate(350deg) brightness(94%) contrast(108%)}
@media(max-width:700px){.page .experience-intro{grid-template-columns:minmax(0,1fr) 160px;gap:24px;align-items:start;margin-bottom:56px}.page .experience-intro h1{font-size:2rem}.page .experience-portrait{width:160px}.page .aside{grid-template-columns:1fr}}
@media(max-width:500px){.page .experience-intro{grid-template-columns:1fr;gap:24px}.page .experience-portrait{grid-row:1;justify-self:start;width:150px}.page .experience-intro-copy{grid-row:2}.page .experience-intro h1{margin-bottom:16px}}
