:root {
  color-scheme: light;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  color: #17243a;
  background: #f3f5f8;
}

* { box-sizing: border-box; }

body { margin: 0; }

.page {
  width: min(100% - 2rem, 34rem);
  margin: 0 auto;
  padding: 3rem 0 2rem;
}

.tabs { display: flex; gap: .4rem; margin-bottom: 2.5rem; border-bottom: 1px solid #dce2ea; }
.tabs a { padding: .7rem .9rem; color: #53647c; text-decoration: none; font-weight: 600; border-bottom: 3px solid transparent; }
.tabs a:hover, .tabs a:focus-visible { color: #17243a; }
.tabs a[aria-current="page"] { color: #17243a; border-bottom-color: #17243a; }

.eyebrow {
  margin: 0 0 .5rem;
  color: #53647c;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

h1 { margin: 0; font-size: clamp(2rem, 8vw, 3rem); }
.intro { margin: .5rem 0 .4rem; color: #53647c; }
.timezone-note { margin: 0 0 2rem; color: #53647c; font-size: .85rem; }

.card {
  margin: 1rem 0;
  padding: 1.35rem 1.5rem;
  border: 1px solid #dce2ea;
  border-radius: 1rem;
  background: white;
  box-shadow: 0 4px 16px #17243a0a;
}

.highlight { background: #17243a; color: white; border-color: #17243a; }
h2 { margin: 0 0 .8rem; font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; }
.formation { margin: 0; font-size: 1.65rem; font-weight: 750; }
.detail { margin: 0; font-size: 1.2rem; font-weight: 600; }
.hint { margin: .5rem 0 0; color: #d9e2ef; }
.later-formation { margin: 2.5rem .2rem 0; }
.later-formation h2 { color: #53647c; }
.later-formation .detail { font-size: 1rem; }
.week-schedule { margin: 2rem .2rem 0; }
.week-schedule h2 { color: #53647c; }
.week-schedule p { margin: .5rem 0; line-height: 1.5; }
.schedule-day { margin: 1.1rem 0; }
.schedule-day h3 { margin: 0 0 .45rem; font-size: .95rem; }
.schedule-day p { margin: .35rem 0; color: #53647c; font-size: .9rem; }
.footer { margin: 1.5rem .2rem 0; color: #53647c; font-size: .8rem; line-height: 1.5; }
