/* Public site + client progress tracker */

.site-header {
  background: var(--sko-card);
  border-bottom: 1px solid var(--sko-line);
}
.site-header .brand { font-weight: 600; color: var(--sko-ink); letter-spacing: -.02em; }
.site-header .brand small { display: block; font-size: .72rem; font-weight: 400; color: var(--sko-muted); letter-spacing: .04em; }

.lang-switch { display: inline-flex; border: 1px solid var(--sko-line); border-radius: 999px; overflow: hidden; }
.lang-switch a { padding: .25rem .7rem; font-size: .8rem; color: var(--sko-muted); background: transparent; }
.lang-switch a:hover { text-decoration: none; background: var(--sko-line-soft); }
.lang-switch a.on { background: var(--sko-ink); color: #fff; }

.hero { padding: 4rem 0 3rem; }
.hero .eyebrow { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--sko-accent-dk); font-weight: 600; }
.hero h1 { font-size: clamp(1.7rem, 4vw, 2.6rem); line-height: 1.25; margin: .8rem 0 1rem; max-width: 22ch; }
.hero p.lead { color: var(--sko-ink-soft); max-width: 56ch; font-size: 1.02rem; }

.build-note {
  border: 1px dashed var(--sko-line); border-radius: var(--sko-radius);
  background: var(--sko-card); padding: 1.25rem 1.4rem;
}

/* ---- Progress tracker: the numbered rail is the progress bar ---- */
.tracker { position: relative; padding-left: 3.25rem; }
.tracker::before {
  content: ''; position: absolute; left: 1.06rem; top: .6rem; bottom: 1.5rem;
  width: 2px; background: var(--sko-line);
}
.tracker::after {
  content: ''; position: absolute; left: 1.06rem; top: .6rem;
  width: 2px; height: var(--fill, 0%); background: var(--sko-accent);
}
.phase-item { position: relative; margin-bottom: 1rem; }
.phase-item .marker {
  position: absolute; left: -3.25rem; top: .9rem;
  width: 2.25rem; height: 2.25rem; border-radius: 50%;
  display: grid; place-items: center;
  font-size: .82rem; font-weight: 600;
  background: var(--sko-card); color: var(--sko-muted);
  border: 2px solid var(--sko-line); z-index: 1;
}
.phase-item.is-delivered .marker { border-color: var(--sko-accent); color: var(--sko-accent-dk); }
.phase-item.is-approved  .marker { border-color: var(--sko-ink); background: var(--sko-ink); color: #fff; }
.phase-item.is-in_progress .marker { border-color: var(--sko-amber); color: var(--sko-amber); }
.phase-item .card { padding: 1.1rem 1.25rem; }
.phase-item h3 { font-size: 1.02rem; margin: 0 0 .25rem; }
.phase-item .summary { color: var(--sko-ink-soft); font-size: .92rem; margin: 0; }
.phase-modules { list-style: none; padding: 0; margin: .8rem 0 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.phase-modules li {
  font-size: .78rem; color: var(--sko-ink-soft);
  background: var(--sko-paper); border: 1px solid var(--sko-line-soft);
  border-radius: var(--sko-radius-sm); padding: .28rem .55rem;
}
.phase-meta { font-size: .8rem; color: var(--sko-muted); }

.summary-panel { position: sticky; top: 1.5rem; }
.summary-panel .figure { font-size: 2.6rem; font-weight: 600; line-height: 1; letter-spacing: -.03em; }

@media (max-width: 575.98px) {
  .tracker { padding-left: 2.6rem; }
  .tracker::before, .tracker::after { left: .78rem; }
  .phase-item .marker { left: -2.6rem; width: 1.85rem; height: 1.85rem; font-size: .74rem; }
}

.site-footer { border-top: 1px solid var(--sko-line); color: var(--sko-muted); font-size: .85rem; }
