/* Portfolio-only editorial system. No global typography or homepage changes. */
.folio-system{--folio-ink:#293d33;--folio-muted:#58645b;--folio-gap:32px;color:var(--folio-ink)}
.folio-system .folio-intro{padding-top:52px;padding-bottom:44px}.folio-system h1{font-size:clamp(38px,5.2vw,70px);line-height:1.08;letter-spacing:-.045em;max-width:1000px;font-weight:500;text-wrap:balance;margin:0 0 24px}.folio-intro>p{font-size:18px;line-height:1.65;max-width:760px;margin:0}
.folio-system .folio-section-title{font-size:16px;font-weight:500;margin:0 0 24px}.folio-system .folio-featured{padding-top:6px;padding-bottom:64px}.folio-featured-grid,.folio-selected-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px var(--folio-gap)}
.folio-card{display:block;min-width:0;color:inherit;text-decoration:none}.folio-lead{grid-column:1/-1}.folio-image{aspect-ratio:4/3;overflow:hidden;background:#e9eee8}.folio-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.folio-lead .folio-image{aspect-ratio:16/9}.folio-lead .folio-image img{object-fit:cover}
.folio-card:hover .folio-image img{transform:scale(1.012)}.folio-card:focus-visible{outline:3px solid #6b9673;outline-offset:7px}.folio-caption{padding:19px 0 0}.folio-system .folio-category{font-size:11px;line-height:1.55;font-weight:600;letter-spacing:.06em;margin:0 0 9px;color:var(--folio-muted)}.folio-system .folio-caption h3{font-size:clamp(23px,2.3vw,31px);line-height:1.2;letter-spacing:-.025em;font-weight:500;margin:0 0 12px}.folio-summary{font-size:16px;line-height:1.6;max-width:49ch;margin:0 0 12px}.folio-link{font-size:14px;font-weight:600;display:inline-flex;gap:12px;align-items:center}.folio-lead .folio-caption{display:grid;grid-template-columns:1fr 1fr;gap:32px}.folio-lead .folio-caption h3{font-size:36px}
.folio-selected{padding-bottom:64px}.folio-section-head{border-top:1px solid #d7ded4;padding:29px 0 26px}.folio-system .folio-section-head h2{font-size:clamp(25px,3vw,36px);font-weight:500;letter-spacing:-.025em;margin:0;line-height:1.25}.folio-selected-grid{gap:38px 32px}.folio-selected-grid .folio-image{aspect-ratio:4/3}.folio-selected-grid .folio-caption h3{font-size:25px}
.folio-case-intro{padding-top:38px;padding-bottom:30px}.folio-back{display:inline-block;font-size:14px;margin-bottom:35px;color:inherit}.folio-case-intro .folio-category{margin-bottom:14px}.folio-case-intro h1{font-size:clamp(40px,6vw,82px);max-width:100%;margin-bottom:23px}.folio-case-lead{max-width:760px;font-size:clamp(20px,2.3vw,28px);line-height:1.45;letter-spacing:-.015em;margin:0}.folio-facts{display:flex;gap:24px;font-size:14px;margin-top:20px}.folio-facts:empty{display:none}.folio-facts a{color:inherit}
.folio-case-hero{aspect-ratio:16/9;overflow:hidden}.folio-case-hero img{width:100%;height:100%;object-fit:cover;display:block}.folio-story{padding-top:22px;padding-bottom:22px}.folio-chapter{display:grid;grid-template-columns:1fr 2fr;gap:64px;padding:32px 0;border-bottom:1px solid #d7ded4}.folio-chapter:last-child{border-bottom:0}.folio-system .folio-chapter h2{font-size:20px;line-height:1.4;font-weight:500;letter-spacing:-.02em;margin:0;max-width:20ch}.folio-system .folio-chapter p{font-size:18px;line-height:1.7;margin:0 0 17px;max-width:65ch}.folio-chapter p:last-child{margin-bottom:0}.folio-system .folio-evidence{font-size:15px;line-height:1.7;color:var(--folio-muted)}.folio-outcome>div>p:first-child{font-size:22px;font-weight:500;line-height:1.5}
.folio-work{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-top:20px;padding-bottom:38px}.folio-work figure{margin:0;min-width:0}.folio-work figure:only-child{grid-column:1/-1}.folio-work button{position:relative;border:0;padding:0;background:#eef0e9;width:100%;cursor:zoom-in;display:block}.folio-work img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain}.folio-work button>span{position:absolute;right:14px;bottom:14px;background:#fff;color:#293d33;padding:8px 12px;border-radius:100px}.folio-work button:focus-visible{outline:3px solid #6b9673;outline-offset:5px}.folio-quote{font-size:26px;line-height:1.5;padding:30px 0;max-width:800px}.folio-next{display:flex;justify-content:space-between;gap:28px;align-items:center;padding-top:30px;padding-bottom:64px;border-top:1px solid #d7ded4}.folio-next p{font-size:14px;margin:0 0 8px}.folio-next>div>a{font-size:28px;color:inherit;text-decoration:none;letter-spacing:-.02em}
@media(min-width:1100px){.folio-selected-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.folio-selected-grid .folio-category{font-size:10px}.folio-selected-grid .folio-caption h3{font-size:24px}.folio-selected-grid .folio-summary{font-size:15px}}
@media(max-width:800px){.folio-system{--folio-gap:24px}.folio-chapter{gap:30px;grid-template-columns:1fr 2fr}.folio-system .folio-intro{padding-top:36px;padding-bottom:34px}.folio-featured-grid{gap:32px 24px}.folio-system .folio-category{font-size:10px}.folio-case-intro{padding-top:28px}.folio-system .folio-chapter p{font-size:17px}.folio-system .folio-featured{padding-bottom:45px}}
@media(max-width:600px){.folio-featured-grid,.folio-selected-grid{grid-template-columns:1fr;gap:30px}.folio-lead .folio-caption{display:block}.folio-lead .folio-image{aspect-ratio:4/3}.folio-lead .folio-caption h3{font-size:27px}.folio-intro>p{font-size:16px}.folio-system .folio-intro{padding-bottom:30px}.folio-system .folio-section-title{margin-bottom:18px}.folio-caption{padding-top:15px}.folio-summary{font-size:16px}.folio-system .folio-category{font-size:11px}.folio-selected{padding-bottom:40px}.folio-chapter{grid-template-columns:1fr;gap:14px;padding:25px 0}.folio-system .folio-chapter h2{max-width:none}.folio-system .folio-chapter p{font-size:17px}.folio-system .folio-outcome>div>p:first-child{font-size:20px}.folio-work{grid-template-columns:1fr;gap:20px}.folio-case-hero{aspect-ratio:4/3}.folio-next{align-items:flex-start;flex-direction:column;padding-bottom:40px}.folio-case-intro h1{overflow-wrap:anywhere}.folio-back{margin-bottom:26px}}
@media(prefers-reduced-motion:reduce){.folio-image img{transition:none}.folio-card:hover .folio-image img{transform:none}}
/* Local type scale takes precedence over the site's older !important scale. */
.refined-home.folio-system h1{font-size:clamp(38px,5.2vw,70px)!important;line-height:1.08!important;letter-spacing:-.045em!important}
.refined-home.folio-system .folio-section-title{font-size:16px!important;line-height:1.4!important;margin-bottom:24px!important}
.refined-home.folio-system .folio-category{font-size:11px!important;line-height:1.55!important;letter-spacing:.06em!important;font-weight:600!important}
.refined-home.folio-system .folio-caption h3{font-size:clamp(23px,2.3vw,31px)!important;line-height:1.2!important;margin:0 0 12px!important}
.refined-home.folio-system .folio-summary{font-size:16px!important;line-height:1.6!important}
.refined-home.folio-system .folio-intro>p{font-size:18px!important;line-height:1.65!important;max-width:760px}
.refined-home.folio-system .folio-lead .folio-caption h3{font-size:36px!important}
.refined-home.folio-system .folio-section-head h2{font-size:clamp(25px,3vw,36px)!important;line-height:1.25!important;margin:0!important}
.refined-home.folio-system .folio-case-intro h1{font-size:clamp(40px,6vw,82px)!important}
.refined-home.folio-system .folio-case-lead{font-size:clamp(20px,2.3vw,28px)!important;line-height:1.45!important;max-width:760px}
.refined-home.folio-system .folio-chapter h2{font-size:20px!important;line-height:1.4!important;margin:0!important}
.refined-home.folio-system .folio-chapter p{font-size:18px!important;line-height:1.7!important}
.refined-home.folio-system .folio-chapter .folio-evidence{font-size:15px!important;line-height:1.7!important}
.refined-home.folio-system .folio-outcome>div>p:first-child{font-size:22px!important;line-height:1.5!important;font-weight:500!important}
.refined-home.folio-system .folio-next p{font-size:14px!important;line-height:1.5!important}
@media(min-width:1100px){.refined-home.folio-system .folio-selected-grid .folio-caption h3{font-size:24px!important}.refined-home.folio-system .folio-selected-grid .folio-summary{font-size:15px!important}}
@media(max-width:600px){.refined-home.folio-system .folio-intro>p{font-size:16px!important}.refined-home.folio-system .folio-lead .folio-caption h3{font-size:27px!important}.refined-home.folio-system .folio-chapter p{font-size:17px!important}.refined-home.folio-system .folio-outcome>div>p:first-child{font-size:20px!important}}
@media(max-width:600px){.folio-system .folio-lead .folio-image{aspect-ratio:16/9}}
.folio-system .folio-card{display:flex;flex-direction:column}.folio-system .folio-image{flex-shrink:0}.folio-system .folio-caption{display:flex;flex-direction:column;flex:1}.folio-system .folio-caption>div:last-child{display:flex;flex-direction:column;flex:1}.folio-system .folio-link{margin-top:auto;align-self:flex-start}.folio-system .folio-lead .folio-caption{display:grid}
/* A remaining card closes the selection as a deliberate horizontal story,
   instead of leaving a large blank final row as the portfolio grows. */
@media(min-width:1100px){.folio-selected-grid>.folio-card:last-child:nth-child(3n + 1){grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;gap:32px}.folio-selected-grid>.folio-card:last-child:nth-child(3n + 1) .folio-caption{align-self:center;padding:0}.folio-selected-grid>.folio-card:last-child:nth-child(3n + 1) .folio-link{margin-top:6px}}
@media(min-width:601px) and (max-width:1099px){.folio-selected-grid>.folio-card:last-child:nth-child(2n + 1){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:24px}.folio-selected-grid>.folio-card:last-child:nth-child(2n + 1) .folio-caption{align-self:center;padding:0}.folio-selected-grid>.folio-card:last-child:nth-child(2n + 1) .folio-link{margin-top:6px}}
/* Matching cover and card scale across both project groups. */
@media(min-width:1100px){.folio-featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 32px}.refined-home.folio-system .folio-featured-grid .folio-caption h3{font-size:24px!important}.refined-home.folio-system .folio-featured-grid .folio-summary{font-size:15px!important}}
