:root {
  --bjya-navy: #102b42;
  --bjya-navy-deep: #071f33;
  --bjya-blue: #2b668a;
  --bjya-blue-deep: #164d70;
  --bjya-gold: #d19b3c;
  --bjya-gold-soft: #efc76d;
  --bjya-ink: #1d2b36;
  --bjya-paper: #fbfaf6;
  --bjya-line: rgba(16, 43, 66, 0.14);
  --bjya-shadow: 0 14px 34px rgba(4, 22, 38, 0.18);
}
.calendar-dialog main{display:flex;flex-direction:column}.calendar-list{flex:1;overflow:auto;padding:1rem 1.2rem;background:#fff}.calendar-event{display:grid;grid-template-columns:8.5rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid #dce5e8}.calendar-event time{font-weight:850;color:#1c6189}.calendar-event strong,.calendar-event small,.calendar-event a{display:block}.calendar-event small{margin-top:.25rem;color:#597184}.calendar-event a{margin-top:.55rem;color:#1c6189;font-weight:800}.calendar-event--homework{background:#fff9e9;margin:0 -.5rem;padding:.9rem .5rem}.calendar-note{flex:0 0 auto}@media(max-width:600px){.calendar-event{grid-template-columns:1fr;gap:.25rem}}
.calendar-dialog{width:min(96vw,1120px);height:min(90vh,820px);padding:0;border:0;border-radius:18px;overflow:hidden;background:#f7f7f2;color:#173653;box-shadow:0 24px 70px #071d2e66}.calendar-dialog::backdrop{background:#061c2acc}.calendar-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.3rem;background:#102b42;color:#fff}.calendar-dialog>header span{display:block;color:#e7b74e;font-size:.68rem;font-weight:850;letter-spacing:.12em}.calendar-dialog>header strong{font-size:1.2rem}.calendar-dialog>header button{width:2.35rem;height:2.35rem;border:1px solid #e7b74e;border-radius:50%;background:transparent;color:#fff;font-size:1.6rem;cursor:pointer}.calendar-toolbar{display:grid;grid-template-columns:auto minmax(150px,1fr) auto 1fr auto auto auto;gap:.4rem;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #dce5e8;background:#fff}.calendar-toolbar button{border:1px solid #cbd8de;border-radius:8px;background:#fff;color:#173653;padding:.48rem .7rem;font:inherit;font-weight:800;cursor:pointer}.calendar-toolbar [data-view].is-active{background:#173653;color:#fff;border-color:#173653}.calendar-range{text-align:center;font-size:1.05rem}.calendar-weekdays,.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{position:sticky;top:0;z-index:1;background:#f2f7f9;border-bottom:1px solid #dce5e8}.calendar-weekdays span{padding:.55rem .25rem;color:#527083;font-size:.75rem;font-weight:850;text-align:center;text-transform:uppercase}.calendar-month-grid{min-width:760px}.calendar-day{min-height:120px;padding:.45rem;border-right:1px solid #e1e8eb;border-bottom:1px solid #e1e8eb;background:#fff}.calendar-day--muted{background:#fafbfb;color:#9caab2}.calendar-day--today>b{display:inline-grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:50%;background:#e7b74e;color:#173653}.calendar-chip{display:block;width:100%;margin:.38rem 0 0;padding:.35rem .42rem;border:0;border-left:3px solid #d19b3c;border-radius:5px;background:#eaf4f8;color:#173653;font:inherit;font-size:.74rem;font-weight:800;line-height:1.25;text-align:left;cursor:pointer}.calendar-chip:hover{background:#d8edf5}.calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(190px,1fr));min-width:1300px;gap:1px;background:#dce5e8}.calendar-week-grid>section{min-height:380px;padding:.8rem;background:#fff}.calendar-week-grid h3{margin:0 0 .75rem;color:#1c6189;font-size:.9rem}.calendar-week-grid .calendar-event{display:block;padding:.65rem 0}.calendar-week-grid .calendar-event time{display:block;margin-bottom:.2rem}.calendar-day-detail{max-width:760px;margin:0 auto;padding:1rem}.calendar-back{margin-bottom:1rem;border:0;background:transparent;color:#1c6189;font:inherit;font-weight:800;cursor:pointer}@media(max-width:700px){.calendar-dialog{width:100vw;height:100vh;border-radius:0}.calendar-toolbar{grid-template-columns:auto 1fr auto;gap:.35rem}.calendar-toolbar span{display:none}.calendar-toolbar [data-view]{padding:.42rem}.calendar-range{font-size:.95rem}.calendar-list{padding:.75rem}.calendar-month-grid{min-width:610px}.calendar-day{min-height:88px;padding:.3rem}.calendar-chip{font-size:.64rem;padding:.25rem}.calendar-weekdays span{font-size:.64rem}.calendar-note{font-size:.78rem}}

/* On phones, show all seven days at once instead of requiring a hidden horizontal scroll. */
@media(max-width:700px){.calendar-month-grid{min-width:0;width:100%}.calendar-day{min-width:0;padding:.25rem}.calendar-day>b{font-size:.9rem}.calendar-chip{overflow:hidden;font-size:.58rem;padding:.24rem .16rem;line-height:1.15;overflow-wrap:anywhere}.calendar-weekdays span{font-size:.58rem;padding:.5rem .05rem}}

.school-masthead {
  position: sticky;
  isolation: isolate;
  z-index: 100;
  top: 0;
  width: 100%;
  overflow: hidden;
  border-bottom: 3px solid var(--bjya-gold);
  color: #fff;
  background:
    radial-gradient(circle at 11% -160%, rgba(209, 155, 60, 0.3), transparent 19rem),
    linear-gradient(112deg, var(--bjya-navy-deep), var(--bjya-navy) 48%, var(--bjya-blue-deep));
  box-shadow: var(--bjya-shadow);
  backdrop-filter: blur(12px);
  font-family:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
}

.school-masthead__inner {
  position: relative;
  isolation: isolate;
  display: flex;
  /* Give the identity group a little more room at each desktop edge. */
  width: min(1360px, calc(100% - 20px));
  min-height: 122px;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin: 0 auto;
  padding: 9px 0;
}

.school-masthead__hebrew {
  position: absolute;
  z-index: -1;
  top: 50%;
  /* Keep the level Hebrew mark deliberately centered between the two groups. */
  left: 51%;
  color: rgba(255, 255, 255, 0.085);
  font-family: "Noto Serif Hebrew", "Times New Roman", serif;
  font-size: clamp(5.5rem, 12vw, 9.5rem);
  font-weight: 700;
  letter-spacing: -0.08em;
  line-height: 0.7;
  pointer-events: none;
  transform: translate(-50%, -48%);
  user-select: none;
}

.school-masthead__school {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
  color: inherit;
  text-decoration: none;
  z-index: 1;
}

.school-masthead__shlomo {
  width: 104px;
  height: 104px;
  flex: 0 0 auto;
  padding: 3px;
  border: 2px solid rgba(239, 199, 109, 0.9);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  object-fit: contain;
  box-shadow: 0 7px 22px rgba(0, 0, 0, 0.27);
}

.school-masthead__identity {
  display: grid;
  min-width: 0;
}

.school-masthead__identity small {
  color: var(--bjya-gold-soft);
  font-size: 0.66rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.school-masthead__identity strong {
  overflow: hidden;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.2rem, 2.5vw, 1.75rem);
  font-weight: 650;
  letter-spacing: -0.02em;
  line-height: 1.08;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.school-masthead__identity em {
  margin-top: 3px;
  color: #dceefa;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.72rem;
  font-style: italic;
  font-weight: 700;
}

.school-masthead__affiliation {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 12px;
  z-index: 1;
}

.school-masthead__affiliation span {
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.school-masthead__affiliation img {
  width: min(245px, 25vw);
  height: auto;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
}

.launch-session{margin:.3rem 0 1.2rem;padding:.8rem 1rem;border:0;border-radius:10px;background:#173653;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.classroom-dialog{width:min(96vw,1100px);height:min(92vh,760px);padding:0;border:0;border-radius:18px;background:#f6f4ec;color:#173653}.classroom-dialog::backdrop{background:#061c2acc}.classroom-dialog header,.classroom-dialog footer{background:#08283e;color:#fff;border:0;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between}.classroom-dialog header>div{display:flex;gap:.7rem;align-items:center}.classroom-dialog header strong{display:block}.classroom-kicker,.classroom-type{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:800;color:#dda72c}.classroom-close,.classroom-fullscreen,.classroom-dialog footer button{background:#fff;color:#173653;border:0;border-radius:8px;padding:.55rem .7rem;font:inherit;font-weight:800}.classroom-dialog main{height:calc(100% - 132px);overflow:auto;display:grid;place-items:center;padding:clamp(1.3rem,4vw,4rem)}.classroom-step{width:min(100%,850px);text-align:center}.classroom-step h1{font-size:clamp(2rem,5vw,4.5rem);margin:.4rem 0 1rem}.classroom-step p{font-size:clamp(1.05rem,2vw,1.55rem);line-height:1.55;white-space:pre-wrap}.classroom-step iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:14px;margin:1rem 0}.classroom-open{display:inline-block;background:#173653;color:#fff;padding:.8rem 1rem;border-radius:10px;text-decoration:none}.classroom-choices{display:grid;gap:.75rem;text-align:left;margin:1.2rem 0}.classroom-choices button{background:#fff;color:#173653;border:2px solid #cbd8de;text-align:left;padding:.8rem;border-radius:8px;font:inherit}.classroom-choices button.chosen{border-color:#dda72c;background:#fff6dd}.classroom-reveal{background:#dda72c;color:#173653;border:0;padding:.8rem 1rem;border-radius:10px;font:inherit;font-weight:800}.classroom-answer{margin:1rem auto;padding:1rem;background:#e8f5eb;border-radius:10px;font-weight:800}@media(max-width:600px){.classroom-dialog{width:100vw;height:100vh;border-radius:0}.classroom-dialog main{height:calc(100% - 130px);padding:1.5rem}.classroom-fullscreen{display:none}}

.hero .school-name {
  display: none;
}

.school-masthead--legacy {
  width: 100vw;
  margin-top: -2rem;
  margin-left: calc(50% - 50vw);
}

@media (max-width: 720px) {
  .school-masthead__inner {
    width: min(100% - 20px, 1260px);
    min-height: 90px;
    gap: 12px;
  }

  .school-masthead__shlomo {
    width: 76px;
    height: 76px;
  }

  .school-masthead__identity small {
    font-size: 0.54rem;
  }

  .school-masthead__identity strong {
    font-size: clamp(1rem, 4.8vw, 1.3rem);
    white-space: normal;
  }

  .school-masthead__identity em {
    font-size: 0.62rem;
  }

  .school-masthead__affiliation span {
    display: none;
  }

  .school-masthead__affiliation img {
    width: 112px;
    padding: 5px 7px;
  }

  .school-masthead__hebrew {
    left: 57%;
    font-size: 5.25rem;
  }
}

@media (max-width: 520px) {
  .school-masthead__affiliation {
    display: none;
  }

  .school-masthead__hebrew {
    left: 59%;
    font-size: 4.2rem;
    opacity: 0.72;
  }
}
.calendar-dialog{width:min(96vw,1200px);height:min(92vh,840px);padding:0;border:0;border-radius:18px;background:#f6f4ec;color:#173653}.calendar-dialog::backdrop{background:#061c2acc}.calendar-dialog header{background:#08283e;color:#fff;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between}.calendar-dialog header span{display:block;color:#dda72c;font-size:.7rem;font-weight:800;letter-spacing:.12em}.calendar-dialog header strong{font-family:Georgia,serif;font-size:1.35rem}.calendar-dialog header button{border:0;background:#fff;color:#173653;border-radius:8px;font-size:1.4rem;font-weight:800;width:2rem;height:2rem}.calendar-dialog main{height:calc(100% - 77px);padding:0;background:#fff}.calendar-dialog iframe{display:block;border:0;width:100%;height:calc(100% - 2.7rem)}.calendar-dialog main p{margin:0;padding:.65rem 1rem;background:#f6f4ec;font-size:.85rem;text-align:center}@media(max-width:600px){.calendar-dialog{width:100vw;height:100vh;border-radius:0}}
