/* solutions.alsdro.de — scrolling page on the shared system */
body.page { height:auto; min-height:100%; overflow:visible; background:#111; }
html:has(body.page) { height:auto; }
body.page .top { position:fixed; }
.first { position:relative; min-height:100vh; display:flex; flex-direction:column; justify-content:flex-end; padding:var(--gutter); padding-bottom:calc(var(--gutter) * 3); background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:24px 24px; background-position:-1px -1px; }
.eyebrow { margin-bottom:16px; color:var(--muted); font-size:12px; line-height:14px; letter-spacing:-.12px; }
.first h1 { max-width:22ch; font-size:28px; line-height:30px; letter-spacing:-1.12px; font-weight:600; }
.block { padding:96px var(--gutter) 0; }
.label { margin-bottom:16px; color:var(--muted); font-size:14px; line-height:17px; font-weight:400; letter-spacing:-.28px; }
.cols, .steps { display:grid; gap:var(--gutter); grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; }
.steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
article, .steps li { padding-top:12px; border-top:1px solid rgba(255,255,255,.14); }
.n { display:block; margin-bottom:28px; font-family:var(--serif); font-size:14px; line-height:1; color:var(--muted); font-variant-numeric:tabular-nums; }
h3 { margin-bottom:8px; font-size:16px; line-height:20px; letter-spacing:-.34px; font-weight:var(--fw-display); }
article p, .steps p { max-width:30ch; font-size:14px; line-height:17px; }
.refs { list-style:none; }
.refs li + li { border-top:1px solid rgba(255,255,255,.14); }
.refs li:first-child { border-top:1px solid rgba(255,255,255,.14); }
.refs li:last-child { border-bottom:1px solid rgba(255,255,255,.14); }
.refs a { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr) 24px; gap:var(--gutter); padding:16px 0; transition:opacity .3s ease; }
.refs a:hover { opacity:.6; }
.refs .host { font-size:16px; line-height:20px; letter-spacing:-.34px; font-weight:var(--fw-display); }
.refs .what { color:var(--muted); max-width:52ch; }
.refs .go { text-align:right; }
.contact { padding-bottom:0; }
.say { font-size:28px; line-height:30px; letter-spacing:-1.12px; font-weight:600; max-width:24ch; }
.say a:hover { opacity:.55; }
body.page .foot { position:static; padding:120px var(--gutter) var(--gutter); pointer-events:auto; }
.nav [aria-current="page"] { opacity:.5; }
@media (max-width:767px) {
  .cols, .steps { grid-template-columns:1fr; }
  .first h1, .say { font-size:22px; line-height:24px; letter-spacing:-.88px; }
  .refs a { grid-template-columns:1fr 24px; }
  .refs .what { grid-column:1; grid-row:2; }
  .block { padding-top:72px; }
  body.page .foot { display:flex; }
}
body.page main { position:static; inset:auto; }
