*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;color:#081b35;background:#f7f1e5;line-height:1.55}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);background:#061a33;color:#fff;position:sticky;top:0;z-index:10;border-bottom:3px solid #d99013}.brand{font:700 1.2rem Georgia,serif;text-transform:uppercase;color:#fff;text-decoration:none}.topbar nav{display:flex;gap:25px}.topbar nav a{color:#fff;text-decoration:none}.hero{min-height:650px;position:relative;background:url('assets/hero.jpg') center/cover no-repeat;display:flex;align-items:center}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,20,42,.97),rgba(4,20,42,.8) 42%,rgba(4,20,42,.12) 80%)}.hero-content{position:relative;max-width:620px;margin-left:max(6vw,30px);padding:60px 20px;color:#fff}.eyebrow{letter-spacing:4px;font-weight:800;font-size:.85rem;color:#f0a51b}.hero h1{font:700 clamp(3rem,7vw,6.2rem)/.9 Georgia,serif;text-transform:uppercase;margin:10px 0 20px}.tagline{font:1.8rem Georgia,serif}.tagline em{color:#f0a51b}.button,button{display:inline-block;margin-top:18px;background:#e59a16;color:#061a33;border:0;border-radius:4px;padding:14px 24px;font-weight:800;text-transform:uppercase;letter-spacing:1px;text-decoration:none;cursor:pointer}.section{padding:80px max(5vw,24px)}.light{background:#fbf7ef}.heading{text-align:center;max-width:850px;margin:0 auto 45px}.heading h2,.details h2,.contact h2{font:700 clamp(2rem,4vw,3.2rem) Georgia,serif;margin:5px 0}.gold{color:#b97708}.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1200px;margin:auto;text-align:center}.benefits article{padding:20px}.benefits b,.class-strip b{font-size:2.5rem;color:#d58b0d}.benefits h3{text-transform:uppercase;font-size:1rem}.programs{background:#f3ecdf}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1300px;margin:auto}.card{background:#fff;padding:32px;border-top:7px solid;border-radius:5px;box-shadow:0 8px 25px #00000012}.piece{font-size:3rem}.card h3{font:700 1.6rem Georgia,serif;text-transform:uppercase;margin:5px 0}.card span{display:inline-block;color:#fff;padding:5px 12px;border-radius:20px;text-transform:uppercase;font-size:.78rem;font-weight:bold}.card li{margin:7px 0}.green{border-color:#135a2b}.green .piece,.green h3{color:#135a2b}.green span{background:#135a2b}.blue{border-color:#173f8a}.blue .piece,.blue h3{color:#173f8a}.blue span{background:#173f8a}.purple{border-color:#38166c}.purple .piece,.purple h3{color:#38166c}.purple span{background:#38166c}.graduate{background:#351363;color:#fff;padding:15px;margin-top:25px;border-radius:8px;text-transform:uppercase;font-weight:bold}.graduate small{color:#f0b23a}.class-strip{background:#061a33;color:#fff;padding:36px max(5vw,24px);display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.class-strip article{display:flex;gap:18px;align-items:center}.class-strip h3{color:#f0a51b;text-transform:uppercase;margin:0}.class-strip p{margin:4px 0}.details{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;max-width:1300px;margin:auto}.details img{width:100%;max-height:470px;object-fit:cover;object-position:bottom;border:5px solid #d58b0d}.dark{background:#061a33;color:#fff}.contact{background:#061a33;color:#fff;padding:80px max(5vw,24px);display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.contact a{color:#f0a51b}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact label{font-size:.85rem;font-weight:bold}.contact input,.contact select,.contact textarea{width:100%;margin-top:7px;padding:13px;border:1px solid #9ba6b5;border-radius:3px;font:inherit}.wide{grid-column:1/-1}.status{color:#ffd27d}footer{background:#031125;color:#fff;padding:28px max(5vw,24px);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.85rem;border-top:3px solid #d99013}@media(max-width:850px){.topbar nav{display:none}.hero{min-height:580px;background-position:62% center}.overlay{background:rgba(4,20,42,.78)}.hero-content{margin:auto;text-align:center}.benefits{grid-template-columns:1fr 1fr}.cards,.class-strip,.details,.contact{grid-template-columns:1fr}.cards{max-width:620px}}@media(max-width:520px){.benefits,.contact form{grid-template-columns:1fr}.contact label{grid-column:1}.section{padding:55px 20px}}
button:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.status {
  margin-top: 10px;
  font-weight: bold;
  color: #ffd27d;
}
/* Upcoming Classes */

.upcoming-classes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
  max-width: 1300px;
  margin: auto;
  background: #f7f1e5;
}

.upcoming-content h2 {
  font-family: Georgia, serif;
  font-size: clamp(2.6rem, 5vw, 4.5rem);
  line-height: 1.05;
  margin: 8px 0 20px;
  color: #081b35;
}

.upcoming-intro {
  max-width: 580px;
  font-size: 1.05rem;
  margin-bottom: 28px;
}

.schedule-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.schedule-card {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 18px;
  align-items: center;
  padding: 18px 22px;
  background: #fffaf2;
  border: 1px solid #d8b16a;
  border-radius: 8px;
}

.schedule-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.8rem;
  font-weight: bold;
}

.schedule-card h3 {
  margin: 0;
  font-family: Georgia, serif;
  text-transform: uppercase;
  font-size: 1.45rem;
}

.schedule-card p {
  margin: 2px 0;
}

.start-date {
  text-transform: uppercase;
  font-weight: 800;
  font-size: 1.15rem;
}

.schedule-green .schedule-icon {
  background: #135a2b;
}

.schedule-green h3,
.schedule-green .start-date {
  color: #135a2b;
}

.schedule-blue .schedule-icon {
  background: #173f8a;
}

.schedule-blue h3,
.schedule-blue .start-date {
  color: #173f8a;
}

.schedule-purple .schedule-icon {
  background: #38166c;
}

.schedule-purple h3,
.schedule-purple .start-date {
  color: #38166c;
}

.homeschool-note {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin: 28px 0 20px;
}

.homeschool-icon {
  font-size: 2rem;
  color: #d99013;
}

.homeschool-note p {
  margin: 2px 0 0;
}

.upcoming-image img {
  width: 100%;
  display: block;
  border: 4px solid #d99013;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

@media (max-width: 850px) {
  .upcoming-classes {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .upcoming-image {
    order: 2;
  }

  .schedule-card {
    grid-template-columns: 60px 1fr;
  }
}

@media (max-width: 520px) {
  .schedule-card {
    padding: 16px;
  }

  .schedule-card h3 {
    font-size: 1.2rem;
  }

  .start-date {
    font-size: 1rem;
  }

  .upcoming-content h2 {
    font-size: 2.5rem;
  }
}