/* Skillo introduction: progressive enhancement for the homepage hero. */
.hero[data-hero-intro]{padding:132px 0 85px;min-height:790px;background:#fff}
.hero[data-hero-intro] .hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:64px;min-height:565px;align-items:center}
.hero[data-hero-intro] .hero-copy{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0;animation:none;min-width:0}
.hero[data-hero-intro] .programme-card{grid-column:2;grid-row:1;align-self:center;width:100%;animation:none;transition:opacity .65s,transform .8s cubic-bezier(.16,1,.3,1);background:#fff}
.intro-character-wrap{width:100%;display:flex;justify-content:center}
.intro-character.skillio-avatar{width:250px;height:250px;max-width:100%;cursor:pointer;outline-offset:-20px}
.intro-static h1{margin-bottom:20px!important;font-size:clamp(38px,4vw,64px)!important;letter-spacing:-.035em!important}
.intro-static h1 span{color:var(--blue)}
.intro-static p{font-size:17px;color:#536174;line-height:1.6;max-width:40ch;margin:12px auto}
.intro-scenes{display:none}
.intro-dialogue{width:100%;min-width:0}
.intro-ready .intro-static{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.intro-ready .intro-scenes{display:grid;min-height:215px;align-items:start}
.intro-scene{grid-column:1;grid-row:1;opacity:0;visibility:hidden;transition:opacity .2s;min-width:0}
.intro-scene.is-active{opacity:1;visibility:visible}
.intro-line{overflow:hidden;line-height:1.14;padding-bottom:.06em;text-wrap:balance}
.intro-line>span{display:block;opacity:0;transform:translateY(105%);transition:transform .65s cubic-bezier(.16,1,.3,1),opacity .35s}
.intro-line.is-visible>span{opacity:1;transform:translateY(0)}
.intro-title{font-weight:680;font-size:clamp(35px,3.4vw,48px);letter-spacing:-.035em;color:var(--ink)}
.intro-accent{color:var(--blue)}
.intro-detail{font-size:16px;color:#536174;line-height:1.55;letter-spacing:0}
.intro-title+.intro-detail{margin-top:23px}
.intro-detail+.intro-detail{margin-top:3px}
.intro-actions{display:flex;align-items:center;justify-content:center;width:100%;margin-top:18px}
.intro-skip{display:flex;align-items:center;justify-content:center;gap:12px;flex-basis:100%;padding:8px 10px;min-height:44px;font-size:13px;font-weight:600;color:var(--blue);text-underline-offset:5px}
.intro-skip:hover{text-decoration:underline}
.intro-skip svg{width:18px;height:18px}
.intro-ready:not(.has-course) .programme-card{opacity:0;transform:translate(30px,10px);pointer-events:none;visibility:hidden}
.intro-ready:not(.has-course) .hero-copy{grid-column:1/-1;display:grid;grid-template-columns:370px minmax(0,1fr);gap:12px 42px;width:min(960px,100%);justify-self:center;text-align:left}
.intro-ready:not(.has-course) .intro-character.skillio-avatar{width:370px;height:370px}
.intro-ready:not(.has-course) .intro-scenes{min-height:240px;align-items:center}
.intro-ready:not(.has-course) .intro-title{font-size:clamp(42px,4.4vw,64px)}
.intro-ready:not(.has-course) .intro-detail{font-size:18px}
.intro-ready:not(.has-course) .intro-actions{grid-column:1/-1;margin-top:10px}
.home-page .skillio-guide.on-hero,.home-page .skillio-guide.on-hero .guide-bubble{visibility:hidden;pointer-events:none}
.hero[data-hero-intro] .hero-bottom{bottom:25px}
.hero[data-hero-intro] .scroll-cue{color:#536174}
.intro-reduced .intro-scenes,.intro-reduced .intro-actions{display:none}
.intro-reduced .intro-static{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal}
.intro-reduced .programme-card{opacity:1;transform:none;visibility:visible;pointer-events:auto}
.intro-paused .intro-character-wrap{animation-play-state:paused}
@media(min-width:1500px){.hero[data-hero-intro]{padding-top:152px;min-height:810px}}
@media(min-width:721px) and (max-width:1050px){
  .hero[data-hero-intro] .hero-grid{grid-template-columns:minmax(0,1fr) 330px;gap:26px}
  .intro-ready:not(.has-course) .hero-copy{grid-template-columns:300px minmax(0,1fr);column-gap:22px}
  .intro-ready:not(.has-course) .intro-character.skillio-avatar{width:300px;height:300px}
  .intro-ready .intro-title{font-size:36px}
  .intro-character.skillio-avatar{width:210px;height:210px}
}
@media(max-width:720px){
  .hero[data-hero-intro]{padding-top:88px;padding-bottom:86px;min-height:0}
  .hero[data-hero-intro] .hero-grid{display:flex;flex-direction:column;gap:38px;min-height:0}
  .hero[data-hero-intro] .hero-copy,.intro-ready:not(.has-course) .hero-copy{display:flex;flex-direction:column;align-items:center;gap:0;width:100%;text-align:center;min-height:450px}
  .intro-character.skillio-avatar,.intro-ready:not(.has-course) .intro-character.skillio-avatar{width:240px;height:240px}
  .intro-ready .intro-scenes,.intro-ready:not(.has-course) .intro-scenes{min-height:174px;align-items:start}
  .intro-ready .intro-title,.intro-ready:not(.has-course) .intro-title{font-size:clamp(30px,8.6vw,45px);letter-spacing:-.035em}
  .intro-ready .intro-detail,.intro-ready:not(.has-course) .intro-detail{font-size:15px}
  .intro-title+.intro-detail{margin-top:17px}
  .intro-ready .intro-actions,.intro-ready:not(.has-course) .intro-actions{margin-top:4px}
  .hero[data-hero-intro] .programme-card{width:min(420px,100%);align-self:center}
  .intro-ready:not(.has-course) .programme-card{transform:translateY(20px)}
  .intro-static h1{font-size:40px!important}.intro-static p{font-size:15px}
  .intro-ready.has-course .hero-copy{min-height:0}
  .intro-ready.has-course .intro-character.skillio-avatar{width:140px;height:140px}
  .intro-ready.has-course .intro-scenes{min-height:145px}
  .intro-ready.has-course .hero-grid{gap:25px}
}
@media(max-width:360px){.intro-character.skillio-avatar,.intro-ready:not(.has-course) .intro-character.skillio-avatar{width:210px;height:210px}.hero[data-hero-intro] .hero-copy{min-height:420px}}
@media(prefers-reduced-motion:reduce){.intro-line>span,.hero[data-hero-intro] .programme-card{transition:none!important}.intro-line>span{transform:none}}
