.apostille-home-process{position:relative;z-index:1;overflow:visible;background:#fff}
.apostille-home-process .section-title{position:relative;z-index:1;margin-bottom:0;overflow:visible}
.apostille-home-process .section-title::before,
.apostille-home-process .section-title::after{content:"";position:absolute;z-index:4;left:50%;pointer-events:none}
.apostille-home-process .section-title::before{top:calc(100% + 14px);width:0;height:28px;border-left:2px dotted #149cf2;transform:translateX(-50%);animation:apostille-scroll-dots 2.3s ease-in-out infinite;will-change:transform}
.apostille-home-process .section-title::after{top:calc(100% + 37px);width:10px;height:10px;border-right:2px solid #149cf2;border-bottom:2px solid #149cf2;border-radius:1px;transform:translateX(-50%) rotate(45deg);animation:apostille-scroll-arrow 2.3s ease-in-out infinite;will-change:transform}
.apostille-home-process .process-grid{width:100%;max-width:none;margin-top:104px}
.apostille-home-process .step-card{display:flex;min-height:100%;flex-direction:column;align-items:center;padding:0 0 24px;overflow:visible;background:#fff}
.apostille-home-process .step-card .step-number{top:-36px;left:50%;width:auto;height:auto;display:block;border-radius:0;background:transparent;color:#087fe4;box-shadow:none;transform:translateX(-50%);font-size:1.12rem;font-weight:800;line-height:1;letter-spacing:.12em;white-space:nowrap}
.apostille-home-process .step-card .step-number::before{content:"STEP "}
.apostille-home-process .step-card h3{min-height:2.6em;display:flex;align-items:center;justify-content:center;padding-inline:24px}
.apostille-home-process .step-card p{flex:1;margin-top:0;padding-inline:28px}
.apostille-home-process .step-card .mini-btn{width:82%;max-width:340px;min-height:44px;margin:16px auto 0;padding:0 16px;align-items:center;justify-content:center;border-radius:4px;background:linear-gradient(135deg,#087fe8,#0868cf);font-size:.875rem;box-shadow:0 8px 18px rgba(8,105,207,.18)}
.apostille-home-process .step-card:not(:last-child)::before,
.apostille-home-process .step-card:not(:last-child)::after{content:"";position:absolute;z-index:4;pointer-events:none;display:block}
.apostille-home-process .step-card:not(:last-child)::before{top:112px;right:-30px;width:18px;height:0;border-top:2px dotted #149cf2;animation:apostille-guide-dots 2.3s ease-in-out infinite;will-change:transform}
.apostille-home-process .step-card:not(:last-child)::after{top:107px;right:-32px;width:8px;height:8px;border-top:2px solid #149cf2;border-right:2px solid #149cf2;border-bottom:0;border-left:0;border-radius:1px;color:transparent;font-size:0;line-height:0;transform:rotate(45deg);animation:apostille-guide-arrow 2.3s ease-in-out infinite;will-change:transform}
.apostille-home-process .step-card:nth-child(2)::before,
.apostille-home-process .step-card:nth-child(2)::after{animation-delay:.35s}
.apostille-home-process .timing{margin-top:22px;overflow:hidden;border:1px solid #cbdce9;border-radius:6px;background:#fff}
.apostille-home-process .timing>div{min-height:104px;padding:20px 22px;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:14px}
.apostille-home-process .timing-icon{width:46px;height:46px;padding:10px;border-radius:50%;color:#087fe8;background:#eaf6ff;box-shadow:inset 0 0 0 1px #b9dcf6;stroke-width:1.9}
.apostille-home-process .timing-copy{min-width:0}
.apostille-home-process .timing-copy b{display:block;color:#076fc5;font-size:.86rem;line-height:1.35}
.apostille-home-process .timing-copy span{margin:5px 0 0;color:#455767;font-size:.76rem;line-height:1.5}

@keyframes apostille-scroll-dots{0%,55%,100%{transform:translateX(-50%) translateY(0)}20%,35%{transform:translateX(-50%) translateY(6px)}}
@keyframes apostille-scroll-arrow{0%,55%,100%{transform:translateX(-50%) translateY(0) rotate(45deg)}20%,35%{transform:translateX(-50%) translateY(6px) rotate(45deg)}}
@keyframes apostille-guide-dots{0%,55%,100%{transform:translateX(0)}20%,35%{transform:translateX(4px)}}
@keyframes apostille-guide-arrow{0%,55%,100%{transform:translateX(0) rotate(45deg)}20%,35%{transform:translateX(4px) rotate(45deg)}}

@media(max-width:720px){
  .apostille-home-process .section-title::before{top:calc(100% + 12px);height:24px}
  .apostille-home-process .section-title::after{top:calc(100% + 32px);width:9px;height:9px;border-width:0 2px 2px 0}
  .apostille-home-process .process-grid{margin-top:92px;gap:78px}
  .apostille-home-process .step-card{width:100%;max-width:560px;margin-inline:auto;padding-bottom:25px}
  .apostille-home-process .step-card .step-number{top:-32px}
  .apostille-home-process .step-card h3{min-height:0}
  .apostille-home-process .step-card p{padding-inline:24px}
  .apostille-home-process .step-card:not(:last-child)::before{top:auto;right:50%;bottom:-31px;width:0;height:20px;border-top:0;border-left:2px dotted #149cf2;animation-name:apostille-guide-dots-down}
  .apostille-home-process .step-card:not(:last-child)::after{top:auto;right:calc(50% - 4px);bottom:-36px;border-top:0;border-right:2px solid #149cf2;border-bottom:2px solid #149cf2;animation-name:apostille-guide-arrow-down}
  .apostille-home-process .timing>div{min-height:94px;padding:18px 20px;grid-template-columns:42px minmax(0,1fr);gap:13px}
  .apostille-home-process .timing-icon{width:42px;height:42px;padding:9px}
  .apostille-home-process .timing-copy b{font-size:.84rem}
  .apostille-home-process .timing-copy span{font-size:.78rem}
}
@keyframes apostille-guide-dots-down{0%,55%,100%{transform:translateY(0)}20%,35%{transform:translateY(4px)}}
@keyframes apostille-guide-arrow-down{0%,55%,100%{transform:translateY(0) rotate(45deg)}20%,35%{transform:translateY(4px) rotate(45deg)}}
@media(prefers-reduced-motion:reduce){
  .apostille-home-process .section-title::before,
  .apostille-home-process .section-title::after,
  .apostille-home-process .step-card:not(:last-child)::before,
  .apostille-home-process .step-card:not(:last-child)::after{animation:none}
}
