@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;1,400&family=Outfit:wght@300;400;500&display=swap');

/* ---------- Token og grunnstil ---------- */
.nce{
  --nce-fjord: #294F5F;       /* logoens petrol */
  --nce-fjord-dyp: #1E3D4A;
  --nce-natt: #142A33;        /* måneskinnsfjorden */
  --nce-sno: #F4F7F7;         /* kald snøhvit */
  --nce-hvit: #FFFFFF;
  --nce-blekk: #13232A;
  --nce-grafitt: #4A5D64;
  --nce-linje: #C9D6D9;
  --nce-is: #DCE8EA;
  --nce-taake: #9FB9BF;
  --nce-drakt: #B83A22;       /* redningsdrakt-oransje */
  --nce-drakt-mork: #A93A1E;
  --nce-drakt-lys: #F08A6B;
  --nce-fokus: var(--nce-drakt);
  --nce-tekst: var(--nce-blekk);
  --nce-dempet: var(--nce-grafitt);
  --nce-lenke: var(--nce-fjord);
  --nce-display: "Outfit", "Segoe UI", system-ui, sans-serif;
  --nce-brod: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
  --nce-ramme: 1240px;
  --nce-luft: clamp(16px, 4vw, 48px);
  --nce-seksjon: clamp(64px, 9vw, 128px);

  font-family: var(--nce-brod);
  font-size: 1.0625rem;
  line-height: 1.6;
  font-weight: 400;
  color: var(--nce-tekst);
  background: var(--nce-sno);
  -webkit-font-smoothing: antialiased;
  text-align: start;
}
.nce,.nce *,.nce *::before,.nce *::after{ box-sizing: border-box; }

/* Skjold mot kundens nakne elementregler */
.nce:where(header,section,footer,main,a){ margin: 0; padding: 0; border: 0; box-shadow: none; max-width: none; float: none; }
.nce :where(h1,h2,h3,h4,h5,h6):not(#nce-skjold):not(#nce-skjold){ color: inherit; text-transform: none; text-align: inherit; background: none; border: 0; padding: 0; margin: 0; overflow-wrap: normal; }
.nce :where(figcaption,address,summary,blockquote){ font: inherit; color: inherit; text-transform: none; letter-spacing: inherit; }
.nce :where(img,svg,video){ border: 0; box-shadow: none; border-radius: 0; padding: 0; background: none; max-width: 100%; }
.nce :where(a){ background: none; border: 0; box-shadow: none; }
.nce :where(figure,blockquote,address){ margin: 0; }
.nce :where(img,video){ display: block; height: auto; }
.nce :where(address){ font-style: normal; }
.nce :where(button){ font: inherit; }

/* Grunnstil */
.nce :where(h1,h2,h3):not(#nce-skjold):not(#nce-skjold){ font-family: var(--nce-display); font-weight: 300; line-height: 1.08; letter-spacing: -0.015em; text-wrap: balance; }
.nce :where(h2):not(#nce-skjold):not(#nce-skjold){ font-size: clamp(2rem, 1.3rem + 2.6vw, 3.25rem); }
.nce :where(h3):not(#nce-skjold):not(#nce-skjold){ font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem); font-weight: 400; line-height: 1.25; letter-spacing: -0.005em; }
.nce :where(a){ color: var(--nce-lenke); text-decoration-thickness: 1px; text-underline-offset: .2em; }
.nce :where(a:hover){ text-decoration-thickness: 2px; }
/* CMS-skjold: ID-løftet :not(#nce-skjold):not(#nce-skjold) (2,0,0) slår publiseringsløsningens stiler for lister, tabeller
   og avsnitt i tekstblokker. Alle regler som treffer disse elementene har samme løft (se CLAUDE.md). */
.nce :where(ul,ol):not(#nce-skjold):not(#nce-skjold){margin:0;padding:0;padding-inline-start:0 !important;list-style:none !important;text-align:inherit;text-indent:0}
.nce :where(li):not(#nce-skjold):not(#nce-skjold){display:block;margin:0;padding:0;list-style:none !important;font:inherit;color:inherit;text-transform:none;letter-spacing:inherit;text-indent:0;background:none;border:0}
.nce :where(li):not(#nce-skjold):not(#nce-skjold)::marker{content:none}
.nce :where(p):not(#nce-skjold):not(#nce-skjold){margin:0;padding:0;font:inherit;color:inherit;text-transform:none;letter-spacing:inherit;text-indent:0;position:static;width:auto;background:none;border:0}
.nce :where(table):not(#nce-skjold):not(#nce-skjold){border-collapse:collapse;border-spacing:0;border:0;background:none;box-shadow:none;margin:0;width:100%;max-width:none;overflow:visible}
.nce :where(thead,tbody,tfoot,tr):not(#nce-skjold):not(#nce-skjold){background:none;border:0;box-shadow:none;font:inherit;color:inherit}
.nce :where(td,th):not(#nce-skjold):not(#nce-skjold){border:0;padding:0;background:none;box-shadow:none;font:inherit;color:inherit;vertical-align:top;text-align:inherit;width:auto;word-break:normal}
.nce :where(caption):not(#nce-skjold):not(#nce-skjold){font:inherit;color:inherit;text-align:inherit;padding:0;margin:0}
.nce :where(a,button,summary):focus-visible{ outline: 3px solid var(--nce-fokus); outline-offset: 3px; border-radius: 2px; }
.nce :where(strong,b){ font-weight: 600; }

/* Mørke flater får lys tekst og lys fokus */
.nce-mork{
  --nce-tekst: var(--nce-is);
  --nce-dempet: var(--nce-taake);
  --nce-lenke: var(--nce-hvit);
  --nce-fokus: var(--nce-drakt-lys);
  color: var(--nce-tekst);
  background: var(--nce-natt);
}

/* ---------- Felles byggeklosser ---------- */
.nce-ramme{ width: 100%; max-width: var(--nce-ramme); margin-inline: auto; padding-inline: var(--nce-luft); }
.nce-ingress:not(#nce-skjold):not(#nce-skjold){ font-size: clamp(1.125rem, 1rem + .45vw, 1.3125rem); line-height: 1.55; max-width: 38em; }
.nce-dempet:not(#nce-skjold):not(#nce-skjold){ color: var(--nce-dempet); }
.nce-knapp{
  display: inline-flex; align-items: center; gap: .6em;
  min-height: 48px; padding: .7em 1.35em;
  font-family: var(--nce-brod); font-weight: 600; font-size: 1rem; line-height: 1.2;
  color: var(--nce-hvit); background: var(--nce-drakt);
  border: 2px solid var(--nce-drakt); border-radius: 4px;
  text-decoration: none; cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease;
}
.nce-knapp:hover{ background: var(--nce-drakt-mork); border-color: var(--nce-drakt-mork); }
.nce-knapp-strek{ color: var(--nce-lenke); background: transparent; border-color: currentColor; }
.nce-knapp-strek:hover{ background: rgba(255,255,255,.1); border-color: currentColor; }
.nce-knapp svg{ width: 20px; height: 20px; flex: none; }
.nce-ikon{ width: 22px; height: 22px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- Hopp-lenke ---------- */
.nce-hopp{
  position: absolute; left: 16px; top: -100px; z-index: 100;
  padding: 12px 18px; background: var(--nce-hvit); color: var(--nce-fjord);
  font-family: var(--nce-brod); font-weight: 600; text-decoration: none; border-radius: 4px;
}
.nce-hopp:focus{ top: 16px; }

/* ---------- Header ---------- */
.nce-topp{ background: var(--nce-fjord); color: var(--nce-hvit); position: relative; z-index: 10; }
.nce-topp-indre{ display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 32px; padding-block: 14px; }
.nce-logo{ display: block; flex: none; }
.nce-logo img{ width: clamp(180px, 22vw, 240px); }
.nce-nav{ flex-basis: 100%; }
.nce-nav ul:not(#nce-skjold):not(#nce-skjold){ display: flex; flex-wrap: wrap; gap: 0 20px; white-space: nowrap; }
.nce-nav a{
  display: block; padding-block: 10px; color: var(--nce-hvit); text-decoration: none;
  font-size: .9375rem; font-weight: 500; border-bottom: 2px solid transparent;
}
.nce-nav a:hover{ border-bottom-color: var(--nce-drakt-lys); }
.nce-topp :where(a):focus-visible{ outline-color: var(--nce-drakt-lys); }
@media (min-width: 1000px) {
  .nce-nav{ flex-basis: auto; }
  .nce-topp-indre{ flex-wrap: nowrap; padding-block: 20px; }
}

/* ---------- Hero med film ---------- */
.nce-hero{
  position: relative; isolation: isolate; overflow: hidden;
  min-height: clamp(560px, 88svh, 900px);
  display: flex; flex-direction: column; justify-content: flex-end;
  color: var(--nce-hvit); background: var(--nce-natt);
}
.nce-hero-film,.nce-hero-film video{
  position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%;
  object-fit: cover; object-position: 58% 50%;
}
.nce-hero::before{
  content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(to top, rgba(20,42,51,.92) 0%, rgba(20,42,51,.55) 38%, rgba(20,42,51,.1) 70%),
    linear-gradient(to right, rgba(20,42,51,.55) 0%, rgba(20,42,51,0) 60%);
}
.nce-hero-innhold{ padding-block: clamp(120px, 20vh, 220px) clamp(28px, 5vw, 56px); }
.nce-hero h1:not(#nce-skjold):not(#nce-skjold){
  font-size: clamp(2.5rem, 1.2rem + 5.4vw, 5.25rem);
  font-weight: 300; line-height: 1.02; letter-spacing: -0.025em;
  max-width: 13em;
}
.nce-hero .nce-ingress:not(#nce-skjold):not(#nce-skjold){ margin-top: clamp(18px, 2.4vw, 28px); color: var(--nce-is); max-width: 34em; }
.nce-hero-handling{ display: flex; flex-wrap: wrap; gap: 12px 16px; margin-top: clamp(24px, 3vw, 36px); }
.nce-hero-bunn{
  display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 16px 24px;
  border-top: 1px solid rgba(220,232,234,.28);
  padding-block: 18px 22px;
}
.nce-nytt:not(#nce-skjold):not(#nce-skjold){ display: grid; gap: 2px; max-width: 40em; }
.nce-nytt small{ font-size: .875rem; color: var(--nce-taake); }
.nce-nytt a{ color: var(--nce-hvit); font-family: var(--nce-display); font-size: clamp(1.125rem, 1rem + .5vw, 1.375rem); font-weight: 400; line-height: 1.3; }
.nce-pause{
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 14px;
  color: var(--nce-hvit); background: rgba(20,42,51,.55); border: 1px solid rgba(220,232,234,.5); border-radius: 4px;
  font-size: .875rem; cursor: pointer;
}
.nce-pause[hidden]{ display: none; }
.nce-pause-tekst{ font-weight: 500; }
.nce-pause:hover{ background: rgba(20,42,51,.85); }
.nce-pause:focus-visible{ outline: 3px solid var(--nce-drakt-lys); outline-offset: 3px; }
.nce-pause svg{ width: 18px; height: 18px; fill: currentColor; }
.nce-pause .nce-ikon-spill{ display: none; }
.nce-pause[aria-pressed="true"] .nce-ikon-spill{ display: block; }
.nce-pause[aria-pressed="true"] .nce-ikon-pause{ display: none; }
@media (max-width: 560px) {
  .nce-hero-bunn{ grid-template-columns: 1fr; }
}

/* ---------- Om oss + merdrekka ---------- */
.nce-om{ padding-block: var(--nce-seksjon); }
.nce-om-topp{ display: grid; gap: clamp(28px, 4vw, 64px); align-items: start; }
.nce-om-tekst p + p:not(#nce-skjold):not(#nce-skjold){ margin-top: 1em; }
.nce-om-tekst h2:not(#nce-skjold):not(#nce-skjold){ margin-bottom: clamp(20px, 2.4vw, 32px); }
.nce-om-bilde{ margin: 0; }
.nce-om-bilde img{ width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: 50% 40%; }
.nce-om-bilde figcaption{ margin-top: 10px; font-size: .875rem; color: var(--nce-dempet); }
@media (min-width: 900px) {
  .nce-om-topp{ grid-template-columns: 5fr 6fr; }
  .nce-om-bilde{ margin-top: 12px; }
  .nce-om-bilde img{ aspect-ratio: 4 / 3; }
}

.nce-drekke-tittel:not(#nce-skjold):not(#nce-skjold){ margin-top: clamp(64px, 8vw, 112px); }
.nce-merdrekke:not(#nce-skjold):not(#nce-skjold){
  --nce-ring: 64px;
  position: relative; display: grid; gap: 28px;
  margin-top: clamp(28px, 3vw, 40px);
}
/* fortøyningslina som binder merdene sammen */
.nce-merdrekke:not(#nce-skjold):not(#nce-skjold)::before{
  content: ""; position: absolute; z-index: 0;
  left: calc(var(--nce-ring) / 2 - 1px); top: calc(var(--nce-ring) / 2); bottom: calc(var(--nce-ring) / 2);
  width: 2px; background: var(--nce-fjord);
}
.nce-merdrekke li:not(#nce-skjold):not(#nce-skjold){
  position: relative; z-index: 1;
  display: grid; grid-template-columns: var(--nce-ring) 1fr; column-gap: 20px; align-items: center;
  min-height: var(--nce-ring);
  align-content: start;
}
/* merden: flyteringen tegnet som to rør */
.nce-merdrekke li:not(#nce-skjold):not(#nce-skjold)::before{
  content: ""; grid-row: 1 / span 2; align-self: start;
  width: var(--nce-ring); height: var(--nce-ring); border-radius: 50%;
  background: var(--nce-sno);
  border: 2px solid var(--nce-fjord);
  box-shadow: inset 0 0 0 6px var(--nce-sno), inset 0 0 0 8px var(--nce-fjord);
}
.nce-merdrekke li:last-child:not(#nce-skjold):not(#nce-skjold)::before{ background: var(--nce-fjord); box-shadow: inset 0 0 0 6px var(--nce-sno), inset 0 0 0 8px var(--nce-fjord); }
.nce-aar{ display: block; font-family: var(--nce-display); font-size: 1.5rem; font-weight: 400; line-height: 1.1; color: var(--nce-fjord); align-self: end; }
.nce-merdrekke p:not(#nce-skjold):not(#nce-skjold){ color: var(--nce-dempet); font-size: .9688rem; line-height: 1.5; max-width: 22em; align-self: start; }
@media (min-width: 900px) {
  .nce-merdrekke:not(#nce-skjold):not(#nce-skjold){ --nce-ring: 76px; grid-template-columns: repeat(6, 1fr); gap: 24px; }
  .nce-merdrekke:not(#nce-skjold):not(#nce-skjold)::before{ left: calc(var(--nce-ring) / 2); right: calc(100% / 6 - 20px - var(--nce-ring) / 2); top: calc(var(--nce-ring) / 2 - 1px); bottom: auto; width: auto; height: 2px; }
  .nce-merdrekke li:not(#nce-skjold):not(#nce-skjold){ grid-template-columns: 1fr; align-items: start; row-gap: 14px; }
  .nce-merdrekke li:not(#nce-skjold):not(#nce-skjold)::before{ grid-row: auto; }
  .nce-aar{ align-self: start; margin-top: 6px; }
}

/* ---------- Fagforum ---------- */
.nce-fag{ padding-block: var(--nce-seksjon); background: var(--nce-hvit); border-block: 1px solid var(--nce-linje); }
.nce-fag-indre{ display: grid; gap: clamp(36px, 5vw, 72px); }
.nce-fag-intro p:not(#nce-skjold):not(#nce-skjold){ margin-top: 1em; max-width: 34em; }
.nce-fag-intro h2:not(#nce-skjold):not(#nce-skjold){ max-width: 12em; }
.nce-fora:not(#nce-skjold):not(#nce-skjold){ border-top: 1px solid var(--nce-linje); }
.nce-fora li:not(#nce-skjold):not(#nce-skjold){ border-bottom: 1px solid var(--nce-linje); }
.nce-fora a{
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 18px 2px; text-decoration: none; color: var(--nce-blekk);
  font-family: var(--nce-display); font-size: clamp(1.1875rem, 1.05rem + .5vw, 1.5rem); font-weight: 400; line-height: 1.25;
}
.nce-fora a::after{
  content: ""; flex: none; width: 22px; height: 22px; border-radius: 50%;
  border: 2px solid var(--nce-fjord); box-shadow: inset 0 0 0 3px var(--nce-hvit), inset 0 0 0 5px var(--nce-fjord);
  transition: background-color .15s ease;
}
.nce-fora a:hover{ color: var(--nce-fjord); }
.nce-fora a:hover::after{ background: var(--nce-fjord); }
.nce-fora-navn{ font-weight: inherit; }
.nce-fora small{ display: block; font-family: var(--nce-brod); font-size: .9375rem; color: var(--nce-grafitt); margin-top: 4px; line-height: 1.45; }
.nce-omrader-tittel:not(#nce-skjold):not(#nce-skjold){ margin-top: clamp(36px, 4vw, 48px); font-size: 1rem; font-family: var(--nce-brod); font-weight: 600; letter-spacing: 0; }
.nce-omrader:not(#nce-skjold):not(#nce-skjold){ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.nce-omrader li:not(#nce-skjold):not(#nce-skjold){ padding: 6px 12px; border: 1px solid var(--nce-linje); border-radius: 4px; font-size: .9375rem; background: var(--nce-sno); }
@media (min-width: 900px) {
  .nce-fag-indre{ grid-template-columns: 5fr 7fr; }
}

/* ---------- Marin Overvåking ---------- */
.nce-overvak{ padding-block: var(--nce-seksjon); }
.nce-overvak-indre{ display: grid; gap: clamp(36px, 5vw, 72px); align-items: start; }
.nce-overvak .nce-ingress:not(#nce-skjold):not(#nce-skjold){ margin-top: 20px; color: var(--nce-is); }
.nce-overvak-bilde img{ width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.nce-overvak-bilde figcaption{ margin-top: 10px; font-size: .875rem; color: var(--nce-taake); }
.nce-maal:not(#nce-skjold):not(#nce-skjold){ display: grid; grid-template-columns: repeat(2, 1fr); margin-top: clamp(32px, 4vw, 48px); border-top: 1px solid rgba(220,232,234,.25); }
.nce-maal > li:not(#nce-skjold):not(#nce-skjold){ display: flex; flex-direction: column; padding: 18px 16px 18px 0; border-bottom: 1px solid rgba(220,232,234,.25); }
.nce-maal strong{ font-family: var(--nce-display); font-weight: 300; font-size: clamp(2.25rem, 1.8rem + 1.2vw, 3rem); white-space: nowrap; line-height: 1; color: var(--nce-hvit); margin-bottom: 8px; font-variant-numeric: tabular-nums; }
.nce-maal small{ font-size: .9375rem; color: var(--nce-taake); line-height: 1.4; }
.nce-funn:not(#nce-skjold):not(#nce-skjold){
  margin-top: clamp(32px, 4vw, 48px); padding-left: 20px; border-left: 3px solid var(--nce-drakt-lys);
  font-family: var(--nce-display); font-size: clamp(1.1875rem, 1.05rem + .55vw, 1.5rem); font-weight: 300; line-height: 1.4; color: var(--nce-hvit);
  max-width: 32em;
}
.nce-overvak-kilde:not(#nce-skjold):not(#nce-skjold){ margin-top: 18px; font-size: .9375rem; color: var(--nce-taake); max-width: 40em; }
.nce-overvak-lenke:not(#nce-skjold):not(#nce-skjold){ margin-top: 24px; }
@media (min-width: 900px) {
  .nce-overvak-indre{ grid-template-columns: 6fr 5fr; }
  .nce-overvak-bilde{ position: sticky; top: 32px; }
  .nce-overvak-bilde img{ aspect-ratio: 4 / 5; }
}
@media (min-width: 560px) and (max-width: 899px), (min-width: 1200px) {
  .nce-maal:not(#nce-skjold):not(#nce-skjold){ grid-template-columns: repeat(4, auto); column-gap: 8px; }
}

/* ---------- Prosjekter + Katapult ---------- */
.nce-prosj{ padding-block: var(--nce-seksjon); }
.nce-prosj-indre{ display: grid; gap: clamp(48px, 6vw, 88px); }
.nce-prosj h2:not(#nce-skjold):not(#nce-skjold){ margin-bottom: clamp(20px, 3vw, 32px); }
.nce-prosjekter:not(#nce-skjold):not(#nce-skjold){ counter-reset: none; border-top: 1px solid var(--nce-linje); }
.nce-prosjekter li:not(#nce-skjold):not(#nce-skjold){ padding-block: 20px; border-bottom: 1px solid var(--nce-linje); }
.nce-prosjekter h3:not(#nce-skjold):not(#nce-skjold){ font-size: clamp(1.125rem, 1.05rem + .3vw, 1.3125rem); }
.nce-prosjekter h3 a{ color: var(--nce-blekk); text-decoration: none; }
.nce-prosjekter h3 a:hover{ color: var(--nce-fjord); text-decoration: underline; }
.nce-prosjekter p:not(#nce-skjold):not(#nce-skjold){ margin-top: 8px; color: var(--nce-grafitt); font-size: .9688rem; max-width: 40em; }
.nce-merke{ display: inline-block; margin-top: 10px; padding: 2px 8px; border-radius: 3px; font-size: .8125rem; font-weight: 600; color: var(--nce-fjord); background: rgba(41,79,95,.1); }
.nce-katapult{ background: var(--nce-hvit); border: 1px solid var(--nce-linje); }
.nce-katapult img{ width: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: 50% 30%; }
.nce-katapult-tekst{ padding: clamp(22px, 3vw, 36px); }
.nce-katapult-tekst > small{ display: block; font-size: .875rem; color: var(--nce-grafitt); }
.nce-katapult-tekst h3:not(#nce-skjold):not(#nce-skjold){ margin-top: 4px; font-size: clamp(1.5rem, 1.25rem + .8vw, 2rem); font-weight: 300; }
.nce-katapult-tekst p:not(#nce-skjold):not(#nce-skjold){ margin-top: 14px; font-size: 1rem; }
.nce-katapult-tekst .nce-knapp{ margin-top: 24px; }
.nce-katapult-kontakt:not(#nce-skjold):not(#nce-skjold){ margin-top: 14px; font-size: .9375rem; color: var(--nce-grafitt); }
@media (min-width: 900px) {
  .nce-prosj-indre{ grid-template-columns: 7fr 5fr; align-items: start; }
}

/* ---------- Aktuelt ---------- */
.nce-aktuelt{ padding-block: var(--nce-seksjon); background: var(--nce-hvit); border-top: 1px solid var(--nce-linje); }
.nce-aktuelt-topp{ display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px 24px; margin-bottom: clamp(28px, 4vw, 44px); }
.nce-saker:not(#nce-skjold):not(#nce-skjold){ display: grid; gap: 0; border-top: 2px solid var(--nce-fjord); }
.nce-saker li:not(#nce-skjold):not(#nce-skjold){ border-bottom: 1px solid var(--nce-linje); }
.nce-saker article{ padding-block: 22px; }
.nce-saker h3 a{ color: var(--nce-blekk); text-decoration: none; }
.nce-saker h3 a:hover{ color: var(--nce-fjord); text-decoration: underline; }
.nce-saker p:not(#nce-skjold):not(#nce-skjold){ margin-top: 8px; color: var(--nce-grafitt); font-size: .9688rem; max-width: 46em; }
.nce-saker li:first-child h3:not(#nce-skjold):not(#nce-skjold){ font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem); font-weight: 300; }
.nce-saker li:first-child p:not(#nce-skjold):not(#nce-skjold){ font-size: 1.0625rem; color: var(--nce-blekk); }
@media (min-width: 900px) {
  .nce-saker:not(#nce-skjold):not(#nce-skjold){ grid-template-columns: 1fr 1fr; column-gap: 48px; }
  .nce-saker li:first-child:not(#nce-skjold):not(#nce-skjold){ grid-column: 1 / -1; }
}

/* ---------- Partnere ---------- */
.nce-partnere{ padding-block: var(--nce-seksjon); background: var(--nce-fjord); }
.nce-partnere-indre{ display: grid; gap: clamp(36px, 5vw, 64px); align-items: start; }
.nce-partnere .nce-ingress:not(#nce-skjold):not(#nce-skjold){ margin-top: 20px; color: var(--nce-is); }
.nce-rosett{ width: min(100%, 420px); aspect-ratio: 1; color: var(--nce-is); opacity: .9; }
.nce-rosett circle{ fill: none; stroke: currentColor; stroke-width: .9; }
.nce-partnerliste:not(#nce-skjold):not(#nce-skjold){ display: grid; grid-template-columns: 1fr; border-top: 1px solid rgba(220,232,234,.3); }
.nce-partnerliste li:not(#nce-skjold):not(#nce-skjold){ border-bottom: 1px solid rgba(220,232,234,.3); padding: 14px 0; }
.nce-partnerliste a{ color: var(--nce-hvit); text-decoration: none; font-family: var(--nce-display); font-size: 1.25rem; font-weight: 400; line-height: 1.25; }
.nce-partnerliste a:hover{ text-decoration: underline; }
.nce-partnerliste small{ display: block; margin-top: 2px; font-size: .875rem; color: var(--nce-taake); }
.nce-partnere.nce-mork{ background: var(--nce-fjord); }
@media (min-width: 640px) {
  .nce-partnerliste:not(#nce-skjold):not(#nce-skjold){ grid-template-columns: 1fr 1fr; column-gap: 32px; }
}
@media (min-width: 1000px) {
  .nce-partnere-indre{ grid-template-columns: 4fr 7fr; }
  .nce-partnere-venstre{ position: sticky; top: 32px; }
  .nce-rosett{ margin-top: 40px; }
}

/* ---------- Kontakt ---------- */
.nce-kontakt{ padding-block: var(--nce-seksjon); }
.nce-kontakt h2:not(#nce-skjold):not(#nce-skjold){ max-width: 14em; }
.nce-kontakt .nce-ingress:not(#nce-skjold):not(#nce-skjold){ margin-top: 16px; }
.nce-folk{ display: grid; gap: 0; margin-top: clamp(32px, 4vw, 48px); border-top: 2px solid var(--nce-fjord); }
.nce-person{ padding-block: 24px; border-bottom: 1px solid var(--nce-linje); }
.nce-person small{ display: block; font-size: .875rem; color: var(--nce-grafitt); }
.nce-person h3:not(#nce-skjold):not(#nce-skjold){ margin-top: 2px; }
.nce-person ul:not(#nce-skjold):not(#nce-skjold){ margin-top: 12px; display: grid; gap: 6px; }
.nce-person a,.nce-adresse a{ display: inline-flex; align-items: center; gap: 10px; min-height: 32px; font-variant-numeric: tabular-nums; }
.nce-adresse{ margin-top: clamp(32px, 4vw, 48px); display: grid; gap: 20px; }
.nce-adresse h3:not(#nce-skjold):not(#nce-skjold){ font-size: 1rem; font-family: var(--nce-brod); font-weight: 600; letter-spacing: 0; }
.nce-adresse address{ margin-top: 6px; }
@media (min-width: 900px) {
  .nce-folk{ grid-template-columns: repeat(3, 1fr); column-gap: 32px; }
  .nce-adresse{ grid-template-columns: repeat(3, 1fr); column-gap: 32px; }
}

/* ---------- Footer ---------- */
.nce-bunn{ padding-block: clamp(40px, 5vw, 64px) 32px; font-size: .9375rem; }
.nce-bunn-indre{ display: grid; gap: 28px; }
.nce-bunn img{ width: 220px; }
.nce-bunn ul:not(#nce-skjold):not(#nce-skjold){ display: flex; flex-wrap: wrap; gap: 8px 22px; }
.nce-bunn a{ color: var(--nce-is); }
.nce-sosialt a{ display: inline-flex; align-items: center; gap: 8px; min-height: 44px; }
.nce-bunn-liten{ padding-top: 20px; border-top: 1px solid rgba(220,232,234,.2); color: var(--nce-taake); font-size: .875rem; }
@media (min-width: 900px) {
  .nce-bunn-indre{ grid-template-columns: auto 1fr auto; align-items: center; gap: 40px; }
  .nce-bunn-liten{ grid-column: 1 / -1; }
}

/* ---------- Bevegelse ---------- */
@media (prefers-reduced-motion: reduce) {
  .nce *,.nce *::before,.nce *::after{ transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ── WIPS-tilpasning (bare på WIPS-siden, ikke i utkastet) ─────────────
   Blokker som inneholder en av våre seksjoner går kant i kant: WIPS sin luft rundt
   tekstblokker (padding 20px !important, marger på omslagene) nulles. */
.tf-block:has(.nce):not(#nce-skjold):not(#nce-skjold):not(#nce-skjold),
.tf-block:has(.nce) :not(.nce,.nce *):not(#nce-skjold):not(#nce-skjold):not(#nce-skjold){padding:0 !important;margin:0 !important}
