/* Rostify — "Shift requests". Builds on sick-leave.css (tokens, intro, figures, related, dark band) and monthly.css (A/B switch, kicker). */
.sr{--no-bg:light-dark(#FBE4EA,#3A1E26);--no-ink:light-dark(#A3354F,#F2A8BA);--req-bg:light-dark(#FBF0DE,#33291A);--req-ink:light-dark(#8A5A12,#E9C27E)}

/* sections */
.sr-sec{padding:clamp(56px,7vw,112px) clamp(16px,4vw,56px)}
.sr-general{padding-bottom:clamp(40px,5vw,72px)}
.sr-individual{padding-top:clamp(40px,5vw,72px);background:var(--paper);border-top:1px solid var(--rule)}
.sr-letter{display:block;font-stretch:72%;font-weight:700;font-size:clamp(96px,12vw,188px);line-height:.72;letter-spacing:-.05em;
  color:transparent;-webkit-text-stroke:1.5px var(--teal);opacity:.55;user-select:none}

/* A: head row + wide figure */
.sr-head{display:grid;grid-template-columns:auto minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(20px,3.4vw,56px);align-items:end;margin-bottom:clamp(32px,4vw,56px)}
.sr-head-main{display:grid;gap:14px}
.sr-head h2,.sr-text h2{margin:0;font-stretch:80%;font-weight:700;font-size:clamp(36px,4.6vw,68px);line-height:.95;letter-spacing:-.018em;text-wrap:balance}
.sr-head-side{display:grid;gap:18px;padding-bottom:6px}
.sr-head-side p,.sr-text > p:not(.mr-kicker){margin:0;max-width:44ch;font-size:clamp(16px,1.35vw,19px);line-height:1.55;color:var(--ink2);text-wrap:pretty}
.sr-wide{position:relative}
.sr-wide .sl-shot{background:#FFFFFF}

/* chips echo the product: pink = "do not like", amber = individual request "#1" */
.sr-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.sr-chip{display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 16px 0 12px;border-radius:10px;font-size:15px;font-weight:500;letter-spacing:-.005em}
.sr-chip span{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.02em}
.sr-chip--no{background:var(--no-bg);color:var(--no-ink)}
.sr-chip--no span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:light-dark(rgba(163,53,79,.12),rgba(242,168,186,.16));font-size:14px;line-height:1}
.sr-chip--req{background:var(--req-bg);color:var(--req-ink)}

/* B: stage + text */
.sr-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,88px);align-items:center}
.sr-stage{margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--rule);background:var(--paper);
  box-shadow:0 50px 100px -64px light-dark(rgba(14,32,35,.5),rgba(0,0,0,.9))}
.sr-stage-shot{display:grid;place-items:center;padding:clamp(36px,6vw,96px) clamp(16px,3vw,48px);
  background-color:light-dark(#E4EFEE,#0C1719);
  background-image:radial-gradient(light-dark(rgba(14,32,35,.10),rgba(230,239,238,.08)) 1px,transparent 1.2px);background-size:18px 18px}
.sr-stage-shot .sl-shot{max-width:544px;border-radius:14px;box-shadow:0 30px 60px -30px light-dark(rgba(14,32,35,.45),rgba(0,0,0,.85)),0 0 0 1px light-dark(rgba(14,32,35,.08),rgba(230,239,238,.1))}
.sr-stage figcaption{display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:space-between;align-items:baseline;padding:13px 18px;
  border-top:1px solid var(--rule);font-family:var(--mono);font-size:11.5px;letter-spacing:.02em;color:var(--mute)}
.sr-stage figcaption b{font-weight:600;color:var(--ink)}
.sr-pulse{position:absolute;width:clamp(34px,4.2vw,50px);height:clamp(34px,4.2vw,50px);transform:translate(-50%,-50%);border-radius:50%;
  border:2px solid #C98A1C;animation:sr-pulse 2.4s cubic-bezier(.2,.7,.2,1) infinite;pointer-events:none}
@keyframes sr-pulse{0%{opacity:.9;transform:translate(-50%,-50%) scale(.6)}70%,100%{opacity:0;transform:translate(-50%,-50%) scale(1.35)}}
.sr-text{display:grid;gap:16px;justify-items:start}
.sr-text .sr-letter{margin-bottom:6px}
.sr-text .sr-chips{margin-top:6px}

/* limit band */
.sr-limit-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(32px,5vw,88px);align-items:end}
.sr-limit h2{max-width:18ch}
.sr-limit-side{display:grid;gap:clamp(28px,3vw,40px);justify-items:start}
.sr-tokens{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sr-tok{display:grid;place-items:center;min-width:56px;height:44px;padding:0 12px;border-radius:10px;background:#F4E3C4;color:#6E4708;
  font-family:var(--mono);font-size:15px;font-weight:600}
.sr-tok--off{background:transparent;color:rgba(242,247,246,.38);border:1px dashed rgba(242,247,246,.3);text-decoration:line-through;text-decoration-thickness:1px}
.sr-cap{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;margin:0 6px}
.sr-cap i{display:block;width:2px;height:64px;border-radius:2px;background:#9FD3D2}
.sr-cap b{position:absolute;top:-24px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#9FD3D2;white-space:nowrap}

@media (max-width:1000px){
  .sr-head{grid-template-columns:auto minmax(0,1fr)}
  .sr-head-side{grid-column:1 / -1}
  .sr-split{grid-template-columns:minmax(0,1fr)}
  .sr-text{order:-1}
  .sr-limit-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .sr-head{grid-template-columns:minmax(0,1fr)}
  .sr-head .sr-letter{margin-bottom:-6px}
  .sr-stage-shot{padding:28px 12px}
  .sr-tok{min-width:48px;height:40px;font-size:14px}
  /* wide screenshot: keep it legible, swipe sideways inside the frame */
  .sr-wide .sl-shot{aspect-ratio:auto!important;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .sr-wide .sl-shot img{width:760px;max-width:none}
}
@media (prefers-reduced-motion:reduce){.sr-pulse{animation:none;opacity:.8;transform:translate(-50%,-50%)}}
