/* One paper sheet, three meaningful chapters, shared content rails. */
.portfolio-home{--frame-gutter:64px;--chapter-gap:48px;--line:#c7cfc1;background:#e9ede5;padding-block:24px 40px}
.portfolio-home .header,.portfolio-home main{width:min(1280px,calc(100% - 48px));margin-inline:auto;padding-inline:var(--frame-gutter);background:var(--paper);border-inline:1px solid #c2cbb9}
.portfolio-home .header{padding-block:24px;border-top:1px solid #c2cbb9;border-bottom:1px solid var(--line)}
.portfolio-home .header nav{margin-left:auto}
.portfolio-home main{padding-bottom:28px;border-bottom:1px solid #c2cbb9}
.portfolio-home main :is(.hero,.work-section,.systems-explorer,.research-section,.lab-disclosure,.agent-workshop,.insight,.work-search,.open-questions,.about-section,.personal-section,.contact){max-width:none;margin-inline:0}
.portfolio-home .hero{margin-top:38px;margin-bottom:0;padding:0;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--chapter-gap)}
.portfolio-home :is(.hero,.project,.agent-workshop,.work-search,.open-questions,.about-section)>*{min-width:0}
.portfolio-home .evidence-chapter{margin-top:76px;padding-top:32px;border-top:1px solid #aebda5}
.portfolio-home .work-section{margin-top:0;padding:0}
.portfolio-home .section-heading{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--chapter-gap);align-items:end;margin-bottom:24px}
.portfolio-home .section-heading>p{max-width:40ch;justify-self:start}
.portfolio-home .focus-bar{padding-bottom:24px;gap:9px}
.portfolio-home .project{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--chapter-gap);padding-block:36px}
.portfolio-home .project h3{font-size:clamp(1.9rem,2.7vw,2.55rem)}
.portfolio-home .project-title>p{max-width:42ch}
.portfolio-home .filter-result{margin-bottom:0}
.portfolio-home .systems-explorer{margin-top:28px;padding-top:8px;border-top:0}
.portfolio-home .systems-heading{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--chapter-gap);align-items:end;margin-bottom:24px}
.portfolio-home .systems-heading h2{font-size:clamp(1.8rem,2.7vw,2.4rem)}
.portfolio-home .systems-heading>p{max-width:46ch;justify-self:start}
.portfolio-home .inspection-chapter{margin:80px calc(-1 * var(--frame-gutter)) 0;padding:42px var(--frame-gutter);background:#edf0e7;border-block:1px solid #b8c6ae}
.portfolio-home .research-section{margin-top:0;padding:0;border-top:0}
.portfolio-home .paper{padding-block:23px}
.portfolio-home .lab-disclosure{margin-top:32px;border-color:#bdc9b5}
.portfolio-home .lab-disclosure>summary{font-size:21px;padding-block:20px}
.portfolio-home .lab-disclosure .agent-workshop{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--chapter-gap);padding:12px 0 22px}
.portfolio-home .lab-disclosure .workshop-intro p{max-width:43ch}
.portfolio-home .lab{width:100%;margin:0}
.portfolio-home .lab-disclosure .insight{padding-block:22px;gap:20px}
.portfolio-home .work-search{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--chapter-gap);margin-top:28px;padding:28px 0 0;border-top:1px solid #bdc9b5}
.portfolio-home .search-intro h2{margin-top:0}
.portfolio-home .personal-chapter{margin-top:80px;padding-top:32px;border-top:1px solid #aebda5}
.portfolio-home .open-questions{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--chapter-gap);margin-top:0;padding-top:0;border-top:0}
.portfolio-home .about-section{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--chapter-gap);margin-top:32px;padding:28px 0 0}
.portfolio-home .toolkit{padding-top:0}
.portfolio-home .personal-section{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);column-gap:var(--chapter-gap);margin-top:32px;padding-top:28px}
.portfolio-home .personal-section .section-heading{display:block;grid-row:span 2;margin-bottom:0}
.portfolio-home .personal-section .section-heading>p{margin-top:16px;max-width:31ch}
.portfolio-home .personal-note{grid-column:2;margin:0 0 22px;max-width:65ch}
.portfolio-home .personal-links{grid-column:2;gap:26px}
.portfolio-home .personal-links strong{font-size:20px}
.portfolio-home .contact{margin-top:80px;padding:32px 0 0;border-color:#aebda5}
.portfolio-home .contact-intro{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--chapter-gap);align-items:center}
.portfolio-home .contact-intro h2{font-size:clamp(2.1rem,3.6vw,3rem);line-height:1.15}
.portfolio-home .contact-intro .contact-email{justify-self:start;max-width:100%;margin:0;font-size:clamp(1.1rem,2.1vw,1.75rem);line-height:1.6;overflow-wrap:anywhere}
.portfolio-home .footer-bottom{margin-top:32px;padding-top:16px;align-items:center;gap:16px;font-size:13px}
.portfolio-home .footer-links{display:flex;align-items:center;flex-wrap:wrap;column-gap:24px;row-gap:0}
.portfolio-home .footer-links :is(a,button){display:inline-flex;align-items:center;min-height:44px;font-size:13px}
.portfolio-home .contact #copy-status{min-height:20px;margin:0;font-size:12px}
@media(max-width:1100px){.portfolio-home{--frame-gutter:40px;--chapter-gap:32px}.portfolio-home .intro h1{font-size:clamp(2.8rem,4.8vw,3.7rem)}.portfolio-home .hero{align-items:start}.portfolio-home .project h3{font-size:clamp(1.9rem,3.2vw,2.4rem)}}
@media(max-width:850px){.portfolio-home{--frame-gutter:28px;--chapter-gap:28px}.portfolio-home .lab-disclosure .agent-workshop{grid-template-columns:1fr}.portfolio-home .lab{max-width:none}.portfolio-home .workshop-intro p{max-width:65ch}.portfolio-home .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:760px){
 .portfolio-home{--frame-gutter:6vw;--chapter-gap:24px;background:var(--paper);padding-block:0}
 .portfolio-home .header,.portfolio-home main{width:100%;border-inline:0}
 .portfolio-home .header{padding-block:22px;border-top:0;gap:17px}
 .portfolio-home .header nav{margin-left:0}
 .portfolio-home main{padding-bottom:24px;border-bottom:0}
 .portfolio-home .hero{display:flex;gap:28px;margin-top:26px;padding-bottom:0}
 .portfolio-home .intro h1{font-size:clamp(2.9rem,10.6vw,4rem)}
 .portfolio-home .evidence-chapter{margin-top:50px;padding-top:26px}
 .portfolio-home .section-heading{display:block;margin-bottom:22px}
 .portfolio-home .section-heading>p{margin-top:12px}
 .portfolio-home .project{grid-template-columns:1fr;gap:24px;padding-block:30px}
 .portfolio-home .project h3{font-size:2rem}
 .portfolio-home .focus-bar{padding-bottom:20px}
 .portfolio-home .systems-explorer{margin-top:24px;padding-top:0}
 .portfolio-home .systems-heading{display:block;margin-bottom:20px}
 .portfolio-home .systems-heading h2{font-size:2rem}
 .portfolio-home .systems-heading>p{margin-top:12px}
 .portfolio-home .inspection-chapter{margin-top:52px;padding-block:28px}
 .portfolio-home .research-section{margin-top:0;padding-top:0}
 .portfolio-home .lab-disclosure{margin-top:24px}
 .portfolio-home .lab-disclosure>summary{font-size:20px;gap:10px;padding-block:18px}
 .portfolio-home .lab-disclosure .agent-workshop{grid-template-columns:1fr;gap:22px;padding-bottom:18px}
 .portfolio-home .lab-disclosure .insight{padding-block:20px;gap:12px}
 .portfolio-home .work-search{display:block;margin-top:24px;padding-top:24px}
 .portfolio-home .search-interface{margin-top:22px}
 .portfolio-home .personal-chapter{margin-top:52px;padding-top:28px}
 .portfolio-home .open-questions{grid-template-columns:1fr;gap:24px}
 .portfolio-home .about-section{grid-template-columns:1fr;gap:26px;margin-top:26px;padding-top:24px}
 .portfolio-home .personal-section{display:block;margin-top:26px;padding-top:24px}
 .portfolio-home .personal-section .section-heading{margin-bottom:20px}
 .portfolio-home .personal-note{margin-bottom:22px}
 .portfolio-home .personal-links{grid-template-columns:1fr;gap:22px}
 .portfolio-home .contact{margin-top:52px;padding-top:28px}
 .portfolio-home .contact-intro{grid-template-columns:1fr;gap:16px}
 .portfolio-home .contact-intro h2{font-size:2.5rem}
 .portfolio-home .contact-intro .contact-email{font-size:clamp(1rem,4.2vw,1.5rem)}
 .portfolio-home .footer-bottom{margin-top:24px;gap:4px;align-items:flex-start}
 .portfolio-home .footer-links{column-gap:24px}
}
@media print{.portfolio-home{padding:0;background:white}.portfolio-home .header,.portfolio-home main{width:100%;border:0;padding-inline:5%}.portfolio-home .inspection-chapter{background:white;margin-top:30px;padding-block:25px}.portfolio-home :is(.evidence-chapter,.personal-chapter,.contact){margin-top:30px}.portfolio-home .personal-section{display:block}}

/* A quiet, progressive anchor rail uses the spare left gutter, not a panel. */
.section-guide{position:fixed;z-index:12;top:50%;left:max(10px,calc((100vw - 1280px)/2 - 140px));width:126px;transform:translateY(-50%);color:var(--blue)}
.section-guide[hidden]{display:none}
.section-guide ol{list-style:none;padding:0;margin:0}
.section-guide li{margin:0;padding:0}
.section-guide a{position:relative;display:flex;align-items:center;min-height:44px;padding-left:27px;text-decoration:none;font-family:var(--font);font-size:12px;line-height:1.4;color:var(--muted)}
.section-guide-tick{position:absolute;left:8px;top:21px;width:8px;height:2px;background:#aebda5}
.section-guide a[aria-current=location] .section-guide-tick{height:6px;top:19px;background:var(--blue)}
.section-guide-label{opacity:0}
.section-guide a[aria-current=location] .section-guide-label,.section-guide a:hover .section-guide-label,.section-guide a:focus-visible .section-guide-label{opacity:1}
.section-guide a[aria-current=location]{color:var(--blue);font-weight:650}
.section-guide progress{position:absolute;left:12px;top:22px;width:176px;height:1px;appearance:none;border:0;background:#c7cfc1;transform:rotate(90deg);transform-origin:left center;pointer-events:none}
.section-guide progress::-webkit-progress-bar{background:#c7cfc1}
.section-guide progress::-webkit-progress-value{background:var(--blue)}
.section-guide progress::-moz-progress-bar{background:var(--blue)}
.portfolio-home :is(#work,#systems-explorer,#research,#agent-lab,#personal){scroll-margin-top:28px}
@media(max-width:1549px){.section-guide{left:max(4px,calc((100vw - 1280px)/2 + 10px));width:24px}.section-guide a{padding-left:0}.section-guide-label{display:none}}
@media(max-width:760px){.section-guide{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.section-guide{transition:none}.section-guide-label{transition:none}}
@media print{.section-guide{display:none}}

/* The released developer tool leads this flat link group; phone remains one column. */
.portfolio-home .personal-links .personal-link-lead{grid-column:1 / -1}
