.principles-section{overflow:hidden}.principles-carousel{margin-top:42px;margin-right:calc(var(--pad) * -1)}.principle-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,82vw);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--pad) 6px 0;scrollbar-width:none;-webkit-overflow-scrolling:touch}.principle-track::-webkit-scrollbar{display:none}.principle-card{overflow:hidden;border-radius:28px;background:var(--white);scroll-snap-align:start;display:grid;grid-template-rows:320px 1fr;min-height:610px}.principle-card img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}.principle-card:nth-child(1) img{object-position:50% 62%}.principle-card:nth-child(2) img{object-position:50% 48%}.principle-card:nth-child(3) img{object-position:50% 50%}.principle-card__copy{padding:25px 22px 30px;display:flex;flex-direction:column;align-items:flex-start;background:var(--white);color:var(--ink)}.principle-card__copy .process__number{margin-bottom:17px}.principle-card__copy h3{font-size:clamp(1.8rem,6.5vw,2.55rem);max-width:10ch}.principle-card__copy p{margin-top:14px;max-width:30ch}.carousel-dots{display:flex;gap:9px;justify-content:center;margin:28px var(--pad) 0 0}.carousel-dots button{width:13px;height:13px;border:2px solid #ef4a3c;border-radius:50%;background:transparent;padding:0;cursor:pointer}.carousel-dots button[aria-current="true"],.carousel-dots button.is-active{background:#ef4a3c!important}.carousel-dots button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@media(min-width:720px){.principles-carousel{margin-right:0}.principle-track{grid-auto-columns:minmax(330px,400px);gap:20px;padding-right:0}.principle-card{border-radius:32px;grid-template-rows:365px 1fr;min-height:680px}.principle-card__copy{padding:30px}.carousel-dots{margin-right:0}}

/* Keep intrinsic image dimensions out of the fixed grid row. */
.principle-card__image {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.principle-card__image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  object-fit: cover;
}
.principle-card:nth-child(2) img {
  object-position: 50% 40%;
}
