
.portfolio {
  --ap-paper:light-dark(#ffffff,#121313);--ap-surface:light-dark(#f6f6f5,#1d1e1e);--ap-ink:light-dark(#191a19,#eeeeeb);--ap-secondary:light-dark(#646561,#b5b7b1);--ap-muted:light-dark(#74756f,#a4a79d);--ap-line:light-dark(#e5e5e1,#363833);--ap-accent:light-dark(#047857,#4FC89A);--ap-accent-bg:light-dark(#E6F4EE,#12302A);
  color:var(--ap-ink);background:var(--ap-paper);font:400 16px/1.5 'Inclusive Sans',sans-serif;padding:0 34px 30px;text-align:left;color-scheme:light;
}
.portfolio *,.portfolio *::before,.portfolio *::after{box-sizing:border-box}
.portfolio [hidden]{display:none!important}
.portfolio h1,.portfolio h2,.portfolio h3,.portfolio p,.portfolio figure,.portfolio dl,.portfolio dd{margin:0}
.portfolio h1,.portfolio h2,.portfolio h3{font-family:'Averia Serif Libre',Georgia,serif;font-weight:400;color:var(--ap-ink)}
.portfolio a{color:inherit;text-decoration:none}
.portfolio button{font:inherit;color:inherit;cursor:pointer}
.portfolio .ap-width{max-width:960px;margin:0 auto}
.portfolio .ap-nav{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:23px 0;border-bottom:1px solid var(--ap-line)}
.portfolio .ap-signature{font:400 23px/1 'Averia Serif Libre',Georgia,serif;letter-spacing:-1px}
.portfolio .ap-nav-links{display:flex;align-items:center;gap:6px;font-size:13px}
.portfolio .ap-nav-links a{padding:6px 13px;border:1px solid var(--ap-line);border-radius:30px}
.portfolio .ap-nav-links a:first-child{background:var(--ap-accent);color:light-dark(#fff,#052E22);border-color:var(--ap-accent)}
.portfolio .ap-intro{padding:39px 0 28px;max-width:800px}
.portfolio .ap-kicker{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ap-secondary)}
.portfolio .ap-intro h1{font-size:clamp(32px,4.1vw,47px);line-height:1.08;letter-spacing:-1.5px;margin:13px 0 17px;max-width:740px}
.portfolio .ap-intro h1 em{font-weight:400;color:var(--ap-secondary)}
.portfolio .ap-tags{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:12px;color:var(--ap-secondary)}
.portfolio .ap-tags span+span::before{content:'·';margin-right:18px}
.portfolio .ap-summary{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:stretch}
.portfolio .ap-left{display:grid;grid-template-rows:auto 1fr;gap:6px}
.portfolio .ap-card{padding:25px 27px;background:var(--ap-surface);border-radius:17px}
.portfolio .ap-card h2{font-size:24px;line-height:1.15;letter-spacing:-.85px;margin-bottom:13px}
.portfolio .ap-card h2 em{font-weight:400;color:var(--ap-muted);margin-left:8px}
.portfolio .ap-card p{font-size:14px;line-height:1.5;color:var(--ap-secondary);max-width:55ch}
.portfolio .ap-details dl{display:grid;gap:0}
.portfolio .ap-details dl>div{padding:12px 0;border-bottom:1px solid var(--ap-paper)}
.portfolio .ap-details dl>div:first-child{padding-top:0}
.portfolio .ap-details dl>div:last-child{padding-bottom:0;border-bottom:0}
.portfolio .ap-details dt{font-size:14px;line-height:1.35}
.portfolio .ap-details dd{font-size:12px;margin-top:4px;color:var(--ap-secondary)}
.portfolio .ap-narrative{display:flex;flex-direction:column;justify-content:space-between}
.portfolio .ap-narrative article{padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid var(--ap-paper)}
.portfolio .ap-narrative article:last-child{border:0;padding-bottom:0;margin-bottom:0}
.portfolio .ap-impact{grid-column:1/-1;padding-top:21px;padding-bottom:21px}
.portfolio .ap-impact-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}
.portfolio .ap-impact-head h2{margin:0}
.portfolio .ap-source{font-size:11px;color:var(--ap-secondary)}
.portfolio .ap-metrics{display:grid;grid-template-columns:1fr 1fr 1fr}
.portfolio .ap-metrics>div{padding:0 25px;border-right:1px solid var(--ap-paper)}
.portfolio .ap-metrics>div:first-child{padding-left:0}
.portfolio .ap-metrics>div:last-child{padding-right:0;border:0}
.portfolio .ap-metric-value{font:italic 400 48px/1.05 'Averia Serif Libre',Georgia,serif;letter-spacing:-1.7px;display:block;margin-bottom:9px}
.portfolio .ap-metrics h3{font-size:20px;line-height:1.15;letter-spacing:-.6px;margin-bottom:8px}
.portfolio .ap-metrics p{font-size:12px}
.portfolio .ap-divider{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 0;padding-bottom:22px;border-bottom:1px solid var(--ap-line);font-size:12px;color:var(--ap-secondary)}
.portfolio .ap-divider a{color:var(--ap-accent);font-weight:500;white-space:nowrap}
.portfolio .ap-chapter{padding:63px 0 12px}
.portfolio .ap-chapter-head{display:grid;grid-template-columns:150px 1fr;gap:26px;align-items:start;margin-bottom:25px}
.portfolio .ap-chapter-label{padding-top:6px;font-size:11px;letter-spacing:.07em;color:var(--ap-muted);text-transform:uppercase}
.portfolio .ap-chapter-copy h2{font-size:34px;line-height:1.12;letter-spacing:-1px;margin-bottom:15px;max-width:630px}
.portfolio .ap-chapter-copy p{font-size:15px;color:var(--ap-secondary);line-height:1.6;max-width:660px}
.portfolio .ap-chapter-copy p+p{margin-top:12px}
.portfolio .ap-chapter-copy strong{font-weight:500;color:var(--ap-ink)}
.portfolio .ap-decision-points{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0 26px;padding-left:176px}
.portfolio .ap-decision-points h3{font:500 14px/1.3 'Inclusive Sans',sans-serif;margin-bottom:6px}
.portfolio .ap-decision-points p{color:var(--ap-secondary);font-size:13px;line-height:1.5}
.portfolio .ap-stage{background:var(--ap-surface);border-radius:17px;padding:20px 24px 24px}
.portfolio .ap-stage-top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}
.portfolio .ap-tabs{display:flex;gap:5px;flex-wrap:wrap}
.portfolio .ap-tabs button{background:transparent;border:1px solid transparent;border-radius:25px;padding:7px 13px;font-size:12px;color:var(--ap-secondary)}
.portfolio .ap-tabs button[aria-selected=true]{background:var(--ap-paper);border-color:var(--ap-line);color:var(--ap-ink)}
.portfolio .ap-hint{font-size:11px;color:var(--ap-secondary)}
.portfolio .ap-image-button{display:block;width:100%;border:1px solid var(--ap-line);padding:0;background:transparent;border-radius:8px;overflow:hidden;transition:box-shadow .2s,transform .2s}
.portfolio .ap-image-button:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0000000d}
.portfolio .ap-image-button img{display:block;width:100%;height:auto}
.portfolio .ap-image-caption{margin-top:16px;font-size:12px;color:var(--ap-secondary);text-align:center;line-height:1.5}
.portfolio .ap-note{margin:21px 0 0 176px;padding:14px 18px;border-left:2px solid var(--ap-accent);color:var(--ap-secondary);font-size:14px;line-height:1.55}
.portfolio .ap-note strong{font-weight:500;color:var(--ap-ink)}
.portfolio .ap-end{margin-top:39px;padding-top:19px;border-top:1px solid var(--ap-line);display:flex;justify-content:space-between;color:var(--ap-secondary);font-size:12px}
.portfolio dialog{border:1px solid var(--ap-line);padding:18px;max-width:95%;max-height:94%;background:var(--ap-paper);color:var(--ap-ink);border-radius:12px}
.portfolio dialog::backdrop{background:#0009}
.portfolio dialog button{display:block;margin-left:auto;background:var(--ap-surface);border:1px solid var(--ap-line);padding:7px 15px;border-radius:25px;font-size:13px;margin-bottom:14px}
.portfolio dialog img{display:block;max-width:100%;height:auto}
.portfolio dialog p{font-size:13px;margin-top:12px}
@media(max-width:650px){
 .portfolio{padding-inline:18px}
 .portfolio .ap-summary{grid-template-columns:1fr}
 .portfolio .ap-intro{padding-top:28px}
 .portfolio .ap-card{padding:23px}
 .portfolio .ap-card h2{font-size:23px}
 .portfolio .ap-chapter-head{grid-template-columns:1fr;gap:12px}
 .portfolio .ap-decision-points{padding-left:0}
 .portfolio .ap-note{margin-left:0}
 .portfolio .ap-chapter{padding-top:43px}
 .portfolio .ap-stage{padding:13px}
 .portfolio .ap-stage-top{align-items:start}
 .portfolio .ap-hint{max-width:72px;text-align:right}
 .portfolio .ap-metrics>div{padding:0 12px}
 .portfolio .ap-metric-value{font-size:38px}
 .portfolio .ap-metrics h3{font-size:18px}
 .portfolio .ap-impact-head{align-items:start}
 .portfolio .ap-source{text-align:right;max-width:125px}
}
@media(max-width:380px){
 .portfolio .ap-metrics{grid-template-columns:1fr;gap:18px}
 .portfolio .ap-metrics>div{padding:0 0 16px;border-right:0;border-bottom:1px solid var(--ap-paper)}
 .portfolio .ap-metrics>div:last-child{padding-bottom:0;border-bottom:0}
 .portfolio .ap-decision-points{grid-template-columns:1fr}
 .portfolio .ap-divider{flex-wrap:wrap;gap:10px}
}
@media(pointer:coarse){.portfolio button,.portfolio .ap-nav a{min-height:44px}}
@media(prefers-reduced-motion:reduce){.portfolio *{transition:none!important;scroll-behavior:auto!important}}

html[data-theme="dark"] .portfolio {color-scheme:dark;}
