/* Hours — Jura, sidespecifikt lag. Indlæses efter scene-base.css.
   Kompositioner: bredt analysepanel (kontrakt + analyse med stiplede
   kildeforbindelser), metode i 4x2 med vandrende lys, blåt kildepanel med
   søgning, trust-modul med GDPR-emblem og fire badges, centreret afslutning. */

/* ══ 1 · Dokumentanalyse (12 s) ═══════════════════════════════════════ */
/* Dokumentanalyse: billedflade i samme maal som forsidens Amber-sektion,
   1150 x 530 px ved 1440. */
body.page-jura .ju-panel {
  width: 100%; max-width: 1150px; margin-inline: auto;
  height: 530px; overflow: hidden; border-radius: 7px;
}
body.page-jura .ju-panel img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.page-jura .ju-dok { position: relative; z-index: 2; background: #fff; padding: 22px 22px 24px; box-shadow: 0 18px 36px rgba(26,25,22,.14), 0 1px 3px rgba(26,25,22,.06), 0 0 0 1px rgba(26,25,22,.05); overflow: hidden; text-align: left; zoom: .92; }
body.page-jura .ju-dok-hd { display: flex; align-items: center; gap: 6px; font-size: .56rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--t3); padding-bottom: 8px; border-bottom: 1px solid #efedea; }
body.page-jura .ju-dok-mrk { width: 5px; height: 5px; border-radius: 1px; background: var(--green-txt); }
body.page-jura .ju-dok-titel { font-size: .92rem; font-weight: 600; color: var(--t1); margin-top: 12px; }
body.page-jura .ju-dok-sub { font-size: .6rem; color: var(--t3); margin-top: 2px; margin-bottom: 12px; }
body.page-jura .ju-linje { height: 4px; border-radius: 2px; background: #efedea; margin: 6px 0; }
body.page-jura .ju-linje.kort { width: 62%; }
body.page-jura .ju-klausul { position: relative; margin: 8px -8px; padding: 8px 8px; border-radius: 6px; }
body.page-jura .ju-klausul b { display: block; font-size: .66rem; font-weight: 600; color: var(--t1); }
body.page-jura .ju-klausul span { display: block; font-size: .58rem; line-height: 1.45; color: var(--t2); margin-top: 2px; }
body.page-jura .ju-scan { position: absolute; left: 0; right: 0; top: 0; height: 26px; background: linear-gradient(to bottom, rgba(31,157,85,0), rgba(31,157,85,.12) 50%, rgba(31,157,85,0)); border-bottom: 1.5px solid rgba(14,102,64,.35); opacity: 0; }
body.page-jura .ju-net { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; }
body.page-jura .ju-spor { fill: none; stroke: rgba(14,102,64,.55); stroke-width: 1.5; stroke-dasharray: .12 .1; stroke-dashoffset: 0; stroke-linecap: round; vector-effect: non-scaling-stroke; opacity: 0; }
body.page-jura .ju-analyse { position: relative; z-index: 2; text-align: left; opacity: 0; }
body.page-jura .ju-an-st { display: inline-grid; }
body.page-jura .ju-an-st > span { grid-area: 1 / 1; white-space: nowrap; text-align: center; }
body.page-jura .ju-an-st .b { opacity: 0; }
body.page-jura .ju-an-del { padding: 11px 14px 0; opacity: 0; }
body.page-jura .ju-an-del small { display: block; font-size: .56rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--t3); }
body.page-jura .ju-an-del p { font-size: .76rem; line-height: 1.45; color: #38342f; margin: 3px 0 0; }
body.page-jura .ju-konk { background: var(--green-bg); color: var(--green-txt) !important; border-radius: 8px; padding: 8px 10px; }
body.page-jura .ju-kilde { display: inline-flex; align-items: center; gap: 5px; margin: 7px 6px 0 0; font-size: .58rem; font-weight: 600; padding: 3px 8px; border-radius: 999px; background: #f1efeb; color: var(--t2); opacity: 0; }
body.page-jura .ju-kilde::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--green-txt); }
body.page-jura .ju-an-usik { display: flex; align-items: center; gap: 8px; margin-top: 12px; padding: 10px 14px; border-top: 1px solid #f2f0ec; font-size: .62rem; color: var(--t2); opacity: 0; }
body.page-jura .ju-an-prik { width: 7px; height: 7px; border-radius: 50%; background: var(--amber-txt); flex: none; }
body.page-jura .ju-scan { animation: ju-scan 12s linear infinite both; }
@keyframes ju-scan { 0%, 3% { transform: translateY(-30px); opacity: 0; } 5% { opacity: 1; } 42% { transform: translateY(420px); opacity: 1; } 46%, 100% { transform: translateY(420px); opacity: 0; } }
body.page-jura .ju-klausul[style*="--i:0"] { animation: ju-kl0 12s var(--sc-ud) infinite both; }
body.page-jura .ju-klausul[style*="--i:1"] { animation: ju-kl1 12s var(--sc-ud) infinite both; }
@keyframes ju-kl0 { 0%, 13% { background: transparent; } 16%, 94% { background: var(--green-bg); } 99%, 100% { background: transparent; } }
@keyframes ju-kl1 { 0%, 31% { background: transparent; } 34%, 94% { background: var(--green-bg); } 99%, 100% { background: transparent; } }
body.page-jura .ju-analyse { animation: ju-an 12s var(--sc-ud) infinite both; }
@keyframes ju-an { 0%, 4% { opacity: 0; transform: translateY(10px); filter: blur(4px); } 9%, 94% { opacity: 1; transform: translateY(0); filter: blur(0); } 99%, 100% { opacity: 0; } }
body.page-jura .ju-an-del[style*="--i:0"] { animation: ju-del0 12s var(--sc-ud) infinite both; }
body.page-jura .ju-an-del[style*="--i:1"] { animation: ju-del1 12s var(--sc-ud) infinite both; }
body.page-jura .ju-an-del[style*="--i:2"] { animation: ju-del2 12s var(--sc-ud) infinite both; }
@keyframes ju-del0 { 0%, 18% { opacity: 0; transform: translateY(6px); } 22%, 100% { opacity: 1; transform: translateY(0); } }
@keyframes ju-del1 { 0%, 36% { opacity: 0; transform: translateY(6px); } 40%, 100% { opacity: 1; transform: translateY(0); } }
@keyframes ju-del2 { 0%, 54% { opacity: 0; transform: translateY(6px); } 58%, 100% { opacity: 1; transform: translateY(0); } }
body.page-jura .ju-kilde[style*="--i:0"] { animation: ju-ki0 12s var(--sc-ud) infinite both; }
body.page-jura .ju-kilde[style*="--i:1"] { animation: ju-ki1 12s var(--sc-ud) infinite both; }
body.page-jura .ju-kilde[style*="--i:2"] { animation: ju-ki2 12s var(--sc-ud) infinite both; }
@keyframes ju-ki0 { 0%, 42% { opacity: 0; transform: translateY(4px); } 46%, 100% { opacity: 1; transform: translateY(0); } }
@keyframes ju-ki1 { 0%, 60% { opacity: 0; transform: translateY(4px); } 64%, 100% { opacity: 1; transform: translateY(0); } }
@keyframes ju-ki2 { 0%, 64% { opacity: 0; transform: translateY(4px); } 68%, 100% { opacity: 1; transform: translateY(0); } }
body.page-jura .ju-spor[style*="--i:0"] { animation: ju-sp0 12s linear infinite both; }
body.page-jura .ju-spor[style*="--i:1"] { animation: ju-sp1 12s linear infinite both; }
@keyframes ju-sp0 { 0%, 40% { opacity: 0; stroke-dashoffset: 1; } 42% { opacity: 1; } 48%, 94% { opacity: 1; stroke-dashoffset: 0; } 99%, 100% { opacity: 0; } }
@keyframes ju-sp1 { 0%, 58% { opacity: 0; stroke-dashoffset: 1; } 60% { opacity: 1; } 66%, 94% { opacity: 1; stroke-dashoffset: 0; } 99%, 100% { opacity: 0; } }
body.page-jura .ju-an-usik { animation: ju-usik 12s var(--sc-ud) infinite both; }
@keyframes ju-usik { 0%, 70% { opacity: 0; transform: translateY(4px); } 75%, 100% { opacity: 1; transform: translateY(0); } }
body.page-jura .ju-an-st .a { animation: ju-st-a 12s var(--sc-ud) infinite both; }
body.page-jura .ju-an-st .b { animation: ju-st-b 12s var(--sc-ud) infinite both; }
body.page-jura .ju-an-st { animation: ju-st-bg 12s var(--sc-ud) infinite both; }
@keyframes ju-st-a { 0%, 72% { opacity: 1; } 74%, 100% { opacity: 0; } }
@keyframes ju-st-b { 0%, 72% { opacity: 0; transform: translateY(3px); } 74%, 100% { opacity: 1; transform: translateY(0); } }
@keyframes ju-st-bg { 0%, 72% { background: var(--amber-bg); color: var(--amber-txt); } 74%, 100% { background: var(--green-bg); color: var(--green-txt); } }

/* ══ 2 · Metoden (12 s) ══════════════════════════════════════════════ */
/* Metoden: seks bokse i samme rolige stil som "Sikker databehandling"
   laengere nede paa siden. Var otte fuldbredde-raekker. De otte punkter er
   lagt sammen til seks uden tab: retskilder+praksis deler boks, det samme
   goer konklusion+kilder. Ét saet keyframes markerer det aktive trin. */
body.page-jura .ju-metode {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 14px; margin-top: clamp(8px, 1.4vw, 18px);
}
body.page-jura .ju-trin {
  position: relative; display: block; text-align: left;
  padding: 22px 22px 24px; border-radius: 7px;
  background: var(--fg-kort, #f9f9f9);
}
body.page-jura .ju-trin-ik {
  display: grid; place-items: center;
  width: 34px; height: 34px; border-radius: 7px;
  background: #fff; color: var(--t1); margin-bottom: 14px;
  box-shadow: 0 1px 3px rgba(17,24,20,.06);
}
body.page-jura .ju-trin-ik svg { width: 18px; height: 18px; }
body.page-jura .ju-trin b {
  display: block; width: auto; height: auto; background: none;
  border-radius: 0; padding: 0; margin-bottom: 4px;
  font-family: 'DM Sans', sans-serif; font-size: .72rem; font-weight: 600;
  letter-spacing: .06em; color: var(--t3);
  font-variant-numeric: tabular-nums;
}
body.page-jura .ju-trin h3 { font-family: 'DM Sans', sans-serif; font-size: 1.05rem; font-weight: 600; letter-spacing: -.01em; color: var(--t1); margin: 0 0 6px; }
body.page-jura .ju-trin p { font-size: .84rem; line-height: 1.55; color: var(--t2); margin: 0; }

/* ══ 3 · Kilderne (12 s) ═════════════════════════════════════════════ */
body.page-jura .ju-kildepanel { padding: clamp(24px, 3.2vw, 40px); display: flex; flex-direction: column; gap: 18px; justify-content: center; }
body.page-jura .ju-soeg { display: flex; align-items: center; gap: 12px; height: 56px; padding: 0 18px; border-radius: 999px; }
/* Bogstaverne laa i en flex-raekke med .3em luft imellem, saa teksten
   blev skrevet med store mellemrum. Ingen gap: den skal se ud som
   almindelig tekst, der bliver tastet. */
body.page-jura .ju-soeg-felt { display: flex; align-items: center; gap: 0; flex: 1; font-size: .98rem; color: var(--t1); min-width: 0; }
body.page-jura .ju-ord { opacity: 0; }
@keyframes ju-blink { to { opacity: 0; } }
body.page-jura .ju-soeg-st { display: inline-grid; margin-left: 0; }
body.page-jura .ju-soeg-st > span { grid-area: 1 / 1; white-space: nowrap; text-align: center; }
body.page-jura .ju-soeg-st .b { opacity: 0; }
body.page-jura .ju-resultater { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
body.page-jura .ju-res { text-align: left; padding: 16px 16px 18px; opacity: 0; }
body.page-jura .ju-res-hd { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
body.page-jura .ju-res-hd .sc-pille { margin-left: 0; }
body.page-jura .ju-res b { display: block; font-size: .86rem; font-weight: 600; color: var(--t1); }
body.page-jura .ju-res p { font-size: .72rem; line-height: 1.5; color: var(--t2); margin: 4px 0 0; }
body.page-jura .ju-pille-lov { background: #dfe9f5; color: var(--blue-txt); }
body.page-jura .ju-pille-bek { background: #dfe9f5; color: var(--blue-txt); }
body.page-jura .ju-pille-vejl { background: #dfe9f5; color: var(--blue-txt); }
body.page-jura .ju-pille-afg { background: #dfe9f5; color: var(--blue-txt); }
body.page-jura .ju-ord[style*="--i:0"] { animation: ju-ord0 12s var(--sc-ud) infinite both; }
@keyframes ju-ord0 { 0%, 6% { opacity: 0; } 8%, 94% { opacity: 1; } 99%, 100% { opacity: 0; } }
body.page-jura .ju-ord[style*="--i:1"] { animation: ju-ord1 12s var(--sc-ud) infinite both; }
@keyframes ju-ord1 { 0%, 11% { opacity: 0; } 13%, 94% { opacity: 1; } 99%, 100% { opacity: 0; } }
body.page-jura .ju-ord[style*="--i:2"] { animation: ju-ord2 12s var(--sc-ud) infinite both; }
@keyframes ju-ord2 { 0%, 16% { opacity: 0; } 18%, 94% { opacity: 1; } 99%, 100% { opacity: 0; } }
body.page-jura .ju-res[style*="--i:0"] { animation: ju-res0 12s var(--sc-ud) infinite both; }
@keyframes ju-res0 { 0%, 30% { opacity: 0; transform: translateY(14px); filter: blur(6px); } 35%, 94% { opacity: 1; transform: translateY(0); filter: blur(0); } 99%, 100% { opacity: 0; } }
body.page-jura .ju-res[style*="--i:1"] { animation: ju-res1 12s var(--sc-ud) infinite both; }
@keyframes ju-res1 { 0%, 38% { opacity: 0; transform: translateY(14px); filter: blur(6px); } 43%, 94% { opacity: 1; transform: translateY(0); filter: blur(0); } 99%, 100% { opacity: 0; } }
body.page-jura .ju-res[style*="--i:2"] { animation: ju-res2 12s var(--sc-ud) infinite both; }
@keyframes ju-res2 { 0%, 46% { opacity: 0; transform: translateY(14px); filter: blur(6px); } 51%, 94% { opacity: 1; transform: translateY(0); filter: blur(0); } 99%, 100% { opacity: 0; } }
body.page-jura .ju-res[style*="--i:3"] { animation: ju-res3 12s var(--sc-ud) infinite both; }
@keyframes ju-res3 { 0%, 54% { opacity: 0; transform: translateY(14px); filter: blur(6px); } 59%, 94% { opacity: 1; transform: translateY(0); filter: blur(0); } 99%, 100% { opacity: 0; } }
body.page-jura .ju-soeg-st .a { animation: ju-sst-a 12s var(--sc-ud) infinite both; }
body.page-jura .ju-soeg-st .b { animation: ju-sst-b 12s var(--sc-ud) infinite both; }
body.page-jura .ju-soeg-st { animation: ju-sst-bg 12s var(--sc-ud) infinite both; }
@keyframes ju-sst-a { 0%, 26% { opacity: 1; } 28%, 79% { opacity: 0; } 80%, 100% { opacity: 1; } }
@keyframes ju-sst-b { 0%, 26% { opacity: 0; transform: translateY(3px); } 28%, 79% { opacity: 1; transform: translateY(0); } 80%, 100% { opacity: 0; transform: translateY(3px); } }
@keyframes ju-sst-bg { 0%, 26% { background: #f1efeb; color: var(--t2); } 28%, 79% { background: var(--blue-bg); color: var(--blue-txt); } 80%, 100% { background: #f1efeb; color: var(--t2); } }

/* ══ 4 · Trust + GDPR-emblem ═════════════════════════════════════════ */
body.page-jura .ju-trust,
body.page-funktioner .ju-trust { display: grid; grid-template-columns: 1fr 1.25fr; gap: clamp(36px, 5vw, 80px); align-items: center; }
body.page-jura .ju-gdpr,
body.page-funktioner .ju-gdpr { position: relative; width: 100%; max-width: 460px; aspect-ratio: 1; border-radius: 7px; background: var(--fg-kort, #f9f9f9); display: grid; place-items: center; justify-self: start; overflow: hidden; transition: transform .6s var(--sc-ud); }
body.page-jura .ju-gdpr-ring,
body.page-jura .ju-gdpr-tekst,
body.page-funktioner .ju-gdpr-ring,
body.page-funktioner .ju-gdpr-tekst { position: absolute; left: 50%; top: 50%; width: 0; height: 0; }
body.page-jura .ju-gdpr-ring,
body.page-funktioner .ju-gdpr-ring { animation: ju-rot 90s linear infinite; }
body.page-jura .ju-gdpr-ring i,
body.page-funktioner .ju-gdpr-ring i { position: absolute; left: -5px; top: -5px; width: 10px; height: 10px; background: var(--green-txt); opacity: .55; clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); transform: rotate(var(--a)) translateY(-172px); }
body.page-jura .ju-gdpr-tekst,
body.page-funktioner .ju-gdpr-tekst { animation: ju-rot 40s linear infinite; }
body.page-jura .ju-gdpr-tekst span,
body.page-funktioner .ju-gdpr-tekst span { position: absolute; left: 0; top: 0; display: inline-block; width: 1ch; margin-left: -.5ch; margin-top: -.6em; font-size: .78rem; font-weight: 600; letter-spacing: .04em; color: var(--t2); text-align: center; transform: rotate(calc(360deg / 64 * var(--i))) translateY(-132px); }
@keyframes ju-rot { to { transform: rotate(360deg); } }
body.page-jura .ju-gdpr-kerne,
/* Cirklen loefter sig fra den graa flade med en neutral skygge. Den var
   groen (rgba(14,102,64,.14)) og lagde et groenligt skaer rundt om emblemet -
   det er fjernet med vilje, farven skal ikke tilbage. */
body.page-funktioner .ju-gdpr-kerne { position: relative; z-index: 2; width: 178px; height: 178px; border-radius: 50%; background: #fff; box-shadow: 0 20px 48px rgba(17,24,20,.08); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
body.page-jura .ju-gdpr-kerne b,
body.page-funktioner .ju-gdpr-kerne b { font-family: 'DM Sans', sans-serif; font-size: 2.1rem; font-weight: 600; letter-spacing: -.02em; color: var(--t1); line-height: 1; }
body.page-jura .ju-gdpr-kerne small,
body.page-funktioner .ju-gdpr-kerne small { font-size: .66rem; color: var(--t2); }
body.page-jura .ju-trust-tekst,
body.page-funktioner .ju-trust-tekst { text-align: left; }
body.page-jura .ju-trust-tekst .sc-h2,
body.page-funktioner .ju-trust-tekst .sc-h2 { text-align: left; }
body.page-jura .ju-badges,
body.page-funktioner .ju-badges { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px; }
body.page-jura .ju-badge,
body.page-funktioner .ju-badge { display: flex; gap: 12px; align-items: flex-start; padding: 16px 18px; border-radius: 7px; background: var(--fg-kort, #f9f9f9); }
body.page-jura .ju-badge-ik,
body.page-funktioner .ju-badge-ik { flex: none; width: 34px; height: 34px; border-radius: 10px; background: #fff; color: var(--t1); display: grid; place-items: center; box-shadow: 0 1px 3px rgba(17,24,20,.06); }
body.page-jura .ju-badge-ik svg,
body.page-funktioner .ju-badge-ik svg { width: 18px; height: 18px; }
body.page-jura .ju-badge b,
body.page-funktioner .ju-badge b { display: block; font-size: .92rem; font-weight: 600; color: var(--t1); }
body.page-jura .ju-badge p,
body.page-funktioner .ju-badge p { font-size: .8rem; line-height: 1.5; color: var(--t2); margin: 3px 0 0; }

/* ══ Reduceret bevægelse ═══════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  body.page-jura :where(.ju-analyse, .ju-an-del, .ju-kilde, .ju-an-usik, .ju-spor, .ju-ord, .ju-res, .ju-an-st .b, .ju-soeg-st .b) { opacity: 1 !important; transform: none !important; filter: none !important; stroke-dashoffset: 0; }
  body.page-jura :where(.ju-an-st .a, .ju-soeg-st .a, .ju-scan, .ju-markoer) { opacity: 0 !important; }
  body.page-jura .ju-klausul { background: var(--green-bg); }
  body.page-jura .ju-trin b { background: var(--green-bg); color: var(--green-txt); }
body.page-jura .ju-gdpr-ring,
body.page-jura .ju-gdpr-tekst,
body.page-funktioner .ju-gdpr-ring,
body.page-funktioner .ju-gdpr-tekst { animation: none; }
}

/* ══ Responsivt ════════════════════════════════════════════════════ */
@media (max-width: 1100px) { body.page-jura .ju-panel { grid-template-columns: 1fr; aspect-ratio: auto; } body.page-jura .ju-net { display: none; } body.page-jura .ju-metode { grid-template-columns: 1fr 1fr; } body.page-jura .ju-resultater { grid-template-columns: 1fr 1fr; } body.page-jura .ju-kildepanel { aspect-ratio: auto; } }
@media (max-width: 900px) { body.page-jura .ju-trust, body.page-funktioner .ju-trust { grid-template-columns: 1fr; } body.page-jura .ju-gdpr, body.page-funktioner .ju-gdpr { justify-self: center; max-width: 380px; } body.page-jura .ju-gdpr-ring i { transform: rotate(var(--a)) translateY(-150px); } body.page-jura .ju-gdpr-tekst span, body.page-funktioner .ju-gdpr-tekst span { transform: rotate(calc(360deg / 64 * var(--i))) translateY(-114px); } }
@media (max-width: 560px) { body.page-jura .ju-soeg-st { display: none; } body.page-jura .ju-metode, body.page-jura .ju-resultater, body.page-jura .ju-badges, body.page-funktioner .ju-badges { grid-template-columns: 1fr; } body.page-jura .ju-gdpr, body.page-funktioner .ju-gdpr { max-width: 320px; } body.page-jura .ju-gdpr-kerne, body.page-funktioner .ju-gdpr-kerne { width: 140px; height: 140px; } body.page-jura .ju-gdpr-ring i { transform: rotate(var(--a)) translateY(-128px); } body.page-jura .ju-gdpr-tekst span, body.page-funktioner .ju-gdpr-tekst span { transform: rotate(calc(360deg / 64 * var(--i))) translateY(-98px); font-size: .68rem; } }
@media (max-width: 1100px) { body.page-jura .ju-metode { grid-template-columns: 1fr 1fr; } }
@media (max-width: 680px)  { body.page-jura .ju-metode { grid-template-columns: 1fr; } }

/* Tjekmarket i mint. Kun her - andre sider bruger sc-tjek som foer. */
/* Mindre groen paa siden: tjekmarket baerer den samme afdaempede graa
   som resten af de neutrale elementer. */
body.page-jura .sc-tjek { background: var(--subtle); color: var(--t2); }

/* Soegefeltet skrives ind og ryddes igen af ÉN klipning omkring teksten.
   Foer sad indtastningen i hvert bogstav med en forskydning paa 55 ms, og
   sletningen i linjen omkring dem. De to loeb i utakt: ved hvert
   cyklusskift aabnede linjen igen, mens bogstaverne stadig stod med deres
   gamle bredde, saa hele teksten blinkede tilbage og blev visket vaek
   bogstav for bogstav, foer den blev tastet forfra.
   Nu staar bogstaverne stille, og linjen vokser i 33 trin fra venstre og
   klipper sig sammen i 33 trin fra hoejre. Markoeren er naeste
   flex-element og foelger kanten begge veje, saa det er den, der skriver,
   og den, der sletter. 16em daekker de maalte 15,19em, teksten fylder. */
body.page-jura .ju-bogstav { display: inline-block; white-space: pre; }
body.page-jura .ju-soeg-tekst {
  display: inline-block; flex: none;
  overflow: hidden; white-space: nowrap;
  animation: ju-skriv 12s infinite both;
}
@keyframes ju-skriv {
  0%        { max-width: 0;    animation-timing-function: steps(33, end); }
  17%       { max-width: 16em; }
  79%       { max-width: 16em; animation-timing-function: steps(33, end); }
  94%, 100% { max-width: 0; }
}
/* Markoeren blinker for enden af feltet, mens der skrives. */
body.page-jura .ju-soeg-felt::after {
  content: ""; width: 1.5px; height: 1.05em; margin-left: 1px; flex: none;
  background: var(--t1); border-radius: 1px;
  animation: ju-markoer-blink 1s steps(1, end) infinite;
}
@keyframes ju-markoer-blink { 0%, 50% { opacity: 1; } 51%, 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  body.page-jura .ju-soeg-tekst { animation: none; max-width: none; }
  body.page-jura .ju-soeg-felt::after { animation: none; opacity: 0; }
}
