/* About: full-image chapters with floating cream cards and a dated journey. */
body[data-page=about] .about-travel{--journey-cream:#f3eedf;--journey-ink:#293d31;padding-top:24px}
body[data-page=about] .postal-hero{display:grid;grid-template-columns:1.08fr 1fr;min-height:650px;background:#f3eedf;border-radius:14px;overflow:hidden}
.postal-hero-copy{padding:50px 48px}
.postal-hero-copy>.mono{font-size:8px;letter-spacing:.08em;color:#52634e}
body[data-page=about] .postal-hero h1{font:400 clamp(35px,3.55vw,54px)/1.08 Georgia,serif;letter-spacing:-.05em;margin:27px 0 40px;color:#263c30;max-width:610px}
.postal-intro>.mono{display:block;font-size:8px;color:#68705b;margin-bottom:16px}
.postal-intro p{font:15px/1.85 'DM Sans',sans-serif;max-width:490px;margin:0 0 18px;color:#3e4c3d}
.postal-portrait{position:relative;display:grid;place-items:center;background:#a6bea4;min-width:0;padding:62px 36px;overflow:hidden}
.about-portrait-image{position:relative;width:88%;max-width:410px;margin:0;transform:rotate(-3deg);box-shadow:18px 25px 40px #263c3025}
.about-portrait-image:before{content:'';position:absolute;inset:-14px;border:1px solid #45614c50;transform:translate(10px,10px);pointer-events:none}
.about-portrait-image .portrait-photo{display:block;width:100%;height:445px;object-fit:cover;object-position:56% 42%}
/* Each image belongs to its chapter, with no wash, crossfade or scroll transform. */
body[data-page=about] .postal-journey{--journey-header:74px;--scene-height:calc(100svh - var(--journey-header));position:relative;isolation:isolate;scroll-margin-top:90px;background:#faf8f4;color:#293d31;border-radius:14px;margin-top:26px;overflow:clip}
.journey-heading{position:relative;z-index:6;margin:0;padding:47px 50px 30px;background:#faf8f4;color:#293d31;font:400 34px/1.2 Georgia,serif;letter-spacing:-.035em}
.chapter-track{position:relative;isolation:isolate}
.chapter-panorama{position:relative;isolation:isolate;display:grid;gap:18px}
.chapter-panel{position:relative;display:flex;align-items:center;min-height:var(--scene-height);padding:56px 225px 56px 50px;scroll-margin-top:90px;border-radius:14px;background:#dce3d5}
.journey-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;border-radius:inherit}
.chapter-background{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:62% center}
.backdrop-0 .chapter-background{object-position:70% center}
.backdrop-4{background:#bdc9af}
.backdrop-4 .chapter-background{position:absolute;left:35%;width:62%;object-fit:contain;object-position:center;padding:40px}
.chapter-copy{position:relative;z-index:4;max-width:520px;width:100%;padding:38px;background:#faf8f4;border:1px solid #fffdf8;border-radius:16px;box-shadow:0 18px 55px #18231c2e}
.chapter-index{display:flex;gap:18px;align-items:baseline;font-size:9px;line-height:1.5;color:#6c765f;letter-spacing:.02em;margin-bottom:27px}
.chapter-date{color:#3e5136;font-weight:500}
.chapter-name{font-size:8px;color:#77816d}
body[data-page=about] .chapter-copy h2{font:400 clamp(38px,3.7vw,54px)/1.08 Georgia,serif;letter-spacing:-.045em;margin:0 0 27px;color:#293d31}
body[data-page=about] #chapter-heading-0,body[data-page=about] #chapter-heading-1{font-size:clamp(30px,3.2vw,46px)}
.chapter-copy h2 em{color:#616f48;font-weight:400}
.chapter-copy>p{font:15px/1.85 'DM Sans',sans-serif;color:#3e4c37;max-width:455px;margin:0}
.chapter-copy .hand-note{display:block;transform:rotate(-2deg);font:italic 20px/1.4 Georgia,serif;color:#73734d;margin-top:27px}
.chapter-copy .big-number{font:400 60px/1.1 Georgia,serif;color:#616f48;margin-top:25px}
.chapter-copy .big-number small{display:block;font:9px/1.7 'IBM Plex Mono',monospace;color:#637057;margin-top:10px}
.chapter-work-link{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid #758364;padding:0 0 8px;margin-top:32px;font:12px/1.5 'DM Sans',sans-serif;color:#34492e}
.chapter-work-link span{font-size:18px}
.chapter-work-link:hover{color:#171f15;border-color:#171f15}
.journey-rail-wrap{position:absolute;inset:0 30px 0 auto;width:145px;pointer-events:none;z-index:7}
.journey-rail{position:sticky;top:calc(50svh - 150px);display:block;pointer-events:auto;background:#faf8f4;border-radius:10px;padding:18px 12px 20px;box-shadow:0 8px 30px #18231c18}
.journey-rail-title{display:block;font-size:7px;letter-spacing:.07em;color:#747e68;margin:0 0 26px 21px}
.journey-stops{position:relative;display:flex;flex-direction:column;gap:24px}
.journey-stops:before,.journey-stops:after{content:'';position:absolute;left:4px;top:7px;bottom:10px;width:1px;background:#afbaa045;pointer-events:none}
.journey-stops:after{bottom:auto;height:calc((100% - 17px) * var(--journey-progress,0));background:#74835e}
.journey-stop{position:relative;display:grid;grid-template-columns:10px 1fr;grid-template-rows:auto auto;align-items:center;gap:5px 12px;text-align:left;padding:0;border:0;background:none;color:#68735d;width:100%;cursor:pointer}
.journey-stop-dot{position:relative;z-index:1;grid-column:1;grid-row:1;width:6px;height:6px;border:1px solid #98a588;border-radius:50%;background:#faf8f4;justify-self:center;transition:background .25s,box-shadow .25s}
.journey-stop-date{grid-column:2;grid-row:1;font-size:9px;line-height:1.5;white-space:nowrap}
.journey-stop-name{grid-column:2;grid-row:2;font-size:10px;line-height:1.5}
.journey-stop[aria-current=location]{color:#293d31}
.journey-stop[aria-current=location] .journey-stop-dot{background:#616f48;border-color:#616f48;box-shadow:0 0 0 4px #616f4818}
.journey-stop[aria-current=location] .journey-stop-date{font-weight:500}
.journey-stop:hover{color:#293d31}
.journey-mesh{position:absolute;inset:0;pointer-events:none;mask-image:linear-gradient(90deg,transparent 42%,#000 61%)}
.journey-mesh svg{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke-linejoin:round;stroke-linecap:round}
.mesh-behind{z-index:1;opacity:.14}
.mesh-in-front{z-index:3;opacity:.36}
.journey-mesh path{vector-effect:non-scaling-stroke;stroke:#82906d;stroke-width:.65}
.mesh-in-front path{stroke:#969667}
.journey-mesh .mesh-spine{stroke-width:1;opacity:.7}
body[data-page=about] .postal-studios{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:34px 0 0}
.postal-studios>article{padding:38px 36px;background:#e4e8d8;border-radius:10px}
.postal-studios>article+article{background:#efe0ce}
.postal-studios .mono{font-size:8px;line-height:1.6;color:#60705a}
body[data-page=about] .postal-studios h2{font:400 38px/1.1 Georgia,serif;letter-spacing:-.04em;margin:24px 0 18px;color:#283e2d}
.postal-studios p{font:14px/1.8 'DM Sans',sans-serif;color:#43503c;max-width:510px;margin:0}
body[data-page=about] .postal-end{padding:75px 0 80px;text-align:center}
.postal-end h2{font:400 46px/1.12 Georgia,serif;letter-spacing:-.045em;margin-bottom:28px}
.postal-end .pill{background:#304d3c;border-color:#304d3c;color:#f3eedf}
@media(max-width:1050px){
 .postal-hero-copy{padding:37px 30px}
 body[data-page=about] .postal-hero h1{font-size:39px;margin-bottom:30px}
 .about-portrait-image{width:100%}
 .about-portrait-image .portrait-photo{height:390px}
}
@media(max-width:750px){
 body[data-page=about] .about-travel{padding-top:14px}
 body[data-page=about] .postal-hero{grid-template-columns:1fr;min-height:0}
 .postal-hero-copy{display:contents}
 .postal-hero-copy>.mono{grid-row:1;padding:30px 26px 0}
 .postal-intro{grid-row:4;padding:30px 26px 25px}
 body[data-page=about] .postal-hero h1{grid-row:2;font-size:38px;line-height:1.1;margin:23px 26px 30px}
 .postal-intro p{font-size:14px;max-width:520px}
 .postal-portrait{grid-row:3;min-height:370px;padding:35px 38px 40px}
 .about-portrait-image{width:100%;max-width:320px}
 .about-portrait-image .portrait-photo{height:310px}
 body[data-page=about] .postal-studios{grid-template-columns:1fr;gap:18px;padding-top:22px}
 .postal-studios>article{padding:30px 27px}
 body[data-page=about] .postal-studios h2{font-size:34px;margin:21px 0 16px}
 .postal-studios p{font-size:13px}
 body[data-page=about] .postal-end{padding:50px 0 60px}
 .postal-end h2{font-size:36px}
}
@media(max-width:360px){
 .postal-hero-copy>.mono,.postal-intro{padding-inline:22px}
 body[data-page=about] .postal-hero h1{font-size:33px;margin-inline:22px}
 .postal-portrait{padding-inline:30px;min-height:340px}
 .about-portrait-image .portrait-photo{height:280px}
}

@media(max-width:1050px){
 .chapter-panel{padding:45px 185px 45px 30px}
 .chapter-copy{max-width:480px;padding:30px}
 body[data-page=about] .chapter-copy h2{font-size:43px}
 .chapter-copy>p{font-size:14px}
 .journey-rail-wrap{right:18px;width:135px}
}
@media(max-width:750px){
 body[data-page=about] .postal-journey{--journey-header:100px;margin-top:18px;scroll-margin-top:110px}
 .chapter-panel{align-items:flex-end;padding:250px 78px 24px 18px;scroll-margin-top:110px;border-radius:12px}
 .chapter-copy{max-width:420px;padding:24px 22px;border-radius:12px}
 .chapter-index{display:block;font-size:9px;margin-bottom:20px}
 .chapter-name{display:block;margin-top:6px;font-size:7px}
 body[data-page=about] .chapter-copy h2{font-size:35px;line-height:1.1;margin-bottom:24px}
 .chapter-copy>p{font-size:14px;line-height:1.8}
 .chapter-copy .hand-note{font-size:19px}
 .chapter-copy .big-number{font-size:53px}
 .chapter-work-link{font-size:11px;gap:17px;margin-top:27px}
 .journey-rail-wrap{right:5px;width:64px}
 .journey-rail{top:calc(50svh - 160px);padding:12px 4px 14px;border-radius:7px}
 .journey-rail-title{font-size:6px;margin:0 0 21px 12px;letter-spacing:0}
 .journey-stops{gap:10px}
 .journey-stop{grid-template-columns:6px 1fr;grid-template-rows:auto;align-content:center;gap:5px 6px;min-height:44px}
 .journey-stop-dot{width:5px;height:5px}
 .journey-stop-date{font-size:8px;white-space:normal;line-height:1.4}
 .journey-stop-name{display:none}
 .journey-stop[aria-current=location] .journey-stop-name{display:block;font-size:7px;line-height:1.4}
 .journey-stops:before,.journey-stops:after{left:2px}
 .chapter-background{position:absolute;inset:0;object-position:67% center}
 .backdrop-0 .chapter-background{object-position:68% center}
 .backdrop-2 .chapter-background{object-position:30% center}
 .backdrop-4 .chapter-background{width:100%;height:340px;left:0;top:0;padding:24px;object-position:center}
 .journey-heading{font-size:27px;padding:34px 26px 24px}
 .chapter-panorama{gap:14px}
 body[data-page=about] #chapter-heading-0,body[data-page=about] #chapter-heading-1{font-size:28px}
 .journey-mesh{mask-image:linear-gradient(90deg,transparent 56%,#000 80%)}
}
@media(max-width:360px){
 .chapter-panel{padding-left:14px;padding-right:74px}
 .chapter-copy{padding-inline:18px}
 body[data-page=about] .chapter-copy h2{font-size:30px}
 .chapter-copy>p{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
 .journey-stop-dot{transition:none}
}

/* A compact, native disclosure keeps the full CV above the visual journey. */
body[data-page=about] .career-details{margin:0 30px 26px;background:#fffdf8;border:1px solid #dce0d4;border-radius:12px;color:#293d31;scroll-margin-top:90px}
.career-details>summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 26px;padding:25px 28px;cursor:pointer;list-style:none}
.career-details>summary::-webkit-details-marker{display:none}
.career-details>summary::marker{content:''}
.career-summary-title{grid-column:1;grid-row:1;font:400 25px/1.2 Georgia,serif;letter-spacing:-.03em}
.career-summary-hint{grid-column:1;grid-row:2;font:11px/1.5 'DM Sans',sans-serif;color:#626f56}
.career-toggle{grid-column:2;grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border:1px solid #cdd4c3;border-radius:50%;font:300 25px/1 'DM Sans',sans-serif;color:#526347}
.career-toggle:before{content:'+'}
.career-details[open] .career-toggle:before{content:'−'}
.career-open-label,.career-details[open] .career-closed-label{display:none}
.career-details[open] .career-open-label{display:inline}
.career-details>summary:hover{background:#f3f4ec;border-radius:12px}
.career-details>summary:focus-visible{outline:2px solid #616f48;outline-offset:-5px;border-radius:12px}
.career-content{padding:8px 28px 30px}
body[data-page=about] .career-group-heading{font:400 24px/1.2 Georgia,serif;letter-spacing:-.025em;color:#293d31;margin:18px 0 6px}
.career-entry{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.35fr);gap:44px;padding:25px 0;border-bottom:1px solid #e2e5db}
.career-entry:last-child{border-bottom:0}
.career-date{display:block;font-size:10px;line-height:1.5;letter-spacing:.02em;color:#616f48;margin-bottom:10px}
body[data-page=about] .career-details h4{font:600 18px/1.4 'DM Sans',sans-serif;letter-spacing:-.015em;color:#293d31;margin:0 0 5px}
.career-details .career-company{font:14px/1.6 'DM Sans',sans-serif;color:#48573f;margin:0}
.career-details .career-location{font:12px/1.6 'DM Sans',sans-serif;color:#737d68;margin:2px 0 0}
.career-details .career-description{font:14px/1.8 'DM Sans',sans-serif;color:#4c5942;margin:0;max-width:680px}
.career-entry>.career-description{padding-top:24px}
.career-education{padding-top:15px;border-top:1px solid #d3dac9;margin-top:10px}
.career-education-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:38px;padding-top:22px}
.career-qualification{padding:22px 24px;background:#f1f3e9;border-radius:9px}
.career-qualification>.career-description{margin-top:22px}
.career-certificates{display:grid;gap:18px}
@media(max-width:750px){
 body[data-page=about] .career-details{margin:0 12px 18px;scroll-margin-top:110px}
 .career-details>summary{padding:22px 20px;gap:8px 14px}
 .career-summary-title{font-size:23px}
 .career-summary-hint{font-size:11px}
 .career-toggle{width:30px;height:30px;font-size:23px}
 .career-content{padding:0 20px 22px}
 body[data-page=about] .career-group-heading{font-size:23px;margin-top:18px}
 .career-entry{grid-template-columns:1fr;gap:16px;padding:24px 0}
 .career-date{font-size:10px}
 body[data-page=about] .career-details h4{font-size:17px}
 .career-details .career-company{font-size:13px}
 .career-details .career-description{font-size:13px;line-height:1.8}
 .career-entry>.career-description{padding-top:0}
 .career-education-grid{grid-template-columns:1fr;gap:16px;padding-top:18px}
 .career-qualification{padding:20px 18px}
 .career-certificates{gap:16px}
}

/* About opening follows the shared editorial page-header language. */
body[data-page=about] .about-travel{padding-top:0}
body[data-page=about] .postal-hero{display:block;min-height:0;background:transparent;border-radius:0;overflow:visible;padding:65px 0 48px}
.about-page-heading{display:block;padding:0 0 35px;border-bottom:1px solid #dedfd6;background:transparent;height:auto}
.about-page-heading>.mono{display:block;font:9px/1.5 'IBM Plex Mono',monospace;letter-spacing:.08em;color:#727b64}
body[data-page=about] .postal-hero h1{font:400 clamp(38px,5.3vw,72px)/1.05 Georgia,serif;letter-spacing:-.05em;color:#23291f;max-width:1000px;margin:25px 0 0}
.about-bio-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:70px;align-items:center;padding-top:38px}
.about-bio-row .postal-intro{padding:0;max-width:600px}
.about-bio-row .postal-intro>.mono{font:9px/1.5 'IBM Plex Mono',monospace;letter-spacing:.07em;margin-bottom:20px}
.about-bio-row .postal-intro p{font:15px/1.85 'DM Sans',sans-serif;color:#626a58;max-width:none;margin:0}
.about-bio-row .postal-portrait{display:block;background:transparent;padding:0;min-height:0;overflow:visible}
.about-bio-row .about-portrait-image{width:100%;max-width:340px;margin:0 0 0 auto;transform:none;box-shadow:none}
.about-bio-row .about-portrait-image:before{display:none}
.about-bio-row .about-portrait-image .portrait-photo{width:100%;height:auto;object-fit:contain;border-radius:8px}
@media(max-width:750px){body[data-page=about] .postal-hero{padding:35px 0 25px}.about-page-heading{padding-bottom:26px}body[data-page=about] .postal-hero h1{font-size:38px;margin:20px 0 0;line-height:1.07}.about-bio-row{grid-template-columns:1fr;gap:26px;padding-top:26px}.about-bio-row .postal-intro{padding:0}.about-bio-row .postal-intro p{font-size:14px}.about-bio-row .postal-portrait{padding:0;min-height:0;grid-row:auto}.about-bio-row .about-portrait-image{max-width:360px;margin:0 auto}.about-bio-row .about-portrait-image .portrait-photo{height:auto}.about-page-heading>.mono{font-size:8px}}
@media(max-width:750px){.about-bio-row{display:flex;flex-direction:column;align-items:stretch}.about-bio-row .postal-intro{grid-row:auto}.about-bio-row .postal-portrait{grid-row:auto}}
