.km-promotions{background:transparent;color:#242320}
.km-promotions>.eyebrow{margin:0 0 18px;color:#8d6544}
.km-promotions__heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0 0 32px}
.km-promotions__heading h2{margin:0;font:400 clamp(40px,4vw,62px)/1.05 Georgia,serif;letter-spacing:-.035em}
.km-promotions__heading>p{max-width:420px;margin:0;color:#6b625a;font:15px/1.6 Arial,sans-serif}
.km-promotions__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.km-promo{position:relative;isolation:isolate;min-height:330px;overflow:hidden;border:1px solid #d9cfc2;border-radius:12px;background:#fffaf4;box-shadow:0 12px 30px rgba(56,44,28,.08);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.km-promo:hover{transform:translateY(-4px);border-color:#c49b71;box-shadow:0 18px 36px rgba(56,44,28,.15)}
.km-promo:focus-within{border-color:#a36e3d}
.km-promo:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#fffaf4 0%,rgba(255,250,244,.98) 37%,rgba(255,250,244,.44) 70%,rgba(255,250,244,.10) 100%);pointer-events:none}
.km-promo__image{position:absolute;z-index:0;right:-14%;bottom:-10%;width:90%;height:88%;object-fit:contain;object-position:right bottom;pointer-events:none}
.km-promo__content{display:flex;flex-direction:column;align-items:flex-start;min-height:330px;padding:25px 24px 24px;position:relative;z-index:2}
.km-promo__number{display:grid;place-items:center;flex:none;width:43px;height:43px;margin-bottom:18px;border:1px solid #c79c6d;border-radius:50%;background:#292a29;color:#e8c28e;font:700 17px/1 Georgia,serif;transition:background .25s,color .25s,box-shadow .25s}
.km-promo:hover .km-promo__number,.km-promo:focus-within .km-promo__number{background:#c79c6d;color:#1f1d19;box-shadow:0 0 0 5px rgba(199,156,109,.18)}
.km-promo h3{max-width:270px;margin:0 0 13px;font:400 clamp(24px,2vw,29px)/1.13 Georgia,serif;letter-spacing:-.02em}
.km-promo p{max-width:225px;margin:0 0 20px;color:#5d554d;font:14px/1.55 Arial,sans-serif}
.km-promo__link{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:43px;margin-top:auto;padding:10px 16px;border:1px solid #bd9569;border-radius:25px;background:rgba(255,250,244,.95);color:#33291f;text-decoration:none;font:600 13px/1.2 Arial,sans-serif;transition:background .2s,border-color .2s,color .2s}
.km-promo__link:hover{background:#c79c6d;border-color:#c79c6d;color:#1f1d19}
.km-promo__link:focus-visible{outline:3px solid #a36e3d;outline-offset:4px}
.km-promo__link span{font-size:17px;line-height:1}
@media(max-width:1050px){.km-promotions__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.km-promotions__heading{display:block}.km-promotions__heading>p{max-width:700px;margin-top:16px}}
@media(max-width:650px){.km-promotions__grid{grid-template-columns:1fr;gap:14px}.km-promotions__heading{margin-bottom:26px}.km-promo,.km-promo__content{min-height:310px}.km-promo__content{padding:22px}.km-promo__image{width:76%;height:77%;right:-10%;bottom:-8%}.km-promo h3{font-size:27px}.km-promo p{max-width:220px}}
@media(max-width:380px){.km-promo__image{width:72%;opacity:.82}.km-promo p{max-width:195px}}
@media(prefers-reduced-motion:reduce){.km-promo,.km-promo__number,.km-promo__link{transition:none}}

.km-promo:nth-child(4) .km-promo__image{right:0;bottom:0;width:50%;height:72%;object-position:right bottom}
@media(max-width:650px){.km-promo:nth-child(4) .km-promo__image{right:0;width:55%;height:72%;bottom:0}}

/* Social family card, 2026-10-05. */
.km-promo:nth-child(5):before{display:none}
.km-promo:nth-child(5) .km-promo__image{right:8px;bottom:12px;width:47%;height:180px;object-fit:contain;object-position:right bottom;opacity:1}
.km-promo:nth-child(5) h3{max-width:58%}
.km-promo:nth-child(5) p{max-width:44%}
@media(max-width:650px){.km-promo:nth-child(5) .km-promo__image{right:8px;bottom:70px;width:49%;height:158px}.km-promo:nth-child(5) h3{max-width:61%}.km-promo:nth-child(5) p{max-width:44%}}

/* Soldier embracing two children, 2026-10-05. */
.km-promo:nth-child(4):before{display:none}
.km-promo:nth-child(4) .km-promo__image{right:8px;bottom:12px;width:48%;height:220px;object-fit:contain;object-position:right bottom;opacity:1}
.km-promo:nth-child(4) p{max-width:48%}
@media(max-width:650px){.km-promo:nth-child(4),.km-promo:nth-child(4) .km-promo__content{min-height:370px}.km-promo:nth-child(4) .km-promo__image{right:8px;bottom:76px;width:44%;height:170px}.km-promo:nth-child(4) p{max-width:48%}}

/* A subtle house outline behind the family, 2026-10-05. */
.km-promo:nth-child(5):before{display:block;inset:auto 5px 12px auto;width:49%;height:250px;z-index:0;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20240%20270%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23ccb99f%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%20101L120%2022L226%20101M35%2087V248H205V87%22%2F%3E%3Cpath%20d%3D%22M170%2059V35H191V75%22%2F%3E%3Crect%20x%3D%2261%22%20y%3D%22113%22%20width%3D%2239%22%20height%3D%2243%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M80.5%20113V156M61%20134.5H100%22%2F%3E%3Crect%20x%3D%22141%22%20y%3D%22113%22%20width%3D%2239%22%20height%3D%2243%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M160.5%20113V156M141%20134.5H180M99%20248V187H141V248M22%20248H218%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center bottom/contain no-repeat;opacity:.48;pointer-events:none}
.km-promo:nth-child(5) .km-promo__image{z-index:1}
@media(max-width:650px){.km-promo:nth-child(5):before{right:5px;bottom:70px;width:51%;height:217px}}

/* Promotions emerge from the grid center on each viewport entry. */
@media(prefers-reduced-motion:no-preference){
  .km-promotions__grid>.km-promo{--km-promo-x:0px;--km-promo-y:0px}
  .km-promotions__grid>.km-promo:nth-child(3n+1){--km-promo-x:110px}
  .km-promotions__grid>.km-promo:nth-child(3n){--km-promo-x:-110px}
  .km-promotions__grid>.km-promo:nth-child(-n+3){--km-promo-y:22px}
  .km-promotions__grid>.km-promo:nth-child(n+4){--km-promo-y:-22px}
  body.km-motion-started .km-promotions__grid>.km-promo:not(.km-promo-center-visible){opacity:0;transform:translate3d(var(--km-promo-x),var(--km-promo-y),0) scale(.9);transition:none}
  body.km-motion-started .km-promotions__grid>.km-promo.km-promo-center-visible{animation:km-promo-center-out .85s cubic-bezier(.2,.72,.18,1) backwards}
  @keyframes km-promo-center-out{from{opacity:0;transform:translate3d(var(--km-promo-x),var(--km-promo-y),0) scale(.9)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
}
@media(prefers-reduced-motion:no-preference) and (max-width:1050px){
  .km-promotions__grid>.km-promo:nth-child(odd){--km-promo-x:75px}
  .km-promotions__grid>.km-promo:nth-child(even){--km-promo-x:-75px}
  .km-promotions__grid>.km-promo:nth-child(-n+2){--km-promo-y:25px}
  .km-promotions__grid>.km-promo:nth-child(n+3):nth-child(-n+4){--km-promo-y:0px}
  .km-promotions__grid>.km-promo:nth-child(n+5){--km-promo-y:-25px}
}
@media(prefers-reduced-motion:no-preference) and (max-width:650px){
  .km-promotions__grid>.km-promo{--km-promo-x:0px!important;--km-promo-y:25px!important}
}
