/* ============================================================
   Site chrome — delt av alle OFFENTLIGE sider (forside, arkiv,
   404): nav, mobilmeny, footer, scroll-progress, knapper.
   Admin har sin egen topbar og bruker ikke denne filen.
   ============================================================ */

.section{padding:clamp(72px,10vw,140px) var(--pad)}
.wrap{max-width:1280px;margin:0 auto}

/* ---------- Skip link ---------- */
.skip-link{position:fixed;top:12px;left:12px;z-index:200;background:var(--ink);color:var(--ivory);padding:12px 20px;font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;transform:translateY(-250%);transition:transform .25s ease}
.skip-link:focus{transform:none}

/* ---------- Scroll progress ---------- */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--bronze);transform-origin:0 50%;transform:scaleX(0);z-index:60;pointer-events:none}

/* ---------- Nav ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px var(--pad);
  background:linear-gradient(to bottom, rgba(250,247,241,.96), rgba(250,247,241,.82));
  /* Safari støtter kun den prefiksede varianten før versjon 18 — uten denne
     faller uskarpheten bak menyen bort for alle som ikke er på nyeste
     macOS/iOS. Prefikset må stå FØR den standardiserte. */
  -webkit-backdrop-filter:blur(10px);
          backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-mark{
  font-family:var(--display);
  font-size:19px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
}
.nav-mark em{font-style:italic;font-weight:400;color:var(--bronze-deep)}
.nav-links{display:flex;gap:34px;align-items:center;list-style:none}
.nav-links a{
  font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  padding:6px 0;position:relative;
}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
  background:var(--bronze);transition:width .35s ease;
}
.nav-links a:hover::after,.nav-links a[aria-current]::after{width:100%}
@media(max-width:840px){.nav-links li.hide-m{display:none}}

/* ---------- Mobilmeny ---------- */
.nav-burger{display:none;flex-direction:column;justify-content:center;align-items:stretch;gap:7px;width:44px;height:44px;padding:12px;border:1px solid var(--ink);background:transparent;cursor:pointer}
.nav-burger span{display:block;height:1px;background:var(--ink);transition:transform .3s ease}
.nav-burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
@media(max-width:840px){.nav-burger{display:flex}}
.mobile-menu{position:fixed;inset:0;z-index:40;background:var(--ivory);display:flex;flex-direction:column;justify-content:center;padding:100px var(--pad) 60px;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}
.mobile-menu.open{opacity:1;visibility:visible}
.mobile-menu ul{list-style:none;display:flex;flex-direction:column}
.mobile-menu li{opacity:0;transform:translateY(14px);transition:opacity .4s ease,transform .4s cubic-bezier(.19,1,.22,1)}
.mobile-menu.open li{opacity:1;transform:none}
.mobile-menu.open li:nth-child(1){transition-delay:.06s}
.mobile-menu.open li:nth-child(2){transition-delay:.12s}
.mobile-menu.open li:nth-child(3){transition-delay:.18s}
.mobile-menu.open li:nth-child(4){transition-delay:.24s}
.mobile-menu.open li:nth-child(5){transition-delay:.3s}
.mobile-menu.open li:nth-child(6){transition-delay:.36s}
.mobile-menu ul a{display:flex;align-items:baseline;gap:18px;font-family:var(--display);font-size:clamp(34px,9vw,52px);font-weight:500;padding:14px 0;border-bottom:1px solid var(--line)}
.mobile-menu ul a i{font-family:var(--body);font-style:normal;font-size:11px;font-weight:500;letter-spacing:.24em;color:var(--bronze-deep)}
.mobile-menu .mobile-foot{margin-top:44px;font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--stone)}
body.menu-open{overflow:hidden}

/* ---------- Knapper (offentlige sider) ---------- */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;
  padding:18px 34px;transition:all .3s ease;
}
.btn-dark{background:var(--ink);color:var(--ivory)}
.btn-dark:hover{background:var(--bronze-deep)}
.btn-line{border:1px solid var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--ivory)}

/* ---------- Reveal on scroll (brukes av forside + arkiv) ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.19,1,.22,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none}
}

/* ---------- Footer ---------- */
.footer{
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  padding:34px var(--pad);border-top:1px solid var(--line);
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);
}
.footer a:hover{color:var(--bronze-deep)}
