/* ===== Generic page layout ===== */
.page-main{background:var(--paper);padding:64px 0 96px;min-height:50vh}

.ov-intro{max-width:780px;margin:0 auto 56px;text-align:center}
.ov-intro p{font-family:"Source Serif 4",Georgia,serif;font-size:1.2rem;line-height:1.65;color:var(--ink-2)}

/* ===== Behandlinger overview grid ===== */
.ov-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.ov-card{
  display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  text-decoration:none;color:inherit;
  transition:transform .25s,box-shadow .25s,border-color .25s;
  box-shadow:var(--shadow);
}
.ov-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(10,20,48,.08);border-color:var(--brand)}
.ov-thumb{
  aspect-ratio:16/10;background:#fff;
  display:flex;align-items:center;justify-content:center;padding:14px;
  border-bottom:1px solid var(--line);overflow:hidden;position:relative;
}
.ov-thumb img{
  max-width:100%;max-height:100%;object-fit:contain;
  transition:transform .35s;
  mix-blend-mode:multiply;
  filter:contrast(1.08) saturate(1.05) brightness(1.04);
}
/* radial mask: fades the wood / dark edges to white */
.ov-thumb::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 60% at center,transparent 0%,rgba(255,255,255,.5) 55%,rgba(255,255,255,.95) 80%,#fff 100%);
}
.ov-card:hover .ov-thumb img{transform:scale(1.04)}
.ov-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.ov-num{font-size:.7rem;letter-spacing:.16em;color:var(--muted);font-weight:700}
.ov-body h3{font-size:1.25rem;line-height:1.2;margin-bottom:4px}
.ov-body p{font-size:.95rem;color:var(--ink-2);line-height:1.55;margin:0;flex:1}
.ov-spec{font-size:.78rem;color:var(--brand);font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-top:6px}
.ov-arrow{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-weight:600;font-size:.9rem;margin-top:12px;padding-top:14px;border-top:1px solid var(--line)}
.ov-arrow svg{width:16px;height:16px;transition:transform .25s}
.ov-card:hover .ov-arrow svg{transform:translateX(4px)}

@media (max-width:1024px){.ov-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.ov-grid{grid-template-columns:1fr}}

/* ===== Rich split (text + media) ===== */
.rich{
  display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;
  margin-bottom:64px;
}
.rich-text .eyebrow{display:inline-block;margin-bottom:14px}
.rich-text h2{font-size:2.1rem;line-height:1.1;margin-bottom:20px}
.rich-text .lead{font-family:"Source Serif 4",Georgia,serif;font-size:1.15rem;line-height:1.6;color:var(--ink-2);margin-bottom:18px}
.rich-text p{font-size:1rem;color:var(--ink-2);line-height:1.65;margin-bottom:14px}
.rich-media{border-radius:14px;overflow:hidden;box-shadow:var(--shadow);background:#fff;border:1px solid var(--line)}
.rich-media img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:5/4}

@media (max-width:880px){.rich{grid-template-columns:1fr;gap:32px}}

/* ===== Capability / std grid ===== */
.cap-grid,.std-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.cap,.std{padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.cap-grid .cap:nth-child(4n),.std-grid .std:nth-child(4n){border-right:0}
.cap-grid .cap:nth-last-child(-n+4),.std-grid .std:nth-last-child(-n+4){border-bottom:0}
.cap h4,.std .std-tag{font-size:1rem;margin-bottom:8px;color:var(--brand-deep);font-weight:700}
.cap p,.std p{font-size:.9rem;color:var(--ink-2);line-height:1.5;margin:0}
.std .std-tag{font-family:"Source Serif 4",Georgia,serif;font-size:.92rem;letter-spacing:.02em}

@media (max-width:880px){.cap-grid,.std-grid{grid-template-columns:repeat(2,1fr)}.cap-grid .cap:nth-child(2n),.std-grid .std:nth-child(2n){border-right:0}.cap-grid .cap:nth-child(2n+1),.std-grid .std:nth-child(2n+1){border-right:1px solid var(--line)}}

/* ===== Number row ===== */
.num-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--shadow);margin-top:32px}
.numblk{padding:32px 24px;text-align:center;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.numblk:last-child{border-right:0}
.numblk .big{font-family:"Source Serif 4",Georgia,serif;font-size:2.4rem;font-weight:700;color:var(--brand-deep);line-height:1}
.numblk .cap{font-size:.78rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-weight:600}

@media (max-width:640px){.num-row{grid-template-columns:repeat(2,1fr)}.numblk:nth-child(2){border-right:0}}

/* ===== Category cards (Miljø, Kontakt subpages) ===== */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cat-card{
  display:flex;flex-direction:column;gap:8px;
  background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:24px 26px;text-decoration:none;color:inherit;
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.cat-card:hover{transform:translateY(-2px);border-color:var(--brand);box-shadow:0 10px 24px rgba(10,20,48,.06)}
.cat-card h3{font-size:1.15rem;margin:0}
.cat-card p{font-size:.92rem;color:var(--ink-2);line-height:1.55;margin:0;flex:1}
.cat-arrow{font-size:.85rem;color:var(--brand);font-weight:600;margin-top:10px}

@media (max-width:880px){.cat-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.cat-grid{grid-template-columns:1fr}}

/* ===== Article (long-form sub page) ===== */
.article{max-width:760px;margin:0 auto}
.article p{font-size:1.05rem;line-height:1.7;color:var(--ink-2);margin-bottom:18px}
.article p:first-of-type{font-family:"Source Serif 4",Georgia,serif;font-size:1.2rem;color:var(--ink)}
.article h3{font-size:1.4rem;margin:32px 0 14px}
.article-cta{
  margin-top:64px;padding:48px 52px;
  background:linear-gradient(135deg,#0e2447 0%,#1a3567 60%,#243f7a 100%) !important;
  color:#fff !important;
  border-radius:16px;position:relative;overflow:hidden;
  display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;
  box-shadow:0 24px 60px -24px rgba(14,36,71,.55);
  border:1px solid rgba(201,169,106,.2);
}
.article-cta::after{
  content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;
  background:radial-gradient(circle,rgba(201,169,106,.22) 0%,transparent 70%);
  border-radius:50%;pointer-events:none;
}
.article-cta h3{
  font-size:1.5rem;margin:0 0 10px !important;color:#fff !important;
  font-family:"Source Serif 4",Georgia,serif;font-weight:600;
  letter-spacing:-.01em;line-height:1.25;
  position:relative;
}
.article-cta p{
  font-size:1rem !important;color:rgba(255,255,255,.85) !important;
  margin:0 !important;line-height:1.6;
  font-family:"Inter",sans-serif !important;
  position:relative;
}
.article-cta .cta{
  align-self:center;justify-self:start;position:relative;white-space:nowrap;
  background:#c9a96a;color:#0e2447;border:none;
  padding:13px 26px;font-weight:600;font-size:.92rem;
  display:inline-flex;align-items:center;gap:8px;
  border-radius:8px;text-decoration:none;
  transition:transform .15s, background .15s;
}
.article-cta .cta:hover{background:#d4b87a;transform:translateY(-1px);color:#0e2447}
.article-cta .cta svg{width:16px;height:16px;stroke:#0e2447}

@media (max-width:640px){.article-cta{grid-template-columns:1fr;padding:28px 24px;gap:20px}}

/* ===== Kontakt grid ===== */
.kontakt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}
.kbox{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow)}
.kbox h3{font-size:1rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-bottom:6px}
.big-link{font-family:"Source Serif 4",Georgia,serif;font-size:1.4rem;color:var(--brand-deep);text-decoration:none;font-weight:600;line-height:1.2}
.big-link:hover{color:var(--brand);text-decoration:underline}
.big-addr{font-family:"Source Serif 4",Georgia,serif;font-size:1.2rem;color:var(--ink);line-height:1.4;font-weight:600;margin:0}
.kbox p{font-size:.88rem;color:var(--muted);line-height:1.5;margin:0}

@media (max-width:880px){.kontakt-grid{grid-template-columns:1fr}}

.section-layout .section-content .article{max-width:none;margin:0}
.section-layout .section-content .article p:first-of-type{font-family:inherit;font-size:1rem;color:var(--ink-2)}

/* ===== Section layout (Miljø/Kontakt sidebar pages) ===== */
.section-layout{
  display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:start;
}
.section-layout .side-nav{position:sticky;top:24px}
@media (max-width:760px){
  .section-layout{grid-template-columns:1fr;gap:24px}
  .section-layout .side-nav{position:static}
}
