/* Personal Portfolio: follows the approved neatbranch. palette and type. */
.profile-hero{background:var(--forest);color:var(--paper);padding:88px 0 92px}
.profile-hero-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.7fr);gap:clamp(36px,7vw,130px);align-items:end}
.profile-hero .eyebrow,.profile-section-dark .eyebrow,.profile-close .eyebrow{color:#bbd6c5}
.profile-hero h1{font-size:clamp(48px,6.9vw,96px);line-height:1.01;margin:20px 0 28px}
.profile-hero h1 em,.profile-section-dark h2 em,.profile-close h2 em{color:#b6d3bc}
.profile-hero p{max-width:690px;color:#cedcd2;font-size:15px}
.profile-hero .profile-intro{font-size:clamp(18px,2vw,24px);line-height:1.48;color:#fff;margin-bottom:19px}
.profile-actions{display:flex;flex-wrap:wrap;gap:25px;align-items:center;margin-top:32px}
.profile-hero .button,.profile-close .button{background:#e5eddf;color:#142b23}
.profile-hero .text-link,.profile-close .text-link{color:#e5eddf}
.profile-hero-aside{padding:28px 30px;border:1px solid #7c9d8d70;border-radius:4px;background:#ffffff08}

/* The original supplied photograph, presented without filters or retouching. */
.profile-portrait{margin:0 0 28px}
.profile-portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center 43%;border-radius:4px}
.profile-portrait figcaption{margin-top:12px;font-size:11px;line-height:1.5;color:#cbdccd}
.profile-stat{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid #ffffff27;padding:17px 0}
.profile-stat strong{font-size:32px;letter-spacing:-.05em;font-weight:500}
.profile-stat span{font-size:12px;max-width:142px;line-height:1.5;color:#cbdbce;text-align:right}
.profile-aside-note{margin-top:20px;font-size:12px!important;color:#bed0c1!important}
.profile-opening{display:grid;grid-template-columns:1fr 1.25fr;gap:35px 8vw;padding-block:100px}
.profile-opening h2,.profile-heading h2,.profile-perspective h2,.profile-close h2{font-size:clamp(38px,4.4vw,64px);margin-top:15px;line-height:1.08}
.profile-opening h2 em,.profile-heading h2 em,.profile-perspective h2 em{color:#5f8c70}
.profile-opening-copy p,.profile-perspective-copy p{margin-bottom:22px;max-width:710px}
.profile-section{padding-block:98px}
.profile-section-tinted{background:#eaf0e8}
.profile-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:50px}
.profile-heading>p{max-width:355px;color:var(--muted);font-size:14px}
.profile-timeline{border-top:1px solid #c8d5c9}
.profile-role{display:grid;grid-template-columns:minmax(160px, .45fr) 1.5fr;gap:30px;border-bottom:1px solid #c8d5c9;padding:33px 0 38px}
.profile-role-period{font-size:13px;font-weight:600;color:#37674c}
.profile-role-category,.profile-card-index,.profile-tech-number{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#5a8068}
.profile-role h3{font-size:clamp(24px,2.8vw,36px);margin:9px 0 15px}
.profile-role p{max-width:740px;color:#46574b;font-size:14px;margin:10px 0}
.profile-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.profile-tags span{border:1px solid #aec8b7;padding:5px 11px;border-radius:25px;font-size:11px;color:#315d42}
.profile-achievements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.profile-achievements article{background:#edf0ea;padding:32px 29px;min-height:275px}
.profile-achievements h3{font-size:clamp(24px,2.4vw,33px);margin:27px 0 17px}
.profile-achievements p{font-size:14px;color:#4c5d52}
.profile-section-dark{background:var(--forest);color:white}
.profile-section-dark .profile-heading>p,.profile-section-dark p{color:#c3d5c9}
.profile-section-dark h2 em{color:#bad9c2}
.profile-tech-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #72917d}
.profile-tech-grid article{padding:28px 34px 37px 0;border-bottom:1px solid #72917d}
.profile-tech-grid article:nth-child(even){padding-left:34px}
.profile-tech-number{color:#9bc1a5}
.profile-tech-grid h3{font-size:30px;margin:16px 0}
.profile-tech-grid p{font-size:14px;max-width:450px}
.profile-project-note{font-size:13px;max-width:750px;margin:35px 0 22px}
.profile-light-link{color:white}
.profile-perspective{display:grid;grid-template-columns:1fr 1.2fr;gap:60px}
.profile-perspective-copy p{font-size:15px}
.profile-close{background:#dce9db;padding:85px 0}
.profile-close-grid{display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:center}
.profile-close h2 em{color:#48745a}
.profile-close .eyebrow{color:#396b4c}
.profile-close p{max-width:440px;margin-bottom:26px}
.profile-close .button{background:var(--forest);color:white;margin-right:24px}
.profile-close .text-link{color:var(--forest);display:inline-flex;margin-top:20px}
@media(max-width:800px){.profile-hero-grid,.profile-opening,.profile-perspective,.profile-close-grid{grid-template-columns:1fr}.profile-heading{display:block}.profile-heading>p{margin-top:24px}.profile-achievements{grid-template-columns:1fr}.profile-achievements article{min-height:auto}.profile-hero{padding:62px 0}.profile-opening,.profile-section{padding-block:64px}.profile-role{grid-template-columns:1fr;gap:8px}.profile-hero-aside{max-width:100%}}
@media(max-width:520px){.profile-tech-grid{grid-template-columns:1fr}.profile-tech-grid article:nth-child(even){padding-left:0}.profile-hero h1{font-size:clamp(42px,12vw,62px)}.profile-actions{align-items:flex-start;flex-direction:column}.profile-close{padding:60px 0}}
@media(prefers-reduced-motion:reduce){.profile-hero *,.profile-section *{animation:none!important;transition:none!important}}
