/* PatCh.BaGs — automatic 3D customer cards and product coverflow.
   Portal rings removed. The original header, hero and typography are preserved. */
.patch-words-stage{min-height:370px}
.patch-words-photo{min-height:370px}
.patch-depth-reviews{
  position:relative;
  min-height:370px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  perspective:1150px;
  isolation:isolate;
  overflow:hidden;
  background:radial-gradient(ellipse at 50% 42%,#fdfcf9 0%,#f4f2ed 58%,#eeece6 100%);
}
.patch-depth-reviews::before{
  content:"";
  position:absolute;
  left:20%;right:20%;bottom:18%;
  height:28px;
  background:rgba(52,65,51,.11);
  filter:blur(18px);
  border-radius:50%;
  pointer-events:none
}
.patch-review-space{position:absolute;inset:0;perspective:1150px;transform-style:preserve-3d;overflow:hidden}
.patch-review-space .patch-depth-card{
  position:absolute;
  left:50%;top:46%;
  width:min(79%,465px);
  min-height:252px;
  max-height:300px;
  box-sizing:border-box;
  padding:26px 26px 23px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:17px;
  border:1px solid rgba(169,181,167,.42);
  border-radius:13px;
  background:#fffefb;
  box-shadow:0 24px 45px rgba(47,60,45,.13),0 5px 10px rgba(47,60,45,.05);
  backface-visibility:hidden;
  transform-style:preserve-3d;
  opacity:0;
  animation:patchDepthTravel 35s cubic-bezier(.44,.09,.56,.93) infinite;
  animation-delay:calc(-1.3s - var(--delay));
  will-change:transform,opacity;
}
.patch-review-space .patch-depth-card .quote{
  font:400 clamp(22px,2.65vw,33px)/1.34 var(--serif);
  letter-spacing:-.032em;
  color:#2e3c31;
  margin:0;
  text-wrap:pretty;
}
.patch-review-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.patch-review-card-label{font:700 9px/1.3 var(--sans);letter-spacing:.18em;color:#859080}
.patch-review-sparkles{display:inline-flex;align-items:center;gap:5px;color:#b49a65;flex:none}
.patch-review-sparkles i{font-style:normal;display:inline-block;animation:patchStarTwinkle 2.5s ease-in-out infinite;transform-origin:center}
.patch-review-sparkles i:nth-child(1){font-size:13px;animation-delay:-.1s}
.patch-review-sparkles i:nth-child(2){font-size:19px;animation-delay:-1.1s}
.patch-review-sparkles i:nth-child(3){font-size:12px;animation-delay:-1.8s}
.patch-review-byline{display:flex;align-items:center;gap:11px;border-top:1px solid #e8e8e1;padding-top:15px}
.patch-review-initial{width:31px;height:31px;border-radius:50%;background:#e2e8de;color:#5c6f58;display:grid;place-items:center;font:600 15px var(--serif);flex:none}
.patch-review-byline strong{font:700 12px/1.3 var(--sans);color:#334638;display:block}
.patch-review-byline small{font:600 8px/1.5 var(--sans);letter-spacing:.13em;color:#8a9286;display:block;margin-top:4px}
.patch-review-stage-note{position:absolute;bottom:12px;left:0;right:0;text-align:center;font:700 9px var(--sans);letter-spacing:.17em;color:#9a9e95;margin:0;pointer-events:none}
.patch-stage-paused .patch-depth-card{animation-play-state:paused}
@keyframes patchDepthTravel{
  0%{opacity:0;transform:translate3d(-50%,-44%,-290px) rotateY(-18deg) rotateX(7deg) scale(.83);filter:blur(1px)}
  3.5%,16.5%{opacity:1;transform:translate3d(-50%,-50%,42px) rotateY(0deg) rotateX(0deg) scale(1);filter:blur(0)}
  20%{opacity:0;transform:translate3d(-50%,-58%,-280px) rotateY(17deg) rotateX(-7deg) scale(.84);filter:blur(1px)}
  21%,100%{opacity:0;transform:translate3d(-50%,-58%,-280px) rotateY(17deg) rotateX(-7deg) scale(.84);filter:blur(1px)}
}
@keyframes patchStarTwinkle{
  0%,100%{opacity:.38;transform:scale(.8) rotate(-12deg)}
  45%{opacity:1;transform:scale(1.28) rotate(11deg)}
  65%{opacity:.78;transform:scale(1.02) rotate(0)}
}
@media(max-width:900px){
 .patch-depth-reviews{min-height:345px}
 .patch-review-space .patch-depth-card{width:min(81%,440px);padding:23px 23px 20px}
 .patch-review-space .patch-depth-card .quote{font-size:clamp(22px,3vw,29px)}
}
@media(max-width:767px){
 .patch-words-stage{min-height:0}
 .patch-depth-reviews{min-height:320px}
 .patch-review-space .patch-depth-card{width:85%;min-height:216px;max-height:270px;top:47%;padding:21px 20px 18px;gap:12px}
 .patch-review-space .patch-depth-card .quote{font-size:clamp(21px,5.2vw,27px);line-height:1.33}
 .patch-review-stage-note{bottom:13px;font-size:8px}
 .patch-review-byline{padding-top:11px}
}
@media(max-width:380px){
 .patch-depth-reviews{min-height:340px}
 .patch-review-space .patch-depth-card{width:86%;min-height:228px}
 .patch-review-space .patch-depth-card .quote{font-size:21px}
}
@media(prefers-reduced-motion:reduce){
 .patch-review-space .patch-depth-card{animation:none;opacity:0;filter:none;transform:translate(-50%,-50%);will-change:auto}
 .patch-review-space .patch-depth-card:first-child{opacity:1}
 .patch-review-sparkles i{animation:none;opacity:.8}
}
/* Automatic coverflow / 3D CMS-style product photography strip. */
.patch-cms3d{padding:66px 0 86px;background:#f8f7f2;overflow:hidden}
.patch-cms3d h2{font:500 clamp(44px,6vw,78px)/1.1 var(--serif);letter-spacing:-.075em;text-align:center;margin:4px auto 25px}
.patch-cms3d h2 em{font-weight:400;color:#889883}
.patch-cms3d .patch-cms-eyebrow{text-align:center;font:700 10px system-ui;letter-spacing:.2em;color:#7b8a7b}
.patch-cms3d-stage{height:370px;position:relative;perspective:900px;max-width:1200px;margin:auto;overflow:visible}
.patch-cms3d-card{width:min(32vw,270px);height:330px;position:absolute;top:20px;left:50%;margin-left:calc(min(32vw,270px)/-2);background:#edeae4;border-radius:4px;overflow:hidden;box-shadow:0 14px 32px #2a332923;transition:transform 1.1s cubic-bezier(.22,1,.36,1),opacity .9s,filter .9s;pointer-events:none}
.patch-cms3d-card img{height:100%;width:100%;display:block;object-fit:cover}
.patch-cms3d-card figcaption{position:absolute;bottom:0;inset-inline:0;color:white;background:linear-gradient(transparent,#1c231fa9);padding:42px 13px 16px;font:600 10px system-ui;letter-spacing:.06em}
.patch-cms3d-progress{height:3px;background:#d5ddd1;width:160px;margin:20px auto 0;border-radius:10px;overflow:hidden}
.patch-cms3d-progress:after{content:"";display:block;width:100%;height:100%;background:#758b72;animation:patchCmsProgress 4.6s linear infinite;transform-origin:left}
@keyframes patchCmsProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}


@media(max-width:900px){
 .patch-cms3d-stage{height:320px}
 .patch-cms3d-card{height:280px;width:240px;margin-left:-120px}
 .patch-stack3d-reviews{min-height:321px}
 .patch-review-stack{height:272px}
 .patch-stack-card{height:230px;padding:23px 24px 20px}
 .patch-stack-card blockquote{font-size:clamp(21px,3.4vw,27px)}
}
@media(max-width:767px){
 .patch-stack3d-reviews{min-height:309px;padding:0 6px 40px}
 .patch-review-stack{height:265px}
 .patch-stack-card{width:82%;height:224px;padding:20px 19px 18px}
 .patch-stack-card blockquote{font-size:clamp(20px,5.3vw,25px);line-height:1.31}
 .patch-stack-card.is-next{transform:translate(-50%,-50%) translate3d(23%,0,-155px) rotateY(-21deg) scale(.8);opacity:.45}
 .patch-stack-card.is-back{transform:translate(-50%,-50%) translate3d(-23%,0,-150px) rotateY(22deg) scale(.8);opacity:.39}
 .patch-stack-card.is-next2{opacity:.08}
 .patch-stack-author{font-size:11px}
 .patch-stack-source{font-size:7.5px}
}
@media(max-width:680px){
 .patch-cms3d{padding:49px 0 57px}
 .patch-cms3d-stage{height:280px}
 .patch-cms3d-card{width:190px;height:245px;margin-left:-95px}
}
@media(max-width:380px){
 .patch-stack-card{width:84%;height:236px}
 .patch-stack-card blockquote{font-size:20px}
}
@media(prefers-reduced-motion:reduce){
 .patch-stack-card{transition:none!important;will-change:auto}
 .patch-review-sparkles>span{animation:none!important;opacity:.7}
 .patch-stack-progress span{animation:none}
 .patch-cms3d-progress:after{animation:none}
 .patch-cms3d-card{transition:none}
}
