/* =========================================
   PLAN SECTION (CTA BLOCK)
========================================= */

.plan{
  --sec-bg-left: rgba(17, 54, 118,.95);
  --sec-bg-right: rgba(17, 54, 118,.95);

  text-align:center;
  min-height:60vh;

  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;

  padding-top:70px;
  margin-top:-1px;
}


/* === TITLE === */

.plan-title{
  font-size:36px;
  font-weight:700;
  margin-bottom:20px;
  color:#ffcc00;
  font-family:'Figtree', sans-serif;
}

.plan-title-prefix{
  display:inline-block;
  font-family:var(--font-nav);
  color:#fff;
}

.plan-title-place{
  display:block;
  font-family:'Meow Script', cursive;
  font-size:clamp(64px, 9.2vw, 128px);
  font-weight:400;
  line-height:.95;
  color:#ffcc00;
  margin-top:10px;
}


/* === TEXT === */

.plan-text{
  font-size:18px;
  line-height:1.6;
  color:#fff;
  max-width:640px;
  margin:0 auto 40px;
  font-family:var(--font-nav);
}


/* === BUTTON === */

.plan-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:10px 22px;
  min-width:190px;
  border-radius:4px;
  border:1px solid #113676;
  background:#113676;
  color:#fff;
  text-decoration:none;
  font-family:'Figtree', sans-serif;
  font-size:14px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:1px;
  line-height:normal;
  text-align:center;
  cursor:pointer;
  overflow:hidden;
  isolation:isolate;
  box-shadow:0 10px 24px rgba(17,54,118,.28);
  transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s ease;
}

.plan-btn:hover{
  background:#1a4ea4;
  border-color:rgba(255,255,255,.48);
  box-shadow:0 12px 30px rgba(17,54,118,.42);
  transform:translateY(-2px);
}

.plan-btn:active{
  transform:translateY(0);
  box-shadow:0 8px 18px rgba(17,54,118,.30);
}

.plan-btn:focus-visible{
  outline:3px solid rgba(255,204,0,.65);
  outline-offset:4px;
}

.plan-btn-label,
.plan-btn-rotating .plan-btn-label{
  position:relative;
  z-index:2;
  display:inline-block;
  line-height:1;
  transform:translateY(1px);
}


/* === BUTTON SHINE EFFECT === */

.plan-btn.plan-btn-rotating::after{
  content:"";
  position:absolute;
  top:-25%;
  left:-180%;
  width:74%;
  height:160%;
  pointer-events:none;

  opacity:0;
  z-index:-1;
  transform:skewX(20deg);

  background:linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.35) 50%,
    rgba(255,255,255,0) 100%
  );

  animation:planBtnShine 2.8s ease-in-out infinite;
}

@keyframes planBtnShine{
  0%{ left:-180%; opacity:0; }
  30%{ opacity:.7; }
  52%{ left:160%; opacity:0; }
  100%{ left:160%; opacity:0; }
}

@media (prefers-reduced-motion: reduce){
  .plan-btn,
  .plan-btn::after{
    animation:none !important;
    transition:none !important;
  }
}

/* === ABOUT PAGE VARIANT === */

.page-about .plan{
  background:#fff;
  min-height:auto;
  padding:70px 0 90px;
}

.page-about .plan-title{
  color:#0A1F44;
}

.page-about .plan-title-prefix{
  color:#113676;
}

.page-about .plan-title-place{
  color:#ffcc00;
  margin-top:22px;
}

.page-about .plan-text{
  color:#111;
}

.page-about .plan-btn{
  background:#113676;
}