/* ============================================================
   学员成长 · 一扇连续、温柔、面向孩子的成长窗口
   ============================================================ */
body.growth-page{
  background:#f7f4fb
}
main{
  --growth-ink:#292443;
  --growth-copy:#5b5368;
  --growth-soft:#756b7c;
  --growth-warm:#8a5962;
  --growth-veil:rgba(255,250,247,.68);
  --growth-veil-start:760px;
  --growth-veil-end:1180px;
  position:relative;
  isolation:isolate;
  overflow:clip;
  background-color:#f7f4fb;
  background-image:url("assets/growth-universe.jpg");
  background-repeat:no-repeat;
  background-position:center top;
  background-size:cover
}
main::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    rgba(255,250,247,0) 0,
    rgba(255,250,247,0) var(--growth-veil-start),
    var(--growth-veil) var(--growth-veil-end),
    var(--growth-veil) 100%
  )
}
.growth-shell{
  width:min(1180px,calc(100% - clamp(144px,18vw,300px)));
  max-width:none;
  margin-inline:auto;
  padding:0
}
.growth-section{
  position:relative;
  z-index:1;
  padding:96px 0 46px;
  scroll-margin-top:84px
}
.growth-heading{
  max-width:940px;
  margin-bottom:0
}
.growth-heading h2,
.growth-report-copy h2{
  font-weight:580;
  letter-spacing:-.035em;
  color:var(--growth-ink);
  text-wrap:balance
}
.growth-heading h2{
  font-size:clamp(36px,4.8vw,52px);
  line-height:1.16
}
.growth-lead{
  max-width:790px;
  margin-top:22px;
  font-size:clamp(17px,2vw,21px);
  font-weight:500;
  line-height:1.82;
  color:var(--growth-copy)
}

/* ===== 首屏 ===== */
.growth-hero{
  position:relative;
  z-index:1;
  min-height:800px;
  display:flex;
  align-items:center;
  padding:calc(var(--hd-h) + 84px) 0 96px;
  color:#fff;
  overflow:clip
}
.growth-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(5,8,37,.5) 0%,
    rgba(5,8,37,.25) 38%,
    rgba(5,8,37,.06) 68%,
    rgba(5,8,37,0) 100%
  )
}
.growth-hero .growth-shell{
  position:relative;
  z-index:1
}
.growth-hero h1{
  font-size:clamp(56px,7.2vw,96px);
  font-weight:680;
  line-height:1;
  letter-spacing:-.055em;
  color:#fff;
  text-shadow:0 4px 28px rgba(4,7,35,.22)
}
.growth-hero h1 span{
  display:block;
  animation:growthTitle .95s var(--ease) both
}
.growth-hero-sub{
  margin-top:24px;
  font-size:clamp(24px,2.9vw,36px);
  font-weight:560;
  line-height:1.5;
  color:rgba(255,255,255,.9);
  text-shadow:0 2px 20px rgba(4,7,35,.2);
  animation:growthFade .95s var(--ease) .4s both
}

/* ===== 成长报告 ===== */
.growth-report-section{
  position:relative;
  z-index:1;
  padding:84px 0;
  scroll-margin-top:84px
}
.growth-report-layout{
  display:grid;
  gap:52px;
  align-items:center
}
.growth-report-copy{
  max-width:340px
}
.growth-report-copy h2{
  font-size:clamp(34px,4.2vw,48px);
  line-height:1.16
}
.growth-report-copy .growth-lead{
  margin-top:18px;
  font-size:16.5px;
  font-weight:400;
  line-height:1.9;
  color:var(--growth-copy)
}
.growth-report-points{
  display:grid;
  gap:22px;
  margin-top:32px
}
.growth-report-point b{
  display:block;
  margin-bottom:6px;
  font-size:15.5px;
  font-weight:620;
  line-height:1.5;
  color:#372f52
}
.growth-report-point span{
  display:block;
  font-size:16px;
  line-height:1.86;
  color:var(--growth-copy)
}
.growth-report-link{
  display:inline-flex;
  align-items:center;
  margin-top:32px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--red);
  font-size:17px;
  font-weight:460;
  line-height:1.4;
  text-decoration:none;
  transition:color .25s ease,text-decoration-color .25s ease
}
.growth-report-link:hover{
  color:#a90b1e;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:5px
}
.growth-report-link.is-disabled{
  color:var(--growth-soft);
  text-decoration:none;
  cursor:default
}

/* 横向报告窗口：不显示浏览器地址栏和装饰圆点 */
.growth-report-window{
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.88);
  border-radius:30px;
  background:rgba(255,255,255,.94);
  box-shadow:
    0 34px 90px rgba(54,37,92,.17),
    0 3px 10px rgba(54,37,92,.06);
  backdrop-filter:blur(22px) saturate(135%);
  -webkit-backdrop-filter:blur(22px) saturate(135%)
}
.growth-report-window iframe{
  display:block;
  width:100%;
  height:clamp(460px,35vw,540px);
  border:0;
  background:#fff
}
.growth-report-window--pending{
  min-height:clamp(460px,35vw,540px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:48px;
  background:
    radial-gradient(circle at 88% 16%,rgba(255,195,112,.2),rgba(255,195,112,0) 34%),
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,247,244,.9))
}
.growth-pending-card{
  position:relative;
  max-width:430px
}
.growth-pending-card h3{
  font-size:clamp(27px,3vw,34px);
  font-weight:580;
  line-height:1.34;
  letter-spacing:-.028em;
  color:var(--growth-ink)
}
.growth-pending-card p{
  margin-top:18px;
  font-size:16.5px;
  line-height:1.9;
  color:var(--growth-copy)
}

/* ===== 过渡内容 ===== */
.growth-quote-band,
.growth-lines-mini,
.growth-human{
  position:relative;
  z-index:1
}
.growth-quote-band{
  padding:100px 0
}
.growth-quote-band blockquote{
  max-width:950px;
  font-size:clamp(29px,4vw,46px);
  font-weight:580;
  line-height:1.45;
  letter-spacing:-.035em;
  color:var(--growth-ink)
}
.growth-quote-band p{
  max-width:720px;
  margin-top:18px;
  font-size:17px;
  line-height:1.82;
  color:var(--growth-soft)
}
.growth-lines-mini{
  padding:92px 0
}
.growth-lines-mini-grid{
  display:grid;
  gap:70px
}
.growth-mini-track h3{
  font-size:clamp(25px,3vw,32px);
  font-weight:580;
  line-height:1.34;
  letter-spacing:-.028em;
  color:var(--growth-ink)
}
.growth-mini-track>p{
  max-width:570px;
  margin-top:14px;
  font-size:16.5px;
  line-height:1.88;
  color:var(--growth-copy)
}
.growth-mini-list{
  display:grid;
  gap:24px;
  margin-top:30px
}
.growth-mini-item{
  display:block;
  padding:0
}
.growth-mini-item b{
  display:block;
  font-size:16.5px;
  font-weight:620;
  line-height:1.55;
  color:#372f52
}
.growth-mini-item span{
  display:block;
  margin-top:6px;
  font-size:16px;
  line-height:1.82;
  color:var(--growth-copy)
}

/* ===== 孩子与家长 ===== */
.growth-human{
  padding:100px 0
}
.growth-human-grid{
  display:grid;
  gap:70px;
  margin-top:48px
}
.growth-human-col h3{
  font-size:clamp(23px,2.7vw,30px);
  font-weight:580;
  line-height:1.38;
  letter-spacing:-.025em;
  color:var(--growth-ink)
}
.growth-human-list{
  display:grid;
  gap:26px;
  margin-top:28px
}
.growth-human-row{
  font-size:16.5px;
  line-height:1.88;
  color:var(--growth-copy)
}
.growth-human-row b{
  display:block;
  margin-bottom:4px;
  font-size:17px;
  font-weight:620;
  line-height:1.65;
  color:#372f52
}

/* ===== 收尾：与整页背景连成一体 ===== */
.growth-close{
  position:relative;
  z-index:1;
  min-height:560px;
  display:flex;
  align-items:center;
  padding:116px 0 164px;
  color:var(--growth-ink);
  overflow:hidden
}
.growth-close-content{
  position:relative;
  z-index:2;
  max-width:900px
}
.growth-close h2{
  font-size:clamp(38px,5.2vw,62px);
  font-weight:600;
  line-height:1.25;
  letter-spacing:-.04em;
  color:var(--growth-ink)
}
.growth-close p{
  max-width:720px;
  margin-top:24px;
  font-size:clamp(18px,2.1vw,23px);
  font-weight:520;
  line-height:1.72;
  color:var(--growth-soft)
}

/* ===== 顶栏反色 ===== */
.growth-page .header:not(.scrolled) .wordmark span{color:#fff}
.growth-page .header:not(.scrolled) .wordmark b{color:#ff7b88}
.growth-page .header:not(.scrolled) .header-nav a{color:rgba(255,255,255,.76)}
.growth-page .header:not(.scrolled) .header-nav a.active{color:#fff}
.growth-page .header:not(.scrolled) .iconbtn,
.growth-page .header:not(.scrolled) .burger{color:#fff}
.growth-page .header:not(.scrolled) .burger span{background:#fff}

/* ===== 与全站同源 ===== */
.header .wordmark b{color:var(--ink)}
.header .wordmark span{display:inline-block;transform:translateY(.25em)}
.header .container,
.footer .container{max-width:1200px}
@media(min-width:1024px){
  .header .container,
  .footer .container{padding:0 22px}
  .header .container{position:relative}
  .header-nav{position:absolute;left:50%;transform:translateX(-50%)}
}
.footer{background:#111113;color:#f5f5f7;padding:60px 0 64px;border-top:1px solid rgba(255,255,255,.06)}
.footer h4,.footer a,.footer .f-bottom,.footer .f-brand{color:#f5f5f7}
.footer h4{line-height:1.12}
.footer a:hover{color:#ff4757}
.footer .f-bottom{border-top-color:rgba(255,255,255,.12);margin-top:44px;padding-top:22px}
.f-brand-center{display:flex;justify-content:flex-start}
.f-logo{width:66px;height:auto;display:block}
.footer ul{margin:0;padding:0}
.footer li a{font-size:14px}
.footer .f-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.footer .f-grid>div:first-child{grid-column:1/-1}

/* ===== 响应式 ===== */
@media(min-width:1200px){
  .growth-report-layout{
    grid-template-columns:330px minmax(0,1fr);
    gap:44px
  }
}
@media(min-width:960px){
  .growth-lines-mini-grid,
  .growth-human-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media(max-width:1199px){
  .growth-report-layout{
    grid-template-columns:1fr;
    gap:34px
  }
  .growth-report-copy{
    max-width:720px
  }
  .growth-report-points{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px
  }
  .growth-report-window iframe,
  .growth-report-window--pending{
    height:500px;
    min-height:500px
  }
}
@media(max-width:959px){
  .growth-shell{
    width:calc(100% - 144px)
  }
  .growth-lines-mini-grid,
  .growth-human-grid{
    gap:56px
  }
}
@media(max-width:734px){
  main{
    --growth-veil:rgba(255,250,247,.76);
    --growth-veil-start:560px;
    --growth-veil-end:860px
  }
  .growth-shell{
    width:calc(100% - 32px)
  }
  .growth-hero{
    min-height:650px;
    padding:calc(var(--hd-h) + 72px) 0 82px
  }
  .growth-hero h1{
    font-size:clamp(48px,13vw,68px)
  }
  .growth-hero-sub{
    margin-top:20px;
    font-size:clamp(22px,6.4vw,28px)
  }
  .growth-section{
    padding:76px 0 30px
  }
  .growth-heading h2{
    font-size:clamp(34px,10vw,44px)
  }
  .growth-report-section{
    padding:70px 0
  }
  .growth-report-copy h2{
    font-size:clamp(32px,9vw,42px)
  }
  .growth-report-copy .growth-lead{
    font-size:16px
  }
  .growth-report-points{
    grid-template-columns:1fr;
    gap:22px;
    margin-top:28px
  }
  .growth-report-window{
    display:none
  }
  .growth-quote-band,
  .growth-lines-mini,
  .growth-human{
    padding:70px 0
  }
  .growth-mini-list,
  .growth-human-list{
    gap:24px
  }
  .growth-close{
    min-height:480px;
    padding:88px 0 120px
  }
  .growth-close h2{
    font-size:clamp(36px,10.5vw,48px)
  }
  .footer .f-grid{grid-template-columns:1fr}
  .footer .f-grid>div:first-child{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){
  .growth-hero h1 span,
  .growth-hero-sub{animation:none}
}
@keyframes growthTitle{
  from{opacity:0;transform:translateY(28px)}
  to{opacity:1;transform:none}
}
@keyframes growthFade{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:none}
}
