/* Narrow r5 addition: real portfolio fragments and ungated PDF resources. */
.portfolio-pair figure { margin: 0; min-width: 0; }
.portfolio-image { display: block; border: 1px solid var(--c-mist); background: white; }
.portfolio-image img { display: block; width: 100%; height: auto; }
.portfolio-zoom { display: block; margin-top: 12px; color: var(--c-steel); font-size: 13px; line-height: 1.45; }
.portfolio-band .hero__foot { padding-top: 20px; }
.materials-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 32px; }
.material-card { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(22px, 3vw, 36px); background: var(--c-paper); border: 1px solid var(--c-mist); }
.material-card--light { background: white; }
.material-card--booklet { background: #e9efeb; }
.material-card__label { display: block; margin-bottom: 22px; font: 500 11px/1.4 var(--f-mono); color: var(--c-steel); letter-spacing: .08em; }
.material-card h3 { margin: 0 0 16px; font-size: clamp(22px, 2.05vw, 28px); line-height: 1.2; }
.material-card > p:not(.note) { margin-bottom: 28px; line-height: 1.6; }
.material-card .cta { margin-top: auto; max-width: 100%; white-space: normal; }
.material-card .note { margin: 12px 0 0; }
.materials-note { margin-top: 24px; max-width: 80ch; }
.training-service-link { display: inline-block; margin-top: 20px; font-size: 13px; }
.learning-teaser { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 58px); align-items: center; padding-top: 36px; margin-top: 32px; border-top: 1px solid var(--c-mist); }
.learning-teaser__visual { margin: 0; min-width: 0; }
.learning-teaser__visual img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; background: #e5e8e1; }
.learning-teaser__visual figcaption { margin-top: 10px; color: var(--c-steel); font-size: 11px; line-height: 1.5; }
.learning-teaser__eyebrow { font: 500 11px/1.5 var(--f-mono); color: var(--c-teal); letter-spacing: .08em; text-transform: uppercase; margin: 0 0 18px; }
.learning-teaser__copy h3 { font-size: clamp(27px, 3.1vw, 40px); line-height: 1.15; margin: 0 0 20px; }
.learning-teaser__copy > p:not(.note):not(.learning-teaser__eyebrow) { max-width: 48ch; font-size: 16px; line-height: 1.65; margin: 0 0 24px; }
.learning-teaser__copy .cta { white-space: normal; }
.learning-teaser__copy .note { max-width: 54ch; margin-top: 14px; font-size: 12px; }
.contact-booklet { margin: 20px 0 30px; font-size: 13px; }
.contact-booklet a { color: inherit; text-underline-offset: 5px; }
@media (min-width: 761px) and (max-width: 1000px) { .material-card { padding: 22px; } .material-card__label { font-size: 10px; letter-spacing: .03em; } .material-card h3 { font-size: 22px; } .material-card > p:not(.note) { font-size: 14px; } .material-card .cta { font-size: 12px; padding-inline: 14px; } .learning-teaser { gap: 28px; } .learning-teaser__copy > p:not(.note):not(.learning-teaser__eyebrow) { font-size: 14px; } }
@media (max-width: 760px) { .materials-grid { grid-template-columns: 1fr; gap: 16px; } .material-card { padding: 24px; } .learning-teaser { grid-template-columns: 1fr; gap: 24px; margin-top: 28px; padding-top: 28px; } .learning-teaser__copy h3 { font-size: 30px; } .learning-teaser__copy > p:not(.note):not(.learning-teaser__eyebrow) { max-width: 60ch; } .learning-teaser__eyebrow { margin-bottom: 14px; } }
@media (max-width: 420px) { .hero-primary { font-size: 14px; } }
