
/* Social tiles — grey rounded squares */
.se-soc,.se-contact-icons{display:inline-flex!important;gap:14px!important;align-items:center!important;flex-wrap:wrap;justify-content:center}
.se-soc a,.se-contact-icons .se-tip{
  position:relative;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:60px!important;height:60px!important;min-width:60px!important;min-height:60px!important;
  background:#999!important;border-radius:12px!important;opacity:1!important;box-sizing:border-box;
  color:#fff!important;text-decoration:none!important;
}
.se-soc a:hover,.se-contact-icons .se-tip:hover{background:#888!important}
.se-soc svg,.se-contact-icons .se-tip svg{width:28px!important;height:28px!important;fill:#fff!important;display:block}
.top .se-soc,.ph-head .se-soc,header .se-soc{gap:10px!important}
.top .se-soc a,.ph-head .se-soc a,header .se-soc a{
  width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;border-radius:8px!important;
}
.top .se-soc svg,.ph-head .se-soc svg,header .se-soc svg{width:16px!important;height:16px!important}

.se-contact-icons{margin-top:22px;flex-wrap:nowrap!important;justify-content:center}

/* Text contact links keep large type; tips only */
a.se-mail.se-tip,a.se-phone.se-tip{
  position:relative;display:block;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;
  background:transparent!important;border-radius:0!important;color:inherit!important;
}
a.se-mail.se-tip svg,a.se-phone.se-tip svg{display:none}

/* CSS tooltips */
.se-tip::after,.se-soc a::after{
  content:attr(data-tip-no);
  position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(4px);
  background:#1a1a1a;color:#fff;font-size:12px;font-weight:500;letter-spacing:0;
  line-height:1.25;white-space:nowrap;padding:8px 10px;border-radius:8px;
  opacity:0;pointer-events:none;transition:opacity .15s ease, transform .15s ease;
  z-index:80;text-transform:none;font-family:"Helvetica Neue",Arial,sans-serif;
}
html[lang="en"] .se-tip::after,html[lang="en"] .se-soc a::after{content:attr(data-tip-en)}
.se-tip::before,.se-soc a::before{
  content:"";position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);
  border:6px solid transparent;border-top-color:#1a1a1a;
  opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:80;
}
.se-tip:hover::after,.se-tip:focus::after,.se-tip:focus-visible::after,
.se-soc a:hover::after,.se-soc a:focus::after,.se-soc a:focus-visible::after{
  opacity:1;transform:translateX(-50%) translateY(0);
}
.se-tip:hover::before,.se-tip:focus::before,.se-tip:focus-visible::before,
.se-soc a:hover::before,.se-soc a:focus::before,.se-soc a:focus-visible::before{opacity:1}

/* Shared content rail */
.page-rail{width:100%;max-width:1360px;margin:0 auto;padding:0 40px;box-sizing:border-box}
.page-rail .mast{max-width:none!important;margin:0!important;padding:40px 0 18px!important}
.page-rail .mast .deck,.page-rail .deck{font-size:clamp(20px,2.1vw,28px)!important;line-height:1.45!important;font-weight:450;letter-spacing:-.015em;opacity:.82!important;max-width:36rem!important}
.page-rail .editorial{max-width:none!important;margin:0!important;padding:0 0 36px!important;gap:14px!important}
.page-rail .editorial .cell{height:clamp(220px,28vw,360px)}
.page-rail .svc-pin{width:100%;margin:0}
.page-rail .svc-pin-inner{padding-left:0!important;padding-right:0!important;padding-top:8px!important;padding-bottom:8px!important}
.page-rail .svc-list{padding:0!important;margin:0!important;max-width:none!important;width:100%!important;grid-template-columns:minmax(260px,38%) minmax(0,1fr)!important;gap:24px 32px!important;align-items:start!important}
.page-rail .svc-list > div:first-child{padding-top:0!important}
.page-rail .svc-list h2{margin-top:0!important;margin-bottom:18px!important}
.page-rail .hover-img,.page-rail .svc-zoom-wrap,.page-rail .svc-list > div:last-child{justify-content:flex-start!important;padding-top:0!important}
.page-rail .frame,.page-rail #svcFrame{height:min(86vh,calc(100vh - 24px))!important;min-height:min(86vh,calc(100vh - 24px))!important;max-height:min(86vh,calc(100vh - 24px))!important;width:100%!important}
@media(max-width:820px){.page-rail{padding:0 20px}}

.se-contact-block .se-soc{display:none!important}


/* TJENESTER left column fills photo height — no empty white */
.svc-pin .svc-list,
.page-rail .svc-list{
  align-items:stretch !important;
}
.svc-pin .svc-list > div:first-child,
.page-rail .svc-list > div:first-child{
  display:flex !important;
  flex-direction:column !important;
  height:min(86vh, calc(100vh - 24px)) !important;
  max-height:min(86vh, calc(100vh - 24px)) !important;
  min-height:min(86vh, calc(100vh - 24px)) !important;
  overflow:hidden !important;
  padding:0 !important;
  box-sizing:border-box;
}
.svc-pin .svc-list > div:first-child > h2,
.page-rail .svc-list > div:first-child > h2{
  margin:0 0 8px !important;
  flex:0 0 auto;
}
.svc-menu-intro{
  flex:0 0 auto;
  font-size:14px;
  line-height:1.45;
  opacity:.65;
  margin:0 0 14px;
  max-width:36ch;
}
.svc-pin .svc-list ol,
.page-rail .svc-list ol{
  list-style:none;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  gap:0 !important;
}
.svc-pin .svc-list li,
.page-rail .svc-list li{
  display:grid !important;
  grid-template-columns:56px 1fr !important;
  gap:12px !important;
  align-items:center !important;
  padding:18px 8px !important;
  border-top:1px solid #e4e0d8;
  flex:1 1 0 !important;
  min-height:0 !important;
  box-sizing:border-box;
}
.svc-pin .svc-list li:last-child,
.page-rail .svc-list li:last-child{border-bottom:1px solid #e4e0d8}
.svc-pin .svc-list li h3,
.page-rail .svc-list li h3{
  font-size:clamp(24px,1.8vw,30px) !important;
  font-weight:520 !important;
  letter-spacing:-.015em !important;
  margin:0 0 4px !important;
  line-height:1.15 !important;
}
.svc-pin .svc-list li p,
.page-rail .svc-list li p{
  font-size:14px !important;
  line-height:1.4 !important;
  opacity:.68 !important;
  margin:0 !important;
}
.svc-pin .svc-list li .n,
.page-rail .svc-list li .n{
  font-size:13px !important;
  opacity:.4;
  padding-top:2px;
}
.svc-menu-foot{
  flex:0 0 auto;
  display:flex;
  flex-wrap:wrap;
  gap:14px 22px;
  align-items:center;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #e4e0d8;
  font-size:13px;
}
.svc-menu-foot a{opacity:.75;text-decoration:none;color:inherit}
.svc-menu-foot a:hover{opacity:1;text-decoration:underline}
.svc-menu-foot .svc-foot-cta{
  background:#121212;color:#fff;padding:10px 16px;border-radius:999px;opacity:1!important;
  text-decoration:none!important;font-size:12px;letter-spacing:.04em;
}
.svc-menu-foot .svc-foot-cta:hover{opacity:.9!important;text-decoration:none!important}

/* Keep photo tall */
.svc-pin .frame,
.svc-pin #svcFrame,
.page-rail .frame,
.page-rail #svcFrame{
  height:min(86vh, calc(100vh - 24px)) !important;
  min-height:min(86vh, calc(100vh - 24px)) !important;
  max-height:min(86vh, calc(100vh - 24px)) !important;
}
.svc-pin .hover-img,
.svc-pin .svc-zoom-wrap,
.page-rail .hover-img,
.page-rail .svc-zoom-wrap,
.svc-pin .svc-list > div:last-child,
.page-rail .svc-list > div:last-child{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  height:min(86vh, calc(100vh - 24px)) !important;
}
.svc-pin .hint,.page-rail .hint{margin-top:auto;padding-top:8px}

@media(max-width:900px){
  .svc-pin .svc-list > div:first-child,
  .page-rail .svc-list > div:first-child{
    height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;
  }
  .svc-pin .svc-list ol,.page-rail .svc-list ol{justify-content:flex-start!important}
  .svc-pin .svc-list li,.page-rail .svc-list li{flex:0 0 auto!important;padding:14px 4px!important}
  .svc-pin .svc-list li h3,.page-rail .svc-list li h3{font-size:22px!important}
  .svc-pin .hover-img,.page-rail .hover-img,.svc-pin .svc-zoom-wrap,.page-rail .svc-zoom-wrap,
  .svc-pin .svc-list > div:last-child,.page-rail .svc-list > div:last-child{height:auto!important}
}


/* ===== Header type hierarchy (Rune t1103u) ===== */
.top, .ph-head, header.ph-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
}
.top .brand, .top .top-brand, .top-brand{
  display:flex !important;
  align-items:baseline !important;
  flex-wrap:wrap !important;
  gap:0 .55em !important;
  min-width:0 !important;
  flex:1 1 auto !important;
}
.top .logo, .top a.logo, .ph-head .logo, header .logo{
  font-size:28px !important;
  font-weight:700 !important;
  letter-spacing:-.02em !important;
  text-transform:none !important;
  line-height:1.1 !important;
  opacity:1 !important;
  white-space:nowrap !important;
  color:inherit !important;
}
.se-brand-dot{
  font-size:13px !important;
  font-weight:400 !important;
  color:#8a8680 !important;
  letter-spacing:0 !important;
  line-height:1.2 !important;
  flex:0 0 auto !important;
  transform:translateY(-1px);
}
.se-serviceline, .top .se-serviceline{
  font-size:13px !important;
  font-weight:400 !important;
  letter-spacing:.04em !important;
  color:#8a8680 !important;
  opacity:1 !important;
  line-height:1.35 !important;
  text-transform:none !important;
  white-space:normal !important;
}
.top nav, .ph-head nav{
  display:flex !important;
  align-items:center !important;
  gap:24px !important;
  flex:0 0 auto !important;
}
.top nav a, .ph-head nav a{
  font-size:17px !important;
  font-weight:500 !important;
  letter-spacing:-.01em !important;
  text-transform:none !important;
  opacity:.88 !important;
  white-space:nowrap !important;
}
.top nav a:hover, .ph-head nav a:hover{opacity:1 !important}
.top .right, .ph-head-right{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  flex:0 0 auto !important;
}
.top .lang, .ph-head .lang, .top .right .lang{
  font-size:13px !important;
  opacity:.7 !important;
}
.top .cta, .top a.cta, .ph-price{
  font-size:13px !important;
  font-weight:600 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
/* Kill instructional UI copy */
.svc-menu-intro, .hint, .svc-list .hint, .hover-img .hint{display:none !important;height:0 !important;margin:0 !important;padding:0 !important;overflow:hidden !important}
@media(max-width:1100px){
  .se-serviceline, .se-brand-dot{display:none !important}
  .top nav{gap:24px !important}
  .top nav a, .ph-head nav a{font-size:16px !important}
}
@media(max-width:820px){
  .top nav, .ph-head nav{display:none !important}
  .top .logo, .ph-head .logo{font-size:22px !important}
}


/* ===== Force unified header over page-local CSS ===== */
.top .se-soc a, .ph-head .se-soc a, header .se-soc a,
.top .se-soc a:link, .top .se-soc a:visited{
  width:34px !important; height:34px !important;
  min-width:34px !important; min-height:34px !important;
  background:#999 !important; border-radius:8px !important;
  opacity:1 !important; display:inline-flex !important;
  align-items:center !important; justify-content:center !important;
  color:#fff !important;
}
.top .se-soc svg, .ph-head .se-soc svg, header .se-soc svg{
  width:16px !important; height:16px !important; fill:#fff !important;
  opacity:1 !important;
}
.top .logo, a.logo{
  font-size:28px !important; font-weight:700 !important;
  letter-spacing:-.02em !important; text-transform:none !important;
}
.top nav{ display:flex; gap:24px; align-items:center; }
.top nav a{
  font-size:17px !important; font-weight:500 !important;
  letter-spacing:-.01em !important; text-transform:none !important;
  margin:0 !important; padding:0 !important;
}
.se-brand-dot, .se-serviceline{
  font-size:13px !important; color:#8a8680 !important; font-weight:400 !important;
}
/* Shared content edge = 36px (matches common page padding) */
:root{ --se-edge: 36px; --se-max: 1200px; }


/* === JOINT SYSTEM 2026-11-10 === */
.page-rail{max-width:1360px!important;padding-left:40px!important;padding-right:40px!important}
@media(max-width:820px){.page-rail{padding-left:20px!important;padding-right:20px!important}}
.top .logo, .top a.logo, .ph-head .logo, header .logo, a.logo{
  font-size:28px !important; font-weight:700 !important; letter-spacing:-.02em !important;
  line-height:1.1 !important; color:inherit !important;
}
.se-brand-dot{
  font-size:13px !important; color:#8a8680 !important; font-weight:400 !important;
  margin:0 .35em !important; opacity:.85 !important;
}
.se-serviceline, .top .se-serviceline, .ph-head .se-serviceline{
  font-size:13px !important; color:#8a8680 !important; font-weight:400 !important;
  letter-spacing:.04em !important; opacity:.9 !important;
}
.top nav, .ph-head nav, header nav{
  display:flex; gap:24px; align-items:center;
}
.top nav a, .ph-head nav a, header nav a{
  font-size:17px !important; font-weight:500 !important; letter-spacing:0 !important;
  text-transform:none !important; opacity:1 !important;
}
.top .se-soc a, .ph-head .se-soc a, header .se-soc a{
  width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;
  border-radius:8px!important;
}
/* Light-page primary CTA = black pill */
.page-light .cta, body.light .cta, .p1a .cta, .pill-cta{
  background:#111!important;color:#fff!important;border-radius:999px!important;
  padding:12px 20px!important;font-size:13px!important;font-weight:560!important;
}

/* Brand dot — same visible grey as service separators */
.se-brand-dot{
  display:inline !important;
  font-size:13px !important;
  font-weight:400 !important;
  color:#8a8680 !important;
  opacity:1 !important;
  margin:0 .45em !important;
  letter-spacing:0 !important;
}
.ph-head .se-brand-dot, .top .se-brand-dot, header .se-brand-dot{
  color:#9a9690 !important;
  opacity:1 !important;
}

/* === HEADER LOCK (fix mid-viewport / blur) === */
.top, .ph-head, header.ph-head{
  position:sticky !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  transform:none !important;
  align-items:center !important;
  align-content:center !important;
  box-sizing:border-box !important;
  z-index:200 !important;
  overflow:visible !important;
}
/* Pages that set .top{position:fixed} keep fixed but still top:0 */
.top[style*="fixed"], .top.fixed{position:fixed !important;top:0 !important}
/* Header right cluster must NEVER inherit hero .right {min-height:100vh} etc */
.top > .right, .top .right, .ph-head-right, .ph-head > .ph-head-right{
  position:relative !important;
  inset:auto !important;
  top:auto !important; left:auto !important; right:auto !important; bottom:auto !important;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  min-width:0 !important;
  background:transparent !important;
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  overflow:visible !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.top .right img, .ph-head-right img{position:static !important;width:auto !important;height:auto !important}
/* Headers: never translucent blur over photos */
/* Kill EVERY Tilbake / back pill site-wide */
a.back, .back, a.se-back, .se-back,
a[href][class*="back"]:not(.se-soc a){
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
  width:0 !important; height:0 !important; overflow:hidden !important;
  margin:0 !important; padding:0 !important;
}

/* === IMAGE VIEWPORT LOCK (Rune: no photo taller than one laptop screen) === */
:root{ --se-header-h: 72px; --se-img-max: calc(100svh - var(--se-header-h, 72px) - 48px); }
.top, .ph-head, header.ph-head{ --se-header-h: 72px; }

/* First-screen heroes / split heroes */
.ph-hero,
section.hero,
.hero{
  height: calc(100svh - var(--se-header-h, 72px)) !important;
  max-height: calc(100svh - var(--se-header-h, 72px)) !important;
  max-height: calc(100vh - var(--se-header-h, 72px)) !important;
  min-height: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* Any photo container in content sections — never taller than viewport-under-header */
.band .frame,
.band .pic,
.ph-band .pic,
.ph-exec .pic,
.ph-events .pic,
.ph-collage,
.proof .row a,
.proof .cell,
.editorial .cell,
.hero .big,
.hero .pic,
.hero-visual,
.ph-hero .bg,
.m-tile,
.svc-list .frame,
.svc-zoom-wrap .frame,
.svc-zoom-frame,
.frame,
.ph-flush .grid3 a,
.ph-flush .grid4 a,
.gallery .tile,
.galleri .tile,
.mosaic-sticky,
section.band .frame,
.collage, .ph-collage a{
  max-height: var(--se-img-max) !important;
}

/* Images themselves: contain within max box, preserve aspect, don't crop heads on heroes */
.ph-hero .bg, .ph-hero > img.bg{
  object-fit:cover !important;
  object-position:center top !important;
  width:100% !important; height:100% !important; max-height:100% !important;
}
.hero .big img, .hero-visual img{
  object-fit:contain !important;
  object-position:center center !important;
  width:100% !important; height:100% !important; max-height:100% !important;
}

/* Feature / band photos: fit inside frame without forcing crop beyond frame */
.band .frame img,
.ph-exec .pic img,
.ph-events .pic img,
.editorial .cell img{
  max-height: 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
}

/* Collage blocks must fit entire block in viewport */
.ph-collage{
  height: min(560px, var(--se-img-max)) !important;
  min-height: 0 !important;
  max-height: var(--se-img-max) !important;
}

/* Gallery grids: tiles capped */
.g-grid a, .gallery-grid a, .tiles a, .grid .thumb, .card .thumb{
  max-height: min(420px, var(--se-img-max)) !important;
}
.g-grid img, .gallery-grid img, .card .thumb img{
  max-height: 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 15%;
}

/* p3c-style side collage inside hero already height-locked via .hero */
.hero .side{ max-height: 100% !important; min-height: 0 !important; }

/* Horizontal safety: equal side margins, no overflow */
html, body{ overflow-x: clip; }
.top, .ph-head, .hero, .ph-hero, .band, .ph-band-inner, .page-rail{
  max-width: 100vw;
  box-sizing: border-box;
}

/* NAV HIDE LOCK — must win over page-local display:flex!important */
@media(max-width:1100px){
  .se-serviceline, .se-brand-dot{display:none !important}
}
@media(max-width:980px){
  .top > nav, .ph-head > nav, header.ph-head > nav, .top nav, .ph-head nav{
    display:none !important;
  }
}
/* Dark page solid headers */
body{ --se-header-bg: #faf9f7; --se-header-border: #e8e4de; }
.top, .ph-head{
  background: var(--se-header-bg) !important;
  border-bottom: 1px solid var(--se-header-border) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body[data-se-theme="dark"]{
  --se-header-bg: #050505;
  --se-header-border: #1a1a1a;
}
body[data-se-theme="dark"] .top,
body[data-se-theme="dark"] .ph-head{
  background:#050505 !important;
  border-bottom:1px solid #1a1a1a !important;
  color:#f2f2f2 !important;
}

/* === NO SLIVERS: feature sections fill a clean screen === */
@media(min-width:901px){
  .ph-events, .ph-exec{
    min-height: calc(100svh - var(--se-header-h, 72px));
  }
}
/* Hide leftover flush photo bands site-wide if any remain */
.ph-flush{display:none !important}


/* === SAVIA QUALITY LOCK === */
.top, .ph-head, header.ph-head{
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  max-height: 72px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  opacity: 1 !important;
}
body:not([data-se-theme="dark"]) .top,
body:not([data-se-theme="dark"]) .ph-head{
  background: #faf9f7 !important;
  background-color: #faf9f7 !important;
  border-bottom: 1px solid #e8e4de !important;
}
body[data-se-theme="dark"] .top,
body[data-se-theme="dark"] .ph-head,
body[data-se-theme="dark"] header.ph-head{
  background: #050505 !important;
  background-color: #050505 !important;
  border-bottom: 1px solid #1a1a1a !important;
}
/* p8 / galleries light white bars */
body.page-light .top, .page-light .top{ background:#fff !important; background-color:#fff !important; }
/* Labels floor */
.kicker, .ph-flush h3, .proof h3, .svc-list h2, .svc h2, .tier .n, .step .n,
.se-serviceline{ font-size: max(13px, 0.75rem) !important; }
.svc-list h2, .svc h2, .kicker{ font-size: 13px !important; }
/* Hide flush bands until HTML removed */
.ph-flush{ display:none !important; height:0 !important; overflow:hidden !important; margin:0 !important; padding:0 !important; border:0 !important; }
/* hover scale removed — no photo zoom */


/* === NO PHOTO DIM / NO KEN BURNS (quality lock) === */
.hero .full, .ph-hero > img.bg, .hero-stack .slide, .slide img.full{
  animation:none!important;
}
.hero .full{opacity:1!important}
.mosaic-dim, #mosaicDim{display:none!important}
.m-tile img{filter:none!important}

/* KILL SVC-ZOOM / HIRES SWAP LAYERS */
.hires, .svc-zoom-frame .hires, .svc-zoom-wrap .hires{display:none!important;opacity:0!important}
.svc-list .frame img, .editorial img{opacity:1!important;filter:none!important}


/* PH-HERO COVER LOCK — no contain/pad; crop near top */
.ph-hero{
  height:calc(100svh - var(--se-header-h,72px)) !important;
  max-height:calc(100svh - var(--se-header-h,72px)) !important;
  overflow:hidden !important;
}
.ph-hero > img.bg, .ph-hero img.bg{
  object-fit:cover !important;
  object-position:center top !important;
}


/* === VERIFY-3 FIXES (headers identity + contrast + rail + labels) === */
/* Force light text on dark headers — contrast ≥ 4.5:1 on #0a0a0a / charcoal */
body[data-se-theme="dark"] .top,
body[data-se-theme="dark"] .ph-head,
body[data-se-theme="dark"] header.ph-head{
  color:#f2f2f2 !important;
}
body[data-se-theme="dark"] .top .logo,
body[data-se-theme="dark"] .ph-head .logo,
body[data-se-theme="dark"] header .logo,
body[data-se-theme="dark"] a.logo{
  color:#f5f5f5 !important;
}
body[data-se-theme="dark"] .top nav a,
body[data-se-theme="dark"] .ph-head nav a,
body[data-se-theme="dark"] header nav a{
  color:#d4d0ca !important; /* ~9:1 on #050505 */
  opacity:1 !important;
}
body[data-se-theme="dark"] .se-serviceline,
body[data-se-theme="dark"] .se-brand-dot,
body[data-se-theme="dark"] .top .lang,
body[data-se-theme="dark"] .ph-head .lang{
  color:#bdb8b0 !important; /* ~7:1 */
  opacity:1 !important;
}
body[data-se-theme="dark"] .top .cta,
body[data-se-theme="dark"] .ph-head .cta,
body[data-se-theme="dark"] .ph-price,
body[data-se-theme="dark"] a.cta{
  background:transparent !important;
  color:#f5f5f5 !important;
  border:1px solid rgba(245,245,245,.85) !important;
  padding:10px 18px !important;
  border-radius:2px !important;
  display:inline-flex !important;
  align-items:center !important;
  line-height:1.2 !important;
  box-sizing:border-box !important;
}

/* Per-site opaque header identity (dark sites) */
body[data-page="p1b"] .top .logo, body[data-page="p1b"] .top nav a, body[data-page="p1b"] .top .lang, body[data-page="p1b"] .se-serviceline{ color:#f3f1ec !important; }
body[data-page="p3a"][data-se-theme="dark"] .top{ background:#0b0b0b !important; background-color:#0b0b0b !important; border-bottom-color:#2a2418 !important; }
body[data-page="p3b"][data-se-theme="dark"] .top{ background:#08080c !important; background-color:#08080c !important; border-bottom-color:#1c2230 !important; }
body[data-page="p3c"][data-se-theme="dark"] .top{ background:#0c0a0a !important; background-color:#0c0a0a !important; border-bottom-color:#2a1818 !important; }
body[data-page="p3e"][data-se-theme="dark"] .top{ background:#0a0505 !important; background-color:#0a0505 !important; border-bottom-color:#3a1515 !important; }
body[data-page="p9"][data-se-theme="dark"] .ph-head,
body[data-page="p9d"][data-se-theme="dark"] .ph-head{
  background:#000 !important; background-color:#000 !important; border-bottom-color:#1a1a1a !important;
}
/* Light-site identity tints */
body[data-page="c01"] .top{ background:#f7f4ef !important; background-color:#f7f4ef !important; border-bottom-color:#e4dccd !important; }
body[data-page="p1a"] .top{ background:#f3eee6 !important; background-color:#f3eee6 !important; border-bottom-color:#e0d6c6 !important; }
body[data-page="p1b"][data-se-theme="dark"] .top, body[data-page="p1b"] .top{ background:#141414 !important; background-color:#141414 !important; border-bottom-color:#2c2c2c !important; }
body[data-page="p1c"] .top{ background:#f5f7f4 !important; background-color:#f5f7f4 !important; border-bottom-color:#dce4d8 !important; }
body[data-page="p8"] .top{ background:#ffffff !important; background-color:#ffffff !important; border-bottom-color:#ebe7e1 !important; }


/* Labels floor ≥13px */
.kicker, .ph-flush h3, .proof h3, .svc-list h2, .svc h2, .tier .n, .step .n,
.se-serviceline, .strip .cell span, .ph-cats a, .ph-price,
.top .cta, .ph-head .cta, a.cta, .cats a, .bp-statement .k{
  font-size: max(13px, 0.8125rem) !important;
}
/* Agreed system: nav ≥16px, service line ≥13px */
.top nav a, .ph-head nav a, header nav a{
  font-size: 16px !important;
  font-weight: 500 !important;
}
.se-serviceline, .top .se-serviceline, .ph-head .se-serviceline{
  font-size: 13px !important;
}
.svc-list h2, .svc h2, .kicker, .strip .cell span{ font-size: 13px !important; letter-spacing:.12em !important; }

/* Contact block on content rail (never x=0) */
.se-contact-block, section.se-contact-block, section.contact{
  max-width: var(--se-max, 1200px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--se-edge, 36px) !important;
  padding-right: var(--se-edge, 36px) !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Closing CTA always legible white-on-black (or lime on dark) */
a.cta.se-close-cta, .se-close-cta, .se-close .cta, .se-close a.cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#111 !important;
  color:#fff !important;
  border: none !important;
  border-radius:999px !important;
  padding:14px 28px !important;
  font-size:14px !important;
  font-weight:600 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  min-height:44px !important;
  text-decoration:none !important;
  opacity:1 !important;
}
/* Lime close is a p9 signature only — every other site has its own close style */
body[data-page="p9"] a.cta.se-close-cta,
body[data-page="p9"] .se-close-cta,
body[data-page="p9d"] a.cta.se-close-cta,
body[data-page="p9d"] .se-close-cta,
body[data-page="p9"] .ph-btn-green,
body[data-page="p9d"] .ph-btn-green{
  background: var(--ph-green, #c9f06a) !important;
  color:#111 !important;
}
body[data-page="c01"] .se-close-cta{background:#1a1a1a !important;color:#fff !important;border-radius:2px !important;letter-spacing:.14em !important}
body[data-page="p1a"] .se-close-cta{background:#3d2f24 !important;color:#f4ebe3 !important;border-radius:0 !important;letter-spacing:.04em !important;text-transform:none !important}
body[data-page="p1b"] .se-close-cta{background:transparent !important;color:#fff !important;border:1px solid #fff !important;border-radius:0 !important;letter-spacing:.16em !important}
body[data-page="p1c"] .se-close-cta{background:#2f4a3c !important;color:#f3f6f2 !important;border-radius:4px !important;text-transform:none !important;letter-spacing:.04em !important}
body[data-page="p3a"] .se-close-cta{background:#fff !important;color:#111 !important;border-radius:0 !important}
body[data-page="p3b"] .se-close-cta{background:#161616 !important;color:#eee !important;border:1px solid #555 !important;border-radius:0 !important}
body[data-page="p3c"] .se-close-cta{background:#f2ece4 !important;color:#111 !important;border-radius:999px !important}
body[data-page="p3d"] .se-close-cta{background:#1a1814 !important;color:#f6f1ea !important;border-radius:999px !important}
body[data-page="p3e"] .se-close-cta{background:#c4a574 !important;color:#111 !important;border-radius:0 !important;letter-spacing:.12em !important}
body[data-page="p8"] .se-close-cta{background:#111 !important;color:#fff !important;border-radius:999px !important;text-transform:none !important;letter-spacing:.02em !important}


/* Kill p3d 55% dark overlays on strip labels — keep readable without dimming photo */
.strip .cell span{
  background: rgba(0,0,0,.0) !important;
  color:#fff !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.85);
  font-size:13px !important;
}
/* Remove any remaining photo dim filters */
.svc-list .frame img, .strip .cell img, .svc-pin img, .hover-img img{
  filter: none !important; opacity: 1 !important;
}

/* Cap ALL tjenester photos to one screen */
.svc-pin #svcImg, .svc-pin .hover-img img, .page-rail #svcImg,
.svc-pin .hover-img, .svc-pin .svc-zoom-wrap, .svc-pin .frame{
  max-height: var(--se-img-max) !important;
}
@media(max-width:900px){
  .svc-pin #svcImg, .svc-pin .hover-img img, .page-rail #svcImg,
  .svc-pin .hover-img, .svc-pin .svc-zoom-wrap, .svc-pin .frame{
    max-height: min(55vh, var(--se-img-max)) !important;
    height: min(55vh, var(--se-img-max)) !important;
    width: 100% !important;
    object-fit: cover !important;
  }
}

/* p9 hero never overruns measured header */
.ph-hero{
  height: calc(100svh - var(--se-header-h, 72px)) !important;
  max-height: calc(100svh - var(--se-header-h, 72px)) !important;
  box-sizing: border-box !important;
}

/* VERIFY-3 label floor hard lock ≥13px */
.lang, .top .lang, .ph-head .lang, footer, .foot, .svc-list .n, .svc .n, .strip .cell span,
.svc-menu-foot a, a.svc-menu-foot, .ph-cats a, .cats a { font-size: 13px !important; }

/* p3d category labels live below tiles — dark text on parchment, contrast ≥4.5:1 */
body[data-page="p3d"] .strip .cell span{
  position:static !important;
  left:auto !important;
  bottom:auto !important;
  color:#1a1814 !important;
  text-shadow:none !important;
  background:transparent !important;
  padding:10px 2px 0 !important;
  font-size:13px !important;
}

/* p3d light identity — warm parchment (beats page-light #fff) */
body[data-page="p3d"].page-light .top,
body[data-page="p3d"][data-se-theme="light"] .top,
body[data-page="p3d"] .top{
  background:#f3ebe0 !important;
  background-color:#f3ebe0 !important;
  border-bottom:1px solid #e0d4c4 !important;
  color:#1a1814 !important;
}
body[data-page="p3d"].page-light .top .logo,
body[data-page="p3d"] .top .logo,
body[data-page="p3d"].page-light .top nav a,
body[data-page="p3d"] .top nav a{
  color:#1a1814 !important;
}
body[data-page="p3d"] .se-serviceline,
body[data-page="p3d"] .se-brand-dot,
body[data-page="p3d"] .top .lang{
  color:#6e6458 !important;
  opacity:1 !important;
}
body[data-page="p3d"].page-light .top a.cta,
body[data-page="p3d"] .top a.cta{
  background:#1a1814 !important;
  color:#f6f1ea !important;
  border:none !important;
  padding:10px 18px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
}


/* p3d: category strip + Tjenester share the 1360/40 rail with the hero */
body[data-page="p3d"] .strip{
  max-width:1360px !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:40px !important;
  padding-right:40px !important;
  box-sizing:border-box !important;
}
body[data-page="p3d"] .svc-pin-inner{
  max-width:1360px !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:40px !important;
  box-sizing:border-box !important;
}
body[data-page="p3d"] .svc-pin .svc-list,
body[data-page="p3d"] .svc-pin-inner > .svc-list{
  padding-left:0 !important;
  padding-right:0 !important;
}
body[data-page="p3d"] .tiers{
  max-width:1360px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:40px !important;
  padding-right:40px !important;
  box-sizing:border-box !important;
}
@media(max-width:900px){
  body[data-page="p3d"] .strip,
  body[data-page="p3d"] .svc-pin-inner,
  body[data-page="p3d"] .tiers{
    padding-left:16px !important;
    padding-right:16px !important;
  }
  body[data-page="p3d"] .svc-pin-inner{
    padding-top:20px !important;
    padding-bottom:20px !important;
  }
}

/* p3b 820: single column; photo max-height is locked later in VERIFY-8 (contain, one screen) */
@media(max-width:900px){
  body[data-page="p3b"] .band,
  body[data-page="p3b"] .proof .row{grid-template-columns:1fr !important}
  body[data-page="p3b"] .band{min-height:0 !important;padding:32px 20px}
}

/* === VERIFY-6: p3e H1 must sit below the measured sticky header === */
body[data-page="p3e"] .hero .left{
  justify-content:flex-start !important;
  padding-top:16px !important;
  overflow:auto !important;
}
body[data-page="p3e"] .hero .left h1{
  font-size:clamp(26px, 3.2vw, 48px) !important;
  max-width:16ch !important;
  margin-top:0 !important;
  line-height:1.08 !important;
}
@media(max-width:900px){
  body[data-page="p3e"] .hero .left{
    padding:16px 28px 32px !important;
  }
}

/* === VERIFY-7: gallery cell height from measured viewport; first screen ends on a whole row === */
body.se-gallery{
  --se-gal-intro: 110px;
  padding-bottom: var(--gal-end-pad, 0px);
}
body.se-gallery .wrap{
  padding-top:12px !important;
  padding-bottom:40px !important;
}
body.se-gallery .wrap > h1{
  font-size:clamp(22px, 2.4vw, 28px) !important;
  margin-bottom:2px !important;
}
body.se-gallery .wrap > .sub{
  margin-bottom:6px !important;
  font-size:14px !important;
}
body.se-gallery .wrap > .cats{
  margin-bottom:10px !important;
}
body.se-gallery .grid > .gcell{
  height: var(--cell-h, calc((100svh - var(--se-header-h, 72px) - var(--se-gal-intro, 110px) - 12px) / 2)) !important;
  max-height: var(--cell-h, calc((100svh - var(--se-header-h, 72px) - var(--se-gal-intro, 110px) - 12px) / 2)) !important;
  aspect-ratio: auto !important;
  width:100% !important;
  min-width:0 !important;
  justify-self:stretch !important;
  box-sizing:border-box !important;
}
body.se-gallery .grid > .gcell img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position: center 15%;
}
/* Portraits: keep heads below the crop (no forehead cuts) */
body.se-gallery[data-gal="ansattportretter"] .gcell img,
body.se-gallery[data-gal="arbeidsmiljo"] .gcell img,
body.se-gallery[data-gal="mote"] .gcell img,
body.se-gallery[data-gal="arrangement"] .gcell img{
  object-position: top !important;
}
html:has(body.se-gallery),
html:has(body[data-page="p3b"]){
  scroll-padding-top: var(--se-header-h, 72px);
}

/* === VERIFY-8: p3e ≤900 — text on its own first screen; portrait whole on the next (contain, no face crop) === */
@media(max-width:900px){
  body[data-page="p3e"] .hero{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:1fr !important;
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
    overflow:visible !important;
  }
  body[data-page="p3e"] .hero .left{
    flex:0 0 auto !important;
    overflow:visible !important;
    padding:16px 28px 24px !important;
    min-height:calc(100svh - var(--se-header-h, 72px)) !important;
    box-sizing:border-box !important;
  }
  body[data-page="p3e"] .hero-visual{
    flex:0 0 auto !important;
    width:100% !important;
    height:calc(100svh - var(--se-header-h, 72px)) !important;
    min-height:calc(100svh - var(--se-header-h, 72px)) !important;
    max-height:calc(100svh - var(--se-header-h, 72px)) !important;
    background:#000 !important;
    position:relative !important;
  }
  body[data-page="p3e"] .hero-visual img{
    object-fit:contain !important;
    object-position:center center !important;
    width:100% !important;
    height:100% !important;
    max-height:100% !important;
    position:absolute !important;
    inset:0 !important;
  }
  /* chapter photos: one screen, whole photo, no edge cut */
  body[data-page="p3e"] .cap-chapter{
    min-height:0 !important;
    height:calc(100svh - var(--se-header-h, 72px)) !important;
    max-height:calc(100svh - var(--se-header-h, 72px)) !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }
  body[data-page="p3e"] .cap-chapter .cap-bg img{
    object-fit:contain !important;
    object-position:center center !important;
    width:100% !important;
    height:100% !important;
    max-height:calc(100svh - var(--se-header-h, 72px)) !important;
  }
}

/* === VERIFY-8: p3b ≤900 — each photo fits one screen whole (contain, centred, no snap) === */
@media(max-width:900px){
  body[data-page="p3b"] .band{
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }
  body[data-page="p3b"] .band .frame,
  body[data-page="p3b"] .proof .row a,
  body[data-page="p3b"] .film-still .frame{
    aspect-ratio:unset !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:calc(100svh - var(--se-header-h, 72px)) !important;
    min-height:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    background:#000 !important;
    box-sizing:border-box !important;
  }
  body[data-page="p3b"] .band .frame img,
  body[data-page="p3b"] .proof .row a img,
  body[data-page="p3b"] .proof .row img,
  body[data-page="p3b"] .film-still .frame img,
  body[data-page="p3b"] .film-still img{
    object-fit:contain !important;
    object-position:center center !important;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:calc(100svh - var(--se-header-h, 72px)) !important;
    position:static !important;
    inset:auto !important;
  }
  body[data-page="p3b"] .film-still{
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    padding:24px 0 !important;
  }
}

/* === VERIFY-6: p3b contact at ≤900px — no empty top half, no clipped icons === */
@media(max-width:900px){
  body[data-page="p3b"] .se-contact-block,
  body[data-page="p3b"] section.contact{
    min-height:0 !important;
    padding-top:28px !important;
    padding-bottom:40px !important;
    justify-content:flex-start !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
  }
  body[data-page="p3b"] .below{
    padding:28px 20px 40px !important;
  }
}


/* Compact ending block: heading, subline, outline CTA, phone, email, icons */
section.se-end.se-close{
  text-align:center;
  padding:48px 24px 56px;
  border-top:none;
}
section.se-end.se-close .se-close-inner{
  max-width:640px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
}
section.se-end.se-close h2{
  font-size:32px;
  line-height:1.25;
  letter-spacing:-.02em;
  margin:0 0 10px;
  color:var(--v-text, inherit);
}
section.se-end.se-close .se-end-sub,
section.se-end.se-close p{
  font-size:20px;
  line-height:1.5;
  color:var(--v-muted, #55585e);
  opacity:1;
  margin:0 0 16px;
  max-width:36em;
}
section.se-end.se-close a.cta.se-close-cta,
section.se-end.se-close .se-close-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
  color:var(--v-text, currentColor) !important;
  border:1.5px solid var(--v-text, currentColor) !important;
  border-radius:999px !important;
  padding:16px 44px !important;
  margin:0 0 20px !important;
  font-size:17px !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-decoration:none !important;
  text-transform:none !important;
  filter:none !important;
  box-shadow:none !important;
}
section.se-end.se-close a.cta.se-close-cta:hover,
section.se-end.se-close .se-close-cta:hover{
  background:color-mix(in srgb, var(--v-text, currentColor) 8%, transparent) !important;
  filter:none !important;
  color:var(--v-text, currentColor) !important;
}
section.se-end.se-close .se-phone,
section.se-end.se-close a.se-phone{
  font-size:36px;
  font-weight:560;
  letter-spacing:-.03em;
  color:var(--v-text, inherit);
  text-decoration:none;
  margin:0 0 8px;
}
section.se-end.se-close .se-mail,
section.se-end.se-close a.se-mail{
  font-size:18px;
  font-weight:500;
  letter-spacing:-.01em;
  color:var(--v-text, inherit);
  text-decoration:none;
  margin:0 0 14px;
}
section.se-end.se-close .se-contact-icons{
  margin:0 !important;
}

/* Ending subline: one line on desktop; balanced wrap on small screens (no lone last word) */
section.se-end.se-close .se-end-sub{
  max-width:none !important;
  text-wrap:balance;
}
section.se-end.se-close .se-end-sub{
  width:min(860px, calc(100vw - 40px));
  position:relative;
  left:50%;
  transform:translateX(-50%);
}

section.se-end.se-close .se-end-sub{left:auto !important;transform:none !important;align-self:center;margin-left:calc((100% - min(860px, calc(100vw - 40px)))/2);margin-right:calc((100% - min(860px, calc(100vw - 40px)))/2);}

/* 10 Nov: pull ending block up toward NFF logo, more room at page bottom */
section#kontakt:has(.nff-logo){padding-bottom:20px !important}
section#kontakt:has(.nff-logo) + section.se-end.se-close,
section.se-end.se-close{padding-top:36px !important;padding-bottom:96px !important}
