/* Portfolio components, shared by the page and the WordPress editor. */
.bemis-portfolio-intro { padding-block: clamp(3.5rem, 7vw, 6.5rem) clamp(3rem, 5vw, 4.5rem); }
.bemis-portfolio-intro .bemis-hero__title { max-width: 66rem; font-size: clamp(2.5rem, 5.3vw, 5rem); }
.bemis-portfolio-intro .bemis-lead { max-width: 45rem; }
.bemis-portfolio-index { padding-block: 1.75rem 2.25rem; border-block: 1px solid var(--bemis-line); scroll-margin-top: 2rem; }
.bemis-portfolio-index .bemis-eyebrow { margin-bottom: 1rem; }
.bemis-portfolio-index__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem 2rem; padding: 0; margin: 0; list-style: none; }
.bemis-portfolio-index__links a { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; color: var(--bemis-blue); font-size: .92rem; text-decoration: none; }
.bemis-portfolio-index__links a:hover { text-decoration: underline; text-underline-offset: .2em; }
.bemis-portfolio-work { padding-bottom: 2rem; }
.bemis-project { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(2rem, 4vw, 4rem); align-items: center; padding-block: clamp(3rem, 6vw, 5.5rem); scroll-margin-top: 2rem; }
.bemis-project + .bemis-project { border-top: 1px solid var(--bemis-line); }
.bemis-project > .bemis-project__visual, .bemis-project > .bemis-project__copy { margin-block: 0; min-width: 0; }
.bemis-project__visual { position: relative; display: grid; align-content: center; padding: clamp(1.25rem, 2.5vw, 2.5rem); padding-right: 14%; padding-bottom: 18%; background: #edf2f8; min-height: 26rem; }
.bemis-project__visual--rebecca-poole { background: #f3f0eb; }
.bemis-project__visual--rise-and-shine { background: #f4f3e5; }
.bemis-project__visual--full-gospel-fellowship { background: #edf1eb; }
.bemis-project__visual--spotswood-paint { background: #f6eded; }
.bemis-project__visual--hyperion-galleries { background: #f3efe7; }
.bemis-project__desktop, .bemis-project__mobile { position: relative; box-sizing: border-box; margin: 0; background: #fff; border: 1px solid #c4cbd4; box-shadow: 0 12px 24px rgb(17 17 17 / 10%); }
.bemis-project__desktop { width: 100%; border-radius: .4rem .4rem 0 0; padding-top: 1.2rem; }
.bemis-project__desktop::before { content: ''; position: absolute; top: .48rem; left: .65rem; width: .25rem; height: .25rem; border-radius: 50%; background: #8c99a8; box-shadow: .45rem 0 #8c99a8, .9rem 0 #8c99a8; }
.bemis-project__mobile { position: absolute; width: 25%; right: 4.5%; bottom: 7%; border: 4px solid #253443; border-radius: .75rem; overflow: hidden; }
.bemis-project__visual .wp-block-image img { display: block; width: 100%; height: auto; }
.bemis-project__desktop img { aspect-ratio: 1440 / 1000; }
.bemis-project__mobile img { aspect-ratio: 390 / 844; }
.bemis-project__visual .wp-element-caption { color: #344050; background: #fff; font-size: .65rem; font-weight: 650; letter-spacing: .08em; line-height: 1.4; text-transform: uppercase; padding: .45rem; margin: 0; text-align: center; }
.bemis-project__category { color: var(--bemis-blue); font-size: .7rem; font-weight: 650; line-height: 1.6; letter-spacing: .07em; text-transform: uppercase; margin: 0 0 .9rem; }
.bemis-project__title { font-size: clamp(1.85rem, 2.8vw, 2.75rem); line-height: 1.13; font-weight: 650; letter-spacing: -.025em; margin-bottom: 1.1rem; }
.bemis-project__summary { font-size: 1.03rem; line-height: 1.7; }
.bemis-project__features { list-style: none; padding: 0; margin: 1.5rem 0; font-size: .9rem; line-height: 1.65; }
.bemis-project__features li { margin-block: 1rem; padding-left: 1rem; border-left: 2px solid #d5e0ec; }
.bemis-project__features strong { display: block; color: var(--bemis-ink); font-weight: 650; margin-bottom: .15rem; }
.bemis-project__link { font-size: .9rem; font-weight: 650; margin: 1.75rem 0 0; }
.bemis-project__link a { text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: .3rem; }
.bemis-portfolio-index a:focus-visible, .bemis-project a:focus-visible { outline: 3px solid var(--bemis-blue); outline-offset: 5px; }
.bemis-project__visual a { display: block; }
@media (max-width: 1000px) {
  .bemis-project { grid-template-columns: 1fr; gap: 2rem; }
  .bemis-project__visual { min-height: 0; padding: 6% 15% 12% 6%; }
  .bemis-project__copy { max-width: 44rem; }
  .bemis-project__mobile { width: 23%; right: 5%; bottom: 5%; }
  .bemis-project__title { font-size: clamp(2rem, 4vw, 3rem); }
}
@media (max-width: 600px) {
  .bemis-portfolio-index__links { grid-template-columns: 1fr; gap: .75rem; }
  .bemis-portfolio-intro .bemis-hero__title { font-size: clamp(2.25rem, 8.5vw, 3.2rem); }
  .bemis-project__mobile { border-width: 3px; border-radius: .45rem; }
  .bemis-project__visual .wp-element-caption { font-size: .55rem; padding: .3rem; }
  .bemis-project__desktop { padding-top: .85rem; }
  .bemis-project__desktop::before { top: .3rem; left: .45rem; width: .2rem; height: .2rem; }
}
