/* AIX · system: brand/AIX-Design-System-2026-08.pdf · genre: editorial
   OWN THE FUTURE · av AIX · shared styles, mobile first
   Hallmark-audit 2026-08-06: fixes applied, spacing-scale tokens deferred to rev 3 */
:root{
  --paper:#ffffff;
  --ink:#131313;
  --sans:'Bricolage Grotesque',Arial,sans-serif;
  --accent:#fedc00;
  --blue:#305cff;
  --pink:#ff71ba;
  --orange:#ff8200;
  --green:#00b764;
  --purple:#9b6bff;
  --stone:#edede9;
  --noise:#cfcfca;
  --mono:var(--sans);
  --ink-70:color-mix(in srgb,var(--ink) 70%,var(--paper));
  --ink-55:color-mix(in srgb,var(--ink) 55%,var(--paper));
  --ink-12:color-mix(in srgb,var(--ink) 12%,var(--paper));
  --sect:clamp(56px,9vw,110px);
  --ease:cubic-bezier(.16,1,.3,1);
  --field-ink:color-mix(in srgb,var(--ink) 90%,var(--paper));
  --control-h:48px;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{overflow-x:clip}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tile,.tile:hover{transform:none;transition:none}.btn:active{transform:none}}
h1,h2,h3{overflow-wrap:anywhere}
body{
  font-family:var(--sans);
  font-optical-sizing:none;font-variation-settings:'opsz' 14;
  background:var(--paper);color:var(--ink);
  font-size:16.5px;line-height:1.4;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1160px;margin:0 auto;padding:0 clamp(18px,4vw,44px)}
.wordmark{display:block;height:28px;width:auto;flex:none}

/* ---------- nav ---------- */
header{position:sticky;top:0;z-index:50;background:var(--ink);border-bottom:2px solid var(--ink)}
header .masthead{color:var(--paper)}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:12px 18px;font-weight:600;z-index:100}
.skip:focus{left:0}
section[id],main[id]{scroll-margin-top:76px}
a:focus-visible,.btn:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
/* sidhuvudet ar svart: konturen maste byta farg for att synas alls */
header a:focus-visible,header .btn:focus-visible{outline-color:var(--accent)}
nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0}
.masthead{font-weight:800;font-size:16px;letter-spacing:-.02em;line-height:1;white-space:nowrap}
.byline{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.16em;color:var(--accent)}
.logo{display:flex;align-items:baseline;gap:10px;min-width:0}
.btn{display:inline-block;font-weight:600;font-size:14.5px;padding:12px 20px;transition:background .15s var(--ease),color .15s var(--ease)}
.btn:active{transform:translateY(1px)}
.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:var(--paper);color:var(--ink)}
.btn-ghost{border:2px solid var(--ink);color:var(--ink);padding:10px 18px}
.btn-ghost:hover{background:var(--ink);color:var(--accent)}
.btn-onyellow{background:var(--ink);color:var(--accent)}
.btn-onyellow:hover{background:var(--paper);color:var(--ink)}
nav .btn{padding:9px 14px;font-size:12.5px}
header .btn-onyellow{background:var(--accent);color:var(--ink)}
header .btn-onyellow:hover{background:var(--paper);color:var(--ink)}
@media (max-width:359px){.byline{display:none}.masthead{font-size:15px}}
@media (min-width:760px){
  .masthead{font-size:19px}
  nav .btn{padding:10px 18px;font-size:13.5px}
}

/* ---------- cover hero (home) ---------- */
.hero{background:var(--accent);padding:clamp(40px,7vw,80px) 0 clamp(48px,10vw,110px);border-bottom:2px solid var(--ink)}
.eyebrow{display:inline-block;background:var(--ink);color:var(--accent);font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;padding:7px 12px 6px;margin-bottom:26px}
h1{font-size:clamp(46px,13vw,140px);line-height:.94;letter-spacing:-.02em;font-weight:800}
.hero .sub{margin-top:24px;font-size:clamp(16.5px,1.7vw,20px);color:color-mix(in srgb,var(--ink) 80%,var(--accent));max-width:600px;font-weight:600}
.ctas{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.herometa{display:flex;gap:clamp(16px,3.5vw,40px);flex-wrap:wrap;border-top:2px solid var(--ink);margin-top:clamp(34px,6vw,56px);padding-top:18px;font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.1em}

/* ---------- sections ---------- */
section{padding:var(--sect) 0 0}
.kicker{display:inline-block;background:var(--accent);color:var(--ink);font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;padding:6px 10px 5px;margin-bottom:16px;text-transform:uppercase}
h2{font-size:clamp(28px,6vw,52px);letter-spacing:-.02em;font-weight:800;line-height:1.05}
.source{font-size:16px;font-weight:400;line-height:1.4;color:var(--ink-55);margin-top:18px}
/* Brodtext i ett textavsnitt pa startsidan, samma matt som leden ovanfor (t120, 2026-09-14). */
#sa-byggt .body{color:var(--ink-70);font-size:clamp(15.5px,1.6vw,17px);line-height:1.4;font-weight:400;max-width:740px;margin-top:14px}

/* ---------- megatrends tiles ---------- */
.tiles{display:grid;grid-auto-flow:column;grid-auto-columns:66%;gap:12px;margin-top:clamp(26px,4vw,40px);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch}
.tile{scroll-snap-align:start;border:2px solid var(--ink);display:flex;flex-direction:column;background:var(--paper);transition:transform .2s var(--ease)}
.tile:hover{transform:translateY(-3px)}
.tile img{width:100%;aspect-ratio:1;object-fit:cover;filter:grayscale(1)}
.tile .lbl{padding:13px 14px;font-weight:800;font-size:14.5px;line-height:1.25;letter-spacing:-.01em;flex:1;display:flex;flex-direction:column;gap:5px}
.tile .lbl .no{font-family:var(--mono);font-size:11px;font-weight:600;opacity:.75}
.tile.c1{--force:var(--blue)}
.tile.c2{--force:var(--pink)}
.tile.c3{--force:var(--orange)}
.tile.c4{--force:var(--green)}
.tile.c5{--force:var(--purple)}
@media (min-width:760px){
  .tiles{grid-auto-flow:row;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}
}

/* ---------- split panel (color field + B&W photo) ---------- */
.split{display:grid;border:2px solid var(--ink);margin-top:clamp(26px,4vw,40px)}
.split figure img{width:100%;height:100%;min-height:240px;object-fit:cover;filter:grayscale(1)}
.split .field{padding:clamp(24px,5vw,56px);display:flex;flex-direction:column;justify-content:center;gap:12px}
.split .field.f-yellow{background:var(--accent)}
.split .field.f-blue{background:var(--blue);color:var(--paper);--field-ink:var(--paper)}
.split .field.f-pink{background:var(--pink)}
.split .field.f-orange{background:var(--orange)}
.split .field.f-green{background:var(--green)}
.split .field.f-purple{background:var(--purple)}
.split .field .kicker{background:var(--ink);color:var(--paper);margin-bottom:2px}
.split .bignum{display:block;font-weight:800;font-size:clamp(64px,8vw,124px);line-height:.9;letter-spacing:-.02em}
.split .bignum small{font-size:.42em;font-weight:800;letter-spacing:-.02em}
.split h2,.split h3{font-size:clamp(20px,3.6vw,30px);font-weight:800;letter-spacing:-.02em;line-height:1.12;max-width:460px;margin:0}
.split p{font-size:clamp(15px,1.5vw,17px);color:var(--field-ink);max-width:480px;font-weight:400}
.split .punch{font-weight:800;color:var(--ink)}
@media (min-width:820px){
  .split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .split figure{order:2}
  .split figure img{min-height:420px}
}

/* ---------- chapter columns (home, deck grammar: rubrik + foto + teman) ---------- */
.chapcols{display:grid;grid-auto-flow:column;grid-auto-columns:72%;gap:12px;margin-top:clamp(26px,4vw,40px);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch}
.ccol{scroll-snap-align:start;display:flex;flex-direction:column;border:2px solid var(--ink);background:var(--paper);transition:transform .2s var(--ease)}
.ccol:hover{transform:translateY(-3px)}
.ccol .ch{padding:13px 14px;font-weight:800;font-size:15px;line-height:1.22;letter-spacing:-.01em;display:flex;flex-direction:column;gap:4px;min-height:78px}
.ccol .no{font-family:var(--mono);font-size:11px;font-weight:600;opacity:.75}
.tile .lbl .no,.homegroup h3 .no{opacity:1}
.ccol img{width:100%;aspect-ratio:1;object-fit:cover;filter:grayscale(1)}
.ccol .cf{padding:11px 14px 13px;font-size:13.5px;font-weight:600;flex:1}
.ccol .cf i{display:block;font-style:normal;padding:4px 0;border-bottom:1px solid rgba(0,0,0,.18)}
.ccol .cf i:last-child{border-bottom:none}
.c1 .ch,.c1 .cf{background:var(--blue);color:var(--paper)}
.c2 .ch,.c2 .cf{background:var(--pink)}
.c3 .ch,.c3 .cf{background:var(--orange)}
.c4 .ch,.c4 .cf{background:var(--green)}
.c5 .ch,.c5 .cf{background:var(--purple)}
@media (min-width:760px){
  .chapcols{grid-auto-flow:row;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}
}

/* ---------- driver-kolumner (hög bild + etikett under) ---------- */
.drvcols{display:grid;grid-auto-flow:column;grid-auto-columns:72%;gap:12px;margin-top:clamp(26px,4vw,40px);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch}
.dcol{scroll-snap-align:start;display:flex;flex-direction:column;border:2px solid var(--ink);background:var(--paper);transition:transform .2s var(--ease)}
.dcol:hover{transform:translateY(-3px)}
.dcol img{width:100%;height:clamp(240px,28vw,400px);object-fit:cover;filter:grayscale(1)}
.dcol .dl2{padding:12px 14px 14px;font-weight:800;font-size:14.5px;line-height:1.25;letter-spacing:-.01em;display:flex;flex-direction:column;gap:4px;flex:1}
.c1 .dl2{background:var(--blue);color:var(--paper)}
.c2 .dl2{background:var(--pink)}
.c3 .dl2{background:var(--orange)}
.c4 .dl2{background:var(--green)}
.c5 .dl2{background:var(--purple)}
@media (min-width:760px){
  .drvcols{grid-auto-flow:row;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}
}

/* ---------- chapter sub-page ---------- */
.chero{border-bottom:2px solid var(--ink);padding:clamp(40px,8vw,90px) 0 clamp(34px,6vw,64px)}
.chero.c1{background:var(--blue);color:var(--paper);--field-ink:var(--paper)}
.chero.c2{background:var(--pink)}
.chero.c3{background:var(--orange)}
.chero.c4{background:var(--green)}
.chero.c5{background:var(--purple)}
.crumb{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.14em;margin-bottom:20px}
.crumb a{text-decoration:underline;text-underline-offset:3px}
.chero .cnum{font-weight:800;font-size:clamp(64px,16vw,150px);letter-spacing:-.02em;line-height:.85}
.chero h1{font-size:clamp(32px,8vw,76px);letter-spacing:-.02em;line-height:1;margin-top:10px}
.chero .cdesc{margin-top:18px;font-size:clamp(16px,1.7vw,19px);font-weight:600;max-width:600px;color:var(--field-ink)}
.themepills{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.themepills span{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.06em;background:var(--ink);color:var(--paper);padding:6px 10px 5px}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:clamp(24px,4vw,38px)}
.tbox{border:2px solid var(--ink);background:var(--paper);padding:16px 16px 18px;display:flex;flex-direction:column;gap:6px}
a.tbox{color:inherit;text-decoration:none}
a.tbox:hover b{text-decoration:underline}
.tbox b{font-size:16.5px;font-weight:800;letter-spacing:-.01em}
.tbox span{font-size:13.5px;line-height:1.45;color:var(--ink-70)}
.empty{background:var(--stone);border:2px solid var(--ink);padding:clamp(24px,5vw,48px);margin-top:clamp(26px,4vw,40px)}
.empty h3{font-size:clamp(20px,3.6vw,30px);font-weight:800;letter-spacing:-.02em}
.empty p{margin-top:8px;color:var(--ink-70);font-size:15px;max-width:520px}

/* ---------- produkten ---------- */
.prod{background:var(--stone);border:2px solid var(--ink);padding:clamp(24px,5vw,52px)}
.prod h2{font-size:clamp(22px,4vw,34px)}
.prod .body{margin-top:12px;color:var(--ink-70);font-size:15px;max-width:560px}
.prod .docs{margin-top:16px;font-size:16px;font-weight:400;line-height:1.4;color:var(--ink-70)}
.prod .docs a{font-weight:600;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:.15em;text-underline-offset:.15em}
.owners-chip{display:inline-block;font-family:var(--mono);font-size:12px;font-weight:600;background:var(--pink);padding:7px 11px 6px;margin-top:16px}

/* ---------- nyhetsbrev ---------- */
.follow{background:var(--stone);color:var(--ink);border:2px solid var(--ink);padding:clamp(28px,6vw,64px);display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.follow h2{font-size:clamp(24px,5vw,44px)}
.follow p{color:var(--ink-70);font-size:15.5px;max-width:480px;margin-top:10px}
.nlbox{flex:1 1 300px;max-width:520px}
.nlform{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.nlform input{font-family:inherit;font-size:15px;font-weight:600;height:var(--control-h);padding:0 15px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);flex:1 1 200px;min-width:0}
.nlform input::placeholder{color:var(--ink-55);font-weight:400}
.nlform input:disabled{opacity:.55;cursor:not-allowed}
.nlform .btn{height:var(--control-h);display:inline-flex;align-items:center;padding-top:0;padding-bottom:0}
.nlmsg{font-family:var(--mono);font-size:12.5px;font-weight:600;margin-top:12px;display:block;min-height:1.5em;visibility:hidden}
.nlmsg.show{visibility:visible}
/* Errors invert to the eyebrow treatment: no new colour, still unmistakable. */
.nlmsg.err{background:var(--ink);color:var(--accent);padding:6px 10px 5px;display:inline-block}
.nlconsent{font-size:12.5px;line-height:1.45;margin-top:12px;max-width:46ch;color:color-mix(in srgb,var(--ink) 74%,var(--accent))}
.nlconsent a{text-decoration:underline;text-underline-offset:3px}
/* Honeypot. Off-screen rather than display:none, which many bots skip. */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nlalt{margin-top:14px;font-size:13.5px}
.nlalt a{font-weight:600;text-decoration:underline;text-decoration-thickness:.12em;text-underline-offset:.15em}

/* ---------- footer ---------- */
footer{padding:clamp(34px,6vw,60px) 0 52px;margin-top:var(--sect);border-top:2px solid var(--ink)}
.risk{font-size:16px;line-height:1.4;color:var(--ink-55);max-width:72ch}
.risk b{color:var(--ink-70)}
.fmeta{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:22px;font-size:12.5px;color:var(--ink-55)}
.fmeta a{text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:6px 0}
.fmeta .mh{font-weight:800;font-size:14px;color:var(--ink);letter-spacing:-.02em}

/* ---------- chat (visuell demo, ingen backend) ---------- */
.chatw{position:fixed;right:18px;bottom:18px;z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.chatb{width:54px;height:54px;background:var(--ink);color:var(--accent);border:2px solid var(--ink);font-family:var(--sans);font-weight:800;font-size:24px;line-height:1;cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease)}
.chatb:hover{background:var(--accent);color:var(--ink)}
.chatb:active{transform:translateY(1px)}
.chatp{width:min(330px,calc(100vw - 36px));background:var(--paper);border:2px solid var(--ink);box-shadow:0 14px 34px rgba(0,0,0,.22)}
.chead{background:var(--ink);color:var(--paper);padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.cwm{font-weight:800;font-size:13.5px;letter-spacing:-.01em}
.cbeta{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.1em;color:var(--accent);white-space:nowrap}
.cbody{max-height:190px;overflow-y:auto;padding:4px 0 2px}
.cb{max-width:85%;padding:9px 12px;font-size:13.5px;line-height:1.45;margin:8px 10px}
.cb.q{background:var(--accent);margin-left:auto;font-weight:600}
.cb.a{background:var(--stone);border:1px solid var(--ink-12)}
.chips{display:flex;flex-wrap:wrap;gap:6px;padding:6px 10px 12px}
.chip-q{border:2px solid var(--ink);background:var(--paper);color:var(--ink);font-family:inherit;font-weight:600;font-size:12px;padding:7px 10px;cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease)}
.chip-q:hover{background:var(--ink);color:var(--accent)}
.chip-q:active{transform:translateY(1px)}
.cinput{display:flex;border-top:2px solid var(--ink)}
.cinput input{flex:1;border:none;padding:12px 13px;font-family:inherit;font-size:13.5px;background:var(--stone);color:var(--ink);min-width:0}
.cinput input:disabled{opacity:.75;cursor:not-allowed}
.csend{width:46px;border:none;background:var(--ink);color:var(--accent);font-weight:800;font-size:16px}
.csend:disabled{opacity:.55;cursor:not-allowed}

/* ---------- reveal ---------- */
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js .rv.in{opacity:1;transform:none}

/* ---------- hero load sequence (home) ---------- */
.hl{display:inline-block;overflow:hidden;vertical-align:bottom;line-height:1.02}
.hli{display:inline-block}
.js .hli{transform:translateY(108%);animation:rise .75s var(--ease) .1s forwards}
.js .h2i{animation-delay:.22s}
@keyframes rise{to{transform:translateY(0)}}
.js .fx{opacity:0;transform:translateY(10px);animation:fadeup .6s var(--ease) forwards}
.js .f1{animation-delay:.05s}
.js .f2{animation-delay:.6s}
.js .f3{animation-delay:.75s}
@keyframes fadeup{to{opacity:1;transform:none}}

/* ---------- fokusord ---------- */
.uline{position:relative;display:inline-block}
.js .uline::after{content:"";position:absolute;left:.02em;right:.06em;bottom:.02em;height:.07em;background:var(--ink);transform:scaleX(0);transform-origin:left;animation:draw .55s var(--ease) 1.05s forwards}
@keyframes draw{to{transform:scaleX(1)}}
.fw{background-image:linear-gradient(180deg,transparent 44%,var(--accent) 44%,var(--accent) 94%,transparent 94%);background-repeat:no-repeat;background-size:0% 100%;padding:0 .06em;margin:0 -.06em}
.js .fw{transition:background-size .7s var(--ease) .25s}
.js .rv.in .fw,html:not(.js) .fw{background-size:100% 100%}

/* ---------- hero-cta ---------- */
.cta-hero{font-size:clamp(16px,1.8vw,19px);font-weight:800;letter-spacing:-.01em;padding:16px 30px;display:inline-flex;align-items:center;gap:12px}
.cta-hero .ar{display:inline-block;font-weight:800;font-size:1.2em;line-height:1;animation:hop 1.6s cubic-bezier(.45,0,.55,1) infinite}
.cta-hero:hover .ar{animation-duration:.7s}
@keyframes hop{0%,100%{transform:translateY(-1px)}50%{transform:translateY(4px)}}

/* ---------- ticker ---------- */
.ticker{background:var(--ink);overflow:hidden;border-bottom:2px solid var(--ink)}
.tk{display:flex;width:max-content;white-space:nowrap;font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.14em;color:var(--accent);padding:11px 0}
.tk span{padding-right:56px}
.js .tk{animation:tick 32s linear infinite}
.ticker:hover .tk{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- split photo wipe ---------- */
.js .split.rv figure img{clip-path:inset(0 100% 0 0)}
.js .split.rv.in figure img{clip-path:inset(0 0 0 0);transition:clip-path 1.1s var(--ease) .15s}

/* ---------- hover micro ---------- */
.tile{overflow:hidden}
.tile img{transition:transform .35s var(--ease)}
.tile:hover img{transform:scale(1.04)}

@media (prefers-reduced-motion:reduce){
  .js .rv{opacity:1;transform:none;transition:none}
  .js .hli,.js .fx{animation:none;transform:none;opacity:1}
  .js .tk{animation:none}
  .js .split.rv figure img,.js .split.rv.in figure img{clip-path:none;transition:none}
  .tile:hover img{transform:none}
  .ccol,.ccol:hover,.dcol,.dcol:hover{transform:none;transition:none}
  .cta-hero .ar{animation:none}
  .js .uline::after{animation:none;transform:scaleX(1)}
  .js .fw{transition:none;background-size:100% 100%}
}
@media print{.js .rv{opacity:1;transform:none}.js .hli,.js .fx{animation:none;transform:none;opacity:1}}

/* ---- artikel ---- */
.ahero{border-bottom:2px solid var(--ink);padding:clamp(36px,7vw,72px) 0 clamp(28px,5vw,52px)}
.ahero h1{font-size:clamp(32px,5.6vw,58px);font-weight:800;letter-spacing:-.02em;line-height:1.04;max-width:840px;margin-top:10px}
.adate{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--ink-55);text-transform:uppercase;margin-top:16px}
.lede{color:var(--ink-70);font-size:clamp(17px,2vw,20px);font-weight:600;line-height:1.4;max-width:740px;margin-top:16px}
.article{max-width:740px;padding:clamp(26px,4.5vw,44px) 0 8px}
.article h2{font-size:clamp(22px,3vw,28px);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:36px 0 12px}
/* Underrubriker i artiklarna (t120, 2026-09-14): en egen nivå under h2, tydligt mindre och tätare inpå texten. */
.article h3{font-size:clamp(18px,2.2vw,22px);font-weight:800;letter-spacing:-.02em;line-height:1.25;margin:26px 0 8px}
.article p{font-size:clamp(16px,1.7vw,18px);line-height:1.4;margin-bottom:16px}
.article blockquote{border-left:3px solid var(--ink);background:var(--stone);padding:16px 20px;font-weight:600;margin:20px 0;font-size:clamp(16px,1.7vw,18px);line-height:1.4}
.kallor{background:var(--stone);padding:22px 24px;margin:34px 0 8px;max-width:740px}
/* pa warm racker inte ink-55 till 4,5:1; kallrutans notrad far ink-70 */
.kallor .source{color:var(--ink-70)}
.kallor h2{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.kallor ol{padding-left:20px}
.kallor li{font-size:16px;color:var(--ink-70);line-height:1.4;margin-bottom:7px}
.kallor a{color:var(--ink-70)}
/* Nasta avsnitt i artikelns fot (t040, 2026-09-15): klasserna aside-c och nx
   anvands pa alla artiklar men saknade regel, sa rubriken tog global h2-storlek
   och lanken rendererades helt ostylad. */
.aside-c{max-width:740px;margin:34px 0 8px;padding-top:26px;border-top:2px solid var(--ink)}
.aside-c h2{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-70);margin:0}
.aside-c .nx{display:inline-block;margin-top:10px;font-size:clamp(20px,2.6vw,26px);font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--ink);text-decoration:none;border-bottom:3px solid var(--accent)}
.aside-c .nx:hover,.aside-c .nx:focus-visible{border-bottom-color:var(--ink)}
.alist{display:grid;gap:14px;margin-top:clamp(20px,3vw,30px)}
.acard{display:block;border:2px solid var(--ink);padding:20px 22px;color:var(--ink);background:var(--paper);text-decoration:none;transition:background .15s ease}
.acard:hover,.acard:focus-visible{background:var(--stone)}
.acard .am{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--ink-55);text-transform:uppercase;display:block;margin-bottom:8px}
.acard .at{font-size:clamp(19px,2.6vw,24px);font-weight:800;letter-spacing:-.02em;line-height:1.15;display:block}
.acard p{font-size:15px;color:var(--ink-70);margin-top:7px;font-weight:400}

/* ---- artikel visuella block (batch 2) ---- */
.article figure{margin:26px 0;border:2px solid var(--ink)}
.article figure svg{display:block;width:100%;height:auto}
.article figure img{width:100%;height:auto;display:block;filter:grayscale(1)}
.article figcaption{font-family:var(--mono);font-size:16px;font-weight:400;line-height:1.4;color:var(--ink-70);padding:10px 14px;background:var(--stone)}
.statslab{background:var(--ink);color:var(--paper);padding:26px 28px;margin:26px 0}
.statslab .big{display:block;font-weight:800;font-size:clamp(44px,7vw,72px);letter-spacing:-.02em;line-height:.95;color:var(--paper)}
.statslab p{font-size:15px;font-weight:600;color:var(--paper);margin:8px 0 0;max-width:540px;line-height:1.4}
.statslab .src{display:block;font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;color:#999;margin-top:12px;text-transform:uppercase}
.wordband{background:var(--blue);color:var(--paper);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:clamp(36px,7vw,72px) 0}
.wordband .w{font-weight:800;font-size:clamp(52px,10vw,118px);letter-spacing:-.02em;line-height:.95}
.wordband p{font-size:clamp(15px,1.6vw,17px);font-weight:600;max-width:640px;margin-top:14px}
.diagram{border:2px solid var(--ink);margin:26px 0;background:var(--paper)}
.diagram svg{display:block;width:100%;height:auto}
.diagram .dcap{font-family:var(--mono);font-size:12.5px;line-height:1.4;color:var(--ink-55);padding:10px 14px;border-top:1px solid var(--ink-12)}

/* ---- artikel: rörelse ---- */
.statslab .big{font-variant-numeric:tabular-nums}
.js .article figure.rv img{clip-path:inset(0 100% 0 0)}
.js .article figure.rv.in img{clip-path:inset(0 0 0 0);transition:clip-path 1.1s var(--ease) .1s}
.js .wordband .w{letter-spacing:.02em;transition:letter-spacing 1s var(--ease) .1s}
.js .wordband.in .w{letter-spacing:-.02em}
.js .wordband p{opacity:0;transition:opacity .6s var(--ease) .4s}
.js .wordband.in p{opacity:1}
.js .diagram svg g{opacity:0;transition:opacity .5s var(--ease)}
.js .diagram.in svg .s1{opacity:1;transition-delay:.05s}
.js .diagram.in svg .s2{opacity:1;transition-delay:.25s}
.js .diagram.in svg .s3{opacity:1;transition-delay:.45s}
.js .diagram.in svg .s4{opacity:1;transition-delay:.75s}
.js .diagram.in svg .s5{opacity:1;transition-delay:.95s}
.js .diagram.in svg .s6{opacity:1;transition-delay:1.15s}
.js .diagram.in svg .s7{opacity:1;transition-delay:1.35s}
.js .diagram.in svg .s8{opacity:1;transition-delay:1.55s}
.js .diagram.in svg .s9{opacity:1;transition-delay:1.75s}
.js .diagram.in svg .s10{opacity:1;transition-delay:1.95s}
@media (prefers-reduced-motion:reduce){
  .js .article figure.rv img{clip-path:none}
  .js .wordband .w{letter-spacing:-.02em;transition:none}
  .js .wordband p{opacity:1;transition:none}
  .js .diagram svg g{opacity:1;transition:none}
}

/* diagram: läsbar på mobil via egen horisontell scroll */
.diagram .dscroll,.article figure .dscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.diagram .dscroll svg,.article figure .dscroll svg{min-width:620px;display:block}
.dscroll:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}

/* touch: bekväm träffyta för knappar (WCAG/HIG 44px), desktop opåverkad */
@media (pointer:coarse){
  .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .nlform button.btn{min-height:44px}
}

/* ---------- episodraden (ägarbeslut 2026-09-07: en artikel per episod, variant 1) ---------- */
.eprow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.chip{display:inline-block;font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.12em;padding:8px 12px 7px;color:var(--ink);background:var(--accent)}
.eprow .ep{font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.c1 .chip{background:var(--blue);color:var(--paper)}
.c2 .chip{background:var(--pink)}
.c3 .chip{background:var(--orange)}
.c4 .chip{background:var(--green)}
.c5 .chip{background:var(--purple)}
/* episodlistan på områdessidan */
.eplist{border:2px solid var(--ink);background:var(--paper)}
.eplist .lh,.eplist .row{display:grid;grid-template-columns:110px 1fr 170px;gap:18px;padding:18px 22px;align-items:start}
.eplist .lh{padding:12px 22px;border-bottom:2px solid var(--ink);font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.eplist .row{border-bottom:1.5px solid var(--ink-12)}
.eplist .row:last-child{border-bottom:0}
.eplist .name{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.eplist .sv{color:var(--ink-70);margin-top:6px;font-size:15.5px;max-width:64ch}
.eplist .art{margin-top:8px;font-weight:600;font-size:15px}
.eplist .art a{text-decoration:underline;text-underline-offset:3px}
.eplist .art .soon{color:var(--ink-55);font-weight:600}
.eplist .st{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-55);padding-top:8px}
@media (max-width:760px){.eplist .lh,.eplist .row{grid-template-columns:1fr}.eplist .lh span+span{display:none}.eplist .st{padding-top:0}}

/* OTF library design, t091. Existing brand palette and typography, broader colour fields. */
.wrap{max-width:1368px}
header .logo{align-items:center;gap:16px}

.navlinks{display:flex;align-items:center;gap:28px}
.nav-library{font-weight:600;font-size:14px;color:var(--paper);padding:12px 0}
.nav-library:hover{text-decoration:underline;text-underline-offset:5px}
#kapitlen{scroll-margin-top:100px}
h1,h2,h3,.chero h1,.ahero h1,.article h2,.split h2,.split h3,.episode-gallery .name{font-weight:800;letter-spacing:-.02em;line-height:1.05}
.hero h1{font-size:clamp(60px,9vw,128px);letter-spacing:-.02em;line-height:.99}
.chero h1{font-size:clamp(34px,6vw,76px)}
.ahero h1{font-size:clamp(34px,4.5vw,60px)}

.episode-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.reading-time{font:400 12px/1.5 var(--mono);letter-spacing:0;color:var(--ink-70)}
.episode-gallery .st{font-size:10px;font-weight:400;letter-spacing:.06em;color:var(--ink-70)}
.hero,.chero,.ahero,.wordband,.ticker{border:0}
.hero{padding-top:clamp(54px,7vw,100px);padding-bottom:clamp(64px,8vw,112px)}
.tile,.ccol,.dcol,.split,.prod,.follow,.empty,.tbox,.acard,.article figure,.diagram{border:0}
.tiles,.chapcols,.drvcols{gap:20px}
.tile img,.ccol img{height:auto;aspect-ratio:4/5}
.tile .lbl,.ccol .ch,.ccol .cf,.dcol .dl2{padding:20px}
.tile .lbl,.dcol .dl2{font-size:16px;line-height:1.3}
.ccol .ch{font-size:17px;min-height:112px}
.ccol .cf{padding-top:16px;padding-bottom:22px}
.ccol .cf i{border:0}
.split .field{padding:clamp(28px,5vw,68px)}
.prod{padding:clamp(28px,5vw,64px)}
.tbox,.acard{background:var(--stone)}
.herometa{border-top:1px solid rgb(0 0 0 / .16)}
.follow{padding:clamp(28px,5vw,64px);gap:40px}
#nyhetsbrev .wrap{max-width:none;padding:0}
#nyhetsbrev .follow{padding-inline:max(clamp(18px,4vw,44px),calc((100vw - 1280px)/2));padding-block:clamp(48px,6vw,84px);justify-content:space-between}
.follow h2{max-width:480px}
.article,.kallor{max-width:740px}
.article blockquote{border-left:0;padding:24px 28px}
.episode-gallery{border:0;background:transparent;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:36px}
.episode-gallery .lh{display:none}
.episode-gallery .row{position:relative;display:flex;flex-direction:column;gap:0;padding:0 0 28px;border:0;background:var(--stone)}
.episode-gallery .row>span,.episode-gallery .row>div{margin-inline:28px}
.episode-gallery .row>span:first-of-type{margin-top:24px;margin-bottom:16px}
.episode-gallery .episode-photo{width:100%;aspect-ratio:4/3;object-fit:contain;filter:grayscale(1)}
.episode-credit{position:relative;z-index:2;margin:14px 28px 0;font-size:16px;line-height:1.4;color:var(--ink-70)}
.episode-credit summary{cursor:pointer;min-height:30px;display:list-item;padding:5px 0}
.episode-credit summary:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.episode-credit p{margin-top:8px}
.episode-credit a{text-decoration:underline;text-underline-offset:3px}
.episode-gallery .name{font-size:clamp(25px,3vw,34px)}
.episode-gallery .sv{margin-top:12px;line-height:1.4;max-width:56ch}
.episode-gallery .art{margin-top:20px}
.episode-gallery .st{padding-top:22px;margin-top:auto}
.episode-link::after{content:"";position:absolute;inset:0}
.episode-gallery .row:has(.episode-link:hover){background:var(--stone)}
.episode-gallery .row:has(.episode-link:focus-visible){outline:3px solid var(--ink);outline-offset:4px}
.episode-gallery .episode-link:focus-visible{outline:0}
footer{background:var(--ink);color:var(--paper);border:0;padding:clamp(48px,6vw,80px) 0 48px}
.footer-brand{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap}
.footer-title{font-weight:800;font-size:clamp(26px,4vw,48px);line-height:1.1;letter-spacing:-.02em}
.footer-publisher{font-size:14px;display:flex;align-items:baseline;gap:10px}

/* Omradeslankar i sidfoten, omradessidorna (t018, 2026-09-15). */
.footer-areas{display:flex;flex-wrap:wrap;gap:10px 28px;padding:26px 0 0}
.footer-areas a{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.footer-areas a:hover,.footer-areas a:focus-visible{border-bottom-color:var(--accent)}
.footer-areas a[aria-current="page"]{border-bottom-color:var(--paper)}
@media(max-width:759px){.footer-areas{flex-direction:column;gap:2px}}
footer .footer-links{display:flex;justify-content:flex-start;gap:20px 32px;flex-wrap:wrap;padding:26px 0 34px;margin-bottom:28px;border-bottom:1px solid var(--paper)}
.footer-links a{font-size:14px;text-decoration:underline;text-underline-offset:4px;padding:8px 0}
footer .risk,footer .risk b{color:var(--paper)}
footer .risk{max-width:92ch;font-size:16px;font-weight:400;line-height:1.4}
footer a:focus-visible{outline-color:var(--accent)}
footer a:hover{color:var(--accent)}
@media(min-width:760px) and (max-width:1050px){.tiles,.chapcols,.drvcols{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:759px){.tiles,.chapcols,.drvcols{grid-auto-flow:row;grid-template-columns:1fr;overflow:visible;gap:24px}.tile img,.ccol img{aspect-ratio:4/3}.ccol .ch{min-height:0}.dcol img{height:auto;aspect-ratio:4/3}.episode-gallery{grid-template-columns:1fr}.episode-gallery .row>span,.episode-gallery .row>div,.episode-credit{margin-inline:22px}.footer-brand{flex-direction:column;gap:18px}.footer-links{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.tile:hover,.ccol:hover,.dcol:hover{transform:none}}
@media(max-width:759px){header nav{flex-wrap:wrap;gap:10px;padding-block:12px}header .logo{gap:12px}.navlinks{width:100%;justify-content:space-between;gap:16px}.nav-library{padding:10px 0}section[id],main[id],#kapitlen{scroll-margin-top:140px}}
/* The single publisher signature scrolls away; navigation stays accessible. */
.publication-masthead{position:static;background:var(--ink);color:var(--paper);padding:24px 0}
.publication-brand{display:inline-flex;align-items:center;gap:18px;font-size:clamp(20px,3vw,30px);font-weight:800;letter-spacing:-.02em;line-height:1.1}
.publication-brand:focus-visible{outline-color:var(--accent)}
header[data-sticky-header]{position:sticky;top:0}
header[data-sticky-header] nav{flex-wrap:nowrap;justify-content:flex-end;padding-block:8px}
header[data-sticky-header] .navlinks{width:auto;gap:clamp(14px,3vw,28px)}
.episode-cta{font-size:12px;font-weight:600}
.footer-publisher{align-items:center}
.footer-publisher .wordmark{height:24px;display:inline-block;vertical-align:middle;margin-left:6px}
@media(max-width:759px){header[data-sticky-header] nav{padding-block:10px}.publication-masthead{padding-block:20px}}

/* Sidhuvud i en rad, 11 sep 2026 (t103). Publikationslisten och navigationen delar rad vid sidans topp:
   listen ligger kvar som forsta element och rullar bort, navigationen dras upp over listen med negativ marginal och faster. */
@media(min-width:760px){
  :root{--mast-h:72px}
  .publication-masthead{padding:0}
  .publication-masthead .wrap{display:flex;align-items:center;min-height:var(--mast-h)}
  .publication-brand{position:relative;z-index:60}
  header[data-sticky-header]{margin-top:calc(var(--mast-h) * -1)}
  header[data-sticky-header] nav{min-height:var(--mast-h);padding-block:0}
  section[id],main[id]{scroll-margin-top:92px}
  #kapitlen{scroll-margin-top:112px}
}
/* Instagram i sidfoten, 11 sep 2026 (t103). */
/* Mobilens sidhuvud i en rad, 11 sep 2026 (t105, Molles val A): bara ordmarket i listen (fram till v3.4.0 cirkeln), navigationen pa samma rad.
   Listen forblir forsta elementet och static; ordmarket doljs under 760 px och finns i hjalten och sidfoten. */
@media(max-width:759px){
  .publication-masthead{padding:0}
  .publication-masthead .wrap{display:flex;align-items:center;min-height:60px}
  .publication-brand{position:relative;z-index:60;gap:12px}
  .publication-brand span{display:none}
  .publication-masthead .wordmark{height:24px}
  header[data-sticky-header]{margin-top:-60px}
  header[data-sticky-header] nav{min-height:60px;padding-block:0;flex-wrap:nowrap;justify-content:flex-end;gap:14px}
  header[data-sticky-header] .navlinks{width:auto;gap:14px}
  .nav-library{padding:8px 0}
  header nav .btn{padding:8px 12px;font-size:12.5px}
  section[id],main[id]{scroll-margin-top:80px}
  #kapitlen{scroll-margin-top:96px}
}

/* Källhänvisningar i löptexten (t106, 2026-09-13): fotnotsmarkör som länkar till posten i källistan, och markerad post vid ankomst */
.article sup.fn{font-size:.7em;line-height:0;vertical-align:super;margin-left:1px}
.article sup.fn a{color:var(--ink-70);text-decoration:none;border-bottom:1px solid var(--ink-70);padding:0 1px}
.article figcaption a,.article .stat a,.article .statslab a,.article .dcap a{color:inherit}
.kallor li{scroll-margin-top:24px}
.kallor li:target{background:var(--yellow)}

details.kallor summary{cursor:pointer}
details.kallor summary h2{display:inline;margin:0}
details.kallor[open] summary{margin-bottom:12px}
/* Språklänk i sidhuvudet (tvåspråkig sajt, 2026-10-07) */
.navlinks .nav-lang{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--paper);padding:12px 0}
.navlinks .nav-lang:hover{text-decoration:underline;text-underline-offset:5px}

/* Språklänken kompakt (EN/SV) och plats i mobilens sidhuvud, 2026-10-09 */
.navlinks .nav-lang{border:1.5px solid var(--paper);padding:5px 7px;line-height:1}
.navlinks .nav-lang:hover{background:var(--paper);color:var(--ink);text-decoration:none}
@media(max-width:479px){header[data-sticky-header] .nav-secondary{display:none}}

/* Alla 25 episoder på startsidan (t140, 2026-10-03, återinförd 2026-10-09) */
.homelist{display:grid;grid-template-columns:1fr;border:2px solid var(--ink);background:var(--paper);margin-top:clamp(26px,4vw,40px)}
.homegroup{border-bottom:2px solid var(--ink)}
.homegroup:last-child{border-bottom:0}
.homegroup h3{margin:0;padding:14px 16px;font-size:15px;font-weight:800;line-height:1.25;letter-spacing:-.01em;display:flex;flex-direction:column;gap:4px;border-bottom:2px solid var(--ink)}
.homegroup h3 .no{font-family:var(--mono);font-size:11px;font-weight:600;opacity:.75}
.homegroup ol{list-style:none;margin:0;padding:0}
.homegroup li{border-bottom:1px solid var(--ink-12)}
.homegroup li:last-child{border-bottom:0}
.homegroup a{display:block;padding:12px 16px;font-size:15px;font-weight:600;line-height:1.35;color:var(--ink);text-decoration:none}
.homegroup a:hover,.homegroup a:focus-visible{background:var(--accent)}
.homegroup .code{display:block;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.12em;color:var(--ink-55);margin-bottom:3px}
.homegroup.c1{--force:var(--blue)}
.homegroup.c2{--force:var(--pink)}
.homegroup.c3{--force:var(--orange)}
.homegroup.c4{--force:var(--green)}
.homegroup.c5{--force:var(--purple)}
#episoder h2{font-size:clamp(24px,5vw,44px)}
@media (min-width:980px){
.homelist{grid-template-columns:repeat(5,1fr);grid-template-rows:auto repeat(5,auto)}
.homegroup{display:grid;grid-template-rows:subgrid;grid-row:span 6;border-bottom:0;border-right:2px solid var(--ink)}
.homegroup ol{display:contents}
.homegroup li{display:flex}
.homegroup li a{flex:1}
.homegroup h3{min-height:88px;justify-content:flex-end}
.homegroup:last-child{border-right:0}
}
/* v3.4.0 optical sizes (spec T1, Stormfors pack p. 11): text at opsz 14 on body, display at opsz 96. */
h1,h2,h3,.split .bignum,.chero .cnum,.statslab .big,.wordband .w,.publication-brand,.footer-title,.masthead,.eplist .name,.acard .at,.aside-c .nx,.homegroup h3,.episode-gallery .name{font-variation-settings:'opsz' 96}
/* Owner 15 Oct 2026: the pack's line (rise, fan, progress) is not used anywhere; the home hero is yellow with the colour strip (v3.4.0 format). */
/* v3.5.0 home index per the pack homepage (p. 29): each force a thin colour rule, ink type on paper. */
.homegroup h3{background:var(--paper);color:var(--ink);border-top:8px solid var(--force)}
/* Owner 15 Oct 2026, approved exception: the five library tiles keep their filled force colour (as v3.4.0). */
.tile .lbl{background:var(--force);color:var(--ink)}
.tile.c1 .lbl{color:var(--paper)}

.footer-links .footer-social{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;padding:11px;text-decoration:none}
.footer-links .footer-social svg{width:22px;height:22px;flex:none}
.footer-links .footer-social:hover{background:var(--paper);color:var(--ink)}
.footer-links .footer-social:focus-visible{outline:2px solid var(--paper);outline-offset:3px}
