.portfolio-page .page-heading,.story-page .page-heading{max-width:920px}
.portfolio-page .page-heading h1,.story-page .page-heading h1{font-size:clamp(2.2rem,4.3vw,3.6rem);line-height:1.15}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.portfolio-record{border:1px solid var(--line);border-radius:4px;padding:25px;scroll-margin-top:28px;min-width:0;background:var(--bg)}
.portfolio-record h3{font-size:1.05rem;line-height:1.5;margin:0 0 12px;overflow-wrap:anywhere}
.portfolio-record p:not(.profile-label){font-size:.87rem;line-height:1.75;color:var(--muted)}
.portfolio-record .portfolio-issuer{color:var(--ink);font-weight:600;font-size:.76rem}
.portfolio-record .text-link,.story-links .text-link{font-size:.83rem;display:inline-flex;align-items:center;min-height:44px;white-space:normal;gap:8px}
.certificate-scan{display:block;background:var(--soft);margin:-6px -6px 22px;padding:10px}
.certificate-scan img{width:100%;height:220px;object-fit:contain}
.portfolio-section{scroll-margin-top:24px}
.story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.story-card{border:1px solid var(--line);border-radius:4px;overflow:hidden;min-width:0}
.story-card-copy{padding:28px}
.story-card h3{font-size:1.3rem;line-height:1.4;margin:10px 0 16px}
.story-card h3 a{text-decoration:none;color:var(--ink)}
.story-card p:not(.overline){font-size:.92rem;color:var(--muted);line-height:1.8}
.story-card .text-link{font-size:.85rem;display:inline-flex;min-height:44px;align-items:center;gap:8px}
.story-thumb{display:block;background:var(--soft);border-bottom:1px solid var(--line)}
.story-thumb img{width:100%;height:260px;display:block;object-fit:contain;padding:18px}
.story-period{font-size:.85rem!important;font-weight:600;color:var(--accent)!important;margin-top:24px}
.story-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin:30px 0 50px;gap:24px}
.story-facts dt{font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;color:var(--accent);font-weight:650;margin-bottom:8px}
.story-facts dd{margin:0;font-size:.86rem;line-height:1.65}
.story-prose{max-width:760px;margin:0 auto}
.story-prose section{margin:50px 0}
.story-prose h2{font-size:1.6rem;line-height:1.4}
.story-prose p{font-size:1rem;line-height:1.9;color:var(--muted)}
.story-figure{margin:38px auto;max-width:760px;text-align:center}
.story-figure img{max-width:100%;width:auto;max-height:620px;height:auto;display:block;margin:0 auto}
.story-figure figcaption{font-size:.76rem;line-height:1.7;color:var(--muted);margin-top:16px}
.story-links{display:flex;flex-wrap:wrap;gap:14px 30px;border-top:1px solid var(--line);padding-top:25px;margin-top:40px}
.portfolio-related{border-top:1px solid var(--line);padding-top:30px;margin-top:50px}
.portfolio-related h2{font-size:1.3rem}
@media(max-width:1100px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.story-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.story-grid{grid-template-columns:1fr}.story-card-copy{padding:24px}.portfolio-grid{grid-template-columns:1fr}.portfolio-record{padding:23px}.story-page .page-heading h1{font-size:2.3rem}.story-prose h2{font-size:1.4rem}.story-thumb img{height:230px}.story-facts{margin-bottom:32px}}
