:root{
  --primary:#ff6a00;
  --primary-dark:#FF5D05;
  --accent:#ffcc00;
  --gold:#ffcc00;
  --accent-2:#FF5D05;
  --bg:#fffaf5;
  --text:#2b221d;
  --muted:#6e5b4d;
  --white:#ffffff;
  --shadow:0 18px 40px rgba(255,93,5,.14);
  --radius:22px;
  --container:90vw;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:'Inter',sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}

img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:var(--container);margin:auto}

.hero{
  position:relative;
  min-height:80vh;
  overflow:hidden;
  padding-bottom:56px;
}

.hero-slider{
  position:relative;
  min-height:80vh;
}

.hero-slide{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:scale(1.04);
  transition:opacity .9s ease, transform 6s ease;
  pointer-events:none;
}

.hero-slide.active{
  opacity:1;
  transform:scale(1);
  pointer-events:auto;
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(37,24,14,.82) 0%, rgba(37,24,14,.58) 42%, rgba(37,24,14,.24) 100%);
}

.hero-content{
  position:relative;
  z-index:2;
  min-height:80vh;
  display:flex;
  align-items:center;
  padding-top:70px;
  padding-bottom:120px;
}

.hero-copy{
  max-width:700px;
  color:#fff;
}

.eyebrow,
.section-tag{
  display:inline-flex;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,204,0,.14);
  color:var(--accent);
  border:1px solid rgba(255,204,0,.35);
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.hero h1{
  font-size:clamp(1.8rem,4vw,3.8rem);
  line-height:1.05;
  margin:18px 0 16px;
}

.hero p{
  font-size:1.08rem;
  max-width:640px;
  color:rgba(255,255,255,.9);
}

.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  border-radius:14px;
  font-weight:700;
  transition:.25s ease;
  border:1px solid transparent;
}

.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--primary);color:#fff}
.btn-secondary{
  background:rgba(255,255,255,.08);
  color:#fff;
  border-color:rgba(255,255,255,.18);
}

.slider-controls{
  position:absolute;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  z-index:4;
  display:flex;
  gap:10px;
}

.dot{
  width:14px;
  height:14px;
  border-radius:50%;
  border:none;
  cursor:pointer;
  background:rgba(255,255,255,.35);
}

.dot.active{background:var(--accent)}

.slider-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:4;
  width:54px;
  height:54px;
  border:none;
  border-radius:50%;
  cursor:pointer;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:2rem;
  line-height:1;
  display:grid;
  place-items:center;
  backdrop-filter:blur(8px);
  transition:.25s ease;
}

.slider-arrow:hover{background:var(--primary)}
.slider-prev{left:24px}
.slider-next{right:24px}

.impact-strip{
  position:relative;
  margin-top:0;
  z-index:5;
}

.impact-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:-82px;
}

.impact-card{
  background:#fff;
  border-radius:20px;
  box-shadow:var(--shadow);
  padding:24px;
  text-align:center;
}

.impact-card strong{
  display:block;
  font-size:2.2rem;
  color:var(--primary-dark);
  line-height:1;
  margin-bottom:8px;
}
.impact-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right, rgba(255,106,0,.18), transparent 60%);
  opacity:.6;
  pointer-events:none;
}
.section{padding:92px 0}
.section.alt{background:#fff2e8}

.section-heading{
  margin-bottom:34px;
  text-align:center;
}

.section h2{
  font-size:clamp(2rem,4.2vw,3.2rem);
  line-height:1.12;
  margin:16px 0 0;
}

.two-col{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:34px;
  align-items:center;
}

.text-block p{
  color:var(--muted);
  font-size:1.02rem;
}

.glass-panel{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,248,241,.92));
  box-shadow:var(--shadow);
  border-radius:28px;
  padding:28px;
}

.mini-stat{
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:14px 0;
}

.mini-stat + .mini-stat{
  border-top:1px solid rgba(255,106,0,.12);
}

.mini-icon{
  flex:0 0 46px;
  width:46px;
  height:46px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:var(--primary);
  color:#fff;
  font-weight:800;
}
.inftext-ttl{
  font-size: 12px;
}

.cards-3,
.cards-4{
  display:grid;
  gap:22px;
}

.cards-3{grid-template-columns:repeat(3,1fr)}
.cards-4{grid-template-columns:repeat(4,1fr)}

.info-card,
.course-card{
  background:#fff;
  border-radius:24px;
  padding:28px;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}

.info-card::after,
.course-card::after{
  content:"";
  position:absolute;
  right:-26px;
  top:-26px;
  width:110px;
  height:110px;
  border-radius:50%;
  background:rgba(255,204,0,.12);
}

.icon-bubble,
.course-icon{
  width:58px;
  height:58px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;
  font-weight:800;
  margin-bottom:18px;
}

.info-card h3,
.course-card h3{
  margin:0 0 10px;
}

.info-card p,
.course-card p{
  margin:0 0 18px;
  color:var(--muted);
}

.course-card h3{font-size:1.15rem}

.course-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:700;
  color:var(--primary-dark);
}

.course-link:hover{color:var(--primary)}

.cta-section{padding-top:28px}

.cta-box{
  background:linear-gradient(135deg, var(--primary), var(--primary-dark));
  color:#fff;
  border-radius:28px;
  padding:34px;
  box-shadow:var(--shadow);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

/* Triangle infographic section */
.triad-section{
  background:linear-gradient(180deg, #fff8f1 0%, #fff3e6 100%);
}

.triad-intro{
  max-width:860px;
  margin:14px auto 0;
  text-align:center;
  color:var(--muted);
}

.triad-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
  align-items:start;
  margin-top:34px;
}

.triad-pair{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.tri-card{
  position:relative;
  width:100%;
  min-height:290px;
  padding:54px 28px 30px;
  background:rgba(255,255,255,.72);
  box-shadow:0 18px 40px rgba(255,93,5,.10);
  backdrop-filter:blur(4px);
  clip-path:polygon(50% 0%, 100% 100%, 0% 100%);
  border:2px solid rgba(255,106,0,.78);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.tri-card h3{
  margin:16px 0 10px;
  font-size:1.1rem;
  line-height:0.8;
}

.tri-card p{
  margin:0;
  max-width:85%;
  color:var(--muted);
  font-size:1rem;
}

.tri-card-top{
  transform:translateY(40px);
}

.tri-card-bottom{
  clip-path:polygon(0% 0%, 100% 0%, 50% 100%);
  padding:38px 28px 52px;
  min-height:310px;
  margin-top:8px;
}

.tri-middle{
  border-color:rgba(255,204,0,.95);
}

.tri-solution h3{
  color:var(--primary-dark);
}


.tri-badge{
  position:absolute;
  top:18px;
  left:50%;
  transform:translateX(-50%);
  width:58px;
  height:58px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-weight:800;
  color:#fff;
  background:linear-gradient(135deg, #ff6a00, #ffcc00);
  box-shadow:0 10px 24px rgba(255,106,0,.22);
}

.tri-icon{
  margin-top:34px;
  width:92px;
  height:92px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,106,0,.10);
  font-size:2.2rem;
}

.tri-link{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin:8px 0 8px;
  min-height:54px;
}

.tri-node{
  width:14px;
  height:14px;
  border-radius:50%;
  background:#ff6a00;
  display:block;
  box-shadow:0 0 0 8px rgba(255,106,0,.08);
}

.tri-arrow{
  font-size:1.7rem;
  line-height:1;
  color:#ff6a00;
  margin-top:2px;
  animation:triArrowFloat 1.8s ease-in-out infinite;
}

.triad-footer{
  margin-top:34px;
}

.triad-footer-box{
  max-width:900px;
  margin:0 auto;
  text-align:center;
  padding:18px 22px;
  background:#fff;
  border:1px solid rgba(255,106,0,.16);
  border-radius:999px;
  box-shadow:0 10px 24px rgba(255,93,5,.08);
}

.triad-footer-box strong{color:var(--text)}
.triad-footer-box span{
  color:var(--primary-dark);
  font-weight:700;
}

.floating-login{
  position:fixed;
  right:20px;
  top:70%;
  transform:translateY(-40%);
  z-index:1200;
  display:flex;
  align-items:center;
  gap:10px;
  background:linear-gradient(135deg,#ff6a00,#FF5D05);
  color:#fff;
  padding:18px 28px;
  border-radius:999px;
  font-size:1rem;
  font-weight:800;
  letter-spacing:.02em;
  box-shadow:0 18px 40px rgba(255,93,5,.35);
  transition:.3s ease;
}

.floating-login:hover{
  transform:translateY(-40%) scale(1.05);
  background:linear-gradient(135deg,#ffcc00,#ff6a00);
}

.btn-icon{font-size:1.25rem}

/* animations */
.slide-in-left{
  animation:slideInLeft .95s ease both;
}

.reveal{
  opacity:0;
  transform:translateY(60px);
  transition:opacity 1.2s ease, transform 1.2s ease;
}

.reveal.active{
  opacity:1;
  transform:translateY(0);
}

.cards-3 .reveal:nth-child(1),
.cards-4 .reveal:nth-child(1){
  transition-delay:.1s;
}

.cards-3 .reveal:nth-child(2),
.cards-4 .reveal:nth-child(2){
  transition-delay:.4s;
}

.cards-3 .reveal:nth-child(3),
.cards-4 .reveal:nth-child(3){
  transition-delay:.8s;
}

.cards-4 .reveal:nth-child(4){
  transition-delay:1.1s;
}

.triad-pair.reveal:nth-child(1){transition-delay:.12s}
.triad-pair.reveal:nth-child(2){transition-delay:.34s}
.triad-pair.reveal:nth-child(3){transition-delay:.56s}

@keyframes slideInLeft{
  from{opacity:0;transform:translateX(-55px)}
  to{opacity:1;transform:translateX(0)}
}

@keyframes triArrowFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(4px)}
}

@media (max-width:1100px){
  .cards-4{grid-template-columns:repeat(2,1fr)}
  .triad-grid{grid-template-columns:1fr;gap:34px}
  .tri-card,
  .tri-card-bottom{
    max-width:620px;
  }
  .tri-card-top{transform:none}
}

@media (max-width:980px){
  .impact-grid,
  .cards-3,
  .two-col{
    grid-template-columns:1fr 1fr;
  }

  .cta-box{
    flex-direction:column;
    align-items:flex-start;
  }

  .impact-grid{margin-top:-56px}
}

@media (max-width:760px){
  .impact-grid,
  .cards-3,
  .cards-4,
  .two-col{
    grid-template-columns:1fr;
  }

  .impact-grid{margin-top:-34px}

  .hero h1{
    font-size:clamp(2.1rem,11vw,3.3rem);
  }

  .hero-content{
    padding-top:90px;
    padding-bottom:100px;
  }

  .slider-arrow{
    width:44px;
    height:44px;
    font-size:1.6rem;
    top:auto;
    bottom:74px;
    transform:none;
  }

  .slider-prev{left:16px}
  .slider-next{right:16px}

  .tri-card{
    min-height:250px;
    padding:50px 18px 26px;
  }

  .tri-card-bottom{
    min-height:270px;
    padding:34px 18px 46px;
  }

  .tri-card h3{
    font-size:1.25rem;
  }

  .tri-card p{
    max-width:94%;
    font-size:.96rem;
  }

  .tri-icon{
    width:76px;
    height:76px;
    font-size:1.8rem;
  }

  .triad-footer-box{
    border-radius:26px;
  }

  .floating-login{
    right:14px;
    padding:14px 18px;
  }
}
.partners-strip{
  padding:40px 0;
  background:linear-gradient(180deg,#fff5ec,#ffffff);
  border-top:1px solid rgba(255,106,0,.1);
}

.partners-wrapper{
  display:flex;
  justify-content:center;
  align-items:center;
  overflow:hidden;
}

.partners-wrapper img{
  width:100%;
  max-width:1100px;
  object-fit:contain;
  filter:grayscale(100%) contrast(1.05);
  opacity:.85;
  transition:.3s ease;
}

.partners-wrapper img:hover{
  filter:grayscale(0%);
  opacity:1;
}