
/* Haechansol Daily English V2.5.0 · Stage Schedule */
.stage-schedule-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0 0 14px;
}
.stage-schedule-tab{
  display:flex;
  align-items:center;
  gap:13px;
  min-height:72px;
  padding:13px 16px;
  border:1px solid #dce5df;
  border-radius:19px;
  background:rgba(255,255,255,.92);
  color:#31433b;
  text-decoration:none;
  box-shadow:0 8px 22px rgba(20,42,34,.04);
  transition:.18s ease;
}
.stage-schedule-tab:hover{
  transform:translateY(-1px);
  border-color:#bbd0c4;
}
.stage-schedule-tab.active{
  color:#fff;
  border-color:#1f5b45;
  background:linear-gradient(135deg,#174a39,#24644f);
  box-shadow:0 14px 30px rgba(31,91,69,.16);
}
.stage-schedule-no{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:50%;
  background:#f7eddc;
  color:#a87935;
  font-size:12px;
  font-weight:950;
}
.stage-schedule-tab.active .stage-schedule-no{
  background:rgba(255,255,255,.14);
  color:#fff4dc;
}
.stage-schedule-copy{min-width:0}
.stage-schedule-copy small{
  display:block;
  font-size:9px;
  font-weight:900;
  letter-spacing:.11em;
  opacity:.72;
}
.stage-schedule-copy strong{
  display:block;
  margin:2px 0;
  font-size:17px;
}
.stage-schedule-copy span{
  display:block;
  color:#7b8780;
  font-size:10px;
}
.stage-schedule-tab.active .stage-schedule-copy span{color:rgba(255,255,255,.72)}

.stage-learning-intro{
  position:relative;
  overflow:hidden;
  margin:0 0 16px;
  padding:26px 28px;
  border:1px solid #dce6e0;
  border-radius:24px;
  background:
    radial-gradient(circle at right top,rgba(237,247,241,.9),transparent 30%),
    radial-gradient(circle at left bottom,rgba(255,247,232,.55),transparent 24%),
    linear-gradient(180deg,#fff,#fbfcfb);
  box-shadow:0 15px 36px rgba(20,42,34,.055);
}
.stage-learning-intro::after{
  content:"";
  position:absolute;
  right:-42px;
  top:-52px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(31,91,69,.08),transparent 68%);
  pointer-events:none;
}
.stage-intro-top{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:26px;
}
.stage-intro-kicker{
  margin:0 0 5px;
  color:#a27636;
  font-size:9px;
  font-weight:950;
  letter-spacing:.15em;
}
.stage-learning-intro h2{
  margin:0 0 8px;
  color:#17261f;
  font-size:26px;
  letter-spacing:-.035em;
}
.stage-intro-goal{
  max-width:780px;
  margin:0;
  color:#5c6963;
  font-size:13px;
  line-height:1.82;
  text-align:justify;
  text-justify:inter-word;
  word-break:keep-all;
}
.stage-flow-badge{
  flex:0 0 auto;
  padding:10px 13px;
  border:1px solid #eadfc8;
  border-radius:14px;
  background:#fffaf1;
}
.stage-flow-badge small{
  display:block;
  margin-bottom:3px;
  color:#98743b;
  font-size:8px;
  font-weight:900;
  letter-spacing:.11em;
}
.stage-flow-badge strong{
  color:#5a4b34;
  font-size:11px;
  white-space:nowrap;
}
.stage-intro-body{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.35fr .9fr;
  gap:14px;
  margin-top:18px;
}
.stage-focus-box,.stage-outcome-box{
  padding:18px;
  border:1px solid #e2e9e5;
  border-radius:18px;
  background:rgba(255,255,255,.8);
}
.stage-box-label{
  display:block;
  margin-bottom:10px;
  color:#1f5b45;
  font-size:10px;
  font-weight:950;
  letter-spacing:.09em;
}
.stage-focus-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}
.stage-focus-list li{
  position:relative;
  padding:10px 11px 10px 28px;
  border-radius:13px;
  background:#f7faf8;
  color:#46574f;
  font-size:11px;
  line-height:1.6;
}
.stage-focus-list li::before{
  content:"✓";
  position:absolute;
  left:11px;
  top:10px;
  color:#1f6a50;
  font-weight:950;
}
.stage-outcome-box p{
  margin:0;
  color:#4f5e57;
  font-size:12px;
  line-height:1.8;
  text-align:justify;
  word-break:keep-all;
}
.stage-schedule-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:4px 3px 12px;
  color:#78847e;
  font-size:10px;
}
.stage-schedule-summary strong{color:#1f5b45}

@media(max-width:820px){
  .stage-schedule-tabs{grid-template-columns:1fr}
  .stage-intro-top{flex-direction:column}
  .stage-flow-badge{width:100%;box-sizing:border-box}
  .stage-intro-body{grid-template-columns:1fr}
}
@media(max-width:600px){
  .stage-learning-intro{padding:21px 18px}
  .stage-learning-intro h2{font-size:22px}
  .stage-focus-list{grid-template-columns:1fr}
  .stage-schedule-summary{align-items:flex-start;flex-direction:column}
}
