/* Blog pages (src/blog/templates). Tokens from design_handoff_vortner/tokens.css; blue only for links and the one main button. */
:root{--ink:#16181B;--graphite:#3A3D42;--slate:#5A5D63;--mute:#8A8D92;--line:#C9C8C3;--rule:#E4E3DF;--rule-soft:#EDECE8;--chip:#F1F0EC;--paper:#F6F5F2;--white:#fff;--signal:#2A5DAA;--signal-d:#214C8C;--ok:oklch(0.52 0.08 155);--ok-t:oklch(0.38 0.07 155);--wait:oklch(0.50 0.12 300);--wait-t:oklch(0.42 0.12 300);--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html,body{margin:0}
body{background:var(--paper);color:var(--ink);font-family:"Schibsted Grotesk",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.55}
a{color:inherit}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:2px}
.col{max-width:1240px;margin:0 auto;padding:0 32px}
.measure{max-width:680px}

/* Wordmark and footer: the same as on the other pages, which carry these in their own <style> */
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.wm{display:inline-flex;align-items:center;font-weight:700;letter-spacing:-0.035em;line-height:1;color:var(--ink);text-decoration:none}
.wm svg{width:.62em;height:.62em;margin:0 .02em;transform:translateY(.06em)}
.foot{background:var(--ink);color:#9C9A94;font-size:14px;border-top:1px solid #34373C}
.foot-in{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding-top:28px;padding-bottom:28px}
.foot .wm{color:var(--paper);font-size:21px}
.foot nav{margin-left:auto;display:flex;gap:22px;flex-wrap:wrap}
.foot nav a{color:#C9C7C1;text-decoration:none}

/* The rule sentence: Vortner's own grammar, used as the picture of each post */
.rule{margin:0;font-weight:700;letter-spacing:-0.025em;line-height:1.6}
.rule .p{display:inline-block;background:var(--chip);border-radius:4px;padding:0 .26em;line-height:1.35;box-shadow:inset 0 0 0 1px var(--rule)}
.rule-lg{font-size:clamp(26px,3.6vw,46px);line-height:1.5}
.rule-sm{font-size:15px;font-weight:600;letter-spacing:-0.01em;color:var(--graphite);line-height:1.7}
.rule-sm .p{color:var(--ink);padding:1px 6px;line-height:1.4}

/* Status: a small square plus a word */
.st{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600}
.st i{width:8px;height:8px;border-radius:1px;background:var(--off,#C9C8C3)}
.st.ok{color:var(--ok-t)}.st.ok i{background:var(--ok)}
.st.wt{color:var(--wait-t)}.st.wt i{background:var(--wait)}

/* Overview */
.bl-head{padding:96px 0 56px}
.bl-head h1{margin:0;font-size:clamp(40px,5vw,68px);line-height:1.02;letter-spacing:-0.035em;max-width:15ch}
.bl-head p{margin:22px 0 0;font-size:20px;line-height:1.5;color:var(--graphite);max-width:40ch}
.posts{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.post{display:grid;grid-template-columns:150px minmax(0,1fr) 90px;gap:8px 32px;padding:34px 0;border-bottom:1px solid var(--rule)}
.post time,.post .len{font-size:14px;color:var(--slate);padding-top:9px}
.post .len{text-align:right}
.post h2{margin:0;font-size:clamp(22px,2.3vw,30px);line-height:1.15;letter-spacing:-0.025em;max-width:28ch}
.post h2 a{text-decoration:none}
.post h2 a:hover{color:var(--signal)}
.post .sum{margin:10px 0 14px;color:var(--graphite);max-width:58ch}
.post.first h2{font-size:clamp(28px,3.4vw,44px);max-width:22ch}
.post.first .rule-sm{font-size:17px}
.bl-empty{margin:0;padding:34px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);color:var(--graphite)}
.bl-foot{display:flex;gap:24px;flex-wrap:wrap;padding:28px 0 96px;font-size:15px;color:var(--slate)}
.bl-foot a{color:var(--signal);text-decoration:none}.bl-foot a:hover{text-decoration:underline;text-underline-offset:3px}

/* Post */
.ar-head{padding:80px 0 0}
.back{font-size:15px;color:var(--slate);text-decoration:none}.back:hover{color:var(--ink)}
.ar-head h1{margin:22px 0 0;font-size:clamp(36px,4.6vw,62px);line-height:1.04;letter-spacing:-0.035em;max-width:17ch}
.meta{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:22px;font-size:15px;color:var(--slate)}
.meta b{color:var(--ink);font-weight:600}
.thesis{max-width:980px;margin:52px 0 0;background:var(--white);border-radius:6px;box-shadow:0 0 0 1px var(--rule);padding:32px 40px 24px}
.thesis small{display:block;font-size:13px;color:var(--slate);margin-bottom:10px}
.thesis-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:18px;padding-top:16px;border-top:1px solid var(--rule-soft);font-size:13px;color:var(--slate)}

.body{padding:56px 0 24px;font-size:19px;line-height:1.65}
.body p{margin:0 0 1.1em}
.body h2{margin:1.9em 0 .55em;font-size:26px;line-height:1.2;letter-spacing:-0.02em}
.body a{color:var(--signal);text-underline-offset:3px}
.body strong{font-weight:600}
.body img{max-width:100%;height:auto;border-radius:6px}

/* Inline product object: an approval chain, as it looks in Vortner */
.chain{margin:2em 0;background:var(--white);border-radius:6px;box-shadow:0 0 0 1px var(--rule);font-size:15px;line-height:1.4}
.chain figcaption{padding:14px 20px;border-bottom:1px solid var(--rule-soft);font-size:13px;color:var(--slate)}
.chain figcaption b{display:block;color:var(--ink);font-size:15px;margin-bottom:2px}
.chain ol{list-style:none;margin:0;padding:0}
.chain li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--rule-soft)}
.chain li:last-child{border-bottom:0}
.chain .av{width:32px;height:32px;border-radius:50%;background:var(--chip);display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--graphite)}
.chain small{display:block;color:var(--slate);font-size:13px}

.end{margin:40px 0 0;padding:28px 0 0;border-top:1px solid var(--rule)}
.end p{margin:0 0 18px;font-size:19px;max-width:44ch}
.btn,.body .btn{display:inline-flex;align-items:center;font-family:inherit;font-weight:600;font-size:15px;line-height:1;color:#fff;padding:14px 20px;border-radius:4px;text-decoration:none;background:var(--signal);transition:background-color 120ms var(--ease)}
.btn:hover{background:var(--signal-d)}
.body .upd{margin-left:22px;font-size:15px;text-decoration:none}.body .upd:hover{text-decoration:underline}
.next,.body .next{display:block;color:var(--ink);margin:64px 0 96px;padding:24px 28px;background:var(--white);border-radius:6px;box-shadow:0 0 0 1px var(--rule);text-decoration:none;transition:box-shadow 120ms var(--ease)}
.next:hover{box-shadow:0 0 0 1px var(--ink)}
.next small{display:block;font-size:13px;color:var(--slate);margin-bottom:6px}
.next b{font-size:22px;letter-spacing:-0.02em;line-height:1.2}
.end + .next{margin-top:64px}
.body > .end:last-child{margin-bottom:96px}

@media (max-width:860px){
  .col,.wrap{padding:0 16px}
  .foot nav{margin-left:0}
  .bl-head{padding:56px 0 36px}
  .post{grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:26px 0}
  .post time{grid-column:1;grid-row:1;padding:0}
  .post .len{grid-column:2;grid-row:1;padding:0}
  .post > div{grid-column:1 / -1}
  .ar-head{padding:48px 0 0}
  .thesis{padding:20px 18px 16px;margin-top:36px}
  .body{font-size:18px;padding-top:40px}
  .chain li{padding:12px 14px}
}
@media (prefers-reduced-motion:reduce){.btn,.next{transition:none}}
