/* Cherry Development Process 1.5 — all selectors confined to .chdp-root */
.chdp-root,.chdp-root *,.chdp-root *::before,.chdp-root *::after{box-sizing:border-box}
.chdp-root{isolation:isolate;position:relative;width:100%;max-width:none;margin:0;padding:var(--chdp-pad,45px) 0 28px;background:var(--chdp-bg,#fff);color:#161616;font-family:Arial,Helvetica,sans-serif}
.chdp-root .chdp-inner{max-width:var(--chdp-width,1300px);margin:0 auto;padding:0 18px}
.chdp-root [data-chdp-heading]{margin:0 0 42px;text-align:center;font-size:var(--chdp-title-size,27px);font-weight:750;line-height:1.3;letter-spacing:-.6px;color:var(--chdp-title-color,#161616)}
.chdp-root .steps{display:flex!important;align-items:stretch!important;gap:0!important;padding:12px 12px 18px!important;overflow:visible!important;width:100%}
.chdp-root .steps>.step{appearance:none;box-sizing:border-box!important;position:relative!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;min-width:0!important;min-height:0!important;height:var(--chdp-height,310px)!important;flex:1 1 0!important;margin:0 -1px 0 0!important;padding:24px 16px 20px!important;border:1px solid var(--chdp-border,#e8e8e8)!important;border-radius:0!important;background:#fff!important;color:#161616!important;overflow:visible!important;cursor:pointer;transition:flex-grow .48s cubic-bezier(.2,.8,.2,1),background .32s ease,color .32s ease!important}
.chdp-root .steps>.step.active{flex-grow:2.15!important;background:var(--chdp-active,#d00008)!important;color:#fff!important;border-color:var(--chdp-active,#d00008)!important;z-index:2}
.chdp-root .steps>.step .symbol{position:absolute;top:20px;right:16px;width:26px;height:26px;color:var(--chdp-icon,#f01823);transition:transform .3s ease}
.chdp-root .steps>.step .symbol svg,.chdp-root .steps>.step .symbol img{width:100%;height:100%}
.chdp-root .steps>.step.active .symbol{color:#fff}
.chdp-root .steps>.step .num{display:block;font-size:36px;line-height:1.1;color:#aaa;font-weight:300;margin:0 0 14px;transition:transform .3s}
.chdp-root .steps>.step.active .num{color:#fff}
.chdp-root .steps>.step .name{display:block;font-size:var(--chdp-name-size,20px);line-height:1.25;letter-spacing:-.4px;color:inherit;overflow-wrap:break-word;min-height:0}
.chdp-root .steps>.step .desc{display:block;font-size:12px;line-height:1.45;color:inherit;margin-top:0;max-height:0;opacity:0;visibility:hidden;overflow:hidden;transition:opacity .25s ease,max-height .35s ease,margin-top .35s ease}
.chdp-root .steps>.step.active .desc{max-height:calc(var(--chdp-height,310px) - 145px);overflow-y:auto;opacity:1;visibility:visible;margin-top:16px;transition-delay:.14s}
/* Four corners are actual elements. Their center is exactly on each card border.
   A white backing square keeps the line clear and prevents theme pseudo-element collisions. */
.chdp-root .steps>.step>.chdp-corner{position:absolute!important;display:grid!important;place-items:center!important;width:16px!important;height:16px!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:var(--chdp-bg,#fff)!important;color:#999!important;font:400 14px/1 Arial,sans-serif!important;z-index:30!important;pointer-events:none!important;opacity:1!important;visibility:visible!important;transform:translate(-50%,-50%)!important;box-shadow:none!important}
.chdp-root .steps>.step>.chdp-corner--tl{left:0!important;top:0!important}
.chdp-root .steps>.step>.chdp-corner--tr{left:100%!important;top:0!important}
.chdp-root .steps>.step>.chdp-corner--bl{left:0!important;top:100%!important}
.chdp-root .steps>.step>.chdp-corner--br{left:100%!important;top:100%!important}
.chdp-root .steps>.step:not(:last-child)>.chdp-corner--tr,.chdp-root .steps>.step:not(:last-child)>.chdp-corner--br{display:none!important}
.chdp-root .steps>.step::before,.chdp-root .steps>.step::after{content:none!important;display:none!important}
.chdp-root .steps>.step .symbol svg{fill:currentColor!important;color:inherit!important}
.chdp-root .steps>.step .symbol svg path,.chdp-root .steps>.step .symbol svg use{fill:currentColor!important}
.chdp-root[data-hover="1"] .steps>.step:hover .symbol{animation:chdp-icon-wiggle .55s ease}.chdp-root[data-hover="1"] .steps>.step:hover .num{animation:chdp-number-rise .4s ease}.chdp-root[data-hover="1"] .steps>.step:hover .name,.chdp-root[data-hover="1"] .steps>.step:hover .desc{animation:chdp-text-in .4s ease}
.chdp-root .steps>.step.reveal{animation:chdp-rise .55s both}
.chdp-root .steps>.step:focus-visible{outline:3px solid #f25;outline-offset:2px}
.chdp-root .chdp-mobile{display:none}
.chdp-root .chdp-mobile-tabs{display:flex;gap:9px;overflow-x:auto;padding:4px 0 12px;scroll-snap-type:x proximity}
.chdp-root .chdp-mobile-tab{flex:0 0 76px;min-height:82px;border:1px solid var(--chdp-border,#ddd)!important;background:#fff!important;color:#777!important;border-radius:8px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;cursor:pointer;scroll-snap-align:start;padding:10px!important}
.chdp-root .chdp-mobile-tab .chdp-tab-icon svg,.chdp-root .chdp-mobile-tab .chdp-tab-icon img{width:24px;height:24px;object-fit:contain;color:var(--chdp-icon,#e00)}
.chdp-root .chdp-mobile-tab[aria-selected="true"]{background:var(--chdp-active,#d00008)!important;color:#fff!important;border-color:var(--chdp-active,#d00008)!important}
.chdp-root .chdp-mobile-tab[aria-selected="true"] svg{color:#fff}
.chdp-root .chdp-mobile-detail{background:var(--chdp-active,#d00008);color:#fff;border-radius:12px;padding:24px;min-height:215px}
.chdp-root .chdp-mobile-detail h3{color:#fff!important;font-size:22px;line-height:1.25;margin:14px 0 12px}.chdp-root .chdp-mobile-detail p{color:#fff!important;font-size:14px;line-height:1.55;margin:0}.chdp-root .chdp-mobile-number{font-size:36px;font-weight:300}
.chdp-root .chdp-mobile-nav{display:flex;justify-content:space-between;margin-top:12px;gap:10px}.chdp-root .chdp-mobile-nav button{border:1px solid #ddd!important;background:#fff!important;color:#111!important;border-radius:20px!important;padding:8px 16px!important;cursor:pointer}
@keyframes chdp-icon-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg) scale(1.12)}65%{transform:rotate(9deg)}}@keyframes chdp-number-rise{from{opacity:.6;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes chdp-text-in{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes chdp-rise{from{opacity:.5;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:768px) and (max-width:1024px){.chdp-root .steps>.step{padding:20px 10px!important}.chdp-root .steps>.step .name{font-size:16px}.chdp-root .steps>.step .num{font-size:29px}.chdp-root .steps>.step .desc{font-size:11px}}
@media(max-width:767px){.chdp-root .steps{display:none!important}.chdp-root .chdp-mobile{display:block}.chdp-root .chdp-inner{padding:0 14px}.chdp-root [data-chdp-heading]{font-size:24px;margin-bottom:25px}.chdp-root{padding:32px 0}}
@media(prefers-reduced-motion:reduce){.chdp-root *,.chdp-root *::before,.chdp-root *::after{animation:none!important;transition:none!important}}
/* v1.7: ensure expanded card owns visible right-hand corner squares. */
.chdp-root .steps>.step.active{z-index:5!important}
.chdp-root .steps>.step.active>.chdp-corner--tr,
.chdp-root .steps>.step.active>.chdp-corner--br{display:grid!important;background:#fff!important;color:#999!important;z-index:60!important;opacity:1!important;visibility:visible!important}
.chdp-root .steps>.step.active>.chdp-corner--tr{left:100%!important;top:0!important}
.chdp-root .steps>.step.active>.chdp-corner--br{left:100%!important;top:100%!important}
