:root{
  --bg:#0f0f0f;
  --white:#ffffff;
  --muted:rgba(255,255,255,.82);
  --muted-2:rgba(255,255,255,.58);
  --line:rgba(255,255,255,.16);
  --glass:rgba(10,10,10,.36);
  --glass-strong:rgba(10,10,10,.44);
  --buy:#f5f2ee;
  --buy-text:#111111;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--white);
  font-family:'Montserrat', Arial, Helvetica, sans-serif;
}
a{color:inherit}
.hero{
  position:relative;
  min-height:100svh;
  overflow:hidden;
  isolation:isolate;
  background:#111;
}
.slides,.slide{position:absolute; inset:0}
.slide{
  opacity:0;
  transform:scale(1.04);
  background-size:cover;
  background-repeat:no-repeat;
  animation:heroCycle 49s infinite;
}
.slide:nth-child(1){animation-delay:0s}
.slide:nth-child(2){animation-delay:7s}
.slide:nth-child(3){animation-delay:14s}
.slide:nth-child(4){animation-delay:21s}
.slide:nth-child(5){animation-delay:28s}
.slide:nth-child(6){animation-delay:35s}
.slide:nth-child(7){animation-delay:42s}

@keyframes heroCycle{
  0%{opacity:1; transform:scale(1.04)}
  3%{opacity:1}
  13%{opacity:1}
  16%{opacity:0; transform:scale(1.01)}
  100%{opacity:0; transform:scale(1.01)}
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.80) 0%, rgba(0,0,0,.61) 20%, rgba(0,0,0,.22) 48%, rgba(0,0,0,.08) 78%),
    linear-gradient(0deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.22) 18%, rgba(0,0,0,.08) 42%, rgba(0,0,0,.02) 72%);
}

.top-note{
  position:absolute;
  top:24px;
  right:24px;
  z-index:3;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  font-size:9px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.76);
}

.hero-shell{
  position:relative;
  z-index:2;
  width:min(1540px,100%);
  min-height:100svh;
  margin:0 auto;
  padding:clamp(48px,6.5vh,82px) clamp(24px,5vw,112px) 26px;
  display:grid;
  grid-template-columns:minmax(430px, 600px) minmax(420px, 600px);
  align-items:end;
  gap:clamp(28px,4vw,72px);
}

.left{
  align-self:center;
  padding-top:56px;
  padding-bottom:74px;
}
.eyebrow{
  margin:0 0 18px;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
h1{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  font-size:clamp(82px,10vw,176px);
  line-height:.78;
  letter-spacing:-.068em;
  font-weight:900;
}
.intro{
  max-width:430px;
  margin:18px 0 28px;
  font-size:17px;
  line-height:1.48;
}
.program-link{
  width:min(420px,100%);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:0 0 12px;
  border-bottom:1px solid rgba(255,255,255,.58);
  text-decoration:none;
  font-size:13px;
  line-height:1;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.program-link .arrow{
  font-size:22px;
  line-height:1;
  font-weight:300;
}

.right{
  align-self:center;
  padding-top:56px;
  padding-bottom:22px;
}
.info-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:0;
  border:1px solid var(--line);
  background:var(--glass);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  overflow:hidden;
}
.fact{
  min-height:158px;
  padding:14px 16px 14px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:flex;
  flex-direction:column;
}
.fact:nth-child(3n){border-right:0}
.fact:nth-child(n+4){border-bottom:0}
.fact-index{
  margin-bottom:12px;
  font-size:10px;
  line-height:1;
  color:var(--muted-2);
  letter-spacing:.10em;
}
.fact h3{
  margin:0 0 8px;
  font-size:13px;
  line-height:1.14;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.fact p{
  margin:0;
  font-size:12px;
  line-height:1.42;
  color:var(--muted);
  max-width:95%;
}
.fact a{
  margin-top:auto;
  padding-top:10px;
  width:max-content;
  text-decoration:none;
  font-size:10px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-bottom:1px solid rgba(255,255,255,.55);
}

.buy-bar{
  margin-top:16px;
  min-height:92px;
  display:grid;
  grid-template-columns:auto auto 1fr auto;
  align-items:center;
  gap:18px;
  padding:16px 18px;
  background:rgba(245,242,238,.96);
  color:var(--buy-text);
  border:1px solid rgba(255,255,255,.52);
  text-decoration:none;
  box-shadow:0 14px 45px rgba(0,0,0,.16);
}
.buy-start{
  font-size:10px;
  line-height:1.2;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(17,17,17,.68);
}
.price{
  display:flex;
  align-items:flex-end;
  gap:12px;
}
.price-old{
  font-size:18px;
  line-height:1;
  color:rgba(17,17,17,.42);
  text-decoration:line-through;
  transform:translateY(-2px);
}
.price-new{
  font-size:50px;
  line-height:.9;
  font-weight:900;
  letter-spacing:-.05em;
}
.price-note{
  font-size:11px;
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(17,17,17,.58);
}
.buy-title{
  justify-self:end;
  font-size:24px;
  line-height:.95;
  font-weight:900;
  letter-spacing:-.04em;
  text-transform:uppercase;
  text-align:right;
}
.buy-arrow{
  font-size:34px;
  line-height:1;
  font-weight:300;
}

.mobile-buy{display:none}

@media (max-width:1140px){
  .hero-shell{
    grid-template-columns:1fr;
    align-items:end;
    gap:18px;
  }
  .left{
    padding-bottom:12px;
  }
  .right{
    width:100%;
    max-width:760px;
    padding-top:0;
    padding-bottom:0;
  }
}
@media (max-width:860px){
  .top-note{display:none}
  .hero-shell{
    padding:68px 18px 18px;
    align-items:end;
  }
  .left{
    padding-top:20px;
    padding-bottom:8px;
  }
  .right{
    padding-bottom:0;
  }
  .eyebrow{
    font-size:10px;
    margin-bottom:14px;
  }
  h1{
    font-size:clamp(64px,22vw,110px);
  }
  .intro{
    max-width:340px;
    margin:16px 0 20px;
    font-size:14px;
  }
  .program-link{
    max-width:320px;
    font-size:11px;
  }
  .mobile-buy{
    display:block;
    margin:0 0 12px;
    padding:16px 16px 14px;
    background:rgba(245,242,238,.96);
    color:#111;
    border:1px solid rgba(255,255,255,.5);
    text-decoration:none;
  }
  .mobile-buy-top{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
  }
  .mobile-buy .price{
    gap:8px;
    min-width:0;
  }
  .mobile-buy .price-old{font-size:14px}
  .mobile-buy .price-new{font-size:34px}
  .mobile-buy .price-note{
    display:block;
    margin:0 0 4px;
    font-size:9px;
    white-space:nowrap;
  }
  .mobile-buy-bottom{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid rgba(17,17,17,.16);
  }
  .mobile-buy .buy-title{
    font-size:18px;
    line-height:1;
    text-align:left;
    white-space:normal;
  }
  .mobile-buy .buy-arrow{
    flex:0 0 auto;
    font-size:28px;
  }
  .buy-bar{display:none}
  .info-grid{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
  }
  .fact{
    flex:0 0 min(74vw,280px);
    min-height:136px;
    scroll-snap-align:start;
    border-right:1px solid var(--line)!important;
    border-bottom:0!important;
    background:var(--glass-strong);
  }
  .hero::before{
    background:
      linear-gradient(90deg, rgba(0,0,0,.74) 0%, rgba(0,0,0,.48) 28%, rgba(0,0,0,.12) 74%),
      linear-gradient(0deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.40) 18%, rgba(0,0,0,.10) 46%, rgba(0,0,0,.03) 76%);
  }
}
@media (prefers-reduced-motion:reduce){
  .slide{animation:none; opacity:0}
  .slide:first-child{opacity:1}
}

.ui-arrow{
  display:block;
  width:1em;
  height:1em;
  overflow:visible;
}
.program-link .arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  font-size:22px;
  line-height:1;
}
.buy-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
}
.buy-arrow .ui-arrow{
  width:30px;
  height:30px;
}
@media (max-width:860px){
  .mobile-buy .buy-arrow .ui-arrow{
    width:27px;
    height:27px;
  }
}


/* ==============================
   FULL PAGE DRAFT - SECTIONS
   ============================== */
main{display:block}
.section{
  position:relative;
  padding:clamp(82px,10vw,150px) clamp(22px,6vw,112px);
}
.section-inner{
  width:min(1380px,100%);
  margin:0 auto;
}
.section-kicker{
  margin:0 0 20px;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.section-title{
  margin:0;
  max-width:1040px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(48px,6vw,98px);
  line-height:.92;
  letter-spacing:-.055em;
  font-weight:900;
  text-transform:uppercase;
}
.section-title.small{
  font-size:clamp(42px,5vw,78px);
}
.section-copy{
  max-width:680px;
  margin:28px 0 0;
  font-size:16px;
  line-height:1.65;
}
.light{
  background:#f1f0ed;
  color:#111;
}
.dark{
  background:#111;
  color:#fff;
}
.soft{
  background:#d9d5ce;
  color:#111;
}
.rule{
  width:100%;
  height:1px;
  margin:42px 0 0;
  background:currentColor;
  opacity:.18;
}
.ui-link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:28px;
  padding-bottom:8px;
  border-bottom:1px solid currentColor;
  text-decoration:none;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ui-link svg{width:17px;height:17px}

/* 02 - promise */
.promise-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:clamp(42px,8vw,120px);
  align-items:end;
}
.promise-statement{
  max-width:820px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(42px,5.6vw,88px);
  line-height:.98;
  letter-spacing:-.05em;
  font-weight:900;
  text-transform:uppercase;
}
.promise-side{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  border-top:1px solid rgba(17,17,17,.25);
}
.promise-item{
  min-height:142px;
  padding:18px 18px 18px 0;
  border-bottom:1px solid rgba(17,17,17,.25);
}
.promise-item:nth-child(odd){border-right:1px solid rgba(17,17,17,.25)}
.promise-item:nth-child(even){padding-left:18px}
.promise-item strong{
  display:block;
  margin-bottom:10px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.promise-item span{
  display:block;
  font-size:13px;
  line-height:1.45;
  color:rgba(17,17,17,.68);
}

/* 03 - how it works */
.steps{
  margin-top:58px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.20);
  border-bottom:1px solid rgba(255,255,255,.20);
}
.step{
  min-height:300px;
  padding:24px 24px 28px;
  border-right:1px solid rgba(255,255,255,.20);
  display:flex;
  flex-direction:column;
}
.step:last-child{border-right:0}
.step-num{
  margin-bottom:46px;
  color:rgba(255,255,255,.45);
  font-size:11px;
  letter-spacing:.12em;
}
.step h3{
  margin:0 0 16px;
  font-size:20px;
  line-height:1;
  text-transform:uppercase;
}
.step p{
  margin:0;
  max-width:260px;
  font-size:13px;
  line-height:1.55;
  color:rgba(255,255,255,.72);
}
.step-foot{
  margin-top:auto;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:rgba(255,255,255,.52);
}

/* 04 - roadmap */
.roadmap-head{
  display:grid;
  grid-template-columns:1.1fr .65fr;
  gap:60px;
  align-items:end;
}
.roadmap-head .section-copy{margin:0}
.roadmap{
  margin-top:56px;
  border-top:1px solid rgba(17,17,17,.24);
}
.road-row{
  display:grid;
  grid-template-columns:70px 1fr 1.2fr;
  gap:24px;
  padding:22px 0;
  border-bottom:1px solid rgba(17,17,17,.24);
  align-items:start;
}
.road-num{
  font-size:12px;
  letter-spacing:.12em;
  color:rgba(17,17,17,.46);
}
.road-title{
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(25px,2.3vw,38px);
  line-height:.98;
  font-weight:900;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.road-desc{
  font-size:13px;
  line-height:1.5;
  color:rgba(17,17,17,.67);
  max-width:520px;
}

/* 05 - inside */
.inside-layout{
  margin-top:52px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:20px;
}
.inside-image{
  min-height:650px;
  background:url('https://kfschool-light-start-assets.ykukushkn.workers.dev/assets/diploma-3.webp') center/cover no-repeat;
}
.inside-cards{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  border-top:1px solid rgba(255,255,255,.18);
  border-left:1px solid rgba(255,255,255,.18);
}
.inside-card{
  min-height:215px;
  padding:22px;
  border-right:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18);
}
.inside-card .big{
  display:block;
  margin-bottom:22px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:34px;
  line-height:.9;
  font-weight:900;
  letter-spacing:-.04em;
}
.inside-card h3{
  margin:0 0 10px;
  font-size:12px;
  text-transform:uppercase;
}
.inside-card p{
  margin:0;
  font-size:12px;
  line-height:1.48;
  color:rgba(255,255,255,.70);
}

/* 06 - student work */
.student-gallery{
  margin-top:52px;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  grid-template-rows:420px 420px;
  gap:12px;
}
.student-shot{
  background-size:cover;
  background-position:center;
  min-height:0;
}
.student-shot.a{grid-row:1/3;background-image:url('https://kfschool-light-start-assets.ykukushkn.workers.dev/assets/diploma-11.webp');background-position:center 35%}
.student-shot.b{background-image:url('https://kfschool-light-start-assets.ykukushkn.workers.dev/assets/diploma-5.webp');background-position:center 40%}
.student-shot.c{background-image:url('https://kfschool-light-start-assets.ykukushkn.workers.dev/assets/diploma-6.webp');background-position:center 38%}
.gallery-note{
  margin-top:18px;
  display:flex;
  justify-content:space-between;
  gap:30px;
  font-size:11px;
  line-height:1.45;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.gallery-note span:last-child{opacity:.55}

/* 07 - before begin */
.before-grid{
  margin-top:52px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border-top:1px solid rgba(17,17,17,.20);
  border-left:1px solid rgba(17,17,17,.20);
}
.before-card{
  min-height:220px;
  padding:24px;
  border-right:1px solid rgba(17,17,17,.20);
  border-bottom:1px solid rgba(17,17,17,.20);
}
.before-card h3{
  margin:0 0 18px;
  font-size:14px;
  text-transform:uppercase;
}
.before-card p{
  margin:0;
  max-width:560px;
  font-size:14px;
  line-height:1.6;
  color:rgba(17,17,17,.67);
}
.before-card a{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid currentColor;
}

/* 08 - about */
.about-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  min-height:820px;
}
.about-copy{
  padding:clamp(72px,8vw,120px) clamp(30px,6vw,90px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#111;
}
.about-photo{
  min-height:820px;
  background:url('https://kfschool-light-start-assets.ykukushkn.workers.dev/assets/founders.webp') center 43%/cover no-repeat;
  filter:grayscale(1);
}
.about-copy .section-copy{
  color:rgba(255,255,255,.74);
}
.about-mini{
  margin-top:42px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0;
  border-top:1px solid rgba(255,255,255,.18);
}
.about-mini div{
  padding:18px 18px 0 0;
}
.about-mini strong{
  display:block;
  margin-bottom:8px;
  font-size:12px;
  text-transform:uppercase;
}
.about-mini span{
  display:block;
  font-size:12px;
  line-height:1.45;
  color:rgba(255,255,255,.58);
}

/* 09 - reviews */
.review-grid{
  margin-top:54px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(17,17,17,.22);
  border-left:1px solid rgba(17,17,17,.22);
}
.review{
  min-height:350px;
  padding:24px;
  border-right:1px solid rgba(17,17,17,.22);
  border-bottom:1px solid rgba(17,17,17,.22);
  display:flex;
  flex-direction:column;
}
.review q{
  quotes:none;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(24px,2.1vw,34px);
  line-height:1.03;
  letter-spacing:-.03em;
  font-weight:800;
}
.review q::before,.review q::after{content:""}
.review-person{
  margin-top:auto;
  padding-top:30px;
  font-size:11px;
  line-height:1.45;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.review-person span{
  display:block;
  opacity:.55;
  margin-top:3px;
}

/* 10 diploma */
.diploma-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:70px;
  align-items:center;
}
.diploma-card{
  border:1px solid rgba(255,255,255,.20);
  min-height:420px;
  padding:34px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.015)),
    #161616;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.diploma-word{
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(58px,7vw,106px);
  line-height:.82;
  font-weight:900;
  letter-spacing:-.06em;
  text-transform:uppercase;
}
.diploma-small{
  font-size:11px;
  line-height:1.5;
  color:rgba(255,255,255,.55);
  text-transform:uppercase;
  letter-spacing:.06em;
}

/* 11 pricing */
.price-section{
  background:#ebe8e3;
  color:#111;
}
.price-grid{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:clamp(40px,8vw,130px);
  align-items:end;
}
.big-price{
  display:flex;
  align-items:flex-end;
  gap:20px;
  margin:38px 0 14px;
}
.big-price .old{
  font-size:28px;
  line-height:1;
  color:rgba(17,17,17,.38);
  text-decoration:line-through;
  transform:translateY(-5px);
}
.big-price .new{
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(92px,11vw,170px);
  line-height:.72;
  font-weight:900;
  letter-spacing:-.07em;
}
.buy-final{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:104px;
  padding:20px 24px;
  background:#111;
  color:#fff;
  text-decoration:none;
}
.buy-final strong{
  font-size:18px;
  text-transform:uppercase;
}
.buy-final svg{width:34px;height:34px}
.price-points{
  display:grid;
  grid-template-columns:1fr;
  border-top:1px solid rgba(17,17,17,.22);
}
.price-point{
  padding:17px 0;
  border-bottom:1px solid rgba(17,17,17,.22);
  font-size:13px;
  line-height:1.4;
}

/* 12 faq */
.faq{
  margin-top:48px;
  border-top:1px solid rgba(255,255,255,.20);
}
.faq-item{
  border-bottom:1px solid rgba(255,255,255,.20);
}
.faq-item summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px 0;
  font-size:14px;
  font-weight:700;
  text-transform:uppercase;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";
  font-size:26px;
  font-weight:300;
}
.faq-item[open] summary::after{content:"−"}
.faq-answer{
  max-width:800px;
  padding:0 0 24px;
  font-size:14px;
  line-height:1.65;
  color:rgba(255,255,255,.68);
}

/* final footer note */
.draft-footer{
  padding:30px clamp(22px,6vw,112px);
  background:#070707;
  color:rgba(255,255,255,.5);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.draft-footer-inner{width:min(1380px,100%);margin:auto;display:flex;justify-content:space-between;gap:20px}

@media (max-width:980px){
  .promise-grid,.roadmap-head,.inside-layout,.diploma-grid,.price-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .step:nth-child(2){border-right:0}
  .step:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.20)}
  .road-row{grid-template-columns:56px 1fr}
  .road-desc{grid-column:2}
  .student-gallery{grid-template-columns:1fr 1fr;grid-template-rows:380px 280px}
  .student-shot.a{grid-column:1/3;grid-row:auto}
  .about-grid{grid-template-columns:1fr}
  .about-photo{order:-1;min-height:680px}
  .review-grid{grid-template-columns:1fr}
}
@media (max-width:680px){
  .section{padding:72px 18px}
  .section-title{font-size:clamp(43px,14vw,70px)}
  .section-copy{font-size:14px;line-height:1.6}
  .promise-side{grid-template-columns:1fr}
  .promise-item:nth-child(odd){border-right:0}
  .promise-item:nth-child(even){padding-left:0}
  .steps{grid-template-columns:1fr}
  .step{min-height:230px;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.20)!important}
  .step:last-child{border-bottom:0!important}
  .road-row{grid-template-columns:44px 1fr;gap:12px}
  .road-desc{font-size:12px}
  .inside-image{min-height:420px}
  .inside-cards{grid-template-columns:1fr}
  .inside-card{min-height:180px}
  .student-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}
  .student-shot{flex:0 0 85vw;height:520px;scroll-snap-align:start}
  .gallery-note{display:block}
  .gallery-note span{display:block;margin-top:8px}
  .before-grid{grid-template-columns:1fr}
  .about-photo{min-height:560px;background-position:center 42%}
  .about-copy{padding:72px 18px}
  .review{min-height:290px}
  .diploma-card{min-height:320px}
  .big-price{align-items:end}
  .big-price .old{font-size:20px}
  .buy-final{min-height:88px}
  .draft-footer-inner{display:block}
  .draft-footer-inner span{display:block;margin-top:8px}
}


/* ===== V2 OVERRIDES ===== */
.about-grid.v2{
  grid-template-columns:1fr 1fr;
  min-height:92svh;
}
.about-grid.v2 .about-photo{
  min-height:92svh;
}
.about-grid.v2 .about-copy{
  padding-top:clamp(76px,8vw,128px);
  padding-bottom:clamp(76px,8vw,128px);
}
.about-facts{
  margin-top:42px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(255,255,255,.18);
}
.about-fact{
  padding:18px 18px 0 0;
}
.about-fact + .about-fact{
  padding-left:18px;
  border-left:1px solid rgba(255,255,255,.18);
}
.about-fact strong{
  display:block;
  font-family:Arial,Helvetica,sans-serif;
  font-size:28px;
  line-height:1;
  margin-bottom:8px;
}
.about-fact span{
  display:block;
  font-size:11px;
  line-height:1.4;
  color:rgba(255,255,255,.58);
  text-transform:uppercase;
  letter-spacing:.06em;
}

/* moving gallery */
.student-showcase{
  overflow:hidden;
}
.student-showcase .section-inner{
  width:min(1460px,100%);
}
.marquee-wrap{
  margin-top:54px;
  overflow:hidden;
}
.marquee-row{
  display:flex;
  width:max-content;
  gap:10px;
  will-change:transform;
}
.marquee-row + .marquee-row{margin-top:10px}
.marquee-row.forward{animation:marqueeLeft 48s linear infinite}
.marquee-row.reverse{animation:marqueeRight 54s linear infinite}
.marquee-wrap:hover .marquee-row{animation-play-state:paused}
@keyframes marqueeLeft{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@keyframes marqueeRight{
  from{transform:translateX(-50%)}
  to{transform:translateX(0)}
}
.marquee-card{
  flex:0 0 auto;
  overflow:hidden;
  background:#cfcac3;
}
.marquee-card.h{width:460px;height:300px}
.marquee-card.v{width:240px;height:360px}
.marquee-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.student-caption{
  margin-top:24px;
  display:flex;
  justify-content:space-between;
  gap:24px;
  font-size:11px;
  line-height:1.5;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.student-caption span:last-child{opacity:.5}

/* final conversion block */
.convert{
  background:#111;
  color:#fff;
  padding:0;
}
.convert-shell{
  min-height:92svh;
  display:grid;
  grid-template-columns:1.18fr .82fr;
}
.convert-visual{
  position:relative;
  min-height:92svh;
  background:url('https://kfschool-light-start-assets.ykukushkn.workers.dev/assets/student-h-01.webp') center/cover no-repeat;
}
.convert-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,.18));
}
.convert-label{
  position:absolute;
  left:28px;
  bottom:26px;
  z-index:2;
  font-size:10px;
  line-height:1.3;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
}
.convert-panel{
  padding:clamp(62px,7vw,110px) clamp(28px,5vw,80px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.convert-panel .section-kicker{margin-bottom:18px}
.convert-title{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(52px,5vw,88px);
  line-height:.9;
  letter-spacing:-.055em;
  font-weight:900;
  text-transform:uppercase;
}
.convert-price{
  display:flex;
  align-items:flex-end;
  gap:18px;
  margin:40px 0 24px;
}
.convert-price .old{
  font-size:22px;
  color:rgba(255,255,255,.42);
  text-decoration:line-through;
  transform:translateY(-4px);
}
.convert-price .new{
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(82px,8vw,132px);
  line-height:.76;
  font-weight:900;
  letter-spacing:-.065em;
}
.convert-sub{
  margin-top:-6px;
  margin-bottom:28px;
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.52);
}
.convert-buy{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:96px;
  padding:20px 22px;
  background:#f2f0ec;
  color:#111;
  text-decoration:none;
}
.convert-buy strong{
  font-size:18px;
  text-transform:uppercase;
}
.convert-buy svg{width:32px;height:32px}
.convert-proof{
  margin-top:26px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border-top:1px solid rgba(255,255,255,.18);
  border-left:1px solid rgba(255,255,255,.18);
}
.convert-proof div{
  min-height:104px;
  padding:14px 12px;
  border-right:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18);
}
.convert-proof strong{
  display:block;
  margin-bottom:7px;
  font-size:11px;
  line-height:1.15;
  text-transform:uppercase;
}
.convert-proof span{
  display:block;
  font-size:10px;
  line-height:1.35;
  color:rgba(255,255,255,.56);
}

@media(max-width:980px){
  .about-grid.v2{grid-template-columns:1fr}
  .about-grid.v2 .about-photo{order:-1;min-height:72svh}
  .convert-shell{grid-template-columns:1fr}
  .convert-visual{min-height:68svh}
  .convert-panel{padding:72px 22px}
}
@media(max-width:680px){
  .about-facts{grid-template-columns:1fr}
  .about-fact + .about-fact{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.18);
    padding-left:0;
    padding-top:16px;
  }
  .marquee-wrap{overflow-x:auto;padding-bottom:4px}
  .marquee-row,.marquee-row.forward,.marquee-row.reverse{
    animation:none;
    transform:none;
  }
  .marquee-card.h{width:80vw;height:54vw;max-height:340px}
  .marquee-card.v{width:58vw;height:82vw;max-height:520px}
  .student-caption{display:block}
  .student-caption span{display:block;margin-top:8px}
  .convert-proof{grid-template-columns:1fr 1fr}
  .convert-proof div:nth-child(5){grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){
  .marquee-row.forward,.marquee-row.reverse{animation:none}
}


.inline-brand-link{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45)}
.inline-brand-link:hover{border-bottom-color:#fff}

.toolkit-visual{position:relative;min-height:650px;overflow:hidden;background:#161616;border:1px solid rgba(255,255,255,.12)}
.toolkit-slide{position:absolute;inset:0;opacity:0;background-size:cover;background-position:center;transition:opacity .8s ease}
.toolkit-slide.active{opacity:1}
.toolkit-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.18) 55%,rgba(0,0,0,.62))}
.toolkit-slide-label{position:absolute;left:22px;right:22px;bottom:24px;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;color:#fff}
.toolkit-slide-label span{font-size:10px;letter-spacing:.12em;opacity:.6}
.toolkit-slide-label strong{font-size:13px;text-transform:uppercase;letter-spacing:.03em}
.toolkit-progress{position:absolute;left:22px;right:22px;top:20px;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.toolkit-progress span{height:2px;background:rgba(255,255,255,.25)}
.toolkit-progress span.active{background:#fff}

.certificate-wrap{width:100%}
.certificate-wrap img{display:block;width:100%;height:auto;box-shadow:0 24px 60px rgba(0,0,0,.25)}
.certificate-caption{margin-top:12px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.48)}

.alt-grid{margin-top:54px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(17,17,17,.22);border-left:1px solid rgba(17,17,17,.22)}
.alt-card{min-height:420px;padding:24px;display:flex;flex-direction:column;border-right:1px solid rgba(17,17,17,.22);border-bottom:1px solid rgba(17,17,17,.22);color:#111;text-decoration:none;transition:.25s ease}
.alt-card:hover{background:#111;color:#fff}
.alt-num{font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:.5}
.alt-name{margin-top:48px;font-family:Arial,Helvetica,sans-serif;font-size:clamp(42px,4vw,68px);line-height:.86;letter-spacing:-.055em;font-weight:900}
.alt-copy{margin-top:26px;max-width:340px;font-size:13px;line-height:1.5;opacity:.65}
.alt-link{margin-top:auto;padding-top:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.alt-arrow{display:inline-block;width:13px;height:13px;position:relative}
.alt-arrow::before{content:"";position:absolute;width:9px;height:9px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;right:0;top:0}
.alt-arrow::after{content:"";position:absolute;width:13px;height:1.5px;background:currentColor;transform:rotate(-45deg);transform-origin:right center;right:0;top:1px}
@media(max-width:980px){.alt-grid{grid-template-columns:1fr}.alt-card{min-height:300px}}
@media(max-width:680px){.toolkit-visual{min-height:470px}}


.toolkit-heading-row{display:grid;grid-template-columns:1.2fr .55fr;gap:clamp(40px,7vw,110px);align-items:end}
.toolkit-intro{margin:0 0 8px;color:rgba(255,255,255,.66)}
.toolkit-tabs{margin-top:54px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}
.toolkit-tab{appearance:none;border:0;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);padding:18px 20px;background:transparent;color:#fff;text-align:left;cursor:pointer;min-height:86px;font-family:'Montserrat',Arial,sans-serif}
.toolkit-tab span{display:block;margin-bottom:10px;font-size:10px;letter-spacing:.12em;color:rgba(255,255,255,.44)}
.toolkit-tab strong{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.toolkit-tab.active{background:#f1efeb;color:#111}
.toolkit-tab.active span{color:rgba(17,17,17,.42)}
.toolkit-stage{border-left:1px solid rgba(255,255,255,.18);border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.toolkit-panel{display:none;grid-template-columns:.35fr .65fr;min-height:650px}
.toolkit-panel.active{display:grid}
.toolkit-copy{padding:34px 30px 32px;border-right:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column}
.toolkit-index{margin-bottom:38px;font-size:10px;letter-spacing:.12em;color:rgba(255,255,255,.44)}
.toolkit-copy h3{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:clamp(42px,4vw,68px);line-height:.88;letter-spacing:-.05em;font-weight:900;text-transform:uppercase}
.toolkit-copy p{margin:28px 0 0;font-size:13px;line-height:1.58;color:rgba(255,255,255,.68);max-width:420px}
.toolkit-copy ul{margin:auto 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.16)}
.toolkit-copy li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.16);font-size:11px;line-height:1.35;text-transform:uppercase;letter-spacing:.045em}
.toolkit-visual-stage{min-height:650px;position:relative;overflow:hidden;background:#d9d5cf}
.coursebook-stage{display:flex;align-items:center;justify-content:center;padding:42px}
.book-frame{width:min(78%,680px);max-height:540px;overflow:hidden;box-shadow:0 30px 65px rgba(0,0,0,.24)}
.book-frame img{width:100%;height:auto;display:block}
.toolkit-meta{position:absolute;left:24px;bottom:20px;font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:rgba(17,17,17,.58)}
.scene-accordion{min-height:650px;display:flex;overflow:hidden}
.scene-strip{position:relative;flex:1 1 0;min-width:0;background-size:cover;background-position:center;border-right:1px solid rgba(255,255,255,.22);transition:flex .55s cubic-bezier(.2,.7,.2,1),filter .35s ease;filter:saturate(.85) brightness(.78);cursor:pointer}
.scene-strip:last-child{border-right:0}
.scene-strip.active,.scene-strip:hover{flex:5 1 0;filter:saturate(1) brightness(1)}
.scene-strip span{position:absolute;left:14px;top:14px;padding:5px 7px;background:rgba(0,0,0,.34);backdrop-filter:blur(5px);font-size:9px;letter-spacing:.1em;color:#fff}
.materials-layout{min-height:650px;display:grid;grid-template-columns:.6fr .4fr;background:#161616}
.materials-preview{min-height:650px;overflow:hidden;border-right:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;padding:34px}
.materials-preview img{width:100%;max-height:580px;object-fit:contain;display:block}
.material-categories{display:grid;grid-template-columns:1fr}
.material-categories div{min-height:80px;padding:14px 18px;display:flex;align-items:center;gap:18px;border-bottom:1px solid rgba(255,255,255,.16)}
.material-categories div:last-child{border-bottom:0}
.material-categories span{width:28px;flex:0 0 28px;font-size:9px;color:rgba(255,255,255,.38);letter-spacing:.1em}
.material-categories strong{font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.toolkit-foot{display:flex;justify-content:space-between;gap:24px;padding:15px 0 0;font-size:9px;line-height:1.4;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.42)}
@media(max-width:980px){.toolkit-heading-row{grid-template-columns:1fr}.toolkit-panel{grid-template-columns:1fr}.toolkit-copy{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);min-height:430px}.toolkit-copy ul{margin-top:44px}.materials-layout{grid-template-columns:1fr}.materials-preview{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}}
@media(max-width:680px){.toolkit-tabs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.toolkit-tab{flex:0 0 68vw;scroll-snap-align:start}.toolkit-copy{padding:28px 20px;min-height:auto}.toolkit-panel{min-height:auto}.toolkit-visual-stage{min-height:500px}.coursebook-stage{padding:22px}.book-frame{width:92%}.scene-accordion{min-height:520px;overflow-x:auto;scroll-snap-type:x mandatory}.scene-strip,.scene-strip.active,.scene-strip:hover{flex:0 0 78vw;scroll-snap-align:start;filter:none}.materials-layout{min-height:auto}.materials-preview{min-height:480px;padding:22px}.material-categories{grid-template-columns:1fr 1fr}.material-categories div:nth-child(odd){border-right:1px solid rgba(255,255,255,.16)}.toolkit-foot{display:block}.toolkit-foot span{display:block;margin-top:6px}}


/* ===== V5 / APPROVED TOOLKIT INTEGRATION ===== */
.approved-toolkit{
  overflow:hidden;
}
.approved-toolkit-head{
  display:grid;
  grid-template-columns:1.2fr .55fr;
  gap:clamp(40px,7vw,110px);
  align-items:end;
}
.approved-toolkit-head .section-copy{
  margin:0 0 8px;
  color:rgba(255,255,255,.66);
}
.approved-toolkit-tabs{
  margin-top:54px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(255,255,255,.18);
  border-left:1px solid rgba(255,255,255,.18);
}
.approved-tab{
  appearance:none;
  min-height:104px;
  padding:18px 20px;
  border:0;
  border-right:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18);
  background:transparent;
  color:#fff;
  cursor:pointer;
  text-align:left;
  font-family:'Montserrat',Arial,sans-serif;
  transition:background .2s ease,color .2s ease;
}
.approved-tab span{
  display:block;
  margin-bottom:12px;
  font-size:9px;
  line-height:1;
  letter-spacing:.12em;
  color:rgba(255,255,255,.42);
}
.approved-tab strong{
  display:block;
  font-size:13px;
  line-height:1.1;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.approved-tab small{
  display:block;
  margin-top:7px;
  font-size:10px;
  line-height:1.25;
  color:rgba(255,255,255,.48);
}
.approved-tab.active{
  background:#f1efeb;
  color:#111;
}
.approved-tab.active span,
.approved-tab.active small{
  color:rgba(17,17,17,.48);
}
.approved-toolkit-stage{
  position:relative;
  width:100%;
  background:#090909;
  border-left:1px solid rgba(255,255,255,.18);
  border-right:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18);
  overflow:hidden;
  transition:aspect-ratio .35s ease;
}
.approved-toolkit-stage.ratio-4-3{aspect-ratio:4/3}
.approved-toolkit-stage.ratio-3-2{aspect-ratio:3/2}
.approved-toolkit-panel{
  display:none;
  position:absolute;
  inset:0;
}
.approved-toolkit-panel.active{display:block}
.approved-toolkit-panel iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#0b0b0b;
}
.approved-toolkit-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-top:15px;
  font-size:9px;
  line-height:1.4;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:rgba(255,255,255,.42);
}
@media(max-width:980px){
  .approved-toolkit-head{grid-template-columns:1fr}
}
@media(max-width:680px){
  .approved-toolkit-tabs{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
  }
  .approved-tab{
    flex:0 0 72vw;
    scroll-snap-align:start;
  }
  /* Each approved cover already has its own mobile layout.
     Give the iframe a phone-like viewport instead of forcing desktop ratios. */
  .approved-toolkit-stage.ratio-4-3,
  .approved-toolkit-stage.ratio-3-2{
    aspect-ratio:auto;
    height:82svh;
    min-height:620px;
  }
  .approved-toolkit-foot{display:block}
  .approved-toolkit-foot span{display:block;margin-top:6px}
}


/* ===== V6 / TOOLKIT VIEWPORT POLISH ===== */
@media (min-width: 681px){
  .approved-toolkit-stage,
  .approved-toolkit-stage.ratio-4-3,
  .approved-toolkit-stage.ratio-3-2{
    aspect-ratio:auto !important;
    height:min(72vh,760px);
    min-height:590px;
    max-height:760px;
  }
  .approved-toolkit-panel iframe{
    width:100%;
    height:100%;
  }
}


/* ===== V7 / NATIVE EDITORIAL TOOLKIT ===== */
.native-toolkit{overflow:hidden}
.native-toolkit-head{
  display:grid;
  grid-template-columns:1.18fr .58fr;
  gap:clamp(40px,7vw,110px);
  align-items:end;
}
.native-toolkit-head .section-copy{
  margin:0 0 7px;
  color:rgba(255,255,255,.64);
}
.native-toolkit-tabs{
  margin-top:52px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(255,255,255,.17);
  border-left:1px solid rgba(255,255,255,.17);
}
.native-toolkit-tab{
  appearance:none;
  min-height:98px;
  padding:18px 20px;
  border:0;
  border-right:1px solid rgba(255,255,255,.17);
  border-bottom:1px solid rgba(255,255,255,.17);
  background:transparent;
  color:#fff;
  text-align:left;
  cursor:pointer;
  font-family:'Montserrat',Arial,sans-serif;
}
.native-toolkit-tab span{
  display:block;
  margin-bottom:12px;
  font-size:9px;
  letter-spacing:.12em;
  color:rgba(255,255,255,.40);
}
.native-toolkit-tab strong{
  display:block;
  font-size:13px;
  line-height:1.05;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.native-toolkit-tab small{
  display:block;
  margin-top:7px;
  font-size:10px;
  line-height:1.25;
  color:rgba(255,255,255,.46);
}
.native-toolkit-tab.active{
  background:#f0eeea;
  color:#111;
}
.native-toolkit-tab.active span,
.native-toolkit-tab.active small{
  color:rgba(17,17,17,.42);
}

.native-toolkit-stage{
  position:relative;
  height:min(70vh,720px);
  min-height:600px;
  border-left:1px solid rgba(255,255,255,.17);
  border-right:1px solid rgba(255,255,255,.17);
  border-bottom:1px solid rgba(255,255,255,.17);
  overflow:hidden;
  background:#0a0a0a;
}
.native-toolkit-panel{
  display:none;
  position:absolute;
  inset:0;
}
.native-toolkit-panel.active{display:block}
.native-frame{
  position:absolute;
  inset:5%;
  z-index:4;
  border:1px solid rgba(255,255,255,.22);
  pointer-events:none;
}
.native-topline{
  position:absolute;
  z-index:5;
  top:7%;
  left:7%;
  right:7%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  pointer-events:none;
}
.native-brand{
  font-size:19px;
  line-height:1;
  letter-spacing:.01em;
}
.native-brand b{font-weight:900}
.native-meta{
  font-size:9px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.70);
}
.native-eyebrow{
  font-size:10px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:800;
}

/* Coursebook */
.coursebook-native{
  position:absolute;
  inset:0;
  overflow:hidden;
  isolation:isolate;
  background:#111 url('https://kfschool-light-start-assets.ykukushkn.workers.dev/assets/toolkit-coursebook-cover.webp') center/cover no-repeat;
}
.coursebook-native::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(0,0,0,.80) 0%,rgba(0,0,0,.58) 26%,rgba(0,0,0,.16) 64%,rgba(0,0,0,.03) 100%),
    linear-gradient(0deg,rgba(0,0,0,.38) 0%,rgba(0,0,0,.07) 50%,rgba(0,0,0,.02) 78%);
}
.coursebook-native-copy{
  position:absolute;
  z-index:3;
  left:7%;
  top:52%;
  transform:translateY(-40%);
  width:min(47%,620px);
}
.coursebook-native-copy h3{
  margin:16px 0 0;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(78px,8.6vw,142px);
  line-height:.78;
  letter-spacing:-.07em;
  font-weight:900;
  text-transform:uppercase;
}
.coursebook-native-copy p{
  margin:22px 0 0;
  max-width:520px;
  font-size:15px;
  line-height:1.48;
}
.coursebook-native-meta{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  max-width:560px;
  border-top:1px solid rgba(255,255,255,.28);
  border-left:1px solid rgba(255,255,255,.28);
}
.coursebook-native-meta div{
  min-height:76px;
  padding:13px;
  border-right:1px solid rgba(255,255,255,.28);
  border-bottom:1px solid rgba(255,255,255,.28);
}
.coursebook-native-meta span{
  display:block;
  margin-bottom:7px;
  font-size:8px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.64);
}
.coursebook-native-meta strong{
  font-size:11px;
  line-height:1.25;
  text-transform:uppercase;
}

/* Scene library */
.scenes-native{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:#0b0b0b;
}
.scenes-native-heading{
  position:absolute;
  z-index:8;
  top:13%;
  left:7%;
  width:min(310px,28%);
  pointer-events:none;
  text-shadow:0 3px 22px rgba(0,0,0,.30);
}
.scenes-native-heading h3{
  margin:10px 0 0;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(38px,3.7vw,60px);
  line-height:.86;
  letter-spacing:-.055em;
  font-weight:900;
}
.scenes-native-heading p{
  margin:9px 0 0;
  font-size:9px;
  line-height:1.35;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:rgba(255,255,255,.66);
}
.scenes-native-strips{
  position:absolute;
  inset:0;
  display:flex;
  padding-top:24%;
}
.native-scene{
  position:relative;
  flex:1 1 0;
  min-width:0;
  border:0;
  border-right:1px solid rgba(255,255,255,.16);
  background-image:
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.10) 55%,rgba(0,0,0,.48)),
    var(--bg);
  background-size:cover;
  background-position:center;
  cursor:pointer;
  transition:flex .55s cubic-bezier(.2,.72,.2,1),filter .35s ease;
  filter:saturate(.88) brightness(.84);
}
.native-scene:last-child{border-right:0}
.native-scene.active,
.native-scene:hover{
  flex:4.6 1 0;
  filter:none;
}
.native-scene span,
.native-scene strong{
  position:absolute;
  bottom:20px;
  z-index:3;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  text-transform:uppercase;
  color:#fff;
}
.native-scene span{
  left:14px;
  font-size:9px;
  letter-spacing:.12em;
  opacity:.55;
}
.native-scene strong{
  left:31px;
  font-size:10px;
  letter-spacing:.08em;
  opacity:.86;
}

/* Materials */
.materials-native{
  position:absolute;
  inset:0;
  overflow:hidden;
  isolation:isolate;
  background:#111 url('https://kfschool-light-start-assets.ykukushkn.workers.dev/assets/toolkit-materials-hero.png') center/cover no-repeat;
}
.materials-native::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.08) 42%,rgba(0,0,0,.22) 70%,rgba(0,0,0,.44) 100%),
    linear-gradient(0deg,rgba(0,0,0,.20),rgba(0,0,0,.02) 50%);
}
.materials-native-card{
  position:absolute;
  z-index:5;
  top:51%;
  right:7%;
  transform:translateY(-50%);
  width:min(35%,470px);
  padding:20px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(13,13,13,.38);
  backdrop-filter:blur(15px);
}
.materials-native-card h3{
  margin:15px 0 0;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(52px,4.9vw,80px);
  line-height:.82;
  letter-spacing:-.063em;
  font-weight:900;
}
.materials-native-card p{
  margin:18px 0 0;
  max-width:390px;
  font-size:13px;
  line-height:1.5;
  color:rgba(255,255,255,.84);
}
.materials-native-grid{
  margin-top:14px;
  display:grid;
  grid-template-columns:1fr 1fr;
}
.materials-native-grid div{
  min-height:68px;
  padding:12px;
  border-top:1px solid rgba(255,255,255,.16);
}
.materials-native-grid div:nth-child(odd){
  border-right:1px solid rgba(255,255,255,.16);
}
.materials-native-grid span{
  display:block;
  margin-bottom:7px;
  font-size:8px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
}
.materials-native-grid strong{
  display:block;
  font-size:10px;
  line-height:1.25;
  text-transform:uppercase;
}
.materials-native-footer{
  position:absolute;
  z-index:4;
  left:7%;
  right:7%;
  bottom:6%;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:8px;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
}

.native-toolkit-foot{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-top:14px;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:rgba(255,255,255,.40);
}

/* Mobile */
@media(max-width:900px){
  .native-toolkit-head{grid-template-columns:1fr}
}
@media(max-width:680px){
  .native-toolkit-tabs{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
  }
  .native-toolkit-tab{
    flex:0 0 72vw;
    scroll-snap-align:start;
  }
  .native-toolkit-stage{
    height:78svh;
    min-height:620px;
  }
  .native-frame{inset:18px}
  .native-topline{top:28px;left:24px;right:24px}
  .native-meta{display:none}

  .coursebook-native{
    background-position:62% center;
  }
  .coursebook-native-copy{
    left:24px;
    right:24px;
    top:auto;
    bottom:34px;
    transform:none;
    width:auto;
  }
  .coursebook-native-copy h3{
    font-size:clamp(70px,22vw,108px);
  }
  .coursebook-native-copy p{
    max-width:320px;
    font-size:13px;
  }
  .coursebook-native-meta{
    grid-template-columns:1fr 1fr;
    max-width:100%;
  }
  .coursebook-native-meta div:nth-child(3){grid-column:1/-1}

  .scenes-native-heading{
    top:82px;
    left:24px;
    width:calc(100vw - 48px);
  }
  .scenes-native-heading h3{font-size:40px}
  .scenes-native-strips{
    top:0;
    padding-top:205px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
  }
  .native-scene,
  .native-scene.active,
  .native-scene:hover{
    flex:0 0 74vw;
    scroll-snap-align:center;
    filter:none;
  }

  .materials-native{
    background-position:center;
  }
  .materials-native-card{
    left:24px;
    right:24px;
    top:auto;
    bottom:72px;
    transform:none;
    width:auto;
  }
  .materials-native-card h3{
    font-size:clamp(54px,16vw,84px);
  }
  .materials-native-footer{
    left:24px;
    right:24px;
    bottom:28px;
    font-size:7px;
  }
  .native-toolkit-foot{display:block}
  .native-toolkit-foot span{display:block;margin-top:5px}
}


/* ===== V8 / TOOLKIT PROPORTIONS + SCENE EDITORIAL FIX ===== */

/* Slightly wider, slightly taller: more magazine-spread, less compressed */
.native-toolkit .section-inner{
  width:min(1500px,100%);
}
.native-toolkit-stage{
  height:clamp(650px,76vh,820px) !important;
  min-height:650px !important;
  max-height:820px;
}

/* Coursebook: give the main composition a little more breathing room */
.coursebook-native-copy{
  top:50%;
  transform:translateY(-38%);
  width:min(49%,650px);
}
.coursebook-native-copy h3{
  font-size:clamp(82px,8.9vw,150px);
}

/* Materials: slightly more editorial scale, while respecting safe area */
.materials-native-card{
  width:min(34%,455px);
  right:6.5%;
}
.materials-native-card h3{
  font-size:clamp(50px,4.5vw,76px);
}
.materials-native-card h3{
  font-size:clamp(42px,3.75vw,62px);
  letter-spacing:-.045em;
}

/* Scene library: title gets its own column, scenes use full available height */
.scenes-editorial{
  display:block;
  position:relative;
  height:100%;
  padding:0;
  background:#0b0b0b;
}
.scenes-editorial::after{
  content:"";
  position:absolute;
  z-index:5;
  inset:0 auto 0 0;
  width:min(48%,680px);
  pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.42) 56%,rgba(0,0,0,0) 100%);
}
.scenes-editorial .native-frame{
  z-index:10;
}
.scenes-editorial .native-topline{
  z-index:12;
}

.scenes-editorial-copy{
  position:absolute;
  inset:0 auto 0 0;
  width:min(42%,590px);
  z-index:8;
  padding:150px 34px 36px 7%;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  pointer-events:none;
  background:transparent;
}
.scenes-editorial-copy h3{
  margin:14px 0 0;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(42px,4.2vw,68px);
  line-height:.86;
  letter-spacing:-.055em;
  font-weight:900;
}
.scene-mini-meta{
  margin-top:auto;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.14);
}
.scene-mini-meta span{
  display:block;
  margin-top:7px;
  font-size:8px;
  line-height:1.35;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:rgba(255,255,255,.42);
}

.scenes-editorial-strips{
  position:absolute !important;
  inset:0 !important;
  padding-top:0 !important;
  min-width:0;
  height:100%;
  display:flex;
  overflow:hidden;
}
.scenes-editorial-strips .native-scene{
  height:100%;
  min-height:0;
}
.scenes-editorial-strips .native-scene.active,
.scenes-editorial-strips .native-scene:hover{
  flex:4.2 1 0;
}

/* Keep labels legible but restrained */
.scenes-editorial-strips .native-scene span{
  left:12px;
  bottom:24px;
}
.scenes-editorial-strips .native-scene strong{
  left:29px;
  bottom:24px;
}

/* Mobile: title stays above; scene cards become swipeable */
@media(max-width:680px){
  .native-toolkit .section-inner{
    width:100%;
  }
  .native-toolkit-stage{
    height:82svh !important;
    min-height:660px !important;
    max-height:none;
  }
  .scenes-editorial{
    display:block;
  }
  .scenes-editorial-copy{
    position:absolute;
    z-index:9;
    top:0;
    left:0;
    right:0;
    width:100%;
    height:auto;
    padding:82px 24px 32px;
    background:linear-gradient(180deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.42) 70%,rgba(0,0,0,0) 100%);
  }
  .scenes-editorial::after{display:none}
  .scenes-editorial-copy h3{font-size:40px}
  .scene-mini-meta{display:none}
  .scenes-editorial-strips{
    position:absolute !important;
    left:0;
    right:0;
    top:0;
    bottom:0;
    height:auto;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
  }
  .scenes-editorial-strips .native-scene,
  .scenes-editorial-strips .native-scene.active,
  .scenes-editorial-strips .native-scene:hover{
    flex:0 0 74vw;
    height:100%;
    scroll-snap-align:center;
    filter:none;
  }
}

/* Readability refinements for the course preview; approved headline/font pairing stays intact. */
.fact h3{font-size:14px}
.fact p{font-size:13px;line-height:1.48}
.fact a{font-size:12px}
.coursebook-native-meta span,.scenes-native-heading p,.certificate-caption{font-size:12px}
.coursebook-native-meta strong{font-size:13px}
.convert-proof strong{font-size:13px}
.convert-proof span{font-size:12px}
.section-title{font-size:clamp(44px,5.35vw,88px);letter-spacing:-.045em}
.section-title.small{font-size:clamp(39px,4.45vw,70px)}
.promise-statement{font-size:clamp(39px,5vw,78px);letter-spacing:-.042em}
.convert-title{font-size:clamp(44px,4.45vw,76px);letter-spacing:-.045em}
.hero .eyebrow{font-size:11px}
.hero .intro{font-size:15px;line-height:1.5}
.hero .program-link{font-size:12px}
.hero .fact h3{font-size:13px;overflow-wrap:normal;word-break:normal}
.hero .fact p{font-size:12px}
.hero .fact a{font-size:11px}
.hero .buy-title{font-size:21px}
@media(max-width:860px){
  .intro{font-size:16px}
  .fact{min-height:164px}
  .info-grid,.toolkit-tabs,.approved-toolkit-tabs,.scenes-editorial-strips,.scene-accordion{scrollbar-width:none}
  .info-grid::-webkit-scrollbar,.toolkit-tabs::-webkit-scrollbar,.approved-toolkit-tabs::-webkit-scrollbar,.scenes-editorial-strips::-webkit-scrollbar,.scene-accordion::-webkit-scrollbar{display:none}
}
@media(max-width:680px){.section-copy{font-size:16px}}
/* Toolkit panels use a simpler, fully visible composition on phones. */
@media(max-width:680px){
  .native-toolkit-tabs{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    overflow:visible;
    scroll-snap-type:none;
    margin-top:28px;
  }
  .native-toolkit-tab{
    min-width:0;
    min-height:76px;
    padding:12px 10px;
    scroll-snap-align:none;
  }
  .native-toolkit-tab span{margin-bottom:8px}
  .native-toolkit-tab strong{font-size:10px;line-height:1.2;letter-spacing:0}
  .native-toolkit-tab small{display:none}
  .coursebook-native-copy{
    top:auto;
    right:24px;
    bottom:28px;
    left:24px;
    width:auto;
    transform:none;
  }
  .coursebook-native-copy h3{font-size:clamp(62px,19vw,84px)}
  .scenes-editorial-strips{
    inset:0 !important;
    height:auto;
    overflow-x:auto;
    overflow-y:hidden;
  }
  .scenes-editorial-strips .native-scene,
  .scenes-editorial-strips .native-scene.active,
  .scenes-editorial-strips .native-scene:hover{
    flex:0 0 78vw;
    min-width:0;
    height:100%;
  }
  .materials-native-card{
    top:auto;
    right:0;
    bottom:0;
    left:0;
    width:100%;
    padding:24px;
    transform:none;
    border:0;
    border-top:1px solid rgba(255,255,255,.22);
    background:#171717;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .materials-native-card h3{font-size:clamp(42px,11vw,58px)}
  .materials-native-card p{margin-top:12px}
  .materials-native-grid{margin-top:12px}
  .materials-native-grid div{min-height:60px;padding:10px 8px}
  .materials-native-footer{display:none}
  .section-title{font-size:clamp(34px,9.2vw,42px);letter-spacing:-.04em;overflow-wrap:normal}
  .promise-statement{font-size:clamp(34px,9.2vw,42px);letter-spacing:-.04em;overflow-wrap:normal}
  .convert-title{font-size:clamp(34px,9vw,42px);letter-spacing:-.04em;overflow-wrap:normal}
  .materials-native-card h3{font-size:clamp(34px,9.2vw,44px)}
}
/* Portrait student work gets its own mobile framing; keep the desktop hero unchanged. */
@media(max-width:860px){
  .hero{background:#0b0b0b}
  .slides{inset:0 0 auto;height:100svh}
  .hero .slide{
    background-image:var(--mobile-image)!important;
    background-position:var(--mobile-position,center center)!important;
  }
  .hero::before{
    inset:0 0 auto;
    height:100svh;
    background:linear-gradient(180deg,
      rgba(0,0,0,.18) 0%,
      rgba(0,0,0,.04) 27%,
      rgba(0,0,0,.18) 38%,
      rgba(0,0,0,.68) 55%,
      rgba(0,0,0,.90) 79%,
      #0b0b0b 100%);
  }
  .hero-shell{
    min-height:0;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:18px;
    padding:0 18px 30px;
  }
  .hero .left{
    align-self:stretch;
    margin-top:clamp(265px,37svh,390px);
    padding:0;
    text-shadow:0 2px 22px rgba(0,0,0,.40);
  }
  .hero .right{
    align-self:stretch;
    width:auto;
    max-width:none;
    margin:0 -18px;
    padding:0 18px 30px;
    background:#0b0b0b;
  }
  .hero .intro{max-width:400px}
  .hero .eyebrow{font-size:10px}
  .hero .intro{font-size:15px;line-height:1.48}
  .hero .program-link{font-size:11px}
  .hero .fact h3{font-size:12px;overflow-wrap:normal;word-break:normal}
  .hero .fact p{font-size:12px}
  .hero .fact a{font-size:11px}
  .hero .buy-title{font-size:18px}
}
.preview-notice{position:fixed;z-index:4100;left:50%;bottom:22px;width:max-content;max-width:calc(100vw - 36px);padding:14px 18px;background:#f5f2ee;color:#111;font:600 13px/1.45 Montserrat,Arial,sans-serif;box-shadow:0 14px 40px rgba(0,0,0,.25);opacity:0;transform:translate(-50%,20px);pointer-events:none;transition:opacity .25s,transform .25s}.preview-notice.is-visible{opacity:1;transform:translate(-50%,0)}
