/* Skreddersydde møbler – komponenter.
 * Klassenavnene følger Kjøkkenskreddern (hero, ph-rich, ph-badge, ph-sub, sec, wrap, prose, faq, cta-blk),
 * så maler, sjekklister og kontrollskript kan gjenbrukes.
 * Signatur: «målestokken» – tynne målestreker under etiketter og sidehoder, fordi alt vi lager er målt opp.
 */

/* ---------- Grunnlag og GeneratePress-nullstilling ---------- */
html { scroll-behavior: auto; }
body {
  background: var(--mb-paper);
  color: var(--mb-ink);
  font-family: var(--mb-sans);
  font-size: var(--mb-fs-base);
  line-height: var(--mb-lh);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body, button, input, select, textarea { font-family: var(--mb-sans); }
h1, h2, h3, h4 { font-family: var(--mb-serif); color: var(--mb-ink); font-weight: 400; letter-spacing: -0.022em; line-height: 1.14; margin: 0 0 .6em; }
h1 { font-size: clamp(2.3rem, 5vw, 4rem); }
h2 { font-size: clamp(1.75rem, 3.2vw, 2.6rem); }
h3 { font-size: clamp(1.18rem, 1.6vw, 1.4rem); font-weight: 500; letter-spacing: -0.01em; }
p { margin: 0 0 1.1em; }
a { color: var(--mb-walnut); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--mb-walnut-dark); }
img { max-width: 100%; height: auto; }
::selection { background: var(--mb-oak-pale); color: var(--mb-ink); }
:focus-visible { outline: 2px solid var(--mb-walnut); outline-offset: 3px; }

.site-content, .container.grid-container { max-width: 100% !important; padding: 0 !important; }
.separate-containers .site-main { margin: 0 !important; }
.separate-containers .inside-article, .one-container .site-content, .inside-article { padding: 0 !important; background: transparent !important; }
.separate-containers .site-main > * { margin-bottom: 0 !important; }
.entry-content:not(:first-child), .entry-content { margin-top: 0 !important; }
.entry-content > *:last-child { margin-bottom: 0; }
.site-main .entry-header, .page .entry-header { display: none; }

.wrap { max-width: var(--mb-w); margin: 0 auto; padding: 0 var(--mb-px); }
.sec { padding: var(--mb-sec-y) 0; }
.sec.sec-tett { padding: calc(var(--mb-sec-y) * .62) 0; }  /* mindre luft, foreløpig bare på Om oss (Stephen 26.10.2026) */
.sec-tett .sec-tittel { margin-bottom: clamp(20px, 3vw, 32px); }
.fakta-etter { margin-top: clamp(32px, 4vw, 48px); }
/* Lik luft ved hver seksjonsgrense: toppluften fjernes bare når forrige seksjon har samme bakgrunn. */
.sec:not(.bg-alt):not(.bg-dark):not(.sec-skjema) + .sec:not(.bg-alt):not(.bg-dark):not(.sec-skjema),
.sec.bg-alt + .sec.bg-alt, .sec.bg-alt + .sec-skjema, .sec-skjema + .sec.bg-alt,
.sec.bg-dark + .sec.bg-dark { padding-top: 0; }
/* Siste element i en seksjon skal ikke legge egen marg oppå seksjonsluften, så luften under teksten blir den samme overalt. */
.sec p:last-child, .sec ul:last-child, .sec ol:last-child, .sec table:last-child, .sec figure:last-child,
.sec h2:last-child, .sec h3:last-child, .sec .faq:last-child, .sec .prose:last-child, .sec div:last-child { margin-bottom: 0; }
.bg-alt { background: var(--mb-paper-2); }
.bg-dark { background: var(--mb-forest); color: var(--mb-paper); }
.bg-dark h2, .bg-dark h3 { color: var(--mb-paper); }
.screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }

/* Etikett med målestokk */
.lbl {
  display: inline-block;
  font-family: var(--mb-sans);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--mb-walnut);
  margin: 0 0 1rem;
  padding-bottom: .55rem;
  position: relative;
}
.lbl::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: 64px; height: 5px; color: var(--mb-bronze);
  background: repeating-linear-gradient(90deg, currentColor 0 1px, transparent 1px 8px) bottom/100% 5px no-repeat,
              linear-gradient(currentColor, currentColor) bottom/100% 1px no-repeat;
}
.bg-dark .lbl, .hero .lbl, .cta-blk .lbl { color: var(--mb-oak); }
.bg-dark .lbl::after, .hero .lbl::after, .cta-blk .lbl::after { color: var(--mb-oak); opacity: .7; }

/* ---------- Knapper ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  font-family: var(--mb-sans); font-weight: 600; font-size: .94rem; letter-spacing: .02em;
  padding: .95em 1.6em; border-radius: var(--mb-r); border: 1.5px solid transparent;
  text-decoration: none; cursor: pointer; line-height: 1.2;
  transition: background .3s var(--mb-ease), color .3s, border-color .3s;
}
.btn-lg { font-size: 1.02rem; padding: 1em 1.7em; }
.btn-primary { background: var(--mb-forest); color: var(--mb-paper) !important; }
.btn-primary:hover { background: var(--mb-walnut); color: #fff !important; }
.btn-ghost { border-color: rgba(43,43,43,.35); color: var(--mb-ink) !important; background: transparent; }
.btn-ghost:hover { background: var(--mb-forest); color: var(--mb-paper) !important; }
.btn-light { background: var(--mb-paper); color: var(--mb-ink) !important; }
.btn-light:hover { background: #fff; }
.btn-ghost-light { border-color: rgba(247,244,239,.7); color: var(--mb-paper) !important; background: transparent; }
.btn-ghost-light:hover { background: var(--mb-paper); color: var(--mb-ink) !important; }

/* ---------- Header ---------- */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(247,244,239,.94);
  -webkit-backdrop-filter: saturate(1.4) blur(10px); backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--mb-line-2);
  transition: box-shadow .2s;
}
.admin-bar .site-header { top: 32px; }
.site-header.er-rullet { box-shadow: 0 6px 24px rgba(43,43,43,.08); }
.inside-header { max-width: var(--mb-w); margin: 0 auto; padding: 18px var(--mb-px) !important; align-items: center; }
.mb-logo { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--mb-ink); }
/* Seglet med ordmerket i to linjer trenger mer høyde enn det gamle ordmerket på én linje (21.10.2026). */
.mb-logo-bilde { display: block; height: 36px; width: auto; }  /* bildet er beskåret til blekket (437 × 66): 36 px = 238 px bred, samme merkestørrelse som før, så meny, telefon og knapp får plass på én linje over 1240 px */
.mb-logo:hover { color: var(--mb-ink); }
.site-branding { margin: 0; }

.main-navigation, .main-navigation ul ul { background: transparent; }
.main-navigation .main-nav ul li a {
  font-family: var(--mb-sans); font-weight: 500; font-size: .9rem; letter-spacing: .01em; color: var(--mb-ink);
  padding-left: 10px; padding-right: 10px; line-height: 64px;
  /* 26.10.2026: «For arkitekter» gjorde menyen bredere. Med 11 px og .92rem over 1400 px (der telefonnummeret vises)
     manglet 2 px, så telefon og knapp brøt ned på en egen linje. 10 px og .9rem på alle bredder gir rundt 20 px luft. */
}
.main-navigation .main-nav ul li a, .main-navigation .main-nav ul li[class*="current-menu-"] > a,
.main-navigation .main-nav ul li:hover > a, .main-navigation .main-nav ul li:focus-within > a, .main-navigation .main-nav ul li.sfHover > a { background: transparent !important; }
.main-navigation .main-nav ul li:hover > a, .main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current-menu-ancestor > a { color: var(--mb-walnut) !important; }
.main-navigation .main-nav > ul > li.current-menu-item > a, .main-navigation .main-nav > ul > li.current-menu-ancestor > a {
  box-shadow: inset 0 -2px 0 var(--mb-bronze);
}
.main-navigation ul ul {
  background: var(--mb-white); box-shadow: var(--mb-shadow-lg); border: 1px solid var(--mb-line-2);
  border-radius: var(--mb-r-lg); padding: 10px; width: 270px;
}
.main-navigation .main-nav ul ul li a { line-height: 1.35; padding: 10px 14px; font-weight: 600; border-radius: var(--mb-r); font-size: .92rem; color: var(--mb-ink); }
.main-navigation .main-nav ul ul li a:hover, .main-navigation .main-nav ul ul li a:focus { background: var(--mb-paper) !important; color: var(--mb-walnut) !important; }
.main-navigation .main-nav ul li.mb-mega > ul { width: 520px; display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
/* Alle nedtrekksmenyene åpnes mot høyre fra sitt eget menypunkt (Stephen 26.10.2026). «Annet» får plass: 520 px fra x≈690 på 1440 px. */
.main-navigation .main-nav ul li.mb-mega > ul::after {
  content: "Gratis befaring – vi måler opp hjemme hos deg"; grid-column: 1 / -1; font-size: .8rem; font-weight: 600;
  color: var(--mb-muted); border-top: 1px solid var(--mb-line-2); margin-top: 8px; padding: 12px 14px 4px;
}
.menu-bar-items { display: flex; align-items: center; gap: 14px; margin-left: 10px; }
.main-navigation .menu-bar-items a.nav-tel, .nav-tel { display: inline-flex; align-items: center; gap: .4rem; color: var(--mb-ink); font-weight: 700; font-size: .93rem; text-decoration: none; white-space: nowrap; }
.nav-tel svg { width: 17px; height: 17px; }
.main-navigation .menu-bar-items a.nav-tel:hover, .nav-tel:hover { color: var(--mb-walnut); }
.nav-cta { padding: .7em 1.15em; font-size: .9rem; white-space: nowrap; }
.menu-toggle { color: var(--mb-ink) !important; background: transparent !important; }

@media (max-width: 1400px) {
  .nav-tel span { display: none; }
}
@media (min-width: 1101px) and (max-width: 1240px) {
  .main-navigation .main-nav ul li a { padding-left: 7px; padding-right: 7px; font-size: .86rem; }
  .mb-logo-bilde { height: 32px; }
}
@media (max-width: 1100px) {
  .inside-header { padding: 10px 18px !important; }
  .mb-logo-bilde { height: 30px; }
  .inside-header { flex-wrap: wrap !important; }
  .has-inline-mobile-toggle #site-navigation { flex-basis: 100%; order: 10; }
  .mobile-menu-control-wrapper { flex: none; }
  .mobile-menu-control-wrapper .menu-bar-items { flex-wrap: nowrap; }
  .mobile-menu-control-wrapper { margin-left: auto; }
  .main-navigation.toggled .main-nav > ul { background: var(--mb-paper); border-top: 1px solid var(--mb-line-2); padding: 8px 0 16px; }
  .main-navigation .main-nav ul li a { line-height: 52px; padding-left: 20px; }
  .main-navigation ul ul, .main-navigation .main-nav ul li.mb-mega > ul { width: auto; display: block; box-shadow: none; border: 0; padding: 0 0 0 12px; background: transparent; }
  .main-navigation .main-nav ul li.mb-mega > ul::after { display: none; }
  .main-navigation .main-nav ul ul li a { padding: 10px 20px; }
  .admin-bar .site-header { top: 0; }
}

@media (max-width: 768px) { body { padding-bottom: 64px; } .menu-bar-items .nav-cta, .main-navigation .menu-bar-items a.nav-cta { display: none !important; } }

/* ---------- Forside-helt ---------- */
.hero { position: relative; min-height: min(86vh, 760px); display: flex; align-items: flex-end; color: var(--mb-paper); overflow: hidden; background: var(--mb-forest); }
.hero-bilde { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(18,31,28,.82) 0%, rgba(18,31,28,.55) 40%, rgba(18,31,28,.04) 76%), linear-gradient(0deg, rgba(18,31,28,.5), transparent 42%); }
.hero-inner { position: relative; z-index: 2; width: 100%; padding-top: 120px; padding-bottom: clamp(48px, 8vw, 92px); }
.hero h1 { color: var(--mb-paper); max-width: 14ch; font-size: clamp(2.6rem, 6vw, 4.8rem); line-height: 1.1; letter-spacing: -0.03em; margin-bottom: .45em; }  /* 1.02 lot nedstreker treffe linjen under (21.10.2026) */
.hero h1 em { font-style: italic; color: var(--mb-oak-pale); }
.hero-sub { font-size: clamp(1.02rem, 1.4vw, 1.18rem); max-width: 46ch; color: rgba(247,244,239,.9); margin-bottom: 1.8em; }
.hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 2.4em; }
.hero-fakta { list-style: none; margin: 0; padding: 1.4em 0 0; display: flex; flex-wrap: wrap; gap: 10px 34px; border-top: 1px solid rgba(247,244,239,.22); max-width: 760px; }
.hero-fakta li { font-size: .9rem; font-weight: 600; color: rgba(247,244,239,.88); display: flex; align-items: center; gap: .55em; margin: 0; }
.hero-fakta li::before { content: ""; width: 14px; height: 1px; background: var(--mb-oak); }
/* Målelinje: dekorativ dimensjonslinje langs høyre kant */
/* Strektegning (inline SVG): garderobe under skråtak med mållinjer, i walnut og bronse fra brandboken.
   Strekene tegnes opp når figuren rulles inn i bildet (.vis-ved-rulling → .er-synlig). Uten JS vises tegningen ferdig. */
/* Tegneark: samme bakgrunn som seksjonen, dobbel ramme og bronsehjørner som på en arkitekttegning. */
.mb-tegning { --hj: var(--mb-bronze); margin: 0; padding: 10px; align-self: center; position: relative; border: 1px solid rgba(130,93,52,.42);
  background:
    linear-gradient(var(--hj), var(--hj)) top left / 22px 2px no-repeat, linear-gradient(var(--hj), var(--hj)) top left / 2px 22px no-repeat,
    linear-gradient(var(--hj), var(--hj)) top right / 22px 2px no-repeat, linear-gradient(var(--hj), var(--hj)) top right / 2px 22px no-repeat,
    linear-gradient(var(--hj), var(--hj)) bottom left / 22px 2px no-repeat, linear-gradient(var(--hj), var(--hj)) bottom left / 2px 22px no-repeat,
    linear-gradient(var(--hj), var(--hj)) bottom right / 22px 2px no-repeat, linear-gradient(var(--hj), var(--hj)) bottom right / 2px 22px no-repeat; }
.mb-tegning-ark { border: 1px solid rgba(130,93,52,.22); padding: clamp(26px, 3.4vw, 44px) clamp(22px, 3vw, 40px) 0; }
.mb-tegning svg { display: block; width: 100%; max-width: 420px; height: auto; margin: 0 auto; overflow: visible; }
.mb-tegning svg path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.mb-tegning .t-rom path { stroke: var(--mb-taupe); stroke-width: 1.2; stroke-dasharray: 4 4; }
.mb-tegning .t-skap path { stroke: var(--mb-walnut); stroke-width: 1.6; }
.mb-tegning .t-mal path { stroke: var(--mb-bronze); stroke-width: 1.1; }
.mb-tegning text { font-family: inherit; font-size: 11px; font-weight: 700; letter-spacing: .06em; fill: var(--mb-walnut); }
.mb-tegning figcaption { display: flex; justify-content: space-between; gap: 16px; margin: clamp(22px, 3vw, 32px) calc(-1 * clamp(22px, 3vw, 40px)) 0; padding: 12px clamp(22px, 3vw, 40px); border-top: 1px solid rgba(130,93,52,.22); font-size: .78rem; color: var(--mb-muted); }
.mb-tegning figcaption span:first-child { font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--mb-walnut); font-size: .7rem; }
.js .mb-tegning .t-skap path, .js .mb-tegning .t-mal path { stroke-dasharray: 900; stroke-dashoffset: 900; }
.js .mb-tegning .t-tekst { opacity: 0; }
.js .mb-tegning.er-synlig .t-skap path, .js .mb-tegning.er-synlig .t-mal path { animation: mbTegn 2.4s var(--mb-ease) .3s forwards; }
.js .mb-tegning.er-synlig .t-mal path { animation-delay: 1.4s; animation-duration: 1.4s; }
.js .mb-tegning.er-synlig .t-tekst { animation: mbOpp .6s var(--mb-ease) 2.4s forwards; }
@keyframes mbTegn { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .js .mb-tegning .t-skap path, .js .mb-tegning .t-mal path { stroke-dashoffset: 0; animation: none; } .js .mb-tegning .t-tekst { opacity: 1; animation: none; } }
.hero .hero-anim { opacity: 0; transform: translateY(14px); animation: mbOpp .8s var(--mb-ease) forwards; }
.hero .hero-anim:nth-child(2) { animation-delay: .08s; } .hero .hero-anim:nth-child(3) { animation-delay: .16s; }
.hero .hero-anim:nth-child(4) { animation-delay: .24s; } .hero .hero-anim:nth-child(5) { animation-delay: .32s; }
@keyframes mbOpp { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .hero .hero-anim { animation: none; opacity: 1; transform: none; } }
@media (max-width: 768px) {
  .hero { min-height: 620px; }
  .hero::before { background: linear-gradient(0deg, rgba(18,31,28,.9) 0%, rgba(18,31,28,.6) 55%, rgba(18,31,28,.25) 100%); }
}

/* ---------- Sidehode (ph-rich) ---------- */
.ph-rich { padding: clamp(48px, 8vw, 104px) 0 clamp(44px, 6vw, 80px); position: relative; border-bottom: 1px solid var(--mb-line); }
.ph-rich::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 10px; pointer-events: none;
  background: repeating-linear-gradient(90deg, var(--mb-line) 0 1px, transparent 1px 80px) bottom/100% 10px no-repeat,
              repeating-linear-gradient(90deg, var(--mb-line) 0 1px, transparent 1px 8px) bottom/100% 5px no-repeat; }
.ph-rich h1 { max-width: 18ch; margin-bottom: .4em; }
.ph-rich p { margin: 0; }
.ph-badge { display: inline-block; font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--mb-walnut); margin: 1.1rem 0 .9rem; }
.ph-sub { font-size: clamp(1.05rem, 1.5vw, 1.24rem); color: var(--mb-muted); max-width: 58ch; line-height: 1.6; }
.bc { font-size: .84rem; color: var(--mb-muted); }
.bc a { color: var(--mb-muted); text-decoration: none; }
.bc a:hover { color: var(--mb-walnut); text-decoration: underline; }
.bc .separator { margin: 0 .45em; opacity: .6; }
.bc .last { color: var(--mb-ink); }
.ph-rich .ph-cta { margin-top: 1.6rem; display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- Brødtekst ---------- */
.prose { max-width: var(--mb-w-prose); }
.prose-bred { max-width: 860px; }
.prose h2 { margin-top: 1.9em; }
.prose > h2:first-child, .prose > .lbl + h2 { margin-top: 0; }
.prose h3 { margin-top: 1.6em; margin-bottom: .45em; }
.prose p, .prose li { color: var(--mb-ink-2); }
.prose ul, .prose ol { margin: 0 0 1.2em 1.2em; padding: 0; }
.prose li { margin-bottom: .45em; }
.prose strong { color: var(--mb-ink); font-weight: 700; }
.prose .ingress { font-size: 1.15rem; color: var(--mb-ink); }
.sec-tittel { max-width: 760px; margin-bottom: clamp(28px, 4vw, 48px); }
.sec-tittel p { color: var(--mb-muted); font-size: 1.08rem; max-width: 60ch; }

/* Bilde med bildetekst */
.mb-bilde { margin: 2em 0; }
.mb-bilde img { display: block; width: 100%; border-radius: var(--mb-r); background: var(--mb-paper-2); }
.mb-bilde figcaption { font-size: .84rem; color: var(--mb-muted); margin-top: .7em; padding-left: 14px; border-left: 1px solid var(--mb-bronze); line-height: 1.5; }
.mb-bilde-hoy img { aspect-ratio: 4/5; object-fit: cover; }
.mb-bilde-bred img { aspect-ratio: 16/10; object-fit: cover; }

/* Tabell (finnes fra start, i motsetning til ks-tabell på kjokkenskreddern.no) */
.mb-tabell { width: 100%; border-collapse: collapse; margin: 1.6em 0 2em; font-size: .98rem; background: transparent; border: 0; }
.mb-tabell th, .mb-tabell td { text-align: left; vertical-align: top; padding: 14px 16px 14px 0; border: 0; border-bottom: 1px solid var(--mb-line); }
.mb-tabell tr:first-child th, .mb-tabell tr:first-child td { border-top: 1px solid var(--mb-ink); }
.mb-tabell th { width: 34%; font-family: var(--mb-serif); font-weight: 600; color: var(--mb-ink); font-size: 1.02rem; }
.mb-tabell td { color: var(--mb-ink-2); }
.mb-tabell thead th { font-family: var(--mb-sans); font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; color: var(--mb-muted); border-top: 0; }
@media (max-width: 600px) {
  .mb-tabell th, .mb-tabell td { display: block; width: 100%; padding-right: 0; }
  .mb-tabell th { border-bottom: 0; padding-bottom: 2px; }
  .mb-tabell tr:first-child td { border-top: 0; }
}

/* To kolonner: tekst og bilde */
.two-col { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(32px, 6vw, 88px); align-items: center; }
.two-col.omvendt > :first-child { order: 2; }
.two-col .mb-bilde { margin: 0; }
@media (max-width: 860px) { .two-col { grid-template-columns: 1fr; } .two-col.omvendt > :first-child { order: 0; } }

/* Fakta-rad */
.fakta { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--mb-ink); }
.fakta li { padding: 22px 22px 22px 0; margin: 0; border-bottom: 1px solid var(--mb-line); }
.fakta li + li { padding-left: 22px; border-left: 1px solid var(--mb-line); }
.fakta strong { display: block; font-family: var(--mb-serif); font-size: 1.22rem; font-weight: 500; color: var(--mb-ink); margin-bottom: .25em; }
.fakta span { font-size: .92rem; color: var(--mb-muted); line-height: 1.5; display: block; }
@media (max-width: 860px) { .fakta { grid-template-columns: 1fr 1fr; } .fakta li:nth-child(3) { padding-left: 0; border-left: 0; } }
@media (max-width: 480px) { .fakta { grid-template-columns: 1fr; } .fakta li + li { padding-left: 0; border-left: 0; } }

/* Kort (kategorier og lenker) */
.kort-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 26px); }
.kort-grid.fire { grid-template-columns: repeat(4, 1fr); }
.kort-grid.to { grid-template-columns: repeat(2, 1fr); }
.kort { display: flex; flex-direction: column; text-decoration: none; color: var(--mb-ink); background: transparent; }
.kort:hover { color: var(--mb-ink); }
.kort-bilde { aspect-ratio: 4/5; overflow: hidden; background: var(--mb-paper-2); border-radius: var(--mb-r); }
.kort-bilde img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.1s var(--mb-ease); }
.kort:hover .kort-bilde img { transform: scale(1.04); }
.kort-tekst { padding: 18px 0 0; display: flex; flex-direction: column; flex: 1; border-top: 0; }
.kort-tekst h3 { margin: 0 0 .35em; font-size: 1.3rem; }
.kort-tekst p { font-size: .95rem; color: var(--mb-muted); margin: 0 0 1em; line-height: 1.55; }
.kort-lenke { margin-top: auto; font-weight: 600; font-size: .86rem; letter-spacing: .02em; color: var(--mb-ink); display: inline-flex; align-items: center; gap: .5em; }
.kort-lenke::after { content: "→"; transition: transform .2s; }
.kort:hover .kort-lenke::after { transform: translateX(4px); }
@media (max-width: 960px) { .kort-grid, .kort-grid.fire { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .kort-grid, .kort-grid.fire, .kort-grid.to { grid-template-columns: 1fr; } }

/* Galleri med lysboks */
.galleri { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 1.5em 0; }
.galleri.fire { grid-template-columns: repeat(4, 1fr); }
.galleri-el { display: block; position: relative; overflow: hidden; border-radius: var(--mb-r); background: var(--mb-paper-2); aspect-ratio: 3/4; }
.galleri-el.bred { grid-column: span 2; aspect-ratio: auto; }
.galleri-el img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.1s var(--mb-ease); }
.galleri-el:hover img { transform: scale(1.035); }
.galleri-el figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 28px 14px 12px; font-size: .8rem; color: #fff; background: linear-gradient(0deg, rgba(0,0,0,.6), transparent); opacity: 0; transition: opacity .25s; line-height: 1.4; }
.galleri-el:hover figcaption, .galleri-el:focus-visible figcaption { opacity: 1; }
@media (max-width: 860px) { .galleri, .galleri.fire { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .galleri-el.bred { grid-column: span 2; } }

.lysboks { position: fixed; inset: 0; z-index: 300; background: rgba(18,31,28,.94); display: flex; align-items: center; justify-content: center; padding: 56px 20px; }
.lysboks[hidden] { display: none; }
.lysboks img { max-width: min(1200px, 100%); max-height: 100%; object-fit: contain; border-radius: 2px; }
.lysboks-tekst { position: absolute; left: 0; right: 0; bottom: 14px; text-align: center; color: rgba(255,255,255,.85); font-size: .88rem; padding: 0 60px; }
.lysboks button { position: absolute; background: none; border: 0; color: #fff; font-size: 2rem; cursor: pointer; padding: 10px 16px; line-height: 1; }
.lysboks .lb-lukk { top: 10px; right: 10px; }
.lysboks .lb-forrige { left: 6px; top: 50%; transform: translateY(-50%); }
.lysboks .lb-neste { right: 6px; top: 50%; transform: translateY(-50%); }

/* Steg (slik foregår det) */
.steg { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; counter-reset: steg; border-top: 1px solid var(--mb-ink); }
.steg li { counter-increment: steg; padding: 26px 24px 8px 0; margin: 0; position: relative; }
.steg li + li { padding-left: 24px; border-left: 1px solid var(--mb-line); }
.steg li::before { content: counter(steg, decimal-leading-zero); display: block; font-family: var(--mb-serif); font-size: 2.1rem; color: var(--mb-walnut); line-height: 1; margin-bottom: .55em; font-weight: 400; }
.steg h3 { font-size: 1.12rem; margin: 0 0 .4em; }
.steg p { font-size: .95rem; color: var(--mb-muted); margin: 0; line-height: 1.6; }
.bg-dark .steg { border-top-color: rgba(247,244,239,.4); }
.bg-dark .steg li + li { border-left-color: rgba(247,244,239,.16); }
.bg-dark .steg li::before { color: var(--mb-oak); }
.bg-dark .steg p { color: rgba(247,244,239,.78); }
@media (max-width: 900px) { .steg { grid-template-columns: 1fr 1fr; } .steg li:nth-child(3) { padding-left: 0; border-left: 0; } }
@media (max-width: 520px) { .steg { grid-template-columns: 1fr; } .steg li + li { padding-left: 0; border-left: 0; border-top: 1px solid var(--mb-line); } }

/* ---------- FAQ ---------- */
.faq { border-top: 1px solid var(--mb-ink); margin: 1.2em 0 0; }
.faq-item { border-bottom: 1px solid var(--mb-line); }
.faq-q {
  width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 20px; text-align: left;
  background: none; border: 0; padding: 20px 0; cursor: pointer; color: var(--mb-ink);
  font-family: var(--mb-serif); font-size: 1.16rem; font-weight: 400; line-height: 1.4;
}
.faq-q:hover, .faq-q:focus { background: none; color: var(--mb-walnut); }
.faq-q svg { width: 18px; height: 18px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.6; transition: transform .25s var(--mb-ease); }
.faq-item.open .faq-q svg { transform: rotate(45deg); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .35s var(--mb-ease); }
.faq-a > p { padding: 0 48px 22px 0; margin: 0; color: var(--mb-ink-2); }
.faq-item.open .faq-a { max-height: 800px; }
.no-js .faq-a { max-height: none; }

/* ---------- CTA-blokk ---------- */
.cta-blk { background: var(--mb-forest); color: var(--mb-paper); padding: clamp(56px, 8vw, 96px) 0; position: relative; overflow: hidden; }
.cta-blk::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 10px; pointer-events: none;
  background: repeating-linear-gradient(90deg, rgba(247,244,239,.28) 0 1px, transparent 1px 80px) top/100% 10px no-repeat,
              repeating-linear-gradient(90deg, rgba(247,244,239,.2) 0 1px, transparent 1px 8px) top/100% 5px no-repeat; }
.cta-inner { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: end; }
.cta-blk h2 { color: var(--mb-paper); max-width: 18ch; margin-bottom: .4em; }
.cta-blk p { color: rgba(247,244,239,.8); max-width: 52ch; margin: 0; }
.cta-knapper { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; justify-self: end; }
.cta-tel { color: var(--mb-paper); font-weight: 700; text-decoration: none; font-size: 1.05rem; border-bottom: 1px solid var(--mb-oak); padding-bottom: 2px; }
.cta-tel:hover { color: var(--mb-oak-pale); }
.cta-lofte { font-size: .86rem !important; color: rgba(247,244,239,.65) !important; }
@media (max-width: 860px) { .cta-inner { grid-template-columns: 1fr; } .cta-knapper { justify-self: start; } }

/* ---------- Skjema ---------- */
.sec-skjema { background: var(--mb-paper-2); }
.skjema-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 80px); align-items: start; }
.skjema-kort { background: var(--mb-white); border-radius: var(--mb-r-lg); border: 1px solid var(--mb-line-2); padding: clamp(24px, 3.5vw, 44px); }
.skjema-kort h2 { font-size: 1.5rem; }
@media (max-width: 860px) { .skjema-grid { grid-template-columns: 1fr; } }

/* Forminator: rolig og i husstil */
.forminator-ui.forminator-custom-form { font-family: var(--mb-sans) !important; margin: 0 !important; }
.forminator-ui .forminator-label, .forminator-ui .forminator-label * { font-family: var(--mb-sans) !important; font-size: .86rem !important; font-weight: 700 !important; color: var(--mb-ink) !important; }
.forminator-ui .forminator-input, .forminator-ui .forminator-textarea, .forminator-ui .select2-container .select2-selection--single {
  font-family: var(--mb-sans) !important; font-size: 1rem !important; color: var(--mb-ink) !important;
  border: 1px solid var(--mb-line) !important; border-radius: var(--mb-r) !important; background: var(--mb-paper) !important;
  padding: 12px 14px !important; box-shadow: none !important;
}
.forminator-ui .forminator-input:focus, .forminator-ui .forminator-textarea:focus { border-color: var(--mb-walnut) !important; background: #fff !important; outline: 2px solid rgba(169,121,68,.18) !important; }
.forminator-ui .forminator-button-submit {
  background: var(--mb-forest) !important; color: #fff !important; font-family: var(--mb-sans) !important; font-weight: 700 !important;
  font-size: 1rem !important; border-radius: var(--mb-r) !important; padding: 15px 26px !important; width: 100%; border: 0 !important; box-shadow: none !important;
}
.forminator-ui .forminator-button-submit:hover { background: var(--mb-walnut) !important; }
.forminator-ui .select2-container .select2-selection--single { height: auto !important; min-height: 48px; display: flex !important; align-items: center; }
.forminator-ui .select2-selection__rendered { padding: 0 !important; color: var(--mb-ink) !important; font-family: var(--mb-sans) !important; }
.forminator-ui .forminator-select { border: 0 !important; background: transparent !important; padding: 0 !important; }
.forminator-ui .forminator-description, .forminator-ui .forminator-field-description { display: none; }
.forminator-ui .forminator-response-message { border-radius: var(--mb-r) !important; font-family: var(--mb-sans) !important; }
.forminator-ui .forminator-response-message.forminator-success { background: #edf2ec !important; color: #22402b !important; }
.forminator-ui .forminator-error-message { font-family: var(--mb-sans) !important; font-size: .82rem !important; }
.skjema-steg { list-style: none; margin: 1.4em 0 1.6em !important; padding: 0 !important; counter-reset: s; }
.skjema-steg li { counter-increment: s; position: relative; padding: 0 0 .9em 2.4em; margin: 0; }
.skjema-steg li::before { content: counter(s); position: absolute; left: 0; top: -.05em; width: 1.6em; height: 1.6em; border-radius: 50%; border: 1px solid var(--mb-walnut); color: var(--mb-walnut); font-weight: 700; font-size: .85rem; display: flex; align-items: center; justify-content: center; }
.skjema-personvern { font-size: .8rem; color: var(--mb-muted); margin: 12px 0 0; }

/* ---------- Befaringsmodal ---------- */
.mb-modal { position: fixed; inset: 0; z-index: 250; display: flex; align-items: center; justify-content: center; padding: 20px; }
.mb-modal[hidden] { display: none; }
.mb-modal-bakgrunn { position: absolute; inset: 0; background: rgba(18,31,28,.62); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.mb-modal-boks { position: relative; background: var(--mb-white); width: min(560px, 100%); max-height: calc(100vh - 40px); overflow: auto; border-radius: var(--mb-r-lg); padding: clamp(26px, 4vw, 42px); box-shadow: var(--mb-shadow-lg); animation: mbOpp .3s var(--mb-ease); }
.mb-modal-boks h2 { font-size: 1.7rem; margin-bottom: .3em; }
.mb-modal-ingress { color: var(--mb-muted); font-size: .97rem; }
.mb-modal-lukk { position: absolute; top: 10px; right: 12px; background: none !important; border: 0; font-size: 1.9rem; line-height: 1; color: var(--mb-muted) !important; cursor: pointer; padding: 6px 10px; }
.mb-modal-lukk:hover { color: var(--mb-ink) !important; }
body.mb-modal-apen { overflow: hidden; }

/* ---------- Footer ---------- */
.site-footer { background: var(--mb-footer-bg); }
.mb-footer { background: var(--mb-footer-bg); color: rgba(247,244,239,.78); padding: clamp(48px, 5vw, 64px) 0 0; font-size: .94rem; border-top: 1px solid rgba(169,121,68,.45); overflow: hidden; }
/* Vannmerke (brandbok v1.0, kap. 5): sponen stor, beskåret og 7 % papir på kull, bak kontaktkolonnen */
.mb-footer::before { content: ""; position: absolute; right: -5%; top: -22%; width: clamp(360px, 44vw, 760px); aspect-ratio: 1; background: url('spon-vannmerke.svg') no-repeat center / contain; opacity: .07; pointer-events: none; }
.mb-footer > .wrap { position: relative; }
.mb-footer a { color: rgba(247,244,239,.86); text-decoration: none; }
.mb-footer a:hover { color: var(--mb-oak-pale); }
.mb-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 48px; }
.mb-footer-merke p { max-width: 34ch; margin: 1.1em 0 1.4em; line-height: 1.6; }
.mb-logo-lys, .mb-logo-lys:hover { color: var(--mb-paper) !important; }
.mb-footer .mb-logo-bilde { height: 44px; }
.mb-footer-tittel { font-family: var(--mb-sans); font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: var(--mb-oak); font-weight: 700; margin: 0 0 1.1em; }
.mb-footer ul { list-style: none; margin: 0; padding: 0; }
.mb-footer li { margin: 0 0 .6em; }
.mb-footer-kontakt p { line-height: 1.7; }
.mb-footer-bunn { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; border-top: 1px solid rgba(247,244,239,.14); padding-top: 22px; padding-bottom: 26px; font-size: .82rem; color: rgba(247,244,239,.7); }
.mb-footer-bunn p { margin: 0; }
@media (max-width: 900px) { .mb-footer-grid { grid-template-columns: 1fr 1fr; } .mb-footer-merke { grid-column: 1 / -1; } }
@media (max-width: 520px) { .mb-footer-grid { grid-template-columns: 1fr; } }

/* ---------- Juridiske sider og 404 ---------- */
.juridisk { padding: clamp(40px, 6vw, 72px) 0 var(--mb-sec-y); }
.juridisk h1 { font-size: clamp(1.9rem, 3.4vw, 2.6rem); }
.juridisk .oppdatert { color: var(--mb-muted); font-size: .9rem; }
.feil-404 { padding: clamp(64px, 10vw, 140px) 0; }
.feil-404 h1 { max-width: 16ch; }
.error404 .inside-article { background: transparent; }

/* ---------- Avslørings-animasjon ved rulling ---------- */
.js .vis-ved-rulling { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--mb-ease), transform .7s var(--mb-ease); }
.js .vis-ved-rulling.er-synlig { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js .vis-ved-rulling { opacity: 1; transform: none; transition: none; } }

/* ---------- Complianz-banner i husstil ---------- */
.cmplz-cookiebanner { font-family: var(--mb-sans) !important; border-radius: var(--mb-r-lg) !important; }
.cmplz-cookiebanner .cmplz-btn { border-radius: var(--mb-r) !important; font-weight: 700 !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept, .cmplz-cookiebanner .cmplz-btn.cmplz-deny { background: var(--mb-forest) !important; border-color: var(--mb-forest) !important; color: #fff !important; }

/* 404 fra GeneratePress, i husstil */
.error404 .site-main { max-width: var(--mb-w); margin: 0 auto !important; padding: clamp(64px, 10vw, 130px) var(--mb-px) !important; }
.error404 .entry-header { display: block !important; }
.error404 .entry-title { font-size: clamp(2rem, 4vw, 3rem); }
.error404 .entry-content p { max-width: 60ch; font-size: 1.08rem; }
.error404 .search-form { display: none; }

/* Fast befaringslinje nederst på mobil */
.mb-mobil-cta { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; gap: 8px; padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
  background: rgba(247,244,239,.97); border-top: 1px solid var(--mb-line); box-shadow: 0 -6px 20px rgba(43,43,43,.08); }
.mb-mobil-cta a { flex: 1; text-align: center; padding: .8em .6em; font-size: .92rem; }
body.mb-modal-apen .mb-mobil-cta { display: none; }
@media (max-width: 768px) { .mb-mobil-cta { display: flex; } }
@media (max-width: 1100px) {
  .main-navigation.mobile-menu-control-wrapper { display: flex !important; align-items: center; gap: 4px; }
  .mobile-menu-control-wrapper .menu-bar-items { margin: 0; }
  .mobile-menu-control-wrapper .nav-tel { padding: 10px; }
  .mobile-menu-control-wrapper .nav-tel svg { width: 20px; height: 20px; }
}

/* Hamburgermeny også på nettbrett (769–1100 px). GeneratePress gratis har fast mobilgrense på 768 px,
   så reglene fra GPs mobilvisning gjentas her for mellombredden. */
@media (min-width: 769px) and (max-width: 1100px) {
  .main-navigation .menu-toggle { display: block; }
  .main-navigation:not(.slideout-navigation):not(.toggled) .main-nav > ul,
  .has-inline-mobile-toggle #site-navigation .inside-navigation > *:not(.navigation-search):not(.main-nav) { display: none; }
  .has-inline-mobile-toggle .mobile-menu-control-wrapper { display: flex; flex-wrap: wrap; }
  .has-inline-mobile-toggle .inside-header { flex-direction: row; text-align: left; flex-wrap: wrap; }
  .has-inline-mobile-toggle #site-navigation { flex-basis: 100%; }
  .main-navigation.toggled .main-nav li { float: none; clear: both; display: block; text-align: left; }
  .mobile-menu-control-wrapper .nav-cta { display: inline-flex !important; }
}

/* =================== Premium-lag (13.10.2026) =================== */

/* Svak papirstruktur over bakgrunnen (SVG-støy, ~1 kB, ingen nettverkskall) */
body::before {
  content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: .045;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.site, .mb-footer { position: relative; z-index: 1; }

/* Lenker i brødtekst: tynn strek som tykner ved hover */
.prose a:not(.btn), .sec-tittel a, .sec-fot a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: currentColor; transition: text-decoration-thickness .2s; }
.prose a:not(.btn):hover, .sec-tittel a:hover, .sec-fot a:hover { text-decoration-thickness: 2px; }

/* Pristrapp: tre veier fra rimeligst til mest tilpasset */
.pris-trapp { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 3vw, 44px); counter-reset: trinn; }
.pris-trapp > li { counter-increment: trinn; margin: 0; padding-top: 22px; border-top: 1px solid var(--mb-ink); display: flex; flex-direction: column; }
.pris-trapp > li::before { content: counter(trinn, decimal-leading-zero); font-family: var(--mb-serif); color: var(--mb-walnut); font-size: .95rem; letter-spacing: .04em; margin-bottom: 1.1rem; }
.pris-trapp .trinn-merke { display: inline-block; align-self: flex-start; font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--mb-walnut); border: 1px solid rgba(169,121,68,.4); border-radius: var(--mb-r); padding: .3em .6em; margin-bottom: .9rem; }
.pris-trapp h3 { font-size: clamp(1.3rem, 2vw, 1.6rem); margin: 0 0 .5em; }
.pris-trapp p { color: var(--mb-ink-2); margin: 0 0 1em; }
.pris-trapp .passer { font-size: .9rem; color: var(--mb-muted); padding-top: .9em; border-top: 1px solid var(--mb-line); margin-top: auto; min-height: 4.4em; }  /* fast høyde = to linjer, så skillelinjen og lenken står på linje i alle tre (Stephen 26.10.2026) */
.pris-trapp .passer strong { color: var(--mb-ink); font-weight: 600; }
.pris-trapp .trinn-lenke { margin-top: 1.1em; font-weight: 600; font-size: .88rem; letter-spacing: .02em; color: var(--mb-ink); text-decoration: none; display: inline-flex; gap: .5em; }
.pris-trapp .trinn-lenke::after { content: "→"; transition: transform .3s var(--mb-ease); }
.pris-trapp .trinn-lenke:hover::after { transform: translateX(4px); }
@media (max-width: 860px) { .pris-trapp { grid-template-columns: 1fr; } }

/* Sammenligning: «Hva er med i prisen?» */
.sammenlign { width: 100%; border-collapse: collapse; margin: clamp(40px, 6vw, 72px) 0 1.6em; font-size: .97rem; }
.sammenlign caption { text-align: left; font-family: var(--mb-serif); font-size: clamp(1.3rem, 2vw, 1.6rem); color: var(--mb-ink); padding-bottom: .9em; }
.sammenlign th, .sammenlign td { text-align: left; vertical-align: top; padding: 16px 18px 16px 0; border-bottom: 1px solid var(--mb-line); }
.sammenlign thead th { font-family: var(--mb-sans); font-size: .74rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--mb-muted); border-bottom: 1px solid var(--mb-ink); padding-bottom: 12px; }
.sammenlign thead th.oss { color: var(--mb-walnut); }
.sammenlign tbody th { width: 24%; font-family: var(--mb-serif); font-weight: 500; color: var(--mb-ink); font-size: 1.02rem; }
.sammenlign tbody td { width: 38%; color: var(--mb-muted); }
.sammenlign tbody td.oss { color: var(--mb-ink); }
.sammenlign td.oss::before { content: ""; display: inline-block; width: 14px; height: 1px; background: var(--mb-bronze); vertical-align: middle; margin-right: .6em; }
@media (max-width: 700px) {
  .sammenlign thead { display: none; }
  .sammenlign tr { display: block; border-bottom: 1px solid var(--mb-line); padding: 14px 0; }
  .sammenlign th, .sammenlign td { display: block; width: 100% !important; border: 0; padding: 4px 0; }
  .sammenlign td::before { content: attr(data-label) ": "; font-weight: 600; color: var(--mb-ink); }
  .sammenlign td.oss::before { content: attr(data-label) ": "; display: inline; width: auto; height: auto; background: none; margin: 0; }
}

/* Materialer: utsnitt av ekte bilder som materialprøver */
.materialer { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(18px, 3vw, 40px); }
.materiale { margin: 0; text-align: left; }
.materiale .utsnitt { aspect-ratio: 1; border-radius: 50%; overflow: hidden; background: var(--mb-paper-2); box-shadow: 0 0 0 1px rgba(43,43,43,.06); }
.materiale img { width: 100%; height: 100%; object-fit: cover; display: block; object-position: var(--f); transform-origin: var(--f); transform: scale(var(--z)); transition: transform 1.4s var(--mb-ease); }
.materiale:hover img { transform: scale(calc(var(--z) * 1.04)); }
.materiale figcaption { margin-top: 1.1rem; border-top: 1px solid var(--mb-line); padding-top: .9rem; }
.materiale strong { display: block; font-family: var(--mb-serif); font-weight: 500; font-size: 1.15rem; color: var(--mb-ink); }
.materiale span { display: block; color: var(--mb-muted); font-size: .92rem; line-height: 1.55; margin-top: .3em; }
@media (max-width: 860px) { .materialer { grid-template-columns: 1fr 1fr; } }

/* Detaljbånd: stort nærbilde mot kanten og en rolig setning */
.detalj-band { display: grid; grid-template-columns: 1.15fr .85fr; min-height: clamp(380px, 52vw, 620px); background: var(--mb-forest); color: var(--mb-paper); }
.detalj-band .detalj-bilde { position: relative; overflow: hidden; }
.detalj-band .detalj-bilde img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 62% 50%; }  /* garderobe-eik-med-skuffer-og-svarte-handtak: døren i venstre kant holdes utenfor (Stephen 26.10.2026: «linet opp») */
.detalj-band .detalj-tekst { display: flex; flex-direction: column; justify-content: center; padding: clamp(40px, 6vw, 96px); }
.detalj-band .detalj-tekst p.stor { font-family: var(--mb-serif); font-size: clamp(1.6rem, 3vw, 2.5rem); line-height: 1.2; letter-spacing: -0.02em; color: var(--mb-paper); margin: 0 0 1em; }
.detalj-band .detalj-tekst p { color: rgba(247,244,239,.75); max-width: 40ch; }
@media (max-width: 860px) { .detalj-band { grid-template-columns: 1fr; } .detalj-band .detalj-bilde { min-height: 320px; } }

/* Roligere seksjonsoverskrifter */
.sec-tittel h2 { max-width: 20ch; }
.sec-fot { max-width: 70ch; color: var(--mb-muted); margin: 0; }
.detalj-band + .sec.bg-dark { border-top: 1px solid rgba(247,244,239,.08); }
/* Hovedknapp på mørk bakgrunn: papirfarget */
.hero .btn-primary, .bg-dark .btn-primary, .detalj-band .btn-primary { background: var(--mb-paper); color: var(--mb-ink) !important; }
.hero .btn-primary:hover, .bg-dark .btn-primary:hover, .detalj-band .btn-primary:hover { background: #fff; color: var(--mb-ink) !important; }
/* GeneratePress gir tabeller rammer på alle sider; vi bruker bare vannrette streker */
.sammenlign, .sammenlign th, .sammenlign td { border-left: 0 !important; border-right: 0 !important; border-top: 0; }
.sammenlign { border: 0 !important; }

/* Tekst i mørke seksjoner */
.bg-dark .sec-tittel p, .bg-dark p, .bg-dark li { color: rgba(247,244,239,.8); }
.bg-dark a:not(.btn) { color: var(--mb-oak-pale); }

/* ---------- Historien (Om oss): sitat og liten tidslinje ved siden av teksten, 21.10.2026 ---------- */
.two-col.historie { align-items: start; }
.historie-side { display: grid; gap: 28px; }
.historie-side .portrett { margin: 0 0 18px; }  /* portrett av Darius over sitatet (26.10.2026, brukt med hans tillatelse) */
.historie-side .portrett img { aspect-ratio: 1; object-fit: cover; width: 100%; }
.sitat { margin: 0; padding: 26px 28px; border-left: 3px solid var(--mb-bronze); background: var(--mb-paper); font-family: var(--mb-serif); }
.sitat p { font-size: 1.25rem; line-height: 1.5; margin: 0 0 .8em; color: var(--mb-ink); }
.sitat footer { font-family: var(--mb-sans); font-size: .86rem; letter-spacing: .06em; text-transform: uppercase; color: var(--mb-walnut); }
.sitat .sitat-signatur { display: block; width: 200px; height: auto; margin: 0 0 10px -6px; }  /* Darius' signatur i furu under sitatet (verktoy/signatur.py) */
.fakta.fakta-liten { grid-template-columns: 1fr; gap: 14px; }
.fakta.fakta-liten li { padding: 14px 18px; }

/* ---------- Prisanslag (prisguiden), 21.10.2026 ---------- */
.mb-tabell.prisanslag caption { text-align: left; font-family: var(--mb-sans); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--mb-walnut); padding: 0 0 .6em; }
.mb-tabell.prisanslag th { white-space: nowrap; }
.mb-tabell.prisanslag td.tall { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: 600; color: var(--mb-ink); }
.prose p.liten { font-size: .9rem; color: var(--mb-muted); }
