/* Modellen: kunstig og æstetisk intelligens i ét hold. Animeret diagram. */
.om{--om-ink:#12140d;--om-paper:#faf9f2;--om-lime:#c3f53c;--om-muted:#6b6f5c;--om-line:rgba(18,20,13,.16);
  position:relative;padding:96px 56px;background:var(--om-paper);color:var(--om-ink);overflow:hidden;font-family:'Schibsted Grotesk',system-ui,sans-serif}
.om *{box-sizing:border-box}
.om-head{max-width:880px;margin:0 0 56px}
.om-kicker{display:block;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em;color:var(--om-muted);margin-bottom:16px}
.om-head h2{margin:0;font-size:clamp(34px,5.2vw,64px);font-weight:800;letter-spacing:-.035em;line-height:1}
.om-head h2 em,.om-head h1 em{font-family:'Newsreader',serif;font-weight:500;font-style:italic;letter-spacing:-.01em}
.om-head p{margin:20px 0 0;font-size:19px;line-height:1.5;color:#4a4d3e;max-width:620px}
.om-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px) minmax(0,1fr);gap:0 clamp(40px,7vw,110px);align-items:center}
.om-wires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}
.om-wires .base{fill:none;stroke:var(--om-line);stroke-width:1.5}
.om-wires .flow{fill:none;stroke-width:2;stroke-linecap:round;transition:stroke-width .3s,opacity .3s;opacity:.85}
.om-wires .flow.l{stroke:var(--om-lime)}
.om-wires .flow.r{stroke:var(--om-ink)}
.om-wires .flow.hot{stroke-width:3.5;opacity:1}
.om-wires .dot{r:4}
.om-wires .dot.l{fill:var(--om-ink);stroke:var(--om-lime);stroke-width:3}
.om-wires .dot.r{fill:var(--om-lime);stroke:var(--om-ink);stroke-width:3}
.om-col{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px;align-self:start}
.om-tag{padding:20px 22px;display:flex;flex-direction:column;gap:4px}
.om-tag b{font-size:18px;letter-spacing:.01em}
.om-tag span{font-size:14px}
.om-tag.lime{background:var(--om-lime);color:var(--om-ink)}
.om-tag.dark{background:var(--om-ink);color:var(--om-paper)}
.om-card{position:relative;background:var(--om-paper);border:1px solid var(--om-ink);padding:20px 22px;display:flex;flex-direction:column;gap:8px;cursor:default;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,background .25s}
.om-card h3{margin:0;font-size:17px;letter-spacing:.02em;text-transform:uppercase}
.om-card p{margin:0;font-size:15px;line-height:1.45;color:#3a3d2e}
.om-card .prod{align-self:flex-start;margin-top:4px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.04em;padding:5px 9px}
.om-card .prod b{font-weight:500;margin-right:8px;opacity:.65}
.om-ai .om-card .prod{background:rgba(195,245,60,.35)}
.om-ae .om-card .prod{background:rgba(18,20,13,.07)}
.om-ai .om-card:hover,.om-ai .om-card.hot{box-shadow:8px 8px 0 var(--om-lime);transform:translate(-4px,-4px)}
.om-ae .om-card:hover,.om-ae .om-card.hot{box-shadow:8px 8px 0 var(--om-ink);transform:translate(-4px,-4px)}
.om-core{position:relative;z-index:2;align-self:center;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;background:var(--om-ink);color:var(--om-paper);padding:28px}
.om-core .om-logo{display:block;width:78%;max-width:220px;height:auto}
.om-core strong{font-size:clamp(30px,3.2vw,44px);font-weight:800;letter-spacing:-.02em;line-height:1}
.om-core > span{font-size:clamp(18px,1.8vw,24px);font-weight:400}
.om-core p{margin:14px 0 0;font-size:14px;line-height:1.35;color:var(--om-lime);max-width:200px;min-height:2.7em}
.om-core .pulse{position:absolute;inset:0;border:2px solid var(--om-lime);opacity:0;pointer-events:none}
.om-core.hit .pulse{animation:om-hit .9s ease-out}
.om-core .ring{position:absolute;inset:-14px;border:1px dashed rgba(18,20,13,.25);pointer-events:none;animation:om-spin 40s linear infinite}
.om-core .ring.r2{inset:-30px;border-style:solid;border-color:rgba(195,245,60,.6);animation-duration:70s;animation-direction:reverse}
.om-foot{margin-top:56px;display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between;font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:.06em;color:var(--om-muted)}
.om-foot a{font-family:'Schibsted Grotesk',system-ui,sans-serif;letter-spacing:0;font-size:15px;font-weight:700;color:var(--om-paper);background:var(--om-ink);padding:15px 26px;text-decoration:none}
.om-foot a:hover{background:var(--om-lime);color:var(--om-ink)}
/* Ind-animation */
.om.js .om-head > *,.om.js .om-tag,.om.js .om-card,.om.js .om-core{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .35s,background .25s}
.om.js .om-head > *{transform:translateY(24px)}
.om.js .om-ai .om-tag,.om.js .om-ai .om-card{transform:translateX(-48px)}
.om.js .om-ae .om-tag,.om.js .om-ae .om-card{transform:translateX(48px)}
.om.js .om-core{transform:scale(.6) rotate(-8deg)}
.om.js.on .om-head > *,.om.js.on .om-tag,.om.js.on .om-card,.om.js.on .om-core{opacity:1;transform:none}
.om.js.on .om-ai .om-card:hover,.om.js.on .om-ai .om-card.hot,.om.js.on .om-ae .om-card:hover,.om.js.on .om-ae .om-card.hot{transform:translate(-4px,-4px)}
@keyframes om-hit{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.35)}}
@keyframes om-spin{to{transform:rotate(360deg)}}
/* Egen side */
.om-page{max-width:1240px;margin:0 auto;padding:72px 48px 48px;background:transparent}
/* Tablet og mobil: stak og lodrette forbindelser */
@media (max-width:980px){
  .om{padding:64px 22px}
  .om-stage{grid-template-columns:1fr;gap:0}
  .om-wires{display:none}
  .om-core{aspect-ratio:auto;max-width:none;margin:0 auto;width:100%;padding:34px 24px}
  .om-core .ring{display:none}
  .om-col{gap:12px}
  .om-stage > *{position:relative}
  .om-ai{padding-bottom:44px}.om-ae{padding-top:44px}
  .om-ai::after,.om-ae::before{content:"";position:absolute;left:50%;width:2px;height:44px;margin-left:-1px;background:linear-gradient(var(--om-lime),var(--om-lime)) no-repeat,var(--om-line);background-size:2px 40%;animation:om-drop 1.6s linear infinite}
  .om-ai::after{bottom:0}.om-ae::before{top:0;animation-direction:reverse}
}
@keyframes om-drop{from{background-position:0 -40%,0 0}to{background-position:0 140%,0 0}}
@media (prefers-reduced-motion:reduce){
  .om.js .om-head > *,.om.js .om-tag,.om.js .om-card,.om.js .om-core{opacity:1;transform:none;transition:none}
  .om-core .ring,.om-ai::after,.om-ae::before{animation:none}
}
