/* One backdrop for the complete gallery page, including navigation and footer. */
body.ts-morkrum-page{background:#0b0606;color:#efe6dc;--ts-bg:#0b0606;--ts-text:#efe6dc;--ts-accent:#ff6a6f;--ts-line:rgba(239,230,220,.2);isolation:isolate;min-height:100svh}
.ts-morkrum-backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#0b0606}
.ts-morkrum-backdrop>img,.ts-morkrum-backdrop>video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.ts-morkrum-shade{position:absolute;inset:0;background:var(--mk-page-color);opacity:var(--mk-page-shade)}
.ts-morkrum-lamp{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 5%,rgba(179,18,26,.32),transparent 70%)}
.ts-morkrum-page .ts-header,.ts-morkrum-page .ts-footer{background:transparent;color:inherit}
.ts-morkrum-page .ts-content{width:100%;max-width:none;margin:0;padding:40px clamp(16px,4vw,64px) 80px;min-height:70svh;background:transparent;border:0;box-shadow:none}
.ts-morkrum-page .ts-content>h1{margin:20px 0 40px}
.ts-morkrum-page .mk{background:transparent;isolation:auto;padding-inline:0;overflow:clip}
.ts-morkrum-page .mk>.mk-film,.ts-morkrum-page .mk>.mk-glow,.ts-morkrum-page .mk>.mk-grain,.ts-morkrum-page>.ts-effect-backdrop{display:none!important}
.ts-morkrum-page .tsg-albums{max-width:1400px;margin-inline:auto}
.ts-morkrum-page .ts-nav.is-open{background:rgba(11,6,6,.96)}
/* Place all page content above the single, full-viewport media surface. */
.ts-morkrum-backdrop{z-index:0}
.ts-morkrum-page>.ts-header,.ts-morkrum-page>.ts-content,.ts-morkrum-page>.ts-footer{position:relative;z-index:1}
.ts-morkrum-page>.ts-header{z-index:20}
.ts-morkrum-page .tsg-album{position:relative;isolation:isolate;padding:8px;border:1px solid rgba(255,255,255,.4);border-radius:22px;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.025) 46%,rgba(255,255,255,.1));box-shadow:inset 0 2px 2px #ffffff65,inset 1px 0 1px #ffffff30,inset 0 -2px 3px #0008,0 12px 28px #0005;color:#f3eee8}
.ts-morkrum-page .tsg-album>img{border-radius:15px;position:relative;z-index:1}
.ts-morkrum-page .tsg-album>span{background:transparent!important;padding:13px 12px;text-shadow:0 1px 1px #ffffff40,0 -1px 1px #0008;position:relative;z-index:1}
.ts-morkrum-page .tsg-album::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 15%,#ffffff14 16%,#ffffff04 42%,transparent 43%);pointer-events:none;z-index:2;border-radius:inherit}
.ts-portfolio-play{position:fixed;right:16px;bottom:20px;z-index:30;border:1px solid #ffffff70;border-radius:30px;background:#181818b3;color:white;padding:12px 18px}
.ts-portfolio-play[hidden]{display:none}
.ts-morkrum-page .mk{padding-top:24px}
.ts-morkrum-page .mk-head{margin-bottom:50px}

.ts-morkrum-page .mk-head{text-align:left;max-width:none}
.ts-morkrum-page .mk-back{margin-left:0;margin-right:0}
.ts-morkrum-page .mk-kicker .mk-lamp{flex:0 0 7px}
.ts-morkrum-page .mk-switch{display:flex;width:max-content;max-width:100%;margin-left:auto;margin-right:auto}

.ts-portfolio-sequence{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Allow text to blend against the page media; keep the red lamp separate. */
.ts-morkrum-page>.ts-content{z-index:auto}
.ts-morkrum-page .mk-contrast,.ts-morkrum-page .mk-back a,.ts-morkrum-page .ts-content>h1{color:#fff;mix-blend-mode:difference;text-shadow:none}
.ts-morkrum-page .mk-switch button .mk-contrast{display:inline-block}
/* Give the album label its own painted layer, including in iOS Safari. */
.ts-morkrum-page .mk-kicker{display:block;isolation:auto;background:transparent}
.ts-morkrum-page .mk-kicker>.mk-contrast{display:inline-block;position:relative;z-index:1;vertical-align:middle;color:#fff;mix-blend-mode:difference}
.ts-morkrum-page .mk-kicker>.mk-lamp{display:inline-block;vertical-align:middle;margin-left:10px;mix-blend-mode:normal}




/* 0.48.45: Match the homepage contact fade and opaque footer surface.
   This layer scrolls with the page and covers the fixed background media. */
body.ts-morkrum-page > main.ts-content{
  position:relative;
  z-index:1;
  isolation:isolate;
  padding-bottom:clamp(130px,18svh,230px);
}
body.ts-morkrum-page > main.ts-content::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:calc(80vh + 14rem);
  max-height:100%;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(to bottom,
    rgba(16,14,14,0) 0%,
    rgba(16,14,14,.14) 16%,
    rgba(16,14,14,.38) 34%,
    rgba(16,14,14,.72) 56%,
    rgba(16,14,14,.94) 78%,
    rgba(16,14,14,1) 100%);
}
body.ts-morkrum-page{background-color:#100e0e}

/* The page grows to the current viewport; the footer stays in document flow. */
body.ts-morkrum-page{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;margin:0;padding-bottom:0}
body.ts-morkrum-page.admin-bar{min-height:calc(100vh - 32px);min-height:calc(100dvh - 32px)}
body.ts-morkrum-page>main.ts-content{flex:1 0 auto}
body.ts-morkrum-page>.prot-footer-surface{flex:0 0 auto;margin-top:auto}
@media(max-width:782px){body.ts-morkrum-page.admin-bar{min-height:calc(100vh - 46px);min-height:calc(100dvh - 46px)}}

@media (min-width:768px) and (max-width:1400px) and (any-pointer:coarse){.ts-morkrum-backdrop>video,.ts-morkrum-backdrop>img,.ts-portfolio-sequence{object-position:center top}}

/* 0.53.45: Neural Noise som Portfolio-bakgrund */
.ts-morkrum-backdrop>canvas.ts-portfolio-neural{position:absolute;inset:0;width:100%;height:100%;display:block}
