/* Prespri Services Cards */
.phss-wrap{position:relative;font-family:'Outfit',sans-serif;box-sizing:border-box}
.phss-wrap *{box-sizing:border-box}
.phss-bg{position:absolute;left:50%;top:55%;width:70%;height:auto;transform:translate(-50%,-50%);pointer-events:none;z-index:0}

.phss-head{position:relative;z-index:1;text-align:center;margin-bottom:60px}
.phss-sub{display:inline-block;margin-bottom:12px;font-family:'Vollkorn',serif;font-weight:700;font-size:16px;line-height:1.2;text-transform:uppercase;letter-spacing:.5px;color:#5347ff}
.phss-title{margin:0 0 16px;font-family:'Vollkorn',serif;font-weight:800;font-size:48px;line-height:1.2;color:#00071a}
.phss-hdesc{margin:0;font-size:18px;line-height:1.5;color:#4d515f}

.phss-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:60px;row-gap:50px}

.phss-card{display:flex;align-items:center;gap:30px;padding:40px;background:#fff;border-radius:120px;box-shadow:0 10px 40px rgba(0,0,0,.07);transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s ease,background-color .4s ease,border-color .4s ease;will-change:transform}
.phss-layout-right .phss-card{flex-direction:row-reverse}
.phss-layout-top .phss-card{flex-direction:column;text-align:center;border-radius:40px}

.phss-icon{flex:0 0 140px;width:140px}
.phss-icon img{display:block;width:100%;height:auto;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.phss-ih-float .phss-card:hover .phss-icon img{transform:translateY(-8px)}
.phss-ih-zoom .phss-card:hover .phss-icon img{transform:scale(1.1)}
.phss-ih-rotate .phss-card:hover .phss-icon img{transform:rotate(-6deg) scale(1.05)}

.phss-body{flex:1;min-width:0}
.phss-ctitle{margin:0 0 12px;font-family:'Vollkorn',serif;font-weight:700;font-size:26px;line-height:1.2;text-transform:uppercase;color:#111}
.phss-ctitle a,.phss-ctitle a:hover{color:inherit;text-decoration:none;transition:color .3s}
.phss-cdesc{margin:0;font-size:16px;line-height:26px;color:#666}
.phss-more{display:inline-flex;align-items:center;gap:6px;margin-top:var(--phss-mt,14px);font-size:14px;font-weight:600;text-transform:uppercase;text-decoration:none;color:#5347ff;transition:color .3s,gap .3s}
.phss-more:hover{gap:10px;color:#d83aab}
.phss-more svg{flex:0 0 auto}

/* Read More: show only when the card is hovered */
.phss-more-hover .phss-more{max-height:0;margin-top:0;opacity:0;visibility:hidden;overflow:hidden;transform:translateY(10px);transition:max-height .5s cubic-bezier(.22,1,.36,1),margin-top .5s cubic-bezier(.22,1,.36,1),opacity .4s ease,transform .5s cubic-bezier(.22,1,.36,1),visibility .4s,color .3s,gap .3s}
.phss-more-hover .phss-card:hover .phss-more,
.phss-more-hover .phss-card:focus-within .phss-more{max-height:48px;margin-top:var(--phss-mt,14px);opacity:1;visibility:visible;transform:translateY(0)}
@media (hover:none){
  .phss-more-hover .phss-more{max-height:48px;margin-top:var(--phss-mt,14px);opacity:1;visibility:visible;transform:none}
}

/* scroll animation (enabled by JS adding .phss-js) */
.phss-js.phss-anim .phss-card:not(.is-in){opacity:0;transform:translateY(50px)}
.phss-js.phss-anim .phss-card.is-in{animation:phssIn 1.2s cubic-bezier(.22,1,.36,1) calc(var(--i,0)*.14s) both}
@keyframes phssIn{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}
.phss-js.phss-anim .phss-card.is-done{animation:none;opacity:1}

@media (max-width:1024px){
  .phss-title{font-size:38px}
  .phss-ctitle{font-size:22px}
}
@media (max-width:767px){
  .phss-title{font-size:30px}
  .phss-head{margin-bottom:35px}
}
@media (max-width:575px){
  .phss-card{flex-direction:column;text-align:center}
  .phss-layout-right .phss-card{flex-direction:column}
  .phss-icon{margin:0 auto}
}
@media (prefers-reduced-motion:reduce){
  .phss-js.phss-anim .phss-card{opacity:1!important;transform:none!important;animation:none!important}
}
