
  :root{ --brand: #4e5a0c; --primary: #2e2f2b; --hcol: #000000; --btnbg: #c4d82e; --btnbg2: #a9bc1f; --btncol: #000000; --btnol: #000000; --heading: "Big Shoulders", serif; --body: "Instrument Sans", sans-serif;
    --mm-accent: #5a6b0a; --mm-accent2: #414d07; --mm-accent3: #9fa971; --mm-accent-rgb: 41,48,5;
    --mm-orb1: #adb585; --mm-orb2: #d4d9bf; --mm-orb3: #bdc49d;
    --mm-grad-text: linear-gradient(105deg,#5a6b0a,#3f4b07,#7e8c40); --mm-grad-stripe: linear-gradient(90deg,#5a6b0a,#7e8c40,#a4ae78); --mm-chip-bg: linear-gradient(135deg,#e5e7d8,#ced3b6);
    --mm-muted: #636360; --mm-lead: #52534f; --mm-caption: #636360; --mm-fs-liten: .86rem; --mm-fs-kicker: .78rem; --mm-fs-lead: clamp(1.1rem,2vw,1.32rem); }
  *{box-sizing:border-box} html{scroll-behavior:smooth;scroll-padding-top:96px}
  body{margin:0;font-family:var(--body);color:var(--primary);line-height:1.4;background:#f8f8f5;overflow-wrap:break-word;font-size:17px;font-weight:400;letter-spacing:0px}
  h1,h2,h3,h4,h5,h6{line-height:1.2;margin:.2em 0 .4em;font-weight:400;color:var(--hcol)}
  h1,h2,h3{font-family:var(--heading)}
  h4,h5,h6{font-family:var(--body)}  /* sub-headings in the readable sans body font, like the original */
  h1{font-size:51.9px}h2{font-size:41.5px}h3{font-size:33.2px}h4{font-size:26.6px}h5{font-size:21.3px}h6{font-size:17px}
  /* Ucraft per-element size multipliers (e.g. font-6em = 0.6em) used inside headings/paragraphs */
  .font-1em{font-size:0.1em}.font-2em{font-size:0.2em}.font-3em{font-size:0.3em}.font-4em{font-size:0.4em}.font-5em{font-size:0.5em}.font-6em{font-size:0.6em}.font-7em{font-size:0.7em}.font-8em{font-size:0.8em}.font-9em{font-size:0.9em}.font-10em{font-size:1em}.font-11em{font-size:1.1em}.font-12em{font-size:1.2em}.font-13em{font-size:1.3em}.font-14em{font-size:1.4em}.font-15em{font-size:1.5em}.font-16em{font-size:1.6em}.font-17em{font-size:1.7em}.font-18em{font-size:1.8em}.font-19em{font-size:1.9em}.font-20em{font-size:2em}.font-21em{font-size:2.1em}.font-22em{font-size:2.2em}.font-23em{font-size:2.3em}.font-24em{font-size:2.4em}.font-25em{font-size:2.5em}.font-26em{font-size:2.6em}.font-27em{font-size:2.7em}.font-28em{font-size:2.8em}.font-29em{font-size:2.9em}.font-30em{font-size:3em}.font-31em{font-size:3.1em}.font-32em{font-size:3.2em}.font-33em{font-size:3.3em}.font-34em{font-size:3.4em}.font-35em{font-size:3.5em}.font-36em{font-size:3.6em}.font-37em{font-size:3.7em}.font-38em{font-size:3.8em}.font-39em{font-size:3.9em}.font-40em{font-size:4em}  img{max-width:100%;height:auto;display:block}
  a{color:var(--brand);text-decoration:none}
  /* iOS-datadeteksjon (hindring #139): nøytraliser auto-lenker Safari likevel lager */
  a[x-apple-data-detectors]{color:inherit!important;text-decoration:none!important;-webkit-text-decoration:none!important;font:inherit!important}
  main a:hover{text-decoration:underline}
  .wrap{max-width:1140px;margin:0 auto;padding:0 20px}
  /* ── design FX: decorative orbs, scroll-reveal, gradient text (opt-in per section) ── */
  .band.hasorbs{position:relative;overflow:hidden}
  .band.hasorbs>.wrap{position:relative;z-index:1}
  .mm-orbs{position:absolute;inset:0;z-index:0;pointer-events:none}
  .mm-orb{position:absolute;border-radius:50%;filter:blur(52px)}
  .mm-orb.o1{width:40vw;max-width:480px;aspect-ratio:1;background:var(--mm-orb1,#ff8fc8);opacity:.55;top:-8%;left:-6%;animation:mmfloat 17s ease-in-out infinite}
  .mm-orb.o2{width:34vw;max-width:420px;aspect-ratio:1;background:var(--mm-orb2,#ffd6a5);opacity:.5;bottom:-10%;right:-5%;animation:mmfloat 21s ease-in-out infinite reverse}
  .mm-orb.o3{width:28vw;max-width:340px;aspect-ratio:1;background:var(--mm-orb3,#d7a8ff);opacity:.4;top:26%;right:14%;animation:mmfloat 24s ease-in-out infinite}
  @keyframes mmfloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(0,26px) scale(1.06)}}
  @media(prefers-reduced-motion:reduce){.mm-orb{animation:none}}
  /* architectural section edge shapes (SVG cut between bands) */
  .band.hasshape{position:relative}
  .band.hasshape>.wrap{position:relative;z-index:3}
  .mm-shape{position:absolute;left:0;width:100%;height:var(--mm-shape-h,clamp(36px,6vw,92px));line-height:0;z-index:2;pointer-events:none}
  .mm-shape svg{display:block;width:100%;height:100%}
  .mm-shape-bottom{bottom:-1px}
  .mm-shape-top{top:-1px;transform:rotate(180deg)}
  /* måleakse i margen (#242) — se settings.akse i src/render/band.php for reglene */
  .band.hasakse{position:relative}
  .band.hasakse>.wrap{position:relative;z-index:1}
  .mm-akse{position:absolute;top:0;height:var(--akse-len,220px);z-index:0;pointer-events:none;opacity:0}
  .mm-akse-fort{top:0;bottom:0;height:auto}
  .mm-akse-venstre{left:max(14px,calc(50% - 592px))}
  .mm-akse-hoyre{right:max(14px,calc(50% - 592px))}
  @media(min-width:820px){.mm-akse{opacity:1}.mm-akse{opacity:clamp(0,calc((100vw - var(--akse-min,1024px)) / 1px),1)}}
  .mm-akse-l{position:absolute;top:0;bottom:0;left:0;width:var(--akse-b,1px);background:var(--akse-f,rgba(127,127,127,.45))}
  .mm-akse-t{position:absolute;top:0;left:0;height:var(--akse-b,1px);width:var(--akse-tw,14px);background:var(--akse-f,rgba(127,127,127,.45))}
  .mm-akse-e{position:absolute;top:0;left:calc(var(--akse-tw,14px) + 10px);white-space:nowrap;line-height:1;transform:translateY(-.4em);font-size:.68rem;color:var(--akse-f,rgba(127,127,127,.45))}
  .mm-akse-mono .mm-akse-e{font-family:var(--mm-font-utility,var(--body));letter-spacing:.14em;text-transform:uppercase}
  .mm-akse-hoyre .mm-akse-t{left:auto;right:0}
  .mm-akse-hoyre .mm-akse-l{left:auto;right:0}
  .mm-akse-hoyre .mm-akse-e{left:auto;right:calc(var(--akse-tw,14px) + 10px)}
  /* lite bilde oppå toppbildet (#243): lag i hero-en, ikke modul — hovedbildet blør fortsatt til
     kanten. Skjult under 820px så det aldri legger seg oppå teksten på mobil. */
  .band.hashero2{position:relative}
  .band.hashero2>.wrap{position:relative;z-index:2}
  .mm-hero2{display:none}
  @media(min-width:820px){
    .mm-hero2{display:block;position:absolute;z-index:1;width:var(--h2w,26%);aspect-ratio:var(--h2asp,1/1);overflow:hidden;box-shadow:0 18px 44px rgba(10,14,22,.28)}
    .mm-hero2-ram{border:8px solid var(--h2r,#fff)}
    .mm-hero2 img{width:100%;height:100%;object-fit:cover;display:block}
    .mm-hero2-bottom-right{right:max(20px,calc(50% - 570px));bottom:0;transform:translate(var(--h2x,0px),calc(-1 * clamp(24px,5vw,64px) + var(--h2y,0px)))}
    .mm-hero2-bottom-left{left:max(20px,calc(50% - 570px));bottom:0;transform:translate(var(--h2x,0px),calc(-1 * clamp(24px,5vw,64px) + var(--h2y,0px)))}
    .mm-hero2-top-right{right:max(20px,calc(50% - 570px));top:0;transform:translate(var(--h2x,0px),calc(clamp(24px,5vw,64px) + var(--h2y,0px)))}
    .mm-hero2-top-left{left:max(20px,calc(50% - 570px));top:0;transform:translate(var(--h2x,0px),calc(clamp(24px,5vw,64px) + var(--h2y,0px)))}
    /* etiketten ligger PÅ fotoet: mørk scrim + hvit tekst er lesbar uansett motiv og rammefarge */
    .mm-hero2-b{position:absolute;left:0;bottom:0;padding:.5em .75em;background:rgba(10,14,22,.72);color:#fff;font-family:var(--mm-font-utility,var(--body));font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1}
  }
  /* sticky split-scroll: one column holds while the other scrolls (desktop only) */
  @media(min-width:880px){
    .band.mm-sticky-left>.wrap>.row>.col:first-child,
    .band.mm-sticky-right>.wrap>.row>.col:last-child{position:sticky;top:96px;align-self:flex-start}
  }
  /* oversized editorial hero type */
  .band.hero.mm-xl h1,.band.hero.mm-xl h1 *{font-size:clamp(2.6rem,8.5vw,5.4rem) !important;line-height:1.04 !important;letter-spacing:-.012em !important}
  /* image tone treatments (cohesive editorial imagery); reveal full colour on hover */
  .m[class*="mm-tone-"] img{transition:filter .5s cubic-bezier(.2,.7,.2,1)}
  .m.mm-tone-mono img{filter:grayscale(1) contrast(1.04)}
  .m.mm-tone-cool img{filter:grayscale(.25) sepia(1) hue-rotate(168deg) saturate(2.3) brightness(.92) contrast(1.05)}
  .m.mm-tone-warm img{filter:grayscale(.2) sepia(.7) saturate(1.3) brightness(1.02)}
  .m.mm-tone-soft img{filter:grayscale(.55) contrast(1.02)}
  .m[class*="mm-tone-"]:hover img{filter:none}
  @media(prefers-reduced-motion:reduce){.m[class*="mm-tone-"] img{transition:none}}
  /* ── image presentation frames (rounded/tilt/browser/phone) + floating glass badges ── */
  .mm-decobox{display:block;position:relative}
  .mm-decobox img{display:block}
  .m.mm-deco-rounded .mm-decobox img{border-radius:22px;box-shadow:0 30px 70px -18px rgba(var(--mm-accent-rgb,138,43,98),.35)}
  .m.mm-deco-tilt .mm-decobox{transform:rotate(-2.5deg);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
  .m.mm-deco-tilt .mm-decobox::before{content:"";position:absolute;inset:0;transform:rotate(4.5deg);border-radius:26px;background:rgba(var(--mm-accent-rgb,138,43,98),.14)}
  .m.mm-deco-tilt .mm-decobox img{position:relative;border-radius:22px;box-shadow:0 30px 70px -18px rgba(var(--mm-accent-rgb,138,43,98),.35)}
  .m.mm-deco-tilt:hover .mm-decobox{transform:rotate(0)}
  .m.mm-deco-browser .mm-decobox{background:#fff;border-radius:16px;box-shadow:0 34px 80px -20px rgba(var(--mm-accent-rgb,138,43,98),.4)}
  .m.mm-deco-browser .mm-chrome{display:flex;align-items:center;gap:6px;height:38px;padding:0 16px;background:linear-gradient(#f8fafc,#eef2f7);border-radius:16px 16px 0 0;border-bottom:1px solid #e2e8f0}
  .m.mm-deco-browser .mm-chrome i{width:11px;height:11px;border-radius:50%;background:#f87171}
  .m.mm-deco-browser .mm-chrome i:nth-child(2){background:#fbbf24}
  .m.mm-deco-browser .mm-chrome i:nth-child(3){background:#34d399}
  .m.mm-deco-browser .mm-decobox img{border-radius:0 0 16px 16px}
  .m.mm-deco-phone .mm-decobox{background:#111527;border-radius:clamp(30px,4.5vw,44px);padding:12px;box-shadow:0 34px 80px -20px rgba(17,21,39,.5)}
  .m.mm-deco-phone .mm-decobox::after{content:"";position:absolute;top:24px;left:50%;transform:translateX(-50%);width:88px;height:22px;border-radius:999px;background:#111527;z-index:2}
  .m.mm-deco-phone .mm-decobox img{border-radius:clamp(20px,3.4vw,32px)}
  .mm-ibadge{position:absolute;z-index:3;display:inline-flex;align-items:center;font-family:var(--body);font-weight:700;font-size:.8rem;line-height:1.3;color:#1f2937;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.65);padding:.48rem .85rem;border-radius:999px;box-shadow:0 12px 30px rgba(15,23,42,.2);white-space:nowrap;max-width:min(80%,270px);overflow:hidden;text-overflow:ellipsis}
  .mm-ibadge::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--mm-accent,#e6529e),var(--mm-accent3,#ff7eb3));margin-right:.45rem}
  .mm-ib-tl{top:16px;left:-12px}.mm-ib-tr{top:16px;right:-12px}.mm-ib-bl{bottom:16px;left:-12px}.mm-ib-br{bottom:16px;right:-12px}
  @media(max-width:600px){.mm-ib-tl,.mm-ib-bl{left:8px}.mm-ib-tr,.mm-ib-br{right:8px}}
  /* ── entrance stagger: hero content glides in on page load (opt-in per section) ── */
  .band.mm-entrance>.wrap .col>.m{opacity:0;animation:mmentr .75s cubic-bezier(.16,1,.3,1) .45s forwards}
  @keyframes mmentr{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
  .band.mm-entrance>.wrap .col:nth-child(1)>.m:nth-child(1){animation-delay:0.05s}
  .band.mm-entrance>.wrap .col:nth-child(1)>.m:nth-child(2){animation-delay:0.14s}
  .band.mm-entrance>.wrap .col:nth-child(1)>.m:nth-child(3){animation-delay:0.23s}
  .band.mm-entrance>.wrap .col:nth-child(1)>.m:nth-child(4){animation-delay:0.32s}
  .band.mm-entrance>.wrap .col:nth-child(1)>.m:nth-child(5){animation-delay:0.41s}
  .band.mm-entrance>.wrap .col:nth-child(1)>.m:nth-child(6){animation-delay:0.50s}
  .band.mm-entrance>.wrap .col:nth-child(1)>.m:nth-child(7){animation-delay:0.59s}
  .band.mm-entrance>.wrap .col:nth-child(1)>.m:nth-child(8){animation-delay:0.68s}
  .band.mm-entrance>.wrap .col:nth-child(2)>.m:nth-child(1){animation-delay:0.27s}
  .band.mm-entrance>.wrap .col:nth-child(2)>.m:nth-child(2){animation-delay:0.36s}
  .band.mm-entrance>.wrap .col:nth-child(2)>.m:nth-child(3){animation-delay:0.45s}
  .band.mm-entrance>.wrap .col:nth-child(2)>.m:nth-child(4){animation-delay:0.54s}
  .band.mm-entrance>.wrap .col:nth-child(2)>.m:nth-child(5){animation-delay:0.63s}
  .band.mm-entrance>.wrap .col:nth-child(2)>.m:nth-child(6){animation-delay:0.72s}
  .band.mm-entrance>.wrap .col:nth-child(2)>.m:nth-child(7){animation-delay:0.81s}
  .band.mm-entrance>.wrap .col:nth-child(2)>.m:nth-child(8){animation-delay:0.90s}
  .band.mm-entrance>.wrap .col:nth-child(3)>.m:nth-child(1){animation-delay:0.49s}
  .band.mm-entrance>.wrap .col:nth-child(3)>.m:nth-child(2){animation-delay:0.58s}
  .band.mm-entrance>.wrap .col:nth-child(3)>.m:nth-child(3){animation-delay:0.67s}
  .band.mm-entrance>.wrap .col:nth-child(3)>.m:nth-child(4){animation-delay:0.76s}
  .band.mm-entrance>.wrap .col:nth-child(3)>.m:nth-child(5){animation-delay:0.85s}
  .band.mm-entrance>.wrap .col:nth-child(3)>.m:nth-child(6){animation-delay:0.94s}
  .band.mm-entrance>.wrap .col:nth-child(3)>.m:nth-child(7){animation-delay:1.03s}
  .band.mm-entrance>.wrap .col:nth-child(3)>.m:nth-child(8){animation-delay:1.12s}
  @media(prefers-reduced-motion:reduce){.band.mm-entrance>.wrap .col>.m{animation:none;opacity:1}}
  /* form success modal (shown after submit; e.g. "go to the app") */
  .mm-formdone{position:fixed;inset:0;z-index:9600;background:rgba(20,12,24,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:5vw;animation:mmfadein .25s ease}
  .mm-formdone-card{position:relative;background:#fff;border-radius:12px;padding:clamp(1.8rem,4vw,2.8rem);max-width:460px;width:100%;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.35)}
  .mm-formdone-card h3{font-size:1.5rem;margin:.2rem 0 .6rem}
  .mm-formdone-card p{color:var(--primary);opacity:.85;margin:0 0 1.5rem}
  .mm-formdone-card .btn{display:inline-block}
  .mm-formdone-x{position:absolute;top:.7rem;right:.9rem;border:0;background:none;font-size:1.6rem;line-height:1;color:#475569;cursor:pointer}
  .mm-formdone-x:hover{color:#0f172a}
  @keyframes mmfadein{from{opacity:0}to{opacity:1}}
  .mm-gradtext{background:var(--mm-grad-text,linear-gradient(105deg,#e6529e,#b5179e,#ff7eb3));-webkit-background-clip:text;background-clip:text;color:transparent}
  .mm-pill{display:inline-flex;align-items:center;font-weight:700;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand,#c43d83);background:#fff;border:1px solid rgba(var(--mm-accent-rgb,138,43,98),.16);padding:.5rem .9rem;border-radius:999px;box-shadow:0 6px 18px rgba(var(--mm-accent-rgb,214,64,140),.12)}
  .mm-pill::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--mm-accent,#e6529e),var(--mm-accent3,#ff7eb3));margin-right:.5rem;flex:none}
  ul.mm-check{list-style:none;padding:0;margin:.7rem 0}
  ul.mm-check li{position:relative;padding-left:1.8rem;margin:.5rem 0;line-height:1.5}
  ul.mm-check li::before{content:"✓";position:absolute;left:0;top:0;color:var(--brand,#c43d83);font-weight:800}
  /* nav_social/footer_social (#131): runde some-ikonknapper, arver flatens farge */
  .mm-some{display:inline-flex;align-items:center;gap:.55rem}
  .mm-some-kn{width:36px;height:36px;border-radius:50%;border:1.5px solid currentColor;display:inline-flex;align-items:center;justify-content:center;color:inherit;opacity:.8;transition:opacity .2s,transform .2s;text-decoration:none;font-size:1.05rem}
  .mm-some-kn:hover{opacity:1;transform:translateY(-1px)}
  .mm-some-nav{margin-left:.9rem}
  @media(max-width:820px){.mm-some-nav{display:none}}
  .mm-some-footer{flex-basis:100%;justify-content:center;margin:.2rem 0 .8rem}
  /* signaturmerke (#127): hårstrek brutt på kundens segl + mikro-caps-linje */
  .mm-sigmerke{text-align:center}
  .mm-sigmerke-rad{display:flex;align-items:center;gap:.9em}
  .mm-sigmerke-rad i{flex:1;border-top:1px solid var(--sml,currentColor);opacity:.35}
  .mm-sigmerke-rad img{flex:none;display:block}
  .mm-sigmerke-tekst{display:block;margin-top:.5em;font-size:.68rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;opacity:.75}
  /* prisliste (#128): gravert liste — prikkleder + tabulære tall */
  .mm-tabnum{font-variant-numeric:tabular-nums}
  .mm-pl-gruppe{margin:0 0 1.9rem}
  .mm-pl-gruppe:last-child{margin-bottom:0}
  .mm-pl-tittel{margin:.9em 0 .35em}
  .mm-pl-rad{display:flex;align-items:baseline;gap:.7em;padding:.48em 0}
  /* #133: ETT streksystem om gangen — dots gir luft, none/begge gir radlinjer */
  .mm-pl-dots .mm-pl-rad{padding:.62em 0}
  .mm-pl-linjer .mm-pl-rad+.mm-pl-rad,.mm-pl-begge .mm-pl-rad+.mm-pl-rad{border-top:1px solid rgba(127,127,127,.14)}
  .mm-pl-navn{flex:0 1 auto;min-width:0}
  .mm-pl-note{display:block;font-size:.8rem;opacity:.65;margin-top:.1em}
  .mm-pl-leder{flex:1 1 2em;min-width:2em;border-bottom:2px dotted currentColor;opacity:.42;transform:translateY(-.28em)}
  .mm-pl-luft{flex:1 1 2em}
  .mm-pl-pris{flex:none;white-space:nowrap;font-weight:600}
  .mm-pl-pris small{font-weight:400;font-size:.78em;opacity:.7}
  /* marquee (tiltak 9): rullende merkebånd — sømløs løkke via to identiske halvdeler */
  .mm-marquee{overflow:hidden;white-space:nowrap;font-family:var(--heading);line-height:1.05}
  .mm-mq-spor{display:inline-flex;animation:mmMarquee var(--mqd,30s) linear infinite;will-change:transform}
  .mm-mq-halv{display:inline-flex;flex:none}
  .mm-mq-halv>span{display:inline-flex;align-items:center}
  .mm-mq-halv i{font-style:normal;opacity:.4;padding:0 .45em}
  .mm-mq-s{font-size:clamp(1.1rem,2.6vw,1.7rem)}
  .mm-mq-m{font-size:clamp(1.7rem,4.5vw,3rem)}
  .mm-mq-l{font-size:clamp(2.6rem,8vw,6rem)}
  .mm-mq-xl{font-size:clamp(3.4rem,12vw,9.5rem)}
  @keyframes mmMarquee{to{transform:translateX(-50%)}}
  @media(prefers-reduced-motion:reduce){.mm-mq-spor{animation:none}}
  .mm-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  /* vannmerke (tiltak 9): ghost-tall/-ord som lag — alfa på INDRE element (L#87) */
  .mm-vannmerke{pointer-events:none;user-select:none;overflow:hidden}
  .mm-vannmerke-i{display:inline-block;font-family:var(--heading);line-height:.8;letter-spacing:-.02em;white-space:nowrap}
  .mm-vannmerke-bilde img{width:var(--vmw,40%);max-width:100%;height:auto;opacity:var(--vmop,.07);display:inline-block}
  .mm-vannmerke.mm-vm-lag{position:absolute;z-index:0;margin:0;overflow:visible;width:var(--vmw,40%);max-width:60%}
  .mm-vannmerke.mm-vm-lag img{width:100%}
  .mm-vm-lag.mm-vm-right{right:0}.mm-vm-lag.mm-vm-left{left:0}.mm-vm-lag.mm-vm-center{left:50%;transform:translateX(-50%)}
  .mm-vm-lag.mm-vm-bottom{bottom:0}.mm-vm-lag.mm-vm-top{top:0}
  .mm-vm-lag.mm-vm-klipp.mm-vm-right{right:calc(var(--vmw,40%) * -.28)}.mm-vm-lag.mm-vm-klipp.mm-vm-left{left:calc(var(--vmw,40%) * -.28)}
  .mm-vm-lag.mm-vm-klipp.mm-vm-bottom{bottom:calc(var(--vmw,40%) * -.22)}.mm-vm-lag.mm-vm-klipp.mm-vm-top{top:calc(var(--vmw,40%) * -.22)}
  section.band:has(.mm-vm-lag){position:relative;overflow:hidden}
  section.band:has(.mm-vm-lag)>.wrap{position:relative;z-index:1}
  .mm-vm-lag+*{position:relative;z-index:1}
  /* kollasje (tiltak 9): hovedbilde + overlappende lite bilde + kvadrat-badge.
     padding-bottom gir sonen det lille bildet overlapper ned i. */
  .mm-kollasje{position:relative;padding-bottom:11%}
  .mm-kollasje-hoved{width:82%;aspect-ratio:var(--kolasp,4/3);overflow:hidden;position:relative}
  /* badge per bilde (#244) — .mm-kollasje-liten er alt absolutt plassert og er sin egen ramme */
  .mm-kollasje-bb{position:absolute;left:0;bottom:0;padding:.5em .7em;font-family:var(--mm-font-utility,var(--body));font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1;z-index:1}
  .mm-kollasje-hoved img,.mm-kollasje-liten img{width:100%;height:100%;object-fit:cover;display:block}
  .mm-kollasje-liten{position:absolute;bottom:0;width:44%;aspect-ratio:1/1;border:6px solid var(--kolr,#fff);box-shadow:0 18px 44px rgba(10,14,22,.18)}
  .mm-kollasje-hoyre .mm-kollasje-liten{right:0}
  .mm-kollasje-venstre .mm-kollasje-hoved{margin-left:auto}
  .mm-kollasje-venstre .mm-kollasje-liten{left:0}
  .mm-kollasje-badge{position:absolute;top:-13px;padding:.6em .85em;font-family:var(--mm-font-utility,var(--body));font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1}
  .mm-kollasje-hoyre .mm-kollasje-badge{left:-10px}
  .mm-kollasje-venstre .mm-kollasje-badge{right:-10px}
  /* måldraget (#120): divider med endeticks + etikett på linjen (byggetegning) */
  .mm-maal{display:flex;align-items:center;gap:.55em}
  .mm-maal-tick{flex:none;width:var(--mdh,1px);height:var(--mdt,8px);background:var(--mdc,#e2e8f0)}
  .mm-maal-strek{flex:1 1 auto;border-top:var(--mdh,1px) solid var(--mdc,#e2e8f0)}
  .mm-maal-label{flex:0 1 auto;font-size:.74rem;letter-spacing:.05em;line-height:1.35}
  .mm-maal-mono{font-family:var(--mm-font-utility,ui-monospace,'SF Mono',Menlo,monospace)}
  /* bildetekst UNDER enkeltbilde (image.caption — forankrer ekte kundebilder) */
  .mm-imgcaption{display:block;font-size:.82rem;line-height:1.45;color:var(--mm-caption,#64748b);margin-top:.45rem}
  .ondark .mm-imgcaption{color:rgba(255,255,255,.82)}
  /* NAP-topplinje over hovednav (theme.nav_topbar) */
  .mm-topbar{display:flex;justify-content:center;flex-wrap:wrap;gap:.35rem 1.6rem;padding:.42rem 20px;font-size:.78rem;line-height:1.4}
  .mm-topbar a{text-decoration:none}
  .mm-topbar a:hover{text-decoration:underline}
  .mm-topbar .bi{opacity:.75;margin-right:.15rem}
  @media(max-width:767px){.mm-topbar-skjulmobil{display:none}}
  /* før/etter-slider (beforeafter — produktbeviset for transformasjonsfag) */
  .mm-ba{position:relative;overflow:hidden;line-height:0;border-radius:10px;--ba:55%;aspect-ratio:var(--baar,3/2);display:block}
  .mm-ba img{width:100%;height:100%;object-fit:cover;display:block}
  .mm-ba .mm-ba-etter{position:absolute;inset:0}
  .mm-ba .mm-ba-etter img{position:absolute;inset:0;height:100%;object-fit:cover;clip-path:inset(0 0 0 var(--ba))}
  .mm-ba .mm-ba-linje{position:absolute;top:0;bottom:0;left:var(--ba);width:2px;background:#fff;box-shadow:0 0 10px rgba(0,0,0,.55);pointer-events:none}
  .mm-ba .mm-ba-linje::after{content:"‹ ›";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;color:#1f2937;font:700 .72rem/1 sans-serif;letter-spacing:-1px;padding:.5rem .45rem;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.35);white-space:nowrap}
  /* touch-action:pan-y (ikke none): range-en dekker HELE bildet, så «none» gjorde
     modulen til en scroll-dødsone på mobil — startet fingeren der, satt siden fast
     (funn 26.8). pan-y slipper vertikal scroll gjennom, dragingen er horisontal. */
  .mm-ba input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;-webkit-appearance:none;touch-action:pan-y}
  .mm-ba .mm-ba-lbl{position:absolute;top:10px;font:600 .72rem/1 var(--body);letter-spacing:.04em;text-transform:uppercase;color:#fff;background:rgba(15,20,28,.62);padding:.32rem .6rem;border-radius:999px;pointer-events:none}
  .mm-ba .mm-ba-lbl.for{left:10px}
  .mm-ba .mm-ba-lbl.etter{right:10px}
  /* stegvis skjema (mode:"steg", #76): ett steg synlig om gangen; alt synlig uten JS */
  html.js .ucform.mm-steg .mm-fsteg{display:none}
  html.js .ucform.mm-steg .mm-fsteg.on{display:block}
  html.js .ucform.mm-steg:not(.mm-steg-siste) [type=submit]{display:none}
  html.js .ucform.mm-steg:not(.mm-steg-siste) .cf-turnstile{display:none}
  .mm-fprog{display:flex;gap:.45rem;margin:0 0 1rem}
  .mm-fprog i{width:9px;height:9px;border-radius:50%;background:currentColor;opacity:.22;transition:opacity .25s}
  .mm-fprog i.on{opacity:1}
  .ucform .mm-fnext{margin:.4rem 0 0;cursor:pointer}
  /* fargeprøve-brikke foran skjemaetikett (fields[].chip.swatch) */
  .mm-fchip{display:inline-block;width:.85em;height:.85em;border-radius:3px;margin-right:.45em;vertical-align:-.08em;border:1px solid rgba(0,0,0,.18)}
  /* dekningssone på kart (map.sone): sirkel sentrert på adressen + etikett + steds-chips */
  .mm-mapwrap{position:relative;display:block;overflow:hidden;line-height:0}
  /* max-width (hindring #138, norsk-bygg): sonens geometri (radius/zoom) kunne gi 93px
     horisontal overflyt på 390px-viewport — ringen og etiketten klippes til containeren */
  .mm-mapsone{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;z-index:2;max-width:100%;box-sizing:border-box}
  .mm-mapsone-lbl{position:absolute;left:50%;top:24px;transform:translateX(-50%);color:#fff;font:600 .75rem/1.2 var(--body);padding:.3rem .7rem;border-radius:999px;pointer-events:none;z-index:3;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.25);max-width:calc(100% - 12px);box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}
  .mm-mappunkter{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem;line-height:1.3}
  .mm-mappunkter span{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:.25rem .7rem;font-size:.8rem;color:#334155}
  /* finn-lager (finnlager): kortgrid fra kundens egen Finn-butikk, SOLGT-badge */
  .mm-fl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.1rem}
  .mm-fl-kort{border:1px solid rgba(127,127,127,.22);border-radius:12px;overflow:hidden;background:#fff;color:#1c2430}
  .mm-fl-bilde{position:relative;aspect-ratio:3/2;overflow:hidden}
  .mm-fl-bilde img{width:100%;height:100%;object-fit:cover;display:block}
  .mm-fl-solgt{position:absolute;top:10px;left:10px;background:#1c2430;color:#fff;font:700 .72rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;padding:.35rem .7rem;border-radius:999px}
  .mm-fl-kort.solgt .mm-fl-bilde img{filter:grayscale(1);opacity:.75}
  .mm-fl-body{padding:.9rem 1rem 1.1rem}
  .mm-fl-navn{margin:0 0 .25rem;font-size:1.02rem;font-weight:700;color:#1c2430}
  .mm-fl-annonse{color:inherit;text-decoration:none;display:block}
  .mm-fl-annonse:hover img{opacity:.92}
  h3 .mm-fl-annonse:hover{text-decoration:underline;text-underline-offset:3px}
  .mm-fl-pris{margin:0 0 .2rem;font-weight:800;font-size:1.15rem;font-variant-numeric:tabular-nums;color:#1c2430}
  .mm-fl-fakta{margin:0 0 .7rem;font-size:.82rem;opacity:.75;font-family:var(--mm-font-utility,var(--body))}
  .mm-fl-cta{display:block;text-align:center;margin:0 0 .45rem}
  .mm-fl-cta2{display:block;text-align:center;font-size:.88rem;color:#1c2430;text-decoration:underline;text-underline-offset:3px}
  /* mørke bånd (#112 pkt 3): kortene følger flaten — samme klasse feil som infokort/faq hadde */
  section.band.ondark .mm-fl-kort{background:#171A1F;border-color:rgba(255,255,255,.14);color:#f5f6f8}
  section.band.ondark .mm-fl-kort :is(.mm-fl-navn,.mm-fl-pris,.mm-fl-cta2){color:#f5f6f8}
  section.band .mm-fl.lys .mm-fl-kort{background:#fff;border-color:rgba(127,127,127,.22);color:#1c2430}
  section.band .mm-fl.lys .mm-fl-kort :is(.mm-fl-navn,.mm-fl-pris,.mm-fl-cta2){color:#1c2430}
  .mm-fl-solgttittel{margin:1.4rem 0 .6rem;font-weight:700;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;opacity:.7}
  .mm-fl-solgtgrid .mm-fl-kort{opacity:.85}
  .mm-fl-lenke{margin:.9rem 0 0;font-size:.88rem}
  /* lydavspiller (audio): play-chip i sidens uttrykk — trekant/pauselinjer tegnes i CSS */
  .mm-audio .mm-audio-t{margin:0 0 .4rem;font-weight:600;font-size:.92rem}
  .mm-au-chip{display:inline-flex;align-items:center;gap:.6em;border:0;cursor:pointer;font:600 .9rem/1.2 var(--body);color:#fff;background:var(--auc,var(--mm-accent,#2563eb));border-radius:999px;padding:.65rem 1.2rem .65rem .9rem;box-shadow:0 8px 24px rgba(0,0,0,.18)}
  .mm-au-chip .mm-au-ikon{flex:none;width:0;height:0;border-style:solid;border-width:7px 0 7px 11px;border-color:transparent transparent transparent currentColor}
  .mm-au-chip.spiller .mm-au-ikon{width:11px;height:14px;border:0;border-left:4px solid currentColor;border-right:4px solid currentColor}
  /* booking-forespørsel (booking): tjenestekort, tidsluke-knapper, valgt luke i aksent */
  .mm-bk .mm-bk-tjl{display:flex;flex-direction:column;gap:.45rem;margin:0 0 .9rem}
  .mm-bk .mm-bk-tj{display:flex;align-items:center;gap:.6rem;border:1px solid rgba(127,127,127,.3);border-radius:10px;padding:.65rem .85rem;cursor:pointer}
  .mm-bk .mm-bk-tj:has(input:checked){border-color:var(--mm-accent,#2563eb);box-shadow:inset 0 0 0 1px var(--mm-accent,#2563eb)}
  .mm-bk .mm-bk-tjn{font-weight:600}
  .mm-bk .mm-bk-tjp{margin-left:auto;font-size:.82rem;opacity:.75;white-space:nowrap;font-family:var(--mm-font-utility,var(--body))}
  .mm-bk .mm-bk-luker{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 .9rem;transition:outline .2s;outline:2px solid transparent;outline-offset:4px;border-radius:8px}
  .mm-bk .mm-bk-luker.mm-bk-mangler{outline-color:#dc2626}
  .mm-bk .mm-bk-luke{border:1px solid rgba(127,127,127,.35);background:transparent;color:inherit;border-radius:8px;padding:.5rem .8rem;cursor:pointer;font:inherit;font-variant-numeric:tabular-nums}
  .mm-bk .mm-bk-luke.on{background:var(--mm-accent,#2563eb);border-color:var(--mm-accent,#2563eb);color:#fff}
  .mm-bk .mm-bk-hint,.mm-bk .mm-bk-stengt{font-size:.85rem;opacity:.75;margin:.2rem 0 .6rem}
  .mm-bk .mm-bk-stengt{color:#dc2626;opacity:1}
  .mm-bk .mm-bk-sum{font-size:.9rem;margin:0 0 .9rem}
  .mm-bk .mm-bk-note{font-size:.8rem;opacity:.7;margin:.6rem 0 0}
  /* sammenligningsmatrise (sammenlign): leses PÅ TVERS per rad; mobil = én blokk per rad */
  .mm-cmp{display:grid;grid-template-columns:minmax(130px,1.15fr) repeat(var(--cmpn,3),1fr);border:1px solid rgba(127,127,127,.28);border-radius:12px;overflow:hidden;font-size:.95rem;line-height:1.45}
  .mm-cmp-row{display:contents}
  .mm-cmp-h,.mm-cmp-lbl,.mm-cmp-c{padding:.72rem .95rem;border-top:1px solid rgba(127,127,127,.18)}
  .mm-cmp-head .mm-cmp-h,.mm-cmp-head .mm-cmp-lbl{border-top:0}
  .mm-cmp-h{font-weight:700}
  .mm-cmp-lbl{font-weight:600;font-family:var(--mm-font-utility,var(--body));font-size:.8rem;letter-spacing:.03em;opacity:.9}
  .mm-cmp-h.hl,.mm-cmp-c.hl{background:rgba(var(--mm-accent-rgb),.08);box-shadow:inset 2px 0 0 var(--mm-accent,#DC2626),inset -2px 0 0 var(--mm-accent,#DC2626)}
  .mm-cmp-tag{display:block;font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:var(--mm-accent,#DC2626);font-weight:700;margin-bottom:.18rem}
  .mm-cmp-kilde{margin:.6rem 0 0;font-size:.78rem;opacity:.7}
  @media(max-width:820px){
    .mm-cmp{display:block;border:0;border-radius:0;overflow:visible}
    .mm-cmp-row{display:block;border:1px solid rgba(127,127,127,.28);border-radius:12px;margin:0 0 .9rem;overflow:hidden}
    .mm-cmp-head{display:none}
    .mm-cmp-lbl{display:block;background:rgba(127,127,127,.12);border-top:0}
    .mm-cmp-c{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid rgba(127,127,127,.16)}
    .mm-cmp-c::before{content:attr(data-kol);font-weight:600;opacity:.75;text-align:left}
    .mm-cmp-c.hl{box-shadow:inset 3px 0 0 var(--mm-accent,#DC2626)}
  }
  /* klokkeslettstyrt åpent/stengt-kicker (openstatus) — server-rendret, status-dot i grønt/rødt */
  .mm-openstatus{display:inline-flex;align-items:center;gap:.55em;font:600 .85rem/1.3 var(--mm-font-utility,var(--body));letter-spacing:.06em;text-transform:uppercase}
  .mm-openstatus .mm-os-dot{flex:none;width:.6em;height:.6em;border-radius:50%;background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.18)}
  .mm-openstatus.stengt .mm-os-dot{background:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.18)}
  /* premium button styles (gradient / glass) + inline grouping */
  .btn.btn--grad,.btn.btn--glass{font-size:1rem;padding:.95rem 1.5rem;border-radius:6px}
  .btn.btn--grad{background:linear-gradient(105deg,var(--btnbg),var(--btnbg2,#c43d83));border:0;box-shadow:0 12px 30px rgba(var(--mm-accent-rgb,138,43,98),.32);transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
  .btn.btn--grad:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(var(--mm-accent-rgb,138,43,98),.42)}
  .btn.btn--glass{background:rgba(255,255,255,.7);color:var(--btnbg);border:1.5px solid rgba(var(--mm-accent-rgb,138,43,98),.18);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .25s,background .25s,box-shadow .25s}
  .btn.btn--glass:hover{background:#fff;color:var(--btnbg);transform:translateY(-3px);box-shadow:0 14px 30px rgba(var(--mm-accent-rgb,138,43,98),.16)}
  .ondark .btn.btn--glass{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.42)}
  .ondark .btn.btn--glass:hover{background:rgba(255,255,255,.28);color:#fff}
  /* Knapp-flip (hindring #166): knappflate ~= båndfarge → hvit flate, merkefarget
     tekst. Inline-stil (button-modulens bg / skjemaets submit_bg) vinner alltid. */
  section.band.mm-btnflip .btn:not(.btn--glass):not([style*=background]){background:#fff;color:var(--brand);border-color:#fff}
  section.band.mm-btnflip .btn:not(.btn--glass):not([style*=background]):hover{background:#eef1f4;color:var(--brand)}
  .m.mm-btn-inline{display:inline-block;vertical-align:middle;margin:.3rem .35rem}
  .col:has(> .m.mm-btn-inline){text-align:center}
  @media(prefers-reduced-motion:reduce){.btn.btn--grad,.btn.btn--glass{transition:none}.btn.btn--grad:hover,.btn.btn--glass:hover{transform:none}}
  /* icon chip (rounded gradient square behind an icon) */
  .mm-icchip{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:16px;background:var(--mm-chip-bg,linear-gradient(135deg,#fde0ee,#f7cfe1))}
  /* eget ikon som bilde i ikonrollen (#248): samme plass som Bootstrap-ikonet */
  .mm-ikonbilde{display:inline-block;height:auto;max-width:100%}
  .mm-ikonbilde-b{display:inline-flex;align-items:center;justify-content:center;max-width:100%}
  .mm-ikonbilde-b img{display:block;width:100%;height:auto}
  .mm-icchip-bilde{width:auto;height:auto;padding:14px}
  /* number badge module */
  .m.mm-numbadge{display:flex}
  .m.mm-numbadge.center{justify-content:center}.m.mm-numbadge.right{justify-content:flex-end}
  .mm-numbadge-b{display:inline-flex;align-items:center;justify-content:center;min-width:56px;height:56px;padding:0 .55rem;border-radius:16px;font-family:var(--heading);font-weight:600;font-size:1.55rem;color:#000000;background:linear-gradient(135deg,var(--btnbg,#e6529e),var(--btnbg2,#c43d83));box-shadow:0 12px 26px rgba(var(--mm-accent-rgb,138,43,98),.3)}
  /* framed section: the content becomes a rounded, shadowed panel (bg moves onto the panel) */
  .band.mm-framed{background:transparent !important}
  .band.mm-framed>.wrap>.row{border-radius:30px;padding:clamp(40px,6vw,84px) clamp(24px,5vw,60px) !important;box-shadow:0 36px 90px rgba(var(--mm-accent-rgb,138,43,98),.28);position:relative;overflow:hidden;background-size:cover;background-position:center}
  /* card appearance for a column (soft = shadow, glass = frosted). Inline column colour still wins. */
  .col.mm-card{background:#fff;border-radius:12px;padding:clamp(1.6rem,2.8vw,2.4rem);height:100%;position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
  .col.mm-card.mm-card-top::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--mm-grad-stripe,linear-gradient(90deg,#e6529e,#ff7eb3,#ffd6a5))}
  .col.mm-card.mm-card-soft{box-shadow:0 12px 34px rgba(0,0,0,.07);border:1px solid rgba(0,0,0,.05)}
  .col.mm-card.mm-card-glass{background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.7);box-shadow:0 24px 60px rgba(var(--mm-accent-rgb,138,43,98),.12)}
  .col.mm-card:hover{transform:translateY(-5px);box-shadow:0 22px 54px rgba(var(--mm-accent-rgb,138,43,98),.16)}
  @media(prefers-reduced-motion:reduce){.col.mm-card{transition:none}.col.mm-card:hover{transform:none}}
  /* a card inside a .cards grid: restore its inner padding (the grid sets .col{padding:0}, which is more specific) */
  section.band.cards>.wrap>.row>.col.mm-card{padding:clamp(1.5rem,2.6vw,2.2rem)}
  /* two side-by-side cards in a normal (non-grid) row: give them a real gutter (the card padding ate the column gutter) */
  .band:not(.cards):not(.dualbg)>.wrap>.row:has(>.col.mm-card + .col.mm-card){gap:1.5rem;margin-left:0;margin-right:0}
  /* side-by-side only on desktop; on mobile the columns fall back to full width (.col flex:1 1 100%) and stack */
  @media(min-width:768px){ .band:not(.cards):not(.dualbg)>.wrap>.row:has(>.col.mm-card + .col.mm-card)>.col{flex:1 1 0;max-width:none} }
  html.js .mm-reveal>.wrap>.row>.col{opacity:0;transform:translateY(22px)}
  html.js .mm-reveal.mm-seen>.wrap>.row>.col{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
  html.js .mm-reveal.mm-seen>.wrap>.row>.col:nth-child(2){transition-delay:.09s}
  html.js .mm-reveal.mm-seen>.wrap>.row>.col:nth-child(3){transition-delay:.18s}
  html.js .mm-reveal.mm-seen>.wrap>.row>.col:nth-child(4){transition-delay:.27s}
  /* reveal_stagger (bygger-gap #47): modulene i seksjonen avsløres én og én —
     f.eks. samtalebobler der responstiden bevises av formen. */
  html.js .mm-reveal.mm-rstag>.wrap>.row>.col>.m{opacity:0;transform:translateY(16px)}
  html.js .mm-reveal.mm-rstag.mm-seen>.wrap>.row>.col>.m{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
  html.js .mm-reveal.mm-rstag.mm-seen>.wrap>.row>.col>.m:nth-child(1){transition-delay:0.12s}
  html.js .mm-reveal.mm-rstag.mm-seen>.wrap>.row>.col>.m:nth-child(2){transition-delay:0.34s}
  html.js .mm-reveal.mm-rstag.mm-seen>.wrap>.row>.col>.m:nth-child(3){transition-delay:0.56s}
  html.js .mm-reveal.mm-rstag.mm-seen>.wrap>.row>.col>.m:nth-child(4){transition-delay:0.78s}
  html.js .mm-reveal.mm-rstag.mm-seen>.wrap>.row>.col>.m:nth-child(5){transition-delay:1.00s}
  html.js .mm-reveal.mm-rstag.mm-seen>.wrap>.row>.col>.m:nth-child(6){transition-delay:1.22s}
  html.js .mm-reveal.mm-rstag.mm-seen>.wrap>.row>.col>.m:nth-child(7){transition-delay:1.44s}
  html.js .mm-reveal.mm-rstag.mm-seen>.wrap>.row>.col>.m:nth-child(8){transition-delay:1.66s}
  @media(prefers-reduced-motion:reduce){html.js .mm-reveal.mm-rstag>.wrap>.row>.col>.m{opacity:1;transform:none}}
  /* reveal_stagger_ms (#129): kolonnene (kortene) våkner én og én med valgt takt */
  html.js .mm-reveal.mm-rstagk.mm-seen>.wrap>.row>.col:nth-child(1){transition-delay:calc(0*var(--rsms,70ms) + 60ms)}
  html.js .mm-reveal.mm-rstagk.mm-seen>.wrap>.row>.col:nth-child(2){transition-delay:calc(1*var(--rsms,70ms) + 60ms)}
  html.js .mm-reveal.mm-rstagk.mm-seen>.wrap>.row>.col:nth-child(3){transition-delay:calc(2*var(--rsms,70ms) + 60ms)}
  html.js .mm-reveal.mm-rstagk.mm-seen>.wrap>.row>.col:nth-child(4){transition-delay:calc(3*var(--rsms,70ms) + 60ms)}
  html.js .mm-reveal.mm-rstagk.mm-seen>.wrap>.row>.col:nth-child(5){transition-delay:calc(4*var(--rsms,70ms) + 60ms)}
  html.js .mm-reveal.mm-rstagk.mm-seen>.wrap>.row>.col:nth-child(6){transition-delay:calc(5*var(--rsms,70ms) + 60ms)}
  html.js .mm-reveal.mm-rstagk.mm-seen>.wrap>.row>.col:nth-child(7){transition-delay:calc(6*var(--rsms,70ms) + 60ms)}
  html.js .mm-reveal.mm-rstagk.mm-seen>.wrap>.row>.col:nth-child(8){transition-delay:calc(7*var(--rsms,70ms) + 60ms)}
  html.js .mm-reveal.mm-seen>.wrap>.row>.col:nth-child(5){transition-delay:.36s}
  html.js .mm-reveal.mm-seen>.wrap>.row>.col:nth-child(6){transition-delay:.45s}
  @media(prefers-reduced-motion:reduce){html.js .mm-reveal>.wrap>.row>.col{opacity:1;transform:none}}
  header.site{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.76);border-bottom:1px solid #eeeeee;will-change:transform;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  /* Menyraden følger scrollen piksel for piksel (JS setter transform direkte):
     den skyves gradvis ut mens man leser nedover og trekkes like gradvis inn
     igjen når man scroller opp. Transition brukes KUN når den må hoppe på eget
     initiativ — meny åpnes, ankerhopp — ellers ville den henge etter fingeren. */
  header.site.mm-nav-glatt{transition:transform .25s cubic-bezier(.4,0,.2,1)}
  @media(prefers-reduced-motion:reduce){header.site.mm-nav-glatt{transition:none}}
  /* nav_over: heroen (første seksjon per side) trekkes opp BAK nav-en, og
     innholdet kompenseres med nav-høyden (måles av nav-scriptet → --mm-navh).
     Kombineres med rgba nav_bg + nav_glass for glass-over-hero. Kun publikum —
     editoren beholder normal flyt så redigering ikke skjer under verktøylinja. */
  main>section.band:first-child{margin-top:calc(var(--mm-navh,76px)*-1)}
  main>section.band:first-child>.wrap{padding-top:var(--mm-navh,76px)}
  header.site .wrap{display:flex;align-items:center;justify-content:space-between;padding:32px 20px;gap:1rem}
  /* width_mobil (#76): egen bildebredde per flate — desktopverdien er ellers hard også på mobil */
  [style*="--imw-desk"]{--imw:var(--imw-desk)}
  @media(max-width:820px){[style*="--imw-mob"]{--imw:var(--imw-mob)}}
  /* icon_mobil (#66): annet ikon under 820px (pil-høyre → pil-ned ved stabling) */
  .mm-ico-mob{display:none!important}
  @media(max-width:820px){.mm-ico-mob{display:inline-block!important}.mm-ico-desk{display:none!important}}
  .logo{font-family:var(--heading);font-weight:700;font-size:1.25rem;color:var(--brand);text-decoration:none}
  nav.main{display:flex;gap:1.25rem;flex-wrap:wrap;align-items:center}
  nav.main a{color:#ffffff;text-decoration:none;font-size:.95rem}
  nav.main a:hover,nav.main a.active{color:#c4d82e}
  .nav-phone{display:none;font-weight:600;white-space:nowrap;text-decoration:none;margin-left:10px}
  @media(min-width:1024px){.nav-phone{display:inline-block}}
  nav.main a.btn.nav-cta{color:#000000;font-weight:600;padding:.55rem 20px;height:auto;line-height:1.2;margin-left:6px}
  nav.main a.btn.nav-cta:hover{color:#000000}
  /* dropdown submenu (desktop: hover panel) */
  nav.main .navitem{position:relative;display:inline-flex;align-items:center;padding:.4rem 0}
  /* Undermeny-pil (systemfeil 4.9): ▾-glyfen satt for lavt i flere skrifter (glyfens egne metrikker).
     Nå en tegnet chevron sentrert på tekstens x-høyde — likt i alle skrifter og med versaler. */
  nav.main .caret{display:inline-flex;align-items:center;font-size:.62em;margin-left:.35em;opacity:.85;vertical-align:middle;position:relative;top:-.05em;line-height:1}
  nav.main .caret svg{display:block}
  nav.main .submenu{display:none;position:absolute;top:100%;left:-.6rem;min-width:250px;background:rgba(0,0,0,.76);box-shadow:0 10px 28px rgba(0,0,0,.2);border-radius:0 0 8px 8px;padding:.3rem 0;z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  /* :focus-within er nødvendig for tastatur: submenyen er display:none, så barna var
     ufokuserbare og undersidene helt uoppnåelige uten mus på desktop (WCAG 2.1.1). */
  nav.main .navitem.hassub:hover .submenu,nav.main .submenu:hover,nav.main .navitem.hassub:focus-within .submenu{display:block}
  nav.main .submenu a{display:block;padding:.55rem 1.1rem;white-space:nowrap;font-size:.9rem;text-transform:none;letter-spacing:0}
  nav.main .submenu a:hover{background:rgba(0,0,0,.12)}
  /* Checkboxen er visuelt skjult men FOKUSERBAR (display:none gjorde hele
     mobilmenyen tastatur-utilgjengelig — WCAG 2.1.1, rammet alle sider). */
  .navtoggle{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .navtoggle-label{display:none}
  .navtoggle:focus-visible~.navtoggle-label,.navtoggle:focus~.navtoggle-label{outline:2px solid currentColor;outline-offset:3px;border-radius:6px}
  header.site a.nav-cta-mob{display:none}
  /* nav_cta_label_mobile (#78): kortform under 520 px, fullform ellers */
  .nav-cta-mob .nc-kort{display:none}
  @media(max-width:520px){.nav-cta-mob .nc-full{display:none}.nav-cta-mob .nc-kort{display:inline}}
  @media(max-width:767px){
    /* Header-duplikatet arvet temaets STORE knappehøyde (theme.btn_height, satt
       for hero-knappene) og ble unødig høyt i menyraden — den kompakte
       varianten setter sin egen, uavhengig av sidens knappehøyde. */
    header.site a.nav-cta-mob{display:inline-flex;align-items:center;order:3;margin-left:auto;padding:.5rem 14px;font-size:.82rem;line-height:1.2;white-space:nowrap;height:auto;min-height:40px}
    header.site .wrap:has(.nav-cta-mob) .langsw{margin-left:0}
    header.site .wrap:has(.nav-cta-mob) .logo img{max-width:40vw !important}
    /* Menyknappen er et TRYKKMÅL, ikke bare et tegn: 23x26 px var langt under
       44 px-minstemålet, og den klistret seg til CTA-en (8 px luft). Bredden
       er +56 % og høyden full touch-høyde; margin-left gir CTA-en pusterom. */
    .navtoggle-label{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;margin-left:8px;cursor:pointer;line-height:0;color:#ffffff;user-select:none;-webkit-tap-highlight-color:transparent}
    .navtoggle-label svg{display:block}
    nav.main{display:none;flex-direction:column;width:100%;gap:.25rem;padding:.5rem 0;align-items:stretch}
    nav.main a{padding:.6rem 0;border-top:1px solid #eeeeee}
    nav.main a.btn.nav-cta{margin:10px 0 2px;padding:.65rem 20px;text-align:center;border-top:0}
    nav.main .navitem{display:block;width:100%;padding:0}
    /* Skillelinje-buggen (Fuglset 12.8): forelder-lenken i .navitem er inline —
       border-top ble en kort strek på tekstbredden. Full bredde på lenken, og
       undermeny-barna mister egne linjer (gruppen leses som ETT menypunkt;
       blandede innrykk og doble streker mellom barn og neste toppunkt er borte). */
    nav.main .navitem>a{display:block}
    nav.main .caret{display:none}
    nav.main .submenu{display:block;position:static;box-shadow:none;background:transparent;padding:0 0 .2rem 1.1rem;min-width:0;border-radius:0}
    nav.main .submenu a{font-size:.88rem;opacity:.9;border-top:0;padding:.42rem 0}
    .navtoggle:checked ~ nav.main{display:flex}
    /* Herding (tronds-fella 16.8): åpen meny KREVER at raden wrapper — en
       head_code med flex-wrap:nowrap (satt for å holde logo+CTA+burger på én
       linje) klemte ellers hele menyen inn som smal kolonne ved siden av
       logoen. Åpen tilstand vinner alltid. */
    header.site .wrap:has(.navtoggle:checked){flex-wrap:wrap !important}
    header.site .wrap{flex-wrap:wrap;min-height:84px;padding:18px 20px}
    /* shrink logo on small screens so it + the menu button stay on one line */
    .logo img{height:40px !important;max-width:46vw !important}
    .navtoggle-label{flex:0 0 auto}
    /* single-column stacking: drop the grid's negative margins to avoid horizontal overflow */
    .row{margin-left:0;margin-right:0}
    .col{padding-left:0;padding-right:0}
    /* språkvelgeren: logo | NO EN ES | burger på ÉN linje uten horisontal overflow */
    header.site .wrap{gap:.55rem}
    .langsw{order:4;margin-left:auto;padding-left:0;border-left:0;gap:0}
    .langsw a{font-size:.66rem;padding:.26rem .36rem;letter-spacing:.4px}
    .navtoggle-label{order:5}
    nav.main{order:6}
    header.site .wrap:has(.langsw) .logo img{max-width:44vw !important}
    header.site .wrap:has(.langsw) .logo .wm .nm{font-size:clamp(.82rem,3.9vw,1rem)}
  }
  @media(max-width:420px){ .logo img{height:40px !important} header.site .wrap{min-height:72px} }
  /* «clip», ikke «hidden»: overflow-x:hidden gjorde html/body til scroll-
     containere og slo dermed ut position:sticky på menyraden — den rullet
     bort som vanlig innhold i stedet for å bli liggende. clip stanser
     horisontal overflyt uten å lage scroll-container, så sticky overlever.
     Fallback for gamle nettlesere står først. */
  html,body{overflow-x:hidden}
  @supports (overflow-x:clip){html,body{overflow-x:clip}}
  section.band{padding:16px 0}
  /* theme.section_spacing: rytme som system (per-seksjons pt/pb overstyrer inline) */
  section.band{padding:104px 0}
  @media(max-width:820px){section.band{padding:64px 0}}
  section.band.full>.wrap{max-width:100%}
  /* settings.bleed (hindring #177.3): ekte kant-til-kant — nuller wrap-padding, radens gutter og
     kolonnepadding i samme regel (bare wrap alene ga 15 px horisontal overflyt). */
  section.band.mm-bleed>.wrap{max-width:100%;padding-left:0;padding-right:0}
  section.band.mm-bleed>.wrap>.row{margin-left:0;margin-right:0}
  section.band.mm-bleed>.wrap>.row>.col{padding-left:0;padding-right:0}
  /* Blandet rad (rormek #205): bildet går kant-til-kant, tekstkolonnen beholder luft mot skjermkanten. */
  section.band.mm-bleed>.wrap>.row>.col:not(:has(img,picture,video,iframe,.map,.mm-uts-kart,.gcarousel)){padding-left:15px;padding-right:15px}
  .mm-quotes{display:grid;gap:18px}
  .mm-quote{position:relative;margin:0;background:#fff;color:#1c2430;border-radius:14px;border-left:4px solid var(--mm-accent,#c8cbe0);padding:2.5rem 1.35rem 1.2rem 1.5rem;box-shadow:0 8px 26px rgba(15,20,40,.09);overflow:hidden}
  .mm-quote::before{content:'\201C';position:absolute;top:.1rem;left:.9rem;font-family:Georgia,'Times New Roman',serif;font-size:4.6rem;line-height:1;color:var(--mm-accent,#888);opacity:.22;pointer-events:none}
  .mm-quote blockquote{position:relative;margin:0 0 .95rem;font-size:1.16rem;line-height:1.6;font-style:italic}
  .mm-quote figcaption{font-size:.86rem;display:flex;flex-direction:column;gap:.12rem;padding-top:.65rem;border-top:1px solid #edeef4}
  .mm-quote figcaption strong{font-style:normal;font-size:.92rem}
  .mm-quote-kilde{color:#6a7280}
  /* quotes items[].jobb (#122): HVA jobben var — nest viktigst etter sitatet,
     egen linje med egen vekt (utility-fonten der den finnes) */
  .mm-quote-jobb{display:block;font-size:.8rem;font-weight:600;letter-spacing:.03em;color:#3d4653;font-family:var(--mm-font-utility,inherit);margin:.12rem 0 .05rem}
  @media(max-width:720px){.mm-quotes{grid-template-columns:1fr!important}}
  .mm-seasonwrap{text-align:center}
  .mm-seasonpill{display:inline-block;padding:.55rem 1.3rem;border-radius:999px;background:var(--mm-chip-bg,rgba(var(--mm-accent-rgb,138,43,98),.1));color:var(--mm-accent,var(--btnbg));font-weight:600;font-size:.95rem;letter-spacing:.01em}
  a.mm-seasonpill-lenke{text-decoration:none}
  a.mm-seasonpill-lenke:hover{filter:brightness(.92)}
  .mm-infokort{display:grid;gap:18px}
  .mm-infokort-i{background:#fff;color:#1c2430;border-radius:14px;padding:1.2rem 1.15rem;box-shadow:0 8px 26px rgba(15,20,40,.09);text-align:center}
  .mm-infokort-i h3{margin:.65rem 0 .35rem;font-size:1.02rem;font-weight:700}
  .mm-infokort-i .mm-icchip i{font-size:1.5rem}
  .mm-infokort-t{font-size:.92rem;line-height:1.55}
  .mm-infokort-t a{color:inherit;font-weight:600}
  a.mm-infokort-lenke{display:block;color:#1c2430;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease}
  a.mm-infokort-lenke:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(15,20,40,.15)}
  @media(max-width:720px){.mm-infokort{grid-template-columns:1fr 1fr!important}}
  @media(max-width:460px){.mm-infokort{grid-template-columns:1fr!important}}
  .mm-stars.center{text-align:center}
  .mm-stars.right{text-align:right}
  .mm-stars-pill{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:.6rem;flex-wrap:wrap;background:#fff;color:#1c2430;border-radius:12px;padding:.55rem 1.15rem;box-shadow:0 6px 20px rgba(15,20,40,.14)}
  .mm-stars-rad{display:inline-flex;gap:.15rem}
  .mm-star{position:relative;width:1.25em;height:1.25em;display:inline-block;background:#d8d9e0;clip-path:polygon(50% 2%,61% 36%,98% 36%,68% 58%,79% 92%,50% 71%,21% 92%,32% 58%,2% 36%,39% 36%)}
  .mm-star-fyll{position:absolute;inset:0;background:#f5b301;width:0}
  .mm-stars-txt{font-weight:600}
  .mm-stars-txt a{color:inherit}
  .gallery .gitem{position:relative}
  .gcap{position:absolute;left:0;right:0;bottom:0;max-height:50%;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(transparent,rgba(0,0,0,.55));color:#fff;font-size:.8rem;padding:.6rem .5rem .4rem;text-align:center}
  section.band.hero{padding:40px 0;color:#fff;min-height:600px;display:flex;align-items:center}
  section.band.hero>.wrap{width:100%}
  /* A hero centres its content vertically by default. When a column opts into top/bottom alignment,
     let it win — this is what makes a text box's inner padding (innvendig luft) visible in a hero,
     since the default centring would otherwise re-centre the block and swallow the padding. */
  section.band.hero:has(>.wrap>.row>.col.vtop){align-items:flex-start}
  section.band.hero:has(>.wrap>.row>.col.vbot){align-items:flex-end}
  /* split-hero: text sits in a solid colour panel over the photo (left-aligned, constrained) */
  section.band.hero.haspanel>.wrap>.row{max-width:var(--panel-w,520px);margin:0;background:var(--panel);padding:2rem 2.2rem;border-radius:var(--panel-radius,10px);box-shadow:var(--panel-shadow,0 12px 40px rgba(0,0,0,.3))}
  section.band.hero.haspanel.panel-glass>.wrap>.row{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  section.band.hero.haspanel>.wrap>.row>.col{flex:1 1 100%;max-width:100%}
  section.band.hero.haspanel h1,section.band.hero.haspanel h1 *{font-size:var(--panel-h1,clamp(1.6rem,3.2vw,2.4rem)) !important;overflow-wrap:normal !important;word-break:normal !important}
  @media(max-width:600px){ section.band.hero.haspanel>.wrap>.row{max-width:100%;padding:1.4rem 1.5rem} }
  /* hero_panel mobilmodus (byggerens savn #29): panelboksen dekket hele bildet på
     mobil. Standard er nå overlay-hero under 820px — gradient av panelfargen over
     bildet, panelboksen gjennomsiktig. panel_mobile:"panel" beholder boksen. */
  @media(max-width:820px){
    /* Kolonner kan aldri vokse forbi raden (bygger-funn #101, funksjonell-hund):
       flex-items uten max-width vokser med iboende innholdsbredde forbi en 390 px
       viewport — teksten kappes mens scrollWidth ser grønn ut (body klipper).
       Verifisert minimal fiks: max-width alene er nok. */
    .row>.col{max-width:100%}
    section.band.hero.haspanel.pm-overlay{position:relative}
    section.band.hero.haspanel.pm-overlay::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 50%,transparent),color-mix(in srgb,var(--panel) 80%,transparent));pointer-events:none}
    section.band.hero.haspanel.pm-overlay>.wrap{position:relative;z-index:1}
    section.band.hero.haspanel.pm-overlay>.wrap>.row{background:transparent;box-shadow:none;padding:0;border-radius:0;max-width:100%}
  }
  /* hero_mobil:"stablet" (#105): bildet blir eget bånd ØVER innholdet på mobil —
     presis fokuskontroll (bgx_mobil/bgy_mobil), teksten på ren flate under. */
  .mm-heromob{display:none}
  @media(max-width:820px){
    /* Hero-seksjoner er display:flex → uten bredde-deklarasjon kollapset båndet
       til 0 px som flex-item (bug 1 i #107). Kolonne-retning stabler bånd + wrap. */
    /* padding-top MÅ vinne over seksjonens innebygde pt (som står som inline-stil):
       i stablet modus ligger bildet øverst, og seksjonens topp-luft ble til en tom
       hvit stripe mellom menyen og bildet (funn 27.8). */
    section.band.mm-stablet{background-image:none!important;padding-top:0!important;flex-direction:column}
    section.band.mm-stablet>.mm-heromob{display:block;width:100%;flex:0 0 auto;align-self:stretch;height:var(--hmh,300px);background-size:cover;margin:0 0 1.4rem}
    section.band.mm-stablet.haspanel.pm-overlay::before{display:none}
    section.band.mm-stablet.haspanel.pm-overlay>.wrap>.row{background:var(--panel);box-shadow:var(--panel-shadow,0 12px 40px rgba(0,0,0,.2));padding:1.6rem 1.4rem;border-radius:var(--panel-radius,10px)}
  }
  /* panel_pos (#105): panelet (som er .row) kan stå høyre/nederst på desktop */
  @media(min-width:821px){
    section.band.hero.haspanel.mm-panel-right>.wrap>.row{margin-left:auto}
    section.band.hero.haspanel.mm-panel-bottom{display:flex;flex-direction:column;justify-content:flex-end}
    /* bottom-left/-right (#121): platen forankret NEDE i et hjørne, delvis bredde
       (panel_width), innholdshøyde — bygget over står fritt. padding-bottom:0 lar
       platen vokse ut av seksjonens bunnkant (hjørne den med panel_radius_corners). */
    section.band.hero.haspanel.mm-panel-bottom-left,section.band.hero.haspanel.mm-panel-bottom-right{display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:0}
    section.band.hero.haspanel.mm-panel-bottom-left>.wrap>.row{margin:0 auto 0 0}
    section.band.hero.haspanel.mm-panel-bottom-right>.wrap>.row{margin:0 0 0 auto}
  }
  /* bare:"mobil"|"desktop" (#105): seksjonen finnes kun i én bredde */
  @media(max-width:820px){section.band.mm-bare-desktop{display:none!important}}
  @media(min-width:821px){section.band.mm-bare-mobil{display:none!important}}
  /* text_scheme (#100/#76): eksplisitte farger — å snu ondark er ikke nok når
     hele TEMAET er mørkt (tekstfargene er lyse globalt). Står ETTER
     ondark-reglene i kaskaden og vinner ved lik spesifisitet. */
  section.band.mm-ts-dark, section.band.mm-ts-dark :is(h1,h2,h3,h4,h5,h6,p,li,label,td,th,figcaption,blockquote){color:#1c2430}
  section.band.mm-ts-dark hr.div{border-top-color:rgba(28,36,48,.25)}
  section.band.mm-ts-dark a:not(.btn){color:#1c2430}
  section.band.mm-ts-light, section.band.mm-ts-light :is(h1,h2,h3,h4,h5,h6,p,li,label,td,th,figcaption,blockquote){color:#f5f6f8}
  section.band.mm-ts-light hr.div{border-top-color:rgba(245,246,248,.3)}
  section.band.mm-ts-light a:not(.btn){color:#f5f6f8}
  /* infokort-titler på det ALLTID-hvite kortet (#76 feil 2): p/li hadde alt
     eksplisitt mørk farge — overskriftene arvet ondark-hvitt/--hcol og forsvant.
     ondark-scopet selektor (0-3-2) slår ondark-tekstregelen (0-2-2) uansett rekkefølge. */
  section.band.ondark .mm-infokort-i :is(h1,h2,h3,h4,h5,h6){color:#1c2430}
  /* FAQ-flaten på mørke bånd (#76 feil 3): rgba-hvit-flaten ga ~2,3:1 med lys tekst */
  section.band.ondark .mm-faq-i{background:rgba(244,245,247,.06)}
  /* brødsmulesti (L#93): navigasjon på nestede seksjoner, ikke pynt */
  .mm-brodsmule{font-size:.8rem;padding:.75rem 0 0;opacity:.8}
  .mm-brodsmule a{color:inherit;text-decoration:none}
  .mm-brodsmule a:hover{text-decoration:underline}
  .mm-brodsmule span[aria-hidden]{opacity:.45;padding:0 .35em}
  .mm-brodsmule span[aria-current]{opacity:.85}
  /* overlay_style:"vignett" (L#88): radial mørkning mot kantene — motivet fritt i midten */
  section.band.mm-vignett{position:relative;isolation:isolate}
  section.band.mm-vignett::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 80% 72% at 50% 48%,rgba(var(--vigc,0,0,0),var(--vig0,.08)) 0%,rgba(var(--vigc,0,0,0),var(--vig1,.43)) 52%,rgba(var(--vigc,0,0,0),var(--vig2,.78)) 100%)}
  section.band.mm-vignett>.wrap{position:relative;z-index:1}
  section.band.hero + section.band{padding-top:44px}  /* breathing room after hero */
  /* Kolofonen (21.9.2026): to spalter på PC – kundens del til venstre (©, footer_note, juridiske
     lenker + footer_links, én ting per linje), byrålinja til høyre med hver del på egen linje.
     Sidekart, lockup, some-ikoner og hårlinjen (.fsep) spenner hele bredden over. På mobil
     stables alt til venstre. Plass er ikke knapp – flere linjer slår én overfylt rad. */
  footer.site .wrap{display:grid;grid-template-columns:1fr auto;gap:.6rem 2.5rem;align-items:start}
  footer.site .wrap>.footer-nav,footer.site .wrap>.footer-brand,footer.site .wrap>.mm-some-footer,footer.site .wrap>.fsep{grid-column:1/-1}
  footer.site .fsep{border:0;border-top:1px solid rgba(127,127,127,.38);margin:.15rem 0 .35rem}
  footer.site .kolofon{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;line-height:1.65}
  footer.site .legal{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem}
  footer.site .legal a{opacity:.85}
  footer.site .footer-note{margin:0;font-size:.76rem;opacity:.62}
  footer.site .credit{text-align:right;line-height:1.65;opacity:.8;justify-self:end}
  footer.site .credit a{color:#ddd}
  footer.site .credit .cta{white-space:nowrap}
  .ucform .fradios{margin:0 0 .8rem}
  .ucform .fradio{display:inline-flex;gap:.4rem;align-items:center;margin:0 1.1rem .45rem 0;font-size:.95rem;cursor:pointer}
  .ucform .fradio input{width:auto;margin:0}
  /* Flervalg (#250): kolonner som standard, «liste» gir én per linje. Boksene bryter aldri
     ordet fra krysset — hvert valg er en egen label med sin egen kolonne. */
  .ucform .fcgruppe{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.3rem .9rem;margin:0 0 .8rem}
  .ucform .fcgruppe.fcg-liste{grid-template-columns:1fr}
  .ucform .fcg{display:flex;gap:.5rem;align-items:flex-start;font-size:.95rem;line-height:1.4;cursor:pointer;padding:.15rem 0}
  .ucform .fcg input{width:auto;margin:.2rem 0 0;flex:none}
  @media(max-width:560px){.ucform .fcgruppe{grid-template-columns:1fr}}
  .mm-faq-i{border:1px solid rgba(127,127,127,.25);border-radius:10px;margin:0 0 .6rem;background:rgba(255,255,255,.6)}
  .mm-faq-i summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;font-weight:600}
  .mm-faq-i summary::-webkit-details-marker{display:none}
  .mm-faq-pil{flex:none;width:14px;height:14px;opacity:.55;transition:transform .18s}
  .mm-faq-pil svg{display:block;width:100%;height:100%}
  .mm-faq-i[open] .mm-faq-pil{transform:rotate(180deg)}
  .mm-faq-svar{padding:0 1.1rem .9rem;line-height:1.6}
  /* FAQ-søk (#249): boksen er hidden i markup og vises av filterskriptet — uten JS står hele lista. */
  .mm-faq-sok{margin:0 0 .9rem}
  .mm-faq-sok-l{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .mm-faq-sok-in{width:100%;box-sizing:border-box;padding:.7rem .95rem;font:inherit;font-size:.98rem;color:inherit;background:rgba(255,255,255,.6);border:1px solid rgba(127,127,127,.32);border-radius:10px}
  .mm-faq-sok-in:focus-visible{outline:2px solid var(--mm-accent,var(--brand));outline-offset:1px}
  .mm-faq-sok-n{margin:.45rem 0 0;font-size:.82rem;opacity:.7;min-height:1.2em}
  .mm-faq-sok-tom{margin:.5rem 0 0;font-size:.94rem;opacity:.8}
  section.band.ondark .mm-faq-sok-in{background:rgba(244,245,247,.08);border-color:rgba(255,255,255,.28);color:#fff}
  section.band.ondark .mm-faq-sok-in::placeholder{color:rgba(255,255,255,.6)}
  .mm-faq-svar>*:first-child{margin-top:0}
  .mm-faq-tom{border:2px dashed #c7d2fe;border-radius:10px;background:#f8faff;padding:.9rem;text-align:center;color:#4338ca;font-weight:600}
  /* #346 (mosspadelsenter): i en loddrett rad gjelder kolonnens flex-basis (33 %) HØYDEN, så en 9/16-video i en smal
     kolonne rant ut av seksjonen. Kolonnene får sin naturlige høyde og full bredde. width:100 % må stå eksplisitt:
     uten bredde har kolonnen ingenting å regne aspect-ratio-høyden av (målt av byggeren i Chromium, 16 px mot 622 px). */
  @media(max-width:767px){ .row:has(.mm-mobfirst){display:flex;flex-direction:column} .row:has(.mm-mobfirst)>.col{flex:0 0 auto;width:100%;max-width:100%} .col.mm-mobfirst{order:-1} }
  @media(max-width:600px){
    footer.site .wrap{grid-template-columns:1fr}
    footer.site .credit{text-align:left;justify-self:start}
  }
  /* Dark sections (photo/overlay bands, is_hero, or a dark solid colour) DEFAULT to light text —
     headings, paragraphs, list items, form labels and the consent line — so migrated content stays
     readable on the photo it sits over. This is a plain default (no !important): a colour the editor
     explicitly applies to the text wins, so hero text can be recoloured. Descendants without their
     own colour simply inherit the light default. */
  section.band.ondark :is(h1,h2,h3,h4,h5,h6,p,li,label){color:#fff}
  /* Lenker i løpende tekst på mørke bånd (hindring #162.3): aksentfargen forsvinner
     mot mørkt foto — lys tekst + understrek skiller lenken. Knapper/kort urørt. */
  section.band.ondark :is(p,li) a:not(.btn){color:#fff;text-decoration:underline;text-underline-offset:2px}
  /* Butikk og booking på mørke bånd (Berg Performance 4.9): produktbeskrivelsen er en div og
     tidslukene er knapper med color:inherit — ingen av dem traff elementlista over, så teksten
     ble svart på svart. Produktdetalj + bookingmodulen arver hvitt; hvite produktkort (.mm-pkort)
     og modalene setter sin egen mørke tekst og påvirkes ikke. */
  :is(section.band.ondark,.col.colbg.ondark) :is(.mm-pdetalj,.mm-bk){color:#fff}
  :is(section.band.ondark,.col.colbg.ondark) .mm-brodsmule{color:rgba(255,255,255,.62)}
  :is(section.band.ondark,.col.colbg.ondark) .mm-bk .mm-bk-luke{border-color:rgba(255,255,255,.35)}
  :is(section.band.ondark,.col.colbg.ondark) .mm-pkat:not(.akt){color:#0f172a}
  /* Light cards on dark bands keep dark text; the ondark white must not leak in. */
  section.band.ondark .col.mm-card.mm-card-soft :is(p,li,label),
  section.band.ondark .col.mm-card.mm-card-glass :is(p,li,label){color:var(--primary)}
  section.band.ondark .col.mm-card.mm-card-soft :is(h1,h2,h3,h4,h5,h6),
  section.band.ondark .col.mm-card.mm-card-glass :is(h1,h2,h3,h4,h5,h6){color:var(--hcol)}
  /* #297 (kredorenhold): skjemaet inne i et lyst kort på mørkt bånd arvet båndets hvite tekst i
     select (color:inherit) og «(valgfritt)» (.ondark-regelen under) – 1,0:1 på hvit kortflate. */
  section.band.ondark .col.mm-card.mm-card-soft .ucform select,
  section.band.ondark .col.mm-card.mm-card-glass .ucform select{color:var(--primary)}
  section.band.ondark .col.mm-card.mm-card-soft .ucform select:invalid,
  section.band.ondark .col.mm-card.mm-card-glass .ucform select:invalid{color:#6b7280}
  section.band.ondark .col.mm-card.mm-card-soft .ucform .flabel .freq,
  section.band.ondark .col.mm-card.mm-card-glass .ucform .flabel .freq{color:var(--mm-muted)}
  /* Infokort er hvite kort — ondark-hviten må heller ikke lekke inn i dem (hindring #10) */
  :is(section.band.ondark,.col.colbg.ondark) .mm-infokort-i :is(h1,h2,h3,h4,h5,h6){color:var(--hcol)}
  :is(section.band.ondark,.col.colbg.ondark) .mm-infokort-i :is(p,li,label),
  :is(section.band.ondark,.col.colbg.ondark) .mm-infokort-t{color:#1c2430}
  section.band.hero h1,section.band.hero h2,section.band.hero h3{max-width:100%}
  /* Dual hero: two photos side-by-side, each COVERING its half (cropped, never squeezed). */
  section.band.dualbg{position:relative;overflow:hidden}
  section.band.dualbg::before,section.band.dualbg::after{content:"";position:absolute;top:0;bottom:0;width:50%;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:0}
  section.band.dualbg::before{left:0;background-image:linear-gradient(rgba(var(--ovc,0,0,0),var(--ov,.5)),rgba(var(--ovc,0,0,0),var(--ov,.5))),var(--bgl);background-position:var(--bgposl,center)}
  section.band.dualbg::after{right:0;background-image:linear-gradient(rgba(var(--ovc,0,0,0),var(--ov2,.5)),rgba(var(--ovc,0,0,0),var(--ov2,.5))),var(--bgr);background-position:var(--bgposr,center)}
  section.band.dualbg>.wrap{position:relative;z-index:1;max-width:none;padding:0}
  /* two images = two content areas: each 50% column sits over its own image half */
  section.band.dualbg>.wrap>.row{margin:0;align-items:stretch}
  section.band.dualbg>.wrap>.row>.col{padding:clamp(2rem,5vw,4.5rem)}
  @media(max-width:600px){ section.band.dualbg>.wrap>.row>.col{padding:2rem 1.4rem} }
  @media(max-width:600px){ section.band.dualbg::before{width:100%} section.band.dualbg::after{display:none} }
  /* parallax: the photo stays put while the page scrolls (single bg, or each half of a dual bg) */
  /* Parallax-emuleringen setter inn et bakgrunnslag som barn av seksjonen. Uten
     dette males seksjonens egne overleggs-pseudoelementer (panel-scrim, vignett)
     FØR laget og forsvinner bak fotoet — kontrastvernet på mobilheroer ryker. */
  section.band.mm-plx-host.pm-overlay::before,section.band.mm-plx-host.mm-vignett::after{z-index:1}
  section.band.parallax:not(.dualbg){background-attachment:fixed}
  section.band.parallax.dualbg::before,section.band.parallax.dualbg::after{background-attachment:fixed}
  @media(max-width:768px){ section.band.parallax,section.band.parallax.dualbg::before,section.band.parallax.dualbg::after{background-attachment:scroll} }
  /* #134 (skin-clinic, WCAG 2.3.3): parallax er den mest utløsende effekten for
     vestibulære forstyrrelser — respekter «reduser bevegelse» som alle de andre
     bevegelseseffektene (entrance/reveal/stagger) allerede gjør. */
  @media(prefers-reduced-motion:reduce){ section.band.parallax,section.band.parallax.dualbg::before,section.band.parallax.dualbg::after,.col.colbg[style*="fixed"]{background-attachment:scroll !important} }
  /* background video (YouTube/Vimeo) covering the band, content + overlay on top */
  section.band.hasbgvideo{position:relative;overflow:hidden}
  section.band.hasbgvideo>.wrap{position:relative;z-index:2}
  .mm-bgvid{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
  .mm-bgvid iframe{position:absolute;top:50%;left:50%;width:max(100%,177.78vh);height:max(100%,56.25vw);transform:translate(-50%,-50%);border:0}
  .mm-bgvid-ov{position:absolute;inset:0;z-index:1}
  /* rotating background slideshow: cross-fading photo layers behind a section */
  section.band.hasbgslides{position:relative}
  .mm-bgshow{position:absolute;inset:0;z-index:0;overflow:hidden}
  .mm-bgsl{position:absolute;inset:0;background-size:cover;background-repeat:no-repeat;opacity:0;transition:opacity 1.4s ease-in-out}
  .mm-bgsl.on{opacity:1}
  .mm-bgsl-ov{position:absolute;inset:0;z-index:1}
  section.band.hasbgslides>.wrap{position:relative;z-index:2}
  /* image carousel (gallery shown one at a time) */
  .gcarousel{position:relative;width:100%;overflow:hidden;border-radius:6px}
  .gcframe{position:relative;width:100%;aspect-ratio:var(--gasp,16/9)}
  /* Skjulte slides må også være UTE av treff-flaten og tabbrekkefølgen: med bare
     opacity:0 lå siste slide i DOM-en øverst, så klikk på det synlige bildet åpnet
     et annet bilde/lenke, og Tab gikk gjennom alle de usynlige (funn 26.8). */
  .gcarousel .gcslide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .6s ease,visibility .6s;display:block}
  .gcarousel .gcslide.on{opacity:1;visibility:visible;pointer-events:auto}
  .gcarousel .gcslide img{width:100%;height:100%;object-fit:cover;display:block}
  .gcnav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;border:0;background:rgba(0,0,0,.42);color:#fff;width:42px;height:42px;border-radius:50%;font-size:1.7rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
  .gcnav:hover{background:rgba(0,0,0,.66)}
  .gcprev{left:10px}.gcnext{right:10px}
  .gcdots{position:absolute;left:0;right:0;bottom:10px;z-index:3;display:flex;gap:.45rem;justify-content:center}
  .gcdot{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.55);cursor:pointer;padding:0}
  .gcdot.on{background:#fff}
  /* grid element (columns-in-width as a module) */
  .gridmod{display:grid;grid-template-columns:repeat(var(--gmc,2),1fr);width:100%;align-items:start}
  @media(max-width:600px){ .gridmod{grid-template-columns:1fr !important} }
  .gridmod .gcellwrap{min-width:0}
  .gridmod .gcellwrap img{max-width:100%;height:auto}
  .mm-gridcell{min-height:1.4em;outline:none}
  .mm-gridmod .gcellwrap{border:1px dashed rgba(0,0,0,.18);border-radius:6px;padding:.5rem;min-height:2.6em}
  /* whole-box links (text element, section, or column made clickable) with a subtle hover darken */
  .mm-haslink{position:relative}
  /* Ekte farge i stedet for opacity (#257): en kicker på 5,5:1 målte 3,9:1 reelt, og målere ser ikke opacity. Inline-farge vinner som før. */
  .mm-kicker{margin:0 0 .45rem;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--mm-muted)}
  .ondark .mm-kicker{color:rgba(255,255,255,.82)}
  .mm-boxlink{position:absolute;inset:0;z-index:1;background:transparent;transition:background .18s ease;border-radius:inherit;cursor:pointer}
  /* Hover kun på ekte pekere (iOS emulerer :hover ved trykk og LÅSER den —
     kortet ble stående mørkegrått), og dempet til et reelt «subtle darken». */
  @media(hover:hover) and (pointer:fine){.mm-haslink:hover>.mm-boxlink{background:rgba(0,0,0,.07)}}
  .mm-boxlink{-webkit-tap-highlight-color:transparent}
  .mm-haslink:active>.mm-boxlink{background:rgba(0,0,0,.07)}
  .mm-haslink>:not(.mm-boxlink) a,.mm-haslink>:not(.mm-boxlink) button{position:relative;z-index:2}
  .mm-haslink>a:not(.mm-boxlink),.mm-haslink>button,.mm-haslink>form,.mm-haslink>iframe{position:relative;z-index:2}
  .mm-linkbadge{display:inline-block;font-size:.7rem;background:#0369a1;color:#fff;border-radius:4px;padding:.05rem .3rem;margin:0 .25rem .2rem 0;vertical-align:middle}
  .mm-linkbadge-sec{position:absolute;top:6px;left:6px;z-index:30}
  /* Hero titles carry no inline size; scale fluidly so they never overflow small screens */
  section.band.hero h1,section.band.hero h1 *{font-size:var(--panel-h1,clamp(1.8rem,6vw,3.45rem)) !important;line-height:1.15 !important;letter-spacing:0 !important;white-space:normal !important;overflow-wrap:break-word}
  section.band.hero h3,section.band.hero h3 *{font-size:var(--panel-h3,clamp(1.3rem,4.5vw,2.2rem)) !important}
  section.band.hero h2,section.band.hero h2 *{font-size:var(--panel-h2,inherit)}
  section.band.hero h4,section.band.hero h4 *{font-size:clamp(1.1rem,3.5vw,1.75rem) !important}
  /* hero sub-headings in the readable body font (original uses Lato for the hero subtitle) */
  section.band.hero h3,section.band.hero h3 *,section.band.hero h4,section.band.hero h4 *,section.band.hero h5,section.band.hero h5 *{font-family:var(--body) !important}
  section.band.hero hr.div{border:0;height:0;margin:.5rem auto}
  .row{display:flex;flex-wrap:wrap;margin:0 -15px}
  .col{padding:0 15px;flex:1 1 100%;min-width:0}
  @media(min-width:768px){ .col-1{flex:0 0 8.3333%;max-width:8.3333%}.col-2{flex:0 0 16.6667%;max-width:16.6667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.3333%;max-width:33.3333%}.col-5{flex:0 0 41.6667%;max-width:41.6667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.3333%;max-width:58.3333%}.col-8{flex:0 0 66.6667%;max-width:66.6667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.3333%;max-width:83.3333%}.col-11{flex:0 0 91.6667%;max-width:91.6667%}.col-12{flex:0 0 100%;max-width:100%} }
  /* per-column vertical alignment of content (top is default). The row stretches columns to equal
     height, so a column can push its content to the middle or bottom of that shared height. */
  .col.vmid{display:flex;flex-direction:column;justify-content:center}
  .col.vbot{display:flex;flex-direction:column;justify-content:flex-end}
  section.band.cards>.wrap>.row>.col.vmid,section.band.cards>.wrap>.row>.col.vbot{align-self:stretch}
  /* When a section has an explicit min-height, let the content area fill it so vertical-align uses the
     FULL section height (not just the tallest column). Without this the spare height piled up unused at
     the bottom and "midtstilt/bunn" looked like it did nothing. Hero/cards/dualbg keep their own layout. */
  section.band.mh:not(.hero):not(.cards):not(.dualbg){display:flex;flex-direction:column}
  /* width:100% (hindring #162.1): flex-basis auto uten bredde lot .wrap krympe til
     innholdet i full_width+minh-seksjoner (målt 510px i en 1440px seksjon) */
  section.band.mh:not(.hero):not(.cards):not(.dualbg)>.wrap{flex:1 1 auto;display:flex;flex-direction:column;width:100%}
  section.band.mh:not(.hero):not(.cards):not(.dualbg)>.wrap>.row{flex:1 1 auto}
  /* Per-column background (colour or photo+overlay): pad + round it into a panel; light text over a photo */
  .col.colbg{padding-top:clamp(1.2rem,3vw,2rem);padding-bottom:clamp(1.2rem,3vw,2rem);border-radius:var(--col-radius,10px);background-size:cover}
  .col.colbg.mm-col-pad0{padding:0}
  .col.colbg.ondark :is(h1,h2,h3,h4,h5,h6,p,li,label){color:#fff}
  /* Lys kolonneflate på mørkt bånd (hindring #198, gripsgardbygg): kolonnen er ikke ondark, men
     båndet er — teksten arvet hvit. Lys colbg gir mørk tekst og mørke felt uten å bli et kort. */
  section.band.ondark .col.colbg:not(.ondark) :is(h1,h2,h3,h4,h5,h6,p,li,label,.flabel,.consent){color:#1c2430}
  section.band.ondark .col.colbg:not(.ondark) :is(input,textarea,select){background:#fff;color:#1c2430;border-color:rgba(0,0,0,.25)}
  section.band.ondark .col.colbg:not(.ondark) ::placeholder{color:#64748b}
  @media(max-width:768px){ .col.colbg[style*="fixed"]{background-attachment:scroll !important} }
  /* Card grid: equal aligned cells (rutenett); each card is a flex column with its CTA pinned to
     the bottom so buttons line up across cards regardless of text length. */
  section.band.cards>.wrap>.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin:0;align-items:start}
  section.band.cards>.wrap>.row>.col{padding:0;max-width:none;flex:none}
  @media(max-width:600px){ section.band.cards>.wrap>.row{grid-template-columns:1fr} }
  /* Logo strip MODULE: certification/partner logos on ONE centered wrapping row, sized by HEIGHT
     (responsive clamp) so they read the same on phone and desktop. Height is absolute, so there is no
     mobile/desktop mismatch the way a width-percentage has. */
  .mm-logostrip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(22px,5vw,60px)}
  .mm-logoitem{display:inline-flex;align-items:center}
  .mm-logostrip img{height:var(--mm-logoh,clamp(34px,8vw,62px));width:auto;max-width:100%;object-fit:contain;display:block}
  .mm-logostrip-sm{--mm-logoh:clamp(26px,6vw,46px)}
  .mm-logostrip-md{--mm-logoh:clamp(34px,8vw,62px)}
  .mm-logostrip-lg{--mm-logoh:clamp(44px,10vw,84px)}
  .mm-logostrip-xl{--mm-logoh:clamp(56px,13vw,116px)}
  .mm-logostrip-xxl{--mm-logoh:clamp(72px,17vw,160px)}
  .mm-logos-ed{cursor:pointer;min-height:42px}
  /* #314 (hamroc): gråtone-stripe, fargen tilbake ved hover */
  .mm-logos-mono img{filter:grayscale(1);opacity:.9;transition:filter .3s ease,opacity .3s ease}   /* .72 gjorde små logoer uleselige (#321c) */
  .mm-logos-mono.mm-logos-hover .mm-logoitem:hover img,.mm-logos-mono.mm-logos-hover .mm-logoitem:focus-visible img{filter:none;opacity:1}
  /* #313 (hamroc): kart over hele bredden øverst i bunnen */
  footer.site .wrap>.footer-map{grid-column:1/-1;margin:0 0 1.1rem}
  footer.site .footer-map iframe{display:block;width:100%;border:0;border-radius:12px;filter:saturate(.85)}
  .mm-logos-empty{color:#64748b;font-size:.85rem;border:1px dashed #cbd5e1;border-radius:8px;padding:.5rem .9rem}
  /* narrower content column for a section (centred); --cw set inline */
  section.band.cwidth>.wrap{max-width:var(--cw);margin-left:auto;margin-right:auto}
  .m{margin:0 0 1rem}
  /* utsalgssteder (hindring #153): kart + søkbar liste side ved side, stablet under 860 px */
  .mm-uts-sok{width:100%;box-sizing:border-box;padding:.7rem .9rem;border:1px solid rgba(0,0,0,.18);border-radius:var(--mm-btn-radius,8px);font:inherit;margin:0 0 .8rem;background:#fff;color:#1c2430}
  .mm-uts-hopp{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin:0 0 .9rem;font-size:.9rem}
  .mm-uts-hopp a{color:inherit;text-decoration:underline;text-underline-offset:3px}
  .mm-uts-wrap{display:grid;grid-template-columns:1fr;gap:1.2rem}
  @media(min-width:860px){.mm-uts:not(.mm-uts-bareliste) .mm-uts-wrap{grid-template-columns:1.1fr 1fr;align-items:start}}
  .mm-uts-kart{min-height:380px;height:min(70vh,560px);border-radius:var(--mm-btn-radius,8px);overflow:hidden;background:#e8ecef;position:sticky;top:calc(var(--mm-navh,76px) + 12px)}
  .mm-uts-liste{padding-right:.3rem}   /* ingen indre scroll (#202): hele lista synlig, kartet er sticky ved siden av */
  .mm-uts-bareliste .mm-uts-liste{max-height:none}
  .mm-uts-gr h3{font-size:1.05rem;margin:1rem 0 .4rem}
  .mm-uts-gr:first-child h3{margin-top:0}
  .mm-uts-sted{display:flex;flex-direction:column;gap:.15rem;padding:.6rem .7rem;border-top:1px solid rgba(0,0,0,.08);font-size:.95rem}
  .mm-uts-sted[hidden],.mm-uts-gr[hidden],.mm-uts-hopp[hidden]{display:none !important}
  .mm-uts-sted.mm-uts-har{cursor:pointer}
  .mm-uts-sted.mm-uts-har:hover{background:rgba(0,0,0,.04)}
  .mm-uts-adr{opacity:.8}
  .mm-uts-l a{color:inherit;text-decoration:underline;text-underline-offset:3px}
  .leaflet-container{font:inherit}
  .mm-imgclip{display:block;overflow:hidden;line-height:0}
  .m.center{text-align:center}.m.right{text-align:right}
  .pgap{margin:0;padding:0;height:1em}                /* collapsed blank line from the migration */
  /* %-box-width (text/buttons/etc.) constrains the measure on desktop but would cramp a phone column,
     so it relaxes to full width on mobile. Images/galleries keep their own pixel floor instead. */
  .m[style*="--mmbw"]{max-width:var(--mmbw)}
  @media(max-width:767px){ .m[style*="--mmbw"]{max-width:100% !important} }
  @media(max-width:600px){.m.mm-hide-mobile{display:none !important}}
  @media(min-width:601px){.m.mm-hide-desktop{display:none !important}}
  .btn{display:inline-block;background:#c4d82e;color:#000000;padding:0 30px;border-radius:6px;text-decoration:none;font-weight:600;font-size:14px;transition:transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s,background .2s;padding:.8rem 30px;}
  .btn:hover{background:#a9bc1f;transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.16)}
  @media(prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none}}
  .btn.btn--outline{background:transparent;background-image:none;color:var(--btnol,var(--btnbg));border:1px solid var(--btnol,var(--btnbg))}
  .btn.btn--outline:hover{background:var(--btnol,var(--btnbg));color:#fff}
    .map iframe{width:100%;border:0;border-radius:6px}
  .gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;width:100%}
  @media(max-width:600px){ .gallery{grid-template-columns:repeat(2,1fr) !important} }
  /* article/news index card grid (links to each article page) */
  .article-items{display:flex;flex-wrap:wrap;margin:1rem -10px;align-items:stretch}
  .article-item{box-sizing:border-box;flex-basis:33.333%;padding:10px!important}
  @media(max-width:820px){ .article-item{flex-basis:50%!important} }
  @media(max-width:520px){ .article-item{flex-basis:100%!important} }
  .article-item-container{border:1px solid #e8e8e8;border-radius:10px;overflow:hidden;background:#fff;height:100%;box-shadow:0 2px 10px rgba(0,0,0,.05);transition:box-shadow .15s}
  .article-item-container:hover{box-shadow:0 6px 20px rgba(0,0,0,.12)}
  .article-item-image img{width:100%;height:190px;object-fit:cover;display:block}
  .article-item-title{padding:.75rem .95rem;font-weight:600;font-size:1.02rem;line-height:1.3}
  .article-item a{text-decoration:none;color:inherit}
  .article-item-published-date,.article-item-category{padding:0 .95rem .6rem;color:#888;font-size:.82rem}
  .gallery .gitem{display:block;overflow:hidden;border-radius:6px;cursor:zoom-in}
  .gallery img{width:100%;height:170px;object-fit:cover;display:block;transition:transform .25s}
  .gallery[style*="--gasp"] img{height:auto;aspect-ratio:var(--gasp)}
  .videowrap{position:relative;width:100%;aspect-ratio:16/9}
  .videowrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:8px}
  .gallery .gitem:hover img{transform:scale(1.05)}

  /* Dynamic articles/news card grid */
  .mm-artgrid{display:grid;gap:clamp(16px,2.5vw,28px)}
  .mm-artcard{display:flex;flex-direction:column;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 22px rgba(0,0,0,.08);color:inherit;text-decoration:none;transition:transform .2s,box-shadow .2s}
  a.mm-artcard:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.13)}
  .mm-artthumb{aspect-ratio:16/10;overflow:hidden;background:#eef2f7}
  .mm-artthumb img{width:100%;height:100%;object-fit:cover;display:block}
  .mm-artbody{padding:clamp(.9rem,1.6vw,1.3rem);display:flex;flex-direction:column;gap:.5rem;flex:1}
  .mm-arttitle{margin:0;font-size:1.15rem;line-height:1.25}
  .mm-artdate{font-size:.8rem;opacity:.6}
  .mm-artex{margin:0;font-size:.93rem;opacity:.85;flex:1}
  .mm-artmore{font-weight:600;color:var(--mm-accent,#e6529e)}
  .mm-artrows{display:flex;flex-direction:column;border-top:1px solid var(--artline,rgba(127,127,127,.35))}
  .mm-artrow{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--artline,rgba(127,127,127,.35));color:inherit;text-decoration:none;transition:padding-left .18s}
  a.mm-artrow:hover{padding-left:.4rem}
  .mm-artnum{font-family:var(--mm-font-utility,var(--body));font-variant-numeric:tabular-nums;font-size:.85rem;opacity:.55;min-width:2ch}
  .mm-artrow-th{flex:0 0 72px;aspect-ratio:1/1;border-radius:8px;overflow:hidden}
  .mm-artrow-th img{width:100%;height:100%;object-fit:cover;display:block}
  .mm-artrow-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}
  .mm-artrow .mm-arttitle{font-size:1.05rem;font-weight:600}
  .mm-artrow .mm-artex{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
  .mm-artrow-m{display:flex;align-items:center;gap:.8rem;white-space:nowrap;font-size:.85rem;opacity:.7;font-family:var(--mm-font-utility,var(--body))}
  .mm-artrow .mm-artarrow{opacity:1;color:var(--mm-accent,#e6529e);font-size:1.1rem}
  @media(max-width:600px){.mm-artrow{flex-wrap:wrap}.mm-artrow-m{width:100%;padding-left:calc(2ch + 1rem)}.mm-artrow-th{flex-basis:56px}}
  @media(max-width:768px){ .mm-artgrid{grid-template-columns:1fr 1fr !important} }
  @media(max-width:520px){ .mm-artgrid{grid-template-columns:1fr !important} }
  .mm-articles-empty{color:#475569;background:#f1f5f9;border:1px dashed #cbd5e1;border-radius:10px;padding:1rem 1.2rem;text-align:center}
  /* Article lead/ingress */
  .mm-lead{font-size:clamp(1.1rem,2vw,1.32rem);line-height:1.6;color:var(--mm-lead,#475569);font-weight:500;margin:.2rem 0 0}
  .ondark .mm-lead{color:rgba(255,255,255,.88)}
  /* Semantiske tekstklasser (7.9.2026): samme fire i editorens «Tekststil» og i byggernes HTML — kicker/lead/dempet/liten. */
  .mm-dempet{color:var(--mm-muted,#5b6470)} .ondark .mm-dempet{color:rgba(255,255,255,.8)}
  .mm-liten{font-size:var(--mm-fs-liten,.86rem);line-height:1.5}
  .mm-fakta{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin:.6rem 0;padding:0;list-style:none} .mm-fakta li{margin:0}
  /* lightbox popup */
  .lb{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;padding:3vmin;cursor:zoom-out}
  .lb.show{display:flex}
  .lb img{max-width:96vw;max-height:92vh;width:auto;height:auto;border-radius:6px;box-shadow:0 8px 40px rgba(0,0,0,.5)}
  .lb .lbx{position:absolute;top:14px;right:22px;color:#fff;font-size:2.4rem;line-height:1;cursor:pointer;background:none;border:0}
  .lb .lbnav{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:3rem;cursor:pointer;background:none;border:0;padding:0 1rem;user-select:none}
  .lb .lbprev{left:1vmin}.lb .lbnext{right:1vmin}
  .ucform{max-width:560px;margin:0 auto;text-align:left}
  .ucform .filefield{display:block;margin:0 0 .8rem;font-size:.92rem;background:rgba(255,255,255,.92);border:1px dashed #94a3b8;border-radius:6px;padding:.55rem .75rem}
  .ucform .filefield span{display:block;margin-bottom:.3rem;color:#1f2937;font-weight:600}
  .ucform .filefield input[type=file]{width:100%;padding:.4rem;border:0;background:transparent;font-size:.85rem;color:#1f2937;margin:0}
  .ucform .mm-ff .mm-ff-in{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap;padding:0;border:0}
  .ucform .mm-ff{position:relative}
  .ucform .mm-ff .mm-ff-btn{display:inline-flex;align-items:center;font-size:.88rem;padding:.5rem 18px;min-height:0;cursor:pointer}
  .ucform .mm-ff .mm-ff-status{display:inline-block;margin-left:.7rem;font-size:.85rem;color:#475569;font-weight:400}
  .ucform .mm-ff:has(.mm-ff-in:focus-visible) .mm-ff-btn{outline:2px solid var(--btnol,var(--btnbg));outline-offset:2px}
  .ucform input,.ucform textarea{width:100%;padding:.7rem .9rem;margin:0 0 .8rem;border:1px solid #ccc;border-radius:4px;font:inherit;background:rgba(255,255,255,.85)}
  .ucform select{width:100%;padding:.7rem 2.6rem .7rem .9rem;margin:0 0 .8rem;border:1px solid #ccc;border-radius:4px;font:inherit;color:inherit;background:rgba(255,255,255,.85);appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23667' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center}
  .ucform select:invalid{color:#6b7280}   /* plassholderen målte 3,24:1 på hvit flate (#315, kredorenhold) – 4,83:1 nå */
  .ucform .flabel{display:block;font-size:.88rem;font-weight:600;margin:0 0 .3rem}
  .ucform .flabel .freq{color:var(--mm-muted);font-weight:400}   /* «(valgfritt)» målte 2,99:1 med opacity .55 (#257) */
  .ondark .ucform .flabel .freq{color:rgba(255,255,255,.8)}
  .ucform{font-family:inherit}
  .ucform .consent{display:flex;gap:.5rem;align-items:flex-start;font-family:inherit;font-size:.9rem;margin:0 0 1rem;text-align:left}
  .ucform .consent input{width:auto;margin:.2rem 0 0}
  .ucform .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
  .ucform .btn{border:0;cursor:pointer}
  /* form.align (hindring #177.2): send-knappen følger modulens justering */
  .ucform.mm-form-center [type=submit]{display:block;margin-left:auto;margin-right:auto}
  .ucform.mm-form-right [type=submit]{display:block;margin-left:auto}
  .ucform .formok{background:#16a34a;border:1px solid #15803d;color:#ffffff;font-weight:600;padding:.85rem 1rem;border-radius:8px;margin:0 0 1rem;box-shadow:0 4px 14px rgba(0,0,0,.18)}
  .ucform .mm-formwarn{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:.6rem .85rem;border-radius:6px;margin:0 0 1rem;font-size:.9rem;font-weight:600}
  /* contact form shown as a popup (button opens an overlay) */
  .formpop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9000;align-items:flex-start;justify-content:center;padding:6vh 1rem;overflow:auto}
  .formpop.show{display:flex}
  .formpop-inner{background:#fff;color:#1a1a1a;border-radius:12px;padding:1.8rem 1.6rem;max-width:560px;width:100%;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.45)}
  .formpop-inner .ucform{margin:0;max-width:none}
  .formpop-x{position:absolute;top:6px;right:12px;border:0;background:none;font-size:1.8rem;line-height:1;cursor:pointer;color:#334155}
  /* site-wide floating call/mail button (bottom-right) + "call me back" popup (bottom-left) */
  .mm-cfab{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom, 0px) + var(--mm-vvlift, 0px));right:16px;z-index:8000;width:58px;height:58px;border-radius:50%;background:#c4d82e;color:#000000;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 8px 22px rgba(0,0,0,.32);text-decoration:none;font:600 1.08rem var(--body, inherit)}
  .mm-cfab:hover{background:#a9bc1f;color:#000000}
  .mm-cfab svg{width:27px;height:27px;fill:currentColor;flex:none}
  .mm-cfab-pill{width:auto;border-radius:999px;padding:0 22px 0 18px}
  .mm-cfab-pill span{white-space:nowrap}
  @media(max-width:600px){ .mm-cfab{width:46px;height:46px} .mm-cfab svg{width:22px;height:22px} .mm-cfab-pill{width:auto;padding:0 18px 0 15px} }
  /* when logged in, the editor's own bottom-right buttons sit there — lift our FAB above them */
  body:has(#mm-fab) .mm-cfab,body:has(#mm-viewfab) .mm-cfab,body:has(#mm-bar) .mm-cfab{bottom:calc(86px + env(safe-area-inset-bottom, 0px) + var(--mm-vvlift, 0px))}
  .mm-cb{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom, 0px) + var(--mm-vvlift, 0px));left:16px;z-index:8000;width:338px;max-width:94vw;background:#fff;color:#1a1a1a;border-radius:14px;box-shadow:0 14px 44px rgba(0,0,0,.28);padding:1.1rem 1.1rem .95rem;transform:translateX(-120%);opacity:0;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .22s ease}
  .mm-cb.show{transform:none;opacity:1}
  @media(prefers-reduced-motion:reduce){ .mm-cb{transition:opacity .2s} }
  @media(max-width:370px){ .mm-cb{padding-left:.55rem;padding-right:.55rem} }   /* widgetens 300px skal få plass */
  .mm-cb[hidden]{display:none}
  /* Ring-FAB skal ikke stikke frem bak en åpen lead-boble (tronds-funn, nå standard) */
  body:has(.mm-cb.show) .mm-cfab{opacity:0;pointer-events:none}
  .mm-cb-t{display:block;font-size:1.05rem;line-height:1.25;margin:0 0 .7rem;padding-right:1.2rem;font-family:var(--heading)}
  .mm-cb .ucform{margin:0;max-width:none}
  .mm-cb input[type=text],.mm-cb input[type=tel],.mm-cb select{width:100%;padding:.6rem .8rem;margin:0 0 .5rem;border:1px solid #ccc;border-radius:6px;font:inherit;box-sizing:border-box;background:#fff;color:inherit}
  .mm-cb .consent{display:flex;gap:.45rem;align-items:flex-start;font-size:.78rem;margin:0 0 .6rem;color:#475569;text-align:left}
  .mm-cb .consent input{width:auto;margin:.2rem 0 0}
  .mm-cb .btn{width:100%;text-align:center}
  .mm-cb-x{position:absolute;top:4px;right:12px;border:0;background:none;font-size:1.6rem;line-height:1;cursor:pointer;color:#64748b}
  /* Ucraft dividers are thin invisible spacers (border 0), not visible rules — render as spacing only */
  hr.div{border:0;border-top:1px solid #e2e8f0;height:0;margin:1.1rem 0}
  hr.div.div-blank{display:none}                     /* legacy Ucraft spacer: only-mobile in the original → nothing on desktop */
  @media(max-width:600px){ hr.div.div-blank{display:block;border-top:0;margin:1.1rem 0} }  /* mobile: the original's spacing */
  .mm-divider hr.div.div-blank{display:block;border-top:1px dashed #cbd5e1}  /* edit mode: visible hint so it can be selected */
  footer.site{background:#111;color:#bbb;padding:22px 0 30px;margin-top:0;font-size:.82rem}
  footer.site a{color:#ddd}
  .mm-velkomst[hidden]{display:none!important}
  /* Bunnkort, IKKE heldekkende modal (Simons ordre 19.8, designgap-tiltak 8):
     kundens aller første inntrykk skal være HEROEN, ikke en dialogboks. Kortet
     glir opp nederst, blokkerer ingenting, og siden bak er fullt scrollbar. */
  .mm-velkomst{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:9800;background:none;display:flex;justify-content:center;padding:0 14px calc(14px + env(safe-area-inset-bottom,0px));pointer-events:none}
  .mm-velkomst-boks{background:#fff;color:#1c2430;max-width:560px;width:100%;border-radius:18px;padding:0;box-shadow:0 24px 80px rgba(8,11,18,.4),0 4px 18px rgba(8,11,18,.18);margin:0;max-height:min(72vh,620px);overflow-y:auto;pointer-events:auto;animation:mmVelkomstOpp .55s cubic-bezier(.2,.9,.25,1)}
  .mm-velkomst-topp{background:linear-gradient(135deg,var(--btnbg,#2563eb),var(--btnbg2,#1d4ed8));color:#000000;padding:1.9rem 1.9rem 1.6rem;position:relative;overflow:hidden}
  .mm-velkomst-topp::after{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.1)}
  .mm-velkomst-kicker{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.85;margin:0 0 .45rem}
  .mm-velkomst-topp h2,.mm-velkomst-topp #mm-velkomst-t{font-family:var(--heading);font-size:clamp(1.35rem,4.4vw,1.75rem);font-weight:700;margin:0;line-height:1.2;position:relative;color:#000000}
  .mm-velkomst-kicker{color:#000000}
  .mm-velkomst-innhold{padding:1.4rem 1.9rem 1.5rem}
  .mm-velkomst-inn{font-size:.97rem;line-height:1.6;margin:.5rem 0}
  .mm-velkomst-liste{list-style:none;margin:1rem 0;padding:0;display:grid;gap:.75rem}
  .mm-velkomst-liste li{display:flex;gap:.75rem;align-items:flex-start;font-size:.93rem;line-height:1.55}
  .mm-velkomst-hake{flex:none;width:26px;height:26px;border-radius:9px;background:linear-gradient(135deg,var(--btnbg,#2563eb),var(--btnbg2,#1d4ed8));color:#000000;display:grid;place-items:center;margin-top:1px;box-shadow:0 6px 14px rgba(var(--mm-accent-rgb,37,99,235),.28)}
  .mm-velkomst-hake svg{width:14px;height:14px}
  .mm-velkomst-boks .btn{width:100%;text-align:center;margin:.7rem 0 .2rem;cursor:pointer;border:0;font-size:15px}
  @media(max-width:430px){
    .mm-velkomst-topp{padding:1.3rem 1.3rem 1.1rem}
    .mm-velkomst-innhold{padding:1.1rem 1.3rem 1.2rem}
    .mm-velkomst-inn{font-size:.92rem}
    .mm-velkomst-liste li{font-size:.89rem}
  }
  @keyframes mmVelkomstOpp{from{opacity:0;transform:translateY(46px)}}
  @media(prefers-reduced-motion:reduce){.mm-velkomst,.mm-velkomst-boks{animation:none}}
  /* Samtykkebanneret (30.9.2026, Simon: «så diskret at folk ikke klikker»): hvitt kort med overskrift og to like store
     knapper – like lett å avslå som å godta (Datatilsynet). PC: kort nede til venstre. Mobil: ark fra bunnen. */
  #cc{position:fixed;left:16px;bottom:calc(16px + var(--mm-vvlift, 0px));z-index:9000;width:min(420px,calc(100% - 32px));box-sizing:border-box;background:#fff;color:#1f1f1f;border-radius:18px;box-shadow:0 24px 60px -12px rgba(0,0,0,.38),0 0 0 1px rgba(0,0,0,.06);padding:1.25rem 1.25rem 1.15rem;display:none;font-size:.95rem;text-align:left}
  /* keep the floating contact button / callback popup clear of the cookie banner so its buttons stay clickable */
  body:has(#cc.show) .mm-cb{bottom:calc(var(--mm-cclift, 96px) + env(safe-area-inset-bottom, 0px) + var(--mm-vvlift, 0px))}
  /* Ringeknappen står til høyre og banneret til venstre (420 px): den løftes bare når skjermen er så smal at de
     kan møtes. Før ble knappen løftet en hel bannerhøyde også på brede skjermer (Simon 30.9, totalteknisk). */
  @media(max-width:860px){body:has(#cc.show) .mm-cfab{bottom:calc(var(--mm-cclift, 96px) + env(safe-area-inset-bottom, 0px) + var(--mm-vvlift, 0px))}}
  #cc.show{display:block;animation:ccInn .45s cubic-bezier(.2,.8,.2,1) .25s both}
  @keyframes ccInn{from{opacity:0;transform:translateY(28px)}}
  @media(prefers-reduced-motion:reduce){#cc.show{animation:none}}
  #cc .ccwrap{display:block}
  #cc .cctopp{display:flex;align-items:center;gap:.65rem;margin:0 0 .5rem}
  #cc .ccikon{width:36px;height:36px;flex:none;border-radius:50%;display:grid;place-items:center;background:#f3f1ef;background:color-mix(in srgb,var(--brand) 14%,#fff);color:var(--brand)}
  #cc .ccikon svg{width:20px;height:20px;display:block}
  #cc .cctit{font-weight:700;font-size:1.06rem;line-height:1.3;color:#111;margin:0}
  #cc p{margin:0 0 1rem;line-height:1.5;color:#474747;font-size:.92rem}
  #cc .ccles{color:inherit;text-decoration:underline;font-weight:600;white-space:nowrap}
  #cc .ccbtns{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
  #cc button{padding:.8rem 1rem;border:0;border-radius:12px;cursor:pointer;font:inherit;font-weight:700;font-size:.95rem;line-height:1.2}
  #cc .acc{background:var(--btnbg,var(--brand));color:#000000}  /* L#48: arv button_color — hvit på neon målte 1,3:1 */
  #cc .dec{background:#ecebe9;color:#1f1f1f}
  #cc button:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
  @media(max-width:600px){#cc{left:0;right:0;width:auto;bottom:var(--mm-vvlift, 0px);border-radius:20px 20px 0 0;padding:1.2rem 1.1rem calc(1.1rem + env(safe-area-inset-bottom, 0px))}}
  nav.main a{letter-spacing:.3px;font-size:18px;font-family:'Instrument Sans',sans-serif}
  .logo{display:flex;align-items:center;gap:.6rem;text-decoration:none}
  .logo img{height:58px;width:auto;max-width:360px;object-fit:contain}
  .logo .wm{display:flex;flex-direction:column;line-height:1.05}
  .logo .wm .nm{font-family:var(--heading);font-weight:700;color:var(--brand);font-size:1rem;letter-spacing:.5px;text-transform:uppercase}
  .logo .wm .tg{font-size:.7rem;letter-spacing:1px;color:var(--brand);text-transform:uppercase}
  .langsw{display:flex;gap:.15rem;align-items:center;margin-left:.35rem;padding-left:1rem;
    border-left:1px solid #eeeeee;flex:0 0 auto;white-space:nowrap}
  .langsw a{font-size:.72rem;font-weight:700;letter-spacing:.7px;color:#ffffff;text-decoration:none;
    padding:.3rem .5rem;border-radius:999px;opacity:.55;line-height:1;transition:opacity .15s}
  .langsw a:hover{opacity:1;color:#c4d82e}
  .langsw a.active{opacity:1;color:#c4d82e;box-shadow:inset 0 0 0 1.5px currentColor}

  /* Klossene 7.9.2026: faktastripe, personkort, listepost, tabell — egen style-blokk etter 31-css2
     (som lukker den første). Farger går via temaets variabler (--heading, --hcol, --mm-accent …) og
     currentColor-blandinger, så de fungerer på lyse OG mørke bånd (.ondark) uten egne fargekart. */
  .mm-kloss-tom{background:#eef2ff;border:1px dashed #94a3b8;padding:1rem;border-radius:8px;text-align:center;color:#334155;margin:0}
  /* faktastripe */
  .mm-fakta{display:grid;grid-template-columns:repeat(var(--mm-fakta-n,3),minmax(0,1fr));gap:1.4rem 2rem;align-items:start}
  .mm-fakta-i{display:flex;flex-direction:column;gap:.2rem;min-width:0}
  .mm-fakta-tall{font-family:var(--heading);font-weight:700;font-size:clamp(2rem,1.4rem + 2.2vw,3.1rem);line-height:1.05;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--mm-fakta-farge,var(--mm-accent,var(--brand)))}
  .mm-fakta-etikett{font-weight:600;font-size:.95rem;line-height:1.3;color:var(--hcol)}
  .mm-fakta-font-utility .mm-fakta-tall{font-family:var(--mm-font-utility,var(--heading));font-weight:600;letter-spacing:0}
  .mm-fakta-font-body .mm-fakta-tall{font-family:var(--body);font-weight:700}
  .mm-fakta-under{font-size:.82rem;line-height:1.4;color:var(--mm-muted)}
  .mm-fakta.center{text-align:center}.mm-fakta.center .mm-fakta-i{align-items:center}
  .mm-fakta-kort .mm-fakta-i{background:#fff;color:#1c2430;border-radius:14px;padding:1.25rem 1.2rem;box-shadow:0 8px 26px rgba(15,20,40,.09)}
  .mm-fakta-kort .mm-fakta-etikett{color:#1c2430}
  .mm-fakta-linje{gap:0}
  .mm-fakta-linje .mm-fakta-i{padding:.4rem 1.6rem}
  .mm-fakta-linje .mm-fakta-i:first-child{padding-left:0}
  .mm-fakta-linje .mm-fakta-i+.mm-fakta-i{border-left:1px solid rgba(127,127,127,.3)}
  .mm-fakta.center.mm-fakta-linje .mm-fakta-i:first-child{padding-left:1.6rem}
  .mm-fakta-swatch{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.45em;vertical-align:baseline;flex:none;box-shadow:0 0 0 1px rgba(127,127,127,.28)}
  /* Skinne (#246): sekvens med retning – 2 px linje gjennom nodene, valgfri pil mellom stegene.
     Nodene ligger PÅ linjen; pilen tegnes i mellomrommet med ::after på hvert element unntatt det siste. */
  .mm-fakta-skinne{--mm-fakta-node:10px;gap:1.4rem 0;position:relative}
  .mm-fakta-start{grid-column:1/-1;margin:0 0 .9rem;font-size:.86rem;font-weight:600;letter-spacing:.02em;opacity:.75}
  .mm-fakta-node{display:block;width:var(--mm-fakta-node);height:var(--mm-fakta-node);border-radius:50%;background:var(--mm-fakta-skinne,var(--mm-fakta-farge,var(--mm-accent,var(--brand))));flex:none}
  .mm-fakta-skinne .mm-fakta-i{position:relative}
  .mm-fakta-skinne-vannrett .mm-fakta-i{padding-right:1.4rem}
  .mm-fakta-skinne-vannrett .mm-fakta-i::before{content:"";position:absolute;left:var(--mm-fakta-node);right:0;top:calc(var(--mm-fakta-node)/2 - 1px);height:2px;background:var(--mm-fakta-skinne,var(--mm-fakta-farge,var(--mm-accent,var(--brand))));opacity:.45}
  .mm-fakta-skinne-vannrett .mm-fakta-i:last-child::before{display:none}
  .mm-fakta-skinne-vannrett.mm-fakta-pil .mm-fakta-i::after{content:"";position:absolute;right:.35rem;top:calc(var(--mm-fakta-node)/2 - 4px);width:8px;height:8px;border-top:2px solid var(--mm-fakta-skinne,var(--mm-fakta-farge,var(--mm-accent,var(--brand))));border-right:2px solid var(--mm-fakta-skinne,var(--mm-fakta-farge,var(--mm-accent,var(--brand))));transform:rotate(45deg);opacity:.65}
  .mm-fakta-skinne-vannrett.mm-fakta-pil .mm-fakta-i:last-child::after{display:none}
  .mm-fakta-skinne-loddrett{grid-template-columns:1fr!important;gap:0}
  .mm-fakta-skinne-loddrett .mm-fakta-i{display:grid;grid-template-columns:var(--mm-fakta-node) 1fr;column-gap:.9rem;padding:0 0 1.5rem}
  .mm-fakta-skinne-loddrett .mm-fakta-i>*{grid-column:2}
  .mm-fakta-skinne-loddrett .mm-fakta-node{grid-column:1;grid-row:1;margin-top:.5em}
  .mm-fakta-skinne-loddrett .mm-fakta-i::before{content:"";position:absolute;left:calc(var(--mm-fakta-node)/2 - 1px);top:var(--mm-fakta-node);bottom:0;width:2px;background:var(--mm-fakta-skinne,var(--mm-fakta-farge,var(--mm-accent,var(--brand))));opacity:.45}
  .mm-fakta-skinne-loddrett .mm-fakta-i:last-child{padding-bottom:0}
  .mm-fakta-skinne-loddrett .mm-fakta-i:last-child::before{display:none}
  .mm-fakta-skinne-loddrett.mm-fakta-pil .mm-fakta-i::after{content:"";position:absolute;left:calc(var(--mm-fakta-node)/2 - 4px);bottom:.35rem;width:8px;height:8px;border-right:2px solid var(--mm-fakta-skinne,var(--mm-fakta-farge,var(--mm-accent,var(--brand))));border-bottom:2px solid var(--mm-fakta-skinne,var(--mm-fakta-farge,var(--mm-accent,var(--brand))));transform:rotate(45deg);opacity:.65}
  .mm-fakta-skinne-loddrett.mm-fakta-pil .mm-fakta-i:last-child::after{display:none}
  /* #312 (hamroc): tegn_inn – skinnen tegnes inn steg for steg første gang den kommer i bildet (mm-fakta-go settes av JS) */
  html.js .mm-fakta-tegn .mm-fakta-node{transform:scale(0)}
  html.js .mm-fakta-tegn .mm-fakta-i::before{transform:scaleX(0);transform-origin:left center}
  html.js .mm-fakta-tegn.mm-fakta-skinne-loddrett .mm-fakta-i::before{transform:scaleY(0);transform-origin:top center}
  html.js .mm-fakta-tegn .mm-fakta-i>:not(.mm-fakta-node){opacity:0;transform:translateY(6px)}
  html.js .mm-fakta-tegn.mm-fakta-go .mm-fakta-node{animation:mmFaktaNode .45s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--mm-fakta-i,0)*.32s)}
  html.js .mm-fakta-tegn.mm-fakta-go .mm-fakta-i::before{animation:mmFaktaLinje .45s ease-out forwards;animation-delay:calc(var(--mm-fakta-i,0)*.32s + .2s)}
  html.js .mm-fakta-tegn.mm-fakta-go .mm-fakta-i>:not(.mm-fakta-node){animation:mmFaktaTekst .5s ease-out forwards;animation-delay:calc(var(--mm-fakta-i,0)*.32s + .12s)}
  @keyframes mmFaktaNode{to{transform:scale(1)}}
  @keyframes mmFaktaLinje{to{transform:scaleX(1) scaleY(1)}}
  @keyframes mmFaktaTekst{to{opacity:1;transform:none}}
  @media(prefers-reduced-motion:reduce){html.js .mm-fakta-tegn .mm-fakta-node,html.js .mm-fakta-tegn .mm-fakta-i::before,html.js .mm-fakta-tegn .mm-fakta-i>:not(.mm-fakta-node){transform:none;opacity:1;animation:none}}
  /* #309 (landsradet): kalenderskala – punktene står der datoen faller i året, neste ikke-passerte utheves, href per element */
  .mm-fakta-lenke{display:flex;flex-direction:column;gap:.2rem;align-items:inherit;color:inherit;text-decoration:none;min-width:0}
  .mm-fakta-lenke:hover .mm-fakta-etikett,.mm-fakta-lenke:focus-visible .mm-fakta-etikett{text-decoration:underline;text-underline-offset:3px}
  .mm-fakta-har-neste .mm-fakta-neste .mm-fakta-tall{color:var(--mm-fakta-neste,var(--btnbg,var(--mm-accent,#e6529e)));font-size:clamp(2.4rem,1.6rem + 2.8vw,3.8rem)}
  .mm-fakta-har-neste .mm-fakta-i:not(.mm-fakta-neste) .mm-fakta-tall{opacity:.6}
  .mm-fakta-lop .mm-fakta-tall{font-size:clamp(1.5rem,1rem + 1.4vw,2.1rem);opacity:.85}
  .mm-fakta-ytre .mm-fakta-start{margin:0 0 1.4rem}
  .mm-fakta-kalender .mm-fakta-node,.mm-fakta-kal-spor{display:none}
  .mm-fakta-kalender .mm-fakta-i::before,.mm-fakta-kalender .mm-fakta-i::after{display:none}
  @media(min-width:820px){
    .mm-fakta-kalender.mm-fakta-skinne-vannrett{display:grid;grid-template-columns:repeat(100,minmax(0,1fr));column-gap:0;row-gap:0;position:relative;padding-top:calc(var(--mm-fakta-node) + 1.1rem);margin-top:.6rem}
    .mm-fakta-kalender.mm-fakta-kal-lop.mm-fakta-skinne-vannrett{grid-template-columns:repeat(112,minmax(0,1fr))}
    .mm-fakta-kal-spor{display:block;position:absolute;left:0;top:calc(var(--mm-fakta-node)/2 - 1px);height:2px;width:100%;background:var(--mm-fakta-skinne,var(--mm-fakta-farge,var(--mm-accent,#e6529e)))}
    .mm-fakta-kal-lop .mm-fakta-kal-spor{width:calc(100%*100/112)}
    .mm-fakta-kal-node{position:absolute;top:calc(var(--mm-fakta-node)/-2 + 1px);left:var(--mm-fakta-pos,0%);width:var(--mm-fakta-node);height:var(--mm-fakta-node);margin-left:calc(var(--mm-fakta-node)/-2);border-radius:50%;background:var(--mm-fakta-skinne,var(--mm-fakta-farge,var(--mm-accent,#e6529e)))}
    .mm-fakta-kal-node.mm-fakta-kal-neste{transform:scale(1.7);background:var(--mm-fakta-neste,var(--btnbg,var(--mm-accent,#e6529e)));box-shadow:0 0 0 3px rgba(255,255,255,.7)}
    .mm-fakta-kal-lop .mm-fakta-kal-node.mm-fakta-kal-lopnode{left:calc(100%*106/112);background:transparent;border:2px dashed var(--mm-fakta-skinne,var(--mm-fakta-farge,var(--mm-accent,#e6529e)));box-sizing:border-box}
    .mm-fakta-kalender .mm-fakta-i{padding:0 .3rem;text-align:center;align-items:center;min-width:0}
    .mm-fakta-kalender .mm-fakta-lop{grid-column:101/span 12}
  }
  @media(max-width:819px){
    .mm-fakta-kalender.mm-fakta-skinne-vannrett,.mm-fakta-kalender.mm-fakta-skinne-loddrett{grid-template-columns:1fr!important;gap:0}
    .mm-fakta-kalender .mm-fakta-i{display:grid;grid-template-columns:var(--mm-fakta-node) 1fr;column-gap:.9rem;padding:0 0 1.4rem;position:relative;grid-column:auto!important}
    .mm-fakta-kalender .mm-fakta-i>*{grid-column:2}
    .mm-fakta-kalender .mm-fakta-node{display:block;grid-column:1;grid-row:1;margin-top:.5em}
    .mm-fakta-kalender .mm-fakta-neste .mm-fakta-node{transform:scale(1.6);background:var(--mm-fakta-neste,var(--btnbg,var(--mm-accent,#e6529e)))}
    .mm-fakta-kalender .mm-fakta-i::before{display:block;content:"";position:absolute;left:calc(var(--mm-fakta-node)/2 - 1px);top:var(--mm-fakta-node);bottom:0;width:2px;background:var(--mm-fakta-skinne,var(--mm-fakta-farge,var(--mm-accent,#e6529e)))}
    .mm-fakta-kalender .mm-fakta-i:last-child{padding-bottom:0}
    .mm-fakta-kalender .mm-fakta-i:last-child::before{display:none}
  }
  /* #308 (landsradet): fristkort – neste frist som klikkbart kort; negativ settings.mt på seksjonen legger det over heroen */
  section.band[style*="margin-top:-"]{position:relative;z-index:2}
  .mm-fristkort-wrap{display:grid;grid-template-columns:repeat(var(--mm-frist-n,1),minmax(0,1fr));gap:1.2rem}
  .mm-frist-n-2{--mm-frist-n:2}.mm-frist-n-3{--mm-frist-n:3}.mm-frist-n-4{--mm-frist-n:4}
  .mm-fristkort{position:relative;display:flex;flex-direction:column;gap:.3rem;padding:1.4rem 3.6rem 1.4rem 1.5rem;text-decoration:none;color:#1c2430;line-height:1.35;min-width:0}
  .mm-frist-kort{background:#fff;border-radius:var(--mm-card-radius,14px);box-shadow:0 14px 38px rgba(0,0,0,.14)}
  .mm-frist-flate{padding-left:0;color:inherit}
  .mm-frist-kicker{font-family:var(--mm-font-utility,var(--body));font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mm-fakta-neste,var(--btnbg,var(--mm-accent,#e6529e)))}
  .mm-frist-dato{font-family:var(--heading);font-weight:700;font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem);line-height:1.1;letter-spacing:-.01em;color:var(--hcol)}
  .mm-frist-flate .mm-frist-dato{color:inherit}
  .mm-frist-ordning{font-size:1.02rem;font-weight:600}
  .mm-frist-meta{font-size:.9rem;color:#475569}
  .mm-frist-flate .mm-frist-meta{color:inherit;opacity:.8}
  .mm-fristkort .mm-tk-pil{right:1.1rem;bottom:auto;top:50%;transform:translateY(-50%)}
  a.mm-fristkort:hover .mm-tk-pil,a.mm-fristkort:focus-visible .mm-tk-pil{transform:translateY(-50%) translateX(3px)}
  a.mm-fristkort:hover .mm-frist-ordning{text-decoration:underline;text-underline-offset:3px}
  .mm-frist-tom{margin:0;font-size:.95rem;opacity:.8}
  @media(max-width:640px){.mm-fristkort-wrap{grid-template-columns:1fr}}
  /* #311 (hamroc): modellkort – kort med bilde, klassemarkør, nøkkeltall og CTA; filter, faner og kort/tabell-bryter (JS i 70-scripts) */
  .mm-modellkort{--mm-mk-cols:3}
  .mm-mk-verktoy{display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;align-items:flex-end;margin:0 0 1.4rem}
  .mm-mk-fl{display:block;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.75;margin:0 0 .4rem}
  .mm-mk-chips,.mm-mk-faner{display:flex;gap:.4rem;flex-wrap:wrap}
  .mm-mk-chip,.mm-mk-fane,.mm-mk-bryter{font:inherit;font-size:.88rem;font-weight:600;line-height:1;padding:.55rem .95rem;border-radius:999px;border:1.5px solid rgba(127,127,127,.35);background:transparent;color:inherit;cursor:pointer;white-space:nowrap}
  .mm-mk-chip.akt,.mm-mk-fane.akt{background:var(--btnbg,var(--mm-accent,#e6529e));border-color:var(--btnbg,var(--mm-accent,#e6529e));color:var(--btncol,#fff)}
  .mm-mk-faner{border-bottom:1px solid rgba(127,127,127,.25);padding-bottom:.5rem}
  .mm-mk-fane{border-radius:8px}
  .mm-mk-hoyre{margin-left:auto;display:flex;gap:.8rem;align-items:center;font-size:.88rem}
  .mm-mk-telling{opacity:.75}
  .mm-mk-grid{display:grid;grid-template-columns:repeat(var(--mm-mk-cols),minmax(0,1fr));gap:1.4rem}
  .mm-mk-kort{display:flex;flex-direction:column;background:#fff;color:#1c2430;border-radius:var(--mm-card-radius,14px);border:1px solid rgba(15,23,42,.08);box-shadow:0 1px 3px rgba(15,23,42,.06);overflow:hidden;position:relative}
  .mm-mk-kort.mm-mk-skjult,.mm-mk-tabell tr.mm-mk-skjult{display:none}
  .mm-mk-bilde{background:#fff;padding:1rem;display:flex;align-items:center;justify-content:center;aspect-ratio:var(--mm-mk-ratio,4 / 5);max-height:280px}
  .mm-mk-bilde img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
  .mm-mk-body{padding:1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
  .mm-mk-klasse{align-self:flex-start;font-family:var(--mm-font-utility,var(--body));font-size:.74rem;font-weight:700;letter-spacing:.06em;padding:.25rem .6rem;border-radius:999px;background:var(--mm-fakta-neste,var(--btnbg,var(--mm-accent,#e6529e)));color:var(--btncol,#fff)}
  .mm-mk-navn{margin:0;font-size:1.25rem;line-height:1.2;color:#1c2430}
  .mm-mk-felter{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.45rem .9rem}
  .mm-mk-felter>div{min-width:0;border-top:1px solid rgba(15,23,42,.1);padding-top:.4rem}
  .mm-mk-felter dt{margin:0;font-family:var(--mm-font-utility,inherit);font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
  .mm-mk-felter dd{margin:0;font-size:.95rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
  .mm-mk-alle summary{cursor:pointer;font-size:.88rem;font-weight:600;color:var(--btnol,var(--hcol,#1c2430));text-decoration:underline;text-underline-offset:3px;list-style:none;display:inline-flex;align-items:center;gap:.35rem}   /* #321: aldri knappefargen som tekst på hvitt (gul = 1,8:1) */
  .mm-mk-bilde-tom{background:#f1f5f9}
  .mm-mk-bilde-tom::before{content:"";width:38%;aspect-ratio:1;border-radius:50%;background:rgba(15,23,42,.06)}
  .mm-mk-alle summary::-webkit-details-marker{display:none}
  .mm-mk-alle summary::after{content:"";width:.45rem;height:.45rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
  .mm-mk-alle[open] summary::after{transform:rotate(-135deg) translateY(2px)}
  .mm-mk-alle .mm-mk-felter{margin-top:.6rem}
  .mm-mk-cta{margin-top:auto;text-align:center}
  .mm-mk-tabellwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(15,23,42,.1);border-radius:12px}
  .mm-mk-tabell{width:100%;border-collapse:separate;border-spacing:0;font-size:.92rem;font-variant-numeric:tabular-nums;background:#fff;color:#1c2430}
  .mm-mk-tabell th,.mm-mk-tabell td{padding:.6rem .8rem;text-align:left;border-bottom:1px solid rgba(15,23,42,.1);white-space:nowrap}
  .mm-mk-tabell thead th{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;opacity:.75;background:#f8fafc}
  .mm-mk-tabell tbody th{position:sticky;left:0;background:#fff;font-weight:700;box-shadow:2px 0 0 rgba(15,23,42,.06)}
  .mm-mk-tabell thead th:first-child{position:sticky;left:0;z-index:1}
  .mm-mk-tabell tbody th a{color:inherit}
  .mm-mk-vis-kort .mm-mk-tabellwrap{display:none}.mm-mk-vis-tabell .mm-mk-grid{display:none}
  .mm-mk-fotnoter{margin:1.2rem 0 0;font-size:.85rem;opacity:.8}
  @media(max-width:900px){.mm-mk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media(max-width:640px){.mm-mk-grid{grid-template-columns:1fr}.mm-mk-hoyre{margin-left:0;width:100%;justify-content:space-between}}   /* chips bryter (wrap) også på mobil – rulling uten hint gjemte siste klasse (#321c) */
  /* #323 (hamroc): knapperad – to knapper i én flex-rad, bryter på smal skjerm, justert etter plasseringen */
  .m.mm-btnrad{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
  .m.mm-btnrad.center{justify-content:center}.m.mm-btnrad.right{justify-content:flex-end}
  .m.mm-btnrad .btn{margin:0}
  /* Ankerhopp (hamroc QA 24.9): ankre får luft lik nav-høyden, så #mål ikke havner under menyen */
  [id]{scroll-margin-top:calc(var(--mm-navh,76px) + 12px)}
  /* #310 (landsradet): tekstkort som overlapper et hjørne av bildet – hvitt kort med tittel, tekst og rund pil; under bildet på mobil */
  .mm-tk-box{margin-bottom:0}
  .mm-tk-box-br,.mm-tk-box-bl{margin-bottom:var(--mm-tk-ov,32px)}
  .mm-tk-box-tr,.mm-tk-box-tl{margin-top:var(--mm-tk-ov,32px)}
  .mm-tkort{position:absolute;z-index:2;display:flex;flex-direction:column;gap:.35rem;max-width:min(78%,340px);padding:1.1rem 3.4rem 1.1rem 1.25rem;background:#fff;color:#1c2430;border-radius:var(--mm-card-radius,14px);box-shadow:0 14px 38px rgba(0,0,0,.14);text-decoration:none;text-align:left;line-height:1.35}
  .mm-tk-br{right:calc(-1*min(var(--mm-tk-ov,32px),16px));bottom:calc(-1*var(--mm-tk-ov,32px))}
  .mm-tk-bl{left:calc(-1*min(var(--mm-tk-ov,32px),16px));bottom:calc(-1*var(--mm-tk-ov,32px))}
  .mm-tk-tr{right:calc(-1*min(var(--mm-tk-ov,32px),16px));top:calc(-1*var(--mm-tk-ov,32px))}
  .mm-tk-tl{left:calc(-1*min(var(--mm-tk-ov,32px),16px));top:calc(-1*var(--mm-tk-ov,32px))}
  .mm-tk-t{font-family:var(--heading);font-weight:600;font-size:1.1rem;color:var(--hcol)}
  .mm-tk-x{font-size:.9rem;color:#475569}
  .mm-tk-pil{position:absolute;right:1rem;bottom:1rem;width:2rem;height:2rem;border-radius:50%;background:var(--btnbg,var(--mm-accent,#e6529e));display:flex;align-items:center;justify-content:center;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
  .mm-tk-pil::before{content:"";width:.55rem;height:.55rem;border-right:2px solid #fff;border-top:2px solid #fff;transform:translateX(-1px) rotate(45deg)}
  a.mm-tkort:hover .mm-tk-pil,a.mm-tkort:focus-visible .mm-tk-pil{transform:translateX(3px)}
  a.mm-tkort:hover .mm-tk-t{text-decoration:underline;text-underline-offset:3px}
  @media(max-width:640px){.mm-tk-box{margin:0!important}.mm-tkort{position:relative;left:auto;right:auto;top:auto;bottom:auto;max-width:none;margin:calc(-1*min(var(--mm-tk-ov,32px),24px)) .75rem 0}}
  :is(section.band.ondark,.col.colbg.ondark) .mm-fakta-swatch{box-shadow:0 0 0 1px rgba(255,255,255,.35)}
  :is(section.band.ondark,.col.colbg.ondark) .mm-fakta:not(.mm-fakta-kort):not([style*="--mm-fakta-farge"]) .mm-fakta-tall{color:#fff}
  :is(section.band.ondark,.col.colbg.ondark) .mm-fakta:not(.mm-fakta-kort) :is(.mm-fakta-etikett,.mm-fakta-under){color:#fff}
  :is(section.band.ondark,.col.colbg.ondark) .mm-fakta-linje .mm-fakta-i+.mm-fakta-i{border-color:rgba(255,255,255,.3)}
  @media(max-width:720px){
    .mm-fakta{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem 1.4rem}
    .mm-fakta-linje{gap:0}.mm-fakta-linje .mm-fakta-i{padding:.7rem 1rem}
    .mm-fakta-linje .mm-fakta-i:nth-child(odd){padding-left:0;border-left:0}
  }
  @media(max-width:420px){
    .mm-fakta,.mm-fakta-linje{grid-template-columns:1fr}
    .mm-fakta-linje .mm-fakta-i{padding:.7rem 0;border-left:0!important}
    .mm-fakta-linje .mm-fakta-i+.mm-fakta-i{border-top:1px solid rgba(127,127,127,.3)}
  }
  /* Skinnen er alltid loddrett under 820 px — en vannrett tidsakse blir uleselig på mobil,
     og 2-kolonners-fallbacket på 720 px ville brutt sekvensen helt (#246). */
  @media(max-width:820px){
    .mm-fakta-skinne-vannrett{grid-template-columns:1fr!important;gap:0}
    .mm-fakta-skinne-vannrett .mm-fakta-i{display:grid;grid-template-columns:var(--mm-fakta-node) 1fr;column-gap:.9rem;padding:0 0 1.5rem}
    .mm-fakta-skinne-vannrett .mm-fakta-i>*{grid-column:2}
    .mm-fakta-skinne-vannrett .mm-fakta-node{grid-column:1;grid-row:1;margin-top:.5em}
    .mm-fakta-skinne-vannrett .mm-fakta-i::before{left:calc(var(--mm-fakta-node)/2 - 1px);right:auto;top:var(--mm-fakta-node);bottom:0;width:2px;height:auto}
    .mm-fakta-skinne-vannrett .mm-fakta-i:last-child{padding-bottom:0}
    .mm-fakta-skinne-vannrett.mm-fakta-pil .mm-fakta-i::after{left:calc(var(--mm-fakta-node)/2 - 4px);right:auto;top:auto;bottom:.35rem;border-top:0;border-right:2px solid var(--mm-fakta-skinne,var(--mm-fakta-farge,var(--mm-accent,var(--brand))));border-bottom:2px solid var(--mm-fakta-skinne,var(--mm-fakta-farge,var(--mm-accent,var(--brand))))}
  }
  /* personkort */
  .mm-personkort{display:grid;gap:2rem 1.6rem}
  .mm-person{display:flex;flex-direction:column;gap:.5rem;min-width:0}
  .mm-person-bilde{width:112px;aspect-ratio:1;overflow:hidden;border-radius:50%;flex:none;background:rgba(127,127,127,.12)}
  .mm-person-bilde img{width:100%;height:100%;object-fit:cover;display:block}
  .mm-personkort-kvadrat .mm-person-bilde{width:100%;max-width:300px;aspect-ratio:4/5;border-radius:14px}
  .mm-person-navn{margin:.3rem 0 0;font-size:1.08rem;font-weight:700}
  .mm-person-navn a{color:inherit;text-decoration:none}
  .mm-person-navn a:hover{text-decoration:underline;text-underline-offset:3px}
  .mm-person-rolle{display:block;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-family:var(--mm-font-utility,inherit);color:var(--mm-accent,var(--brand));margin:.15rem 0 .35rem}
  .mm-person-t{font-size:.94rem;line-height:1.55}.mm-person-t p{margin:.2rem 0}
  .mm-person-kontakt{display:flex;flex-direction:column;gap:.3rem;margin-top:.4rem;font-size:.92rem}
  .mm-person-kontakt a{display:inline-flex;align-items:center;gap:.45rem;color:inherit;text-decoration:none;font-weight:600}
  .mm-person-kontakt a:hover{text-decoration:underline;text-underline-offset:3px}
  .mm-person-kontakt svg{width:1em;height:1em;flex:none;opacity:.7}
  .mm-personkort.center{text-align:center}.mm-personkort.center .mm-person{align-items:center}
  :is(section.band.ondark,.col.colbg.ondark) .mm-person :is(.mm-person-navn,.mm-person-navn a,.mm-person-t,.mm-person-kontakt a){color:#fff}
  :is(section.band.ondark,.col.colbg.ondark) .mm-person-rolle{color:rgba(255,255,255,.78)}
  @media(max-width:720px){.mm-personkort{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
  /* galleri-filter (#253): knapperad over rutenettet, spenner alle kolonner; skjulte fliser tas ut av flyten */
  .mm-galfilter{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.35rem .5rem;align-items:center;margin:0 0 .35rem;font-family:var(--mm-font-utility,var(--body))}
  .mm-galf{appearance:none;border:1px solid color-mix(in srgb,currentColor 28%,transparent);background:transparent;color:inherit;border-radius:999px;padding:.32rem .8rem;font:inherit;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;line-height:1.2}
  .mm-galf:hover{border-color:currentColor}
  .mm-galf.on{background:var(--mm-accent,var(--brand));border-color:var(--mm-accent,var(--brand));color:#fff}
  .mm-galf-n{font-size:.78rem;opacity:.65;margin-left:.25rem}
  .gallery .gitem.mm-galskjult{display:none!important}
  /* palett (#254): store fargefelt med navn og forklaring UNDER feltet, på seksjonsflaten */
  .mm-palett-rad{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--mm-palett-n,5),minmax(0,1fr));gap:1rem 1.1rem}
  .mm-palett-i{display:flex;flex-direction:column;gap:.45rem;min-width:0}
  .mm-palett-i>.mm-palett-felt{display:block;height:var(--mm-palett-h,96px);border-radius:12px;box-shadow:inset 0 0 0 1px rgba(127,127,127,.22)}
  .mm-palett-stil-stripe .mm-palett-i>.mm-palett-felt{border-radius:6px}
  .mm-palett-navn{font-weight:600;font-size:.92rem;line-height:1.3;color:var(--hcol)}
  .mm-palett-et-mono .mm-palett-navn{font-family:var(--mm-font-utility,var(--body));font-weight:600;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase}
  .mm-palett-tekst{font-size:.86rem;line-height:1.45;color:color-mix(in srgb,currentColor 78%,transparent)}
  .mm-palett-kilde{margin:.9rem 0 0;font-size:.8rem;line-height:1.4;color:var(--mm-muted)}
  .ondark .mm-palett-kilde{color:rgba(255,255,255,.8)}
  @media(max-width:720px){.mm-palett-rad{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.mm-palett[style*="--mm-palett-n:5"] .mm-palett-rad,.mm-palett[style*="--mm-palett-n:6"] .mm-palett-rad{grid-template-columns:repeat(3,minmax(0,1fr))}}
  @media(max-width:460px){.mm-personkort{grid-template-columns:1fr!important}}
  /* listepost */
  .mm-lp-liste{list-style:none;margin:0;padding:0}
  .mm-lp{display:flex;align-items:flex-start;gap:1.1rem;padding:1.15rem 0}
  .mm-lp-tett .mm-lp{padding:.65rem 0}
  .mm-lp-linjer .mm-lp{border-top:1px solid rgba(127,127,127,.26)}
  .mm-lp-linjer .mm-lp:last-child{border-bottom:1px solid rgba(127,127,127,.26)}
  .mm-lp-nr{flex:none;min-width:2ch;padding-top:.32rem;font-family:var(--mm-font-utility,var(--heading));font-variant-numeric:tabular-nums;font-weight:600;font-size:.86rem;letter-spacing:.06em;color:var(--mm-accent,var(--brand))}
  .mm-lp-ikon{flex:none;width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:var(--mm-chip-bg,rgba(var(--mm-accent-rgb,138,43,98),.1));color:var(--mm-accent,var(--brand));font-size:1.15rem}
  .mm-lp-b{flex:1 1 60%;min-width:0}
  .mm-lp-tittel{margin:0 0 .25rem;font-size:1.08rem;font-weight:700}
  .mm-lp-tittel a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}
  .mm-lp-tittel a:hover{text-decoration:underline;text-underline-offset:3px}
  .mm-lp-pil{display:inline-flex;transition:transform .18s ease}.mm-lp-pil svg{width:1em;height:1em}
  .mm-lp-tittel a:hover .mm-lp-pil{transform:translateX(3px)}
  .mm-lp-t{font-size:.95rem;line-height:1.55}.mm-lp-t p{margin:.2rem 0}
  .mm-lp-merke{flex:none;align-self:flex-start;margin:.2rem 0 0 auto;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-family:var(--mm-font-utility,inherit);padding:.32rem .62rem;border-radius:999px;border:1px solid rgba(var(--mm-accent-rgb,138,43,98),.38);color:var(--mm-accent,var(--brand));white-space:nowrap}
  :is(section.band.ondark,.col.colbg.ondark) .mm-lp-linjer .mm-lp{border-color:rgba(255,255,255,.24)}
  :is(section.band.ondark,.col.colbg.ondark) .mm-lp :is(.mm-lp-tittel,.mm-lp-tittel a,.mm-lp-t){color:#fff}
  :is(section.band.ondark,.col.colbg.ondark) .mm-lp-nr{color:rgba(255,255,255,.82)}
  :is(section.band.ondark,.col.colbg.ondark) .mm-lp-ikon{background:rgba(255,255,255,.12);color:#fff}
  .mm-lp-ikonbilde{flex:none;display:inline-flex;align-items:center;justify-content:center}
  .mm-lp-ikonbilde img{display:block;width:100%;height:auto}
  /* felter[]: mikro-etikett i utility-fonten + verdi, hårstrek mellom linjene (#245) */
  .mm-lp-felter{margin:.7rem 0 0;padding:0;display:grid;gap:0}
  .mm-lp-felt{display:grid;grid-template-columns:minmax(6.5rem,auto) 1fr;gap:.35rem 1rem;padding:.5rem 0;border-top:1px solid rgba(127,127,127,.26)}
  .mm-lp-felt:first-child{border-top:0;padding-top:.15rem}
  .mm-lp-felt dt{margin:0;font-family:var(--mm-font-utility,inherit);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.5;padding-top:.12rem;color:color-mix(in srgb,currentColor 62%,transparent)}
  .mm-lp-felt dd{margin:0;font-size:.93rem;line-height:1.5;overflow-wrap:anywhere}
  .mm-lp-felt dd a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;border-bottom:1px solid color-mix(in srgb,currentColor 40%,transparent)}
  .mm-lp-felt dd a:hover{border-bottom-color:currentColor}
  .mm-lp-felt dd a .mm-lp-pil svg{width:.85em;height:.85em}
  .mm-lp-felt dd a:hover .mm-lp-pil{transform:translateX(3px)}
  /* fargeprøve foran tittel/celle (#247) — dekor; ordet ved siden av bærer betydningen */
  .mm-swatch{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.55rem;vertical-align:baseline;flex:none;box-shadow:0 0 0 1px rgba(127,127,127,.3)}
  .mm-lp-tittel .mm-swatch{margin-right:.5rem}
  :is(section.band.ondark,.col.colbg.ondark) .mm-lp-merke{border-color:rgba(255,255,255,.42);color:#fff}
  :is(section.band.ondark,.col.colbg.ondark) .mm-lp-felt{border-color:rgba(255,255,255,.24)}
  :is(section.band.ondark,.col.colbg.ondark) .mm-lp-felt :is(dt,dd,dd a){color:#fff}
  :is(section.band.ondark,.col.colbg.ondark) .mm-lp-felt dt{color:rgba(255,255,255,.72)}
  :is(section.band.ondark,.col.colbg.ondark) .mm-swatch{box-shadow:0 0 0 1px rgba(255,255,255,.35)}
  @media(max-width:560px){.mm-lp-felt{grid-template-columns:1fr;gap:.1rem}}
  @media(max-width:560px){.mm-lp{flex-wrap:wrap;gap:.8rem}.mm-lp-merke{order:-1;margin-left:0;width:auto}.mm-lp-b{flex-basis:100%}.mm-lp-nummerert .mm-lp-b,.mm-lp-ikon+.mm-lp-b{flex-basis:calc(100% - 3.2rem)}}
  /* tabell */
  .mm-tabell-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
  .mm-tabell{width:100%;border-collapse:collapse;font-size:.95rem;line-height:1.45;text-align:left}
  .mm-tabell caption{caption-side:top;text-align:left;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-family:var(--mm-font-utility,inherit);color:color-mix(in srgb,currentColor 72%,transparent);padding:0 0 .6rem}
  .mm-tabell th,.mm-tabell td{padding:.8rem .9rem;border-bottom:1px solid rgba(127,127,127,.26);vertical-align:top}
  .mm-tabell th:first-child,.mm-tabell td:first-child{padding-left:0}
  .mm-tabell th:last-child,.mm-tabell td:last-child{padding-right:0}
  .mm-tabell thead th{font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-family:var(--mm-font-utility,inherit);border-bottom:2px solid color-mix(in srgb,currentColor 85%,transparent);white-space:nowrap}
  .mm-tabell tbody th{font-weight:700;color:var(--hcol)}
  .mm-tabell td p,.mm-tabell th p{margin:0}
  .mm-tabell :is(th,td) .mm-swatch{margin-right:.5rem}
  .mm-tabell-stripet tbody tr:nth-child(even){background:rgba(127,127,127,.08)}
  .mm-tabell-kompakt th,.mm-tabell-kompakt td{padding:.45rem .6rem;font-size:.9rem}
  :is(section.band.ondark,.col.colbg.ondark) .mm-tabell{color:#fff}
  :is(section.band.ondark,.col.colbg.ondark) .mm-tabell :is(th,td){border-color:rgba(255,255,255,.24)}
  :is(section.band.ondark,.col.colbg.ondark) .mm-tabell tbody th{color:#fff}
  :is(section.band.ondark,.col.colbg.ondark) .mm-tabell-stripet tbody tr:nth-child(even){background:rgba(255,255,255,.06)}
