
/* SKYMT 2.0 — reusable tall image + overlay text section */
.skymt-feature {
  position: relative;
  min-height: 190svh;
  isolation: isolate;
  overflow: clip; /* unlike hidden, allows position: sticky to track page scrolling */
  color: #fff;
  background: #26383a;
}
.skymt-feature__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 45%;
  z-index: -2;
}
.skymt-feature::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.42), transparent 80%);
  z-index: -1;
}
.skymt-feature__content {
  position: relative;
  width: min(780px, calc(100% - 48px));
  margin-inline: auto;
  text-align: center;
  padding: 1px 0 8vh;
}
.skymt-feature__eyebrow {
  font: 500 clamp(13px, 1.2vw, 17px)/1.5 Arial, sans-serif;
  letter-spacing: .02em;
  margin-bottom: 1.2rem;
}
.skymt-feature__title {
  font: 400 clamp(2.5rem, 5.8vw, 6.5rem)/1.05 Arial, sans-serif;
  letter-spacing: -.045em;
  text-wrap: pretty;
}
.skymt-feature__link {
  display: inline-block;
  margin-top: 2rem;
  border-bottom: 1px solid currentColor;
  padding-bottom: .3rem;
  font: 500 16px/1.5 Arial, sans-serif;
}
@media (max-width: 700px) {
  .skymt-feature { min-height: 165svh; }
  .skymt-feature__image { object-position: 55% center; }
  .skymt-feature::after {
    background: linear-gradient(180deg, rgba(0,0,0,.52), transparent 65%);
  }
  .skymt-feature__content {
    width: calc(100% - 40px);
    margin-left: 20px;
    margin-right: 20px;
    text-align: left;
    text-align: left;
  }
  .skymt-feature__title { font-size: clamp(2rem, 9vw, 3.8rem); }
}

/* Temporary scrollable content for component testing */
.skymt-test-text {
  min-height: 105svh;
  display: flex;
  align-items: center;
  padding: 120px clamp(24px, 7vw, 110px);
  box-sizing: border-box;
  background: #cae2e6;
  color: #17282b;
}
.skymt-test-text__inner { max-width: 760px; }
.skymt-test-text h1, .skymt-test-text h2 {
  font: 400 clamp(2.3rem, 5vw, 5rem)/1.08 Arial, sans-serif;
  margin: 0 0 2rem;
}
.skymt-test-text p {
  font: 400 clamp(1.05rem, 1.6vw, 1.4rem)/1.6 Arial, sans-serif;
  margin: 0 0 1.3rem;
}

/* Variant A: content near top of the image */
.skymt-feature--top .skymt-feature__content {
  padding-top: clamp(145px, 16svh, 240px);
}
/* Variant B: center of the entire tall image; scrolls naturally with image */
.skymt-feature--center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.skymt-feature--center .skymt-feature__content {
  padding-block: 0;
}
/* Three independent text elements that wrap naturally at narrow widths. */
.skymt-feature .skymt-feature__eyebrow,
.skymt-feature .skymt-feature__title,
.skymt-feature .skymt-feature__link {
  text-align: center;
}
@media (max-width: 777px) {
  .skymt-feature .skymt-feature__content {
    width: calc(100% - 40px);
    margin-inline: 20px;
    text-align: left;
  }
  .skymt-feature .skymt-feature__eyebrow,
  .skymt-feature .skymt-feature__title,
  .skymt-feature .skymt-feature__link {
    text-align: left;
  }
  .skymt-feature--top .skymt-feature__content {
    padding-top: clamp(115px, 13svh, 190px);
  }
}

/* VARIANT C — Provider-inspired editorial overlay.
   The sticky track lasts 100svh + 550px, so its content remains pinned
   for roughly 550px of scrolling before moving out with the image. */
.skymt-feature--editorial {
  height: calc(100svh + 1000px);
  min-height: 0;
}
.skymt-feature--editorial .skymt-feature__image {
  object-position: center center;
}
.skymt-feature--editorial::after {
  background: rgba(0, 0, 0, .19);
}
.skymt-editorial__track {
  position: relative;
  height: calc(100svh + 550px);
  margin-top: 300px; /* shifted 150px downward; 150px remains below the track */
}
.skymt-editorial__sticky {
  position: sticky;
  top: 0;
  height: 100svh;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  padding: 0 clamp(24px, 3vw, 60px);
}
.skymt-editorial__grid {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(140px, 1fr) minmax(260px, 2fr) minmax(140px, 1fr);
  align-items: start;
  gap: 24px;
  font: 400 clamp(12px, 1vw, 16px)/1.45 Arial, sans-serif;
  color: #fff;
}
.skymt-editorial__grid p { margin: 0; padding: 0; }
.skymt-editorial__label { text-align: left; }
.skymt-editorial__description { text-align: center; }
.skymt-editorial__link {
  color: inherit;
  text-decoration: none;
  justify-self: end;
  border-bottom: 1px solid currentColor;
  padding-bottom: 3px;
}
@media (max-width: 777px) {
  .skymt-feature--editorial { height: calc(100svh + 1000px); min-height: 0; }
  .skymt-editorial__sticky { padding-inline: 20px; }
  .skymt-editorial__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    font-size: clamp(13px, 3.2vw, 16px);
  }
  .skymt-editorial__label,
  .skymt-editorial__description { text-align: left; }
  .skymt-editorial__link { justify-self: start; }
}

/* Ensure variant C's sticky positioning is never trapped by an overflow scroll container.
   The 550px track works in both directions: scroll down or back up. */
.skymt-feature--editorial { overflow: clip; }
.skymt-feature--editorial .skymt-editorial__grid { transform: none; }

/* DESIGN 07 — one consistent sticky timeline for all three variants.
   The track is centered within the IMAGE SECTION, not offset by an arbitrary
   top margin. This gives equal image distance before and after the sticky track.
   550px is the pinned scrolling distance; the surrounding image scrolls normally. */
.skymt-feature--top,
.skymt-feature--center,
.skymt-feature--editorial {
  height: max(190svh, calc(100svh + 1100px));
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  overflow: clip;
}
.skymt-feature--top { padding-bottom: 350px; box-sizing: border-box; }
.skymt-feature--center { padding-bottom: 0; }
.skymt-feature--editorial { padding-bottom: 0; }
.skymt-sticky-track,
.skymt-editorial__track {
  position: relative;
  flex: 0 0 auto;
  height: calc(100svh + 550px);
  margin: 0;
}
.skymt-sticky-window,
.skymt-editorial__sticky {
  position: sticky;
  top: 0;
  height: 100svh;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}
.skymt-sticky-window .skymt-feature__content {
  width: min(780px, calc(100% - 48px));
  margin-inline: auto;
  padding: 0;
}
.skymt-feature--top .skymt-sticky-window { align-items: flex-start; }
.skymt-feature--top .skymt-sticky-window .skymt-feature__content {
  padding-top: clamp(145px, 16svh, 240px);
}
.skymt-feature--center .skymt-sticky-window { align-items: center; }
.skymt-feature--center .skymt-sticky-window .skymt-feature__content {
  padding: 0;
}
@media (max-width: 777px) {
  .skymt-feature--top,
  .skymt-feature--center,
  .skymt-feature--editorial {
    height: max(175svh, calc(100svh + 900px));
  }
  .skymt-feature--top { padding-bottom: 250px; }
  .skymt-sticky-window .skymt-feature__content {
    width: calc(100% - 40px);
    margin-inline: 20px;
  }
  .skymt-feature--top .skymt-sticky-window .skymt-feature__content {
    padding-top: clamp(115px, 13svh, 190px);
  }
}

/* DESIGN 08: A intentionally enters earlier and sits closer to the top. */
.skymt-feature--top .skymt-sticky-track { transform: translateY(-230px); }
.skymt-feature--top .skymt-sticky-window .skymt-feature__content {
  padding-top: clamp(38px, 6svh, 90px);
}
@media (max-width:777px) {
  .skymt-feature--top .skymt-sticky-track { transform: translateY(-155px); }
  .skymt-feature--top .skymt-sticky-window .skymt-feature__content {
    padding-top: clamp(32px, 5svh, 65px);
  }
}
/* Static, full-bleed editorial footer — no sticky positioning. */
.skymt-footer {
  position: relative;
  isolation: isolate;
  overflow: clip;
  min-height: 105svh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  box-sizing: border-box;
  padding: clamp(120px, 16svh, 230px) clamp(24px, 4vw, 72px) clamp(28px, 3vw, 55px);
  color: #fff;
  background: #45515b;
}
.skymt-footer__background { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.skymt-footer::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.36)); }
.skymt-footer__details {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(24px,4vw,70px);
  margin-bottom:clamp(75px,12svh,170px);
  font:400 clamp(14px,1.15vw,18px)/1.55 Arial,sans-serif;
}
.skymt-footer__details h2 {font:inherit; font-size:12px; letter-spacing:.09em; margin:0 0 16px; text-transform:uppercase; color:inherit; text-align:left;}
.skymt-footer__details p {margin:0;}
.skymt-footer__details a {color:inherit; text-decoration:none; display:table; border-bottom:1px solid transparent;}
.skymt-footer__details a:hover,.skymt-footer__details a:focus-visible {border-color:currentColor;}
.skymt-footer__logo {display:block; width:min(100%,1100px); height:auto; object-fit:contain; object-position:left bottom;}
.skymt-footer__brand {display:block; width:100%;}
@media(max-width:700px) {
  .skymt-footer {min-height:100svh; padding:130px 20px 25px;}
  .skymt-footer__details {grid-template-columns:1fr; gap:30px; margin-bottom:70px;}
  .skymt-footer__details h2 {margin-bottom:7px;}
  .skymt-footer__logo {width:100%;}
}

/* DESIGN 09 — keep A safely inside the image; do not transform sticky ancestors. */
.skymt-feature--top {
  padding-bottom: 0;
  /* Shorter lead-in than B/C, but always leave room for the text. */
  padding-top: 0;
  justify-content: flex-start;
}
.skymt-feature--top .skymt-sticky-track {
  transform: none;
  margin-top: clamp(120px, 17svh, 220px);
}
.skymt-feature--top .skymt-sticky-window {
  align-items: flex-start;
}
.skymt-feature--top .skymt-sticky-window .skymt-feature__content {
  position: static;
  top: auto;
  padding-top: clamp(100px, 13svh, 160px);
}
/* DESIGN 09 — Surr-inspired hierarchy: logo first, then three small columns. */
.skymt-footer {
  min-height: 78svh;
  justify-content: center;
  gap: clamp(45px, 8svh, 105px);
  padding: clamp(95px, 14svh, 170px) clamp(24px, 8vw, 155px) clamp(65px, 10svh, 110px);
}
.skymt-footer__brand {
  display: block;
  width: fit-content;
  max-width: 100%;
}
.skymt-footer__logo {
  width: clamp(165px, 27vw, 380px);
  max-width: 100%;
  height: auto;
}
.skymt-footer__details {
  width: 100%;
  margin-bottom: 0;
  gap: clamp(25px, 5vw, 90px);
  font-size: clamp(14px, 1.15vw, 18px);
}
@media (max-width: 777px) {
  .skymt-feature--top { padding-bottom: 0; }
  .skymt-feature--top .skymt-sticky-track {
    transform: none;
    margin-top: clamp(90px, 13svh, 155px);
  }
  .skymt-feature--top .skymt-sticky-window .skymt-feature__content {
    padding-top: clamp(95px, 12svh, 145px);
  }
  .skymt-footer {
    min-height: 75svh;
    padding: 110px 24px 65px;
    gap: 48px;
  }
  .skymt-footer__logo { width: clamp(155px, 45vw, 260px); }
  .skymt-footer__details { grid-template-columns: 1fr; gap: 28px; }
}

/* DESIGN 10 — A: near the screenshot's red mark, while staying below navigation.
   Start the sticky track with the image; never translate the sticky ancestor. */
.skymt-feature--top {
  justify-content: flex-start;
  padding: 0;
}
.skymt-feature--top .skymt-sticky-track {
  margin-top: 0;
  transform: none;
}
.skymt-feature--top .skymt-sticky-window {
  align-items: flex-start;
}
.skymt-feature--top .skymt-sticky-window .skymt-feature__content {
  position: static;
  top: auto;
  padding-top: clamp(115px, 13svh, 155px);
}
@media (max-width: 777px) {
  .skymt-feature--top .skymt-sticky-track { margin-top: 0; transform: none; }
  .skymt-feature--top .skymt-sticky-window .skymt-feature__content {
    padding-top: clamp(115px, 14svh, 155px);
  }
}
/* Reusable full-bleed image interlude: a 150vh section containing a sticky
   100vh picture. It holds briefly, then releases naturally in both directions.
   No JS, no scroll-jacking, no fixed overlays. */
.skymt-flow-image {
  position: relative;
  height: 150svh;
  background: #151a1c;
  overflow: clip;
}
.skymt-flow-image__viewport {
  position: sticky;
  top: 0;
  height: 100svh;
  width: 100%;
  overflow: clip;
}
.skymt-flow-image__viewport img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (max-width: 777px) {
  .skymt-flow-image { height: 135svh; }
}

/* DESIGN 11: continuous flowing image panels, rather than paused sticky photos. */
.skymt-flow-image {
  height: 100svh;
  min-height: 650px;
  overflow: clip;
  isolation: isolate;
  margin: 0;
}
.skymt-flow-image__viewport {
  position: relative;
  top: auto;
  height: 100%;
  overflow: clip;
}
.skymt-flow-image__viewport > img {
  position: absolute;
  inset: -7% 0;
  width: 100%;
  height: 114%;
  object-fit: cover;
  transform: translate3d(0, var(--skymt-image-offset, 0px), 0);
  will-change: transform;
}
.skymt-flow-image__viewport::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.48), rgba(0,0,0,.12));
  pointer-events: none;
}
.skymt-flow-image__copy {
  position: absolute;
  z-index: 1;
  left: clamp(24px, 6vw, 110px);
  bottom: clamp(50px, 11vh, 140px);
  width: min(650px, calc(100% - 48px));
  color: white;
  text-align: left;
  font: 400 clamp(15px, 1.35vw, 19px)/1.55 Arial, sans-serif;
}
.skymt-flow-image__copy h2 {
  color: inherit;
  text-align: left;
  font: 400 clamp(36px, 5vw, 70px)/1.1 Arial, sans-serif;
  margin: 8px 0 18px;
}
.skymt-flow-image__copy p { margin: 0; }
.skymt-flow-image__eyebrow { font-size: 13px; letter-spacing: .06em; }
.skymt-video-hero { position: relative; height: 100svh; min-height: 480px; background: #111; overflow: clip; }
.skymt-video-hero__video { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 777px) {
  .skymt-flow-image { min-height: 100svh; height: auto; }
  .skymt-flow-image__viewport { min-height: 100svh; }
  .skymt-flow-image__copy { left: 20px; bottom: 40px; width: calc(100% - 40px); font-size: 14px; }
  .skymt-flow-image__copy h2 { font-size: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  .skymt-flow-image__viewport > img { transform: none !important; will-change: auto; }
}

/* DESIGN 12 — slightly quieter editorial copy on the photographic interludes. */
.skymt-flow-image__copy {
  font-size: clamp(13px, 1.05vw, 16px);
  line-height: 1.5;
  width: min(600px, calc(100% - 48px));
}
.skymt-flow-image__copy h2 {
  font-size: clamp(30px, 3.6vw, 52px);
  margin: 7px 0 13px;
}
.skymt-flow-image__eyebrow { font-size: 12px; }
@media (max-width: 777px) {
  .skymt-flow-image__copy {
    font-size: 13px;
    width: calc(100% - 40px);
  }
  .skymt-flow-image__copy h2 { font-size: clamp(29px, 7vw, 36px); }
}

/* DESIGN 13: independent placements for photographic text. */
.skymt-flow-image--film-top .skymt-flow-image__copy {
  top: clamp(125px, 17svh, 210px);
  bottom: auto;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  width: min(660px, calc(100% - 48px));
}
.skymt-flow-image--film-top .skymt-flow-image__copy h2 { text-align: center; }
.skymt-flow-image--photo-top .skymt-flow-image__copy {
  top: clamp(125px, 17svh, 210px);
  bottom: auto;
}
.skymt-flow-image--film-center .skymt-flow-image__copy {
  top: 50%;
  bottom: auto;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: min(660px, calc(100% - 48px));
}
.skymt-flow-image--film-center .skymt-flow-image__copy h2 { text-align: center; }
@media (max-width: 777px) {
  .skymt-flow-image--film-top .skymt-flow-image__copy,
  .skymt-flow-image--photo-top .skymt-flow-image__copy { top: 110px; }
  .skymt-flow-image--film-center .skymt-flow-image__copy { top: 50%; }
}
/* Seven-image horizontal gallery: white 1920x1080 backdrop, no sticky copy. */
.skymt-horizontal-gallery {
  --gallery-gutter: clamp(24px, 5vw, 90px);
  position: relative;
  height: 250svh; /* JS measures exact distance on load/resize */
  background: #fff url('../images/skymt-galleri-vit-1920x1080.png') center / cover;
  color: #161616;
  isolation: isolate;
}
.skymt-horizontal-gallery__sticky {
  position: sticky;
  top: 0;
  height: 100svh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.skymt-horizontal-gallery__intro,
.skymt-horizontal-gallery__bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin: 0 var(--gallery-gutter);
  font: 400 12px/1.4 Arial, sans-serif;
  letter-spacing: .075em;
}
.skymt-horizontal-gallery__intro { margin-bottom: clamp(18px, 3vh, 32px); }
.skymt-horizontal-gallery__bottom { margin-top: clamp(18px, 3vh, 32px); }
.skymt-horizontal-gallery__track {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2vw, 36px);
  width: max-content;
  padding-inline: var(--gallery-gutter);
  transform: translate3d(0,0,0);
  will-change: transform;
}
.skymt-horizontal-gallery__item { margin: 0; flex: 0 0 auto; }
.skymt-horizontal-gallery__item img {
  display: block;
  width: auto;
  height: clamp(260px, 58svh, 700px);
  max-width: min(76vw, 1000px);
  object-fit: contain;
}
.skymt-horizontal-gallery__item figcaption {
  margin-top: 10px;
  font: 400 11px/1.4 Arial, sans-serif;
  letter-spacing: .08em;
}
@media (max-width: 777px) {
  .skymt-horizontal-gallery__item img { height: auto; max-height: 54svh; max-width: 82vw; }
  .skymt-horizontal-gallery__intro, .skymt-horizontal-gallery__bottom { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .skymt-horizontal-gallery { height: auto !important; }
  .skymt-horizontal-gallery__sticky { position: relative; height: auto; min-height: 80svh; padding-block: 50px; }
  .skymt-horizontal-gallery__track { overflow-x: auto; width: 100%; transform: none !important; will-change: auto; }
}

/* DESIGN 14: edge-to-edge editorial gallery, larger images, no labels. */
.skymt-horizontal-gallery__item img {
  height: 78svh;
  max-height: none;
  max-width: 90vw;
  object-fit: contain;
}
/* Frames 2 and 7 are deliberately 75% as tall as the standard frames. */
.skymt-horizontal-gallery__item:nth-child(2) img,
.skymt-horizontal-gallery__item:nth-child(7) img { height: 58.5svh; }
@media (max-width: 777px) {
  .skymt-horizontal-gallery__item img {
    height: auto;
    max-height: 78svh;
    max-width: 88vw;
  }
  .skymt-horizontal-gallery__item:nth-child(2) img,
  .skymt-horizontal-gallery__item:nth-child(7) img {
    height: auto;
    max-height: 58.5svh;
  }
}

/* DESIGN 15 — continuous seamless gallery: 07 flows directly into 01. */
.skymt-horizontal-gallery__sticky { padding-left: var(--gallery-gutter); box-sizing: border-box; }
.skymt-horizontal-gallery__track { gap: 0; padding-inline: 0; }
.skymt-horizontal-gallery__group {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2vw, 36px);
  flex: 0 0 auto;
  padding-right: clamp(18px, 2vw, 36px);
}
/* The repeated groups have the same 2nd and 7th image sizing. */
.skymt-horizontal-gallery__group .skymt-horizontal-gallery__item:nth-child(2) img,
.skymt-horizontal-gallery__group .skymt-horizontal-gallery__item:nth-child(7) img { height: 58.5svh; }
@media (max-width: 777px) {
  .skymt-horizontal-gallery__group .skymt-horizontal-gallery__item:nth-child(2) img,
  .skymt-horizontal-gallery__group .skymt-horizontal-gallery__item:nth-child(7) img {
    height: auto;
    max-height: 58.5svh;
  }
}
@media (prefers-reduced-motion: reduce) {
  .skymt-horizontal-gallery__sticky { padding-left: 0; }
  .skymt-horizontal-gallery__track { gap: 0; }
  .skymt-horizontal-gallery__group { padding-left: var(--gallery-gutter); }
  .skymt-horizontal-gallery__group:not(:first-child) { display: none; }
}

/* DESIGN 16: all gallery images share one top edge, including 75% frames. */
.skymt-horizontal-gallery__sticky { justify-content: center; }
.skymt-horizontal-gallery__track,
.skymt-horizontal-gallery__group { align-items: flex-start; }
.skymt-horizontal-gallery__item { align-self: flex-start; }
@media (max-width: 777px) {
  .skymt-horizontal-gallery__group .skymt-horizontal-gallery__item img { height: 78svh; max-height: none; width: auto; max-width: 88vw; }
  .skymt-horizontal-gallery__group .skymt-horizontal-gallery__item:nth-child(2) img,
  .skymt-horizontal-gallery__group .skymt-horizontal-gallery__item:nth-child(7) img { height: 58.5svh; max-height: none; }
}

/* DESIGN 17: Gallery is in the normal document flow, never sticky or scroll-locked. */
.skymt-horizontal-gallery {
  height: 100svh !important;
  min-height: 420px;
  overflow: hidden;
}
.skymt-horizontal-gallery__sticky {
  position: relative;
  top: auto;
  height: 100%;
  cursor: grab;
  touch-action: pan-y; /* Vertical finger gestures continue scrolling the page. */
  user-select: none;
  -webkit-user-select: none;
}
.skymt-horizontal-gallery__sticky:active { cursor: grabbing; }
.skymt-horizontal-gallery__item img { pointer-events: none; -webkit-user-drag: none; }
@media (prefers-reduced-motion: reduce) {
  .skymt-horizontal-gallery { height: auto !important; min-height: 0; }
  .skymt-horizontal-gallery__sticky { min-height: 80svh; }
}

/* DESIGN 18: Video behaves like a gallery image, top-aligned. */
.skymt-horizontal-gallery__item video { display:block; width:auto; height:78svh; max-width:90vw; object-fit:contain; pointer-events:none; }
.skymt-horizontal-gallery__group .skymt-horizontal-gallery__item:nth-child(2) video { height:58.5svh; }
@media (max-width:777px) {
 .skymt-horizontal-gallery__item video { height:78svh; max-width:88vw; }
 .skymt-horizontal-gallery__group .skymt-horizontal-gallery__item:nth-child(2) video { height:58.5svh; }
}

/* DESIGN 26: sans-serif headings/labels, Georgia long-form text */
.skymt-feature__eyebrow,.skymt-feature__link,.skymt-flow-image__eyebrow,.skymt-flow-image__copy h2,.skymt-editorial__label,.skymt-editorial__link,.skymt-footer__details h2,.skymt-section-label,.skymt-contact-story__label,.skymt-contact-story h2,.skymt-contact-story h3,.skymt-services-copy h2{font-family:Arial,Helvetica,sans-serif!important;}
.skymt-feature__title,.skymt-flow-image__copy>p:not(.skymt-flow-image__eyebrow),.skymt-editorial__description,.skymt-footer__details a,.skymt-footer__details p,.skymt-services-copy__inner>p:not(.skymt-section-label),.skymt-contact-story__inner>p:not(.skymt-contact-story__label){font-family:Georgia,'Times New Roman',serif!important;}
.skymt-services-copy,.skymt-contact-story{background:#fff;color:#111;padding:clamp(95px,13vw,200px) clamp(24px,8vw,140px);}
.skymt-services-copy__inner,.skymt-contact-story__inner{max-width:850px;margin:auto;}
.skymt-services-copy h2,.skymt-contact-story h2{font-size:clamp(45px,7vw,100px);font-weight:400;letter-spacing:-.06em;margin:0 0 40px;}
.skymt-services-copy p,.skymt-contact-story p{font-size:clamp(18px,2vw,25px);line-height:1.65;}
.skymt-section-label,.skymt-contact-story__label{font-size:14px!important;text-transform:uppercase;letter-spacing:.08em;}
.skymt-services-copy a,.skymt-contact-story a{color:inherit;}
.skymt-contact-story__credits{margin-top:45px;}
.skymt-contact-story h3{font-size:25px;font-weight:400;margin-top:65px;}
.skymt-contact-story img{max-width:100%;height:auto;}

/* Archive retains the original film copy without repeating the moved image section. */
.skymt-archive-film-copy{background:#fff;color:#151515;padding:clamp(85px,10vw,150px) clamp(24px,8vw,140px);}
.skymt-archive-film-copy .skymt-flow-image__copy{position:static!important;transform:none!important;inset:auto!important;max-width:800px!important;width:100%!important;margin:auto!important;color:#151515!important;text-shadow:none!important;}
.skymt-archive-film-copy .skymt-flow-image__copy p:not(.skymt-flow-image__eyebrow){font-family:Georgia,'Times New Roman',serif!important;line-height:1.7!important;}

/* DESIGN 27 — contained two-column partner grid, responsive. */
.skymt-contact-story .skymt-partners-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2.2vw,24px);width:min(100%,580px);margin:22px auto 0;align-items:center;}
.skymt-contact-story .skymt-partners-grid__item{display:flex;align-items:center;justify-content:center;min-height:110px;padding:clamp(12px,2vw,22px);background:#f7f7f7;box-sizing:border-box;}
.skymt-contact-story .skymt-partners-grid__item img{display:block;width:auto;max-width:100%;max-height:125px;height:auto;object-fit:contain;}
@media(max-width:520px){.skymt-contact-story .skymt-partners-grid{width:100%;gap:10px;}.skymt-contact-story .skymt-partners-grid__item{min-height:82px;padding:10px;}.skymt-contact-story .skymt-partners-grid__item img{max-height:90px;}}

/* DESIGN 28 — consistent editorial serif titles; smooth fluid typography. */
.skymt-feature__title,.skymt-flow-image__copy h2,.skymt-contact-story h2,.skymt-contact-story h3,.skymt-services-copy h2,.skymt-archive-film-copy h2,.skymt-test-text h1,.skymt-test-text h2{font-family:Georgia,"Times New Roman",serif!important;font-weight:400!important;}
/* No abrupt center-to-left jump: the top variant stays centered and scales fluidly. */
.skymt-feature--top .skymt-feature__content{width:min(780px,calc(100% - 40px))!important;margin-inline:auto!important;text-align:center!important;}
.skymt-feature--top .skymt-feature__eyebrow,.skymt-feature--top .skymt-feature__title,.skymt-feature--top .skymt-feature__link{text-align:center!important;}
.skymt-feature--top .skymt-feature__title{font-size:clamp(2rem,5.6vw,6.1rem)!important;line-height:1.09!important;letter-spacing:-.045em!important;text-wrap:balance;}
/* Fluid center-aligned copy in center image sections too. */
.skymt-flow-image--film-center .skymt-flow-image__copy{left:50%!important;right:auto!important;width:min(600px,calc(100% - 40px))!important;transform:translate(-50%,-50%)!important;text-align:center!important;}
.skymt-flow-image--film-center .skymt-flow-image__copy h2{font-size:clamp(1.9rem,3.6vw,3.25rem)!important;}
/* Logos inside a dedicated white section, two columns, no grey tiles. */
.skymt-partners-section{background:#fff!important;color:#111!important;padding:clamp(72px,10vw,140px) 24px!important;}
.skymt-partners-section__inner{width:min(100%,640px);margin:0 auto;}
.skymt-partners-section__title{font:400 clamp(27px,3vw,42px)/1.2 Georgia,"Times New Roman",serif!important;text-align:center;margin:0 0 clamp(28px,5vw,60px);}
.skymt-partners-section .skymt-partners-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(20px,4vw,45px)!important;max-width:500px!important;margin:0 auto!important;align-items:center!important;}
.skymt-partners-section .skymt-partners-grid__item{display:flex!important;justify-content:center!important;align-items:center!important;min-width:0!important;padding:8px!important;background:transparent!important;border:0!important;}
.skymt-partners-section .skymt-partners-grid__item img{display:block!important;max-width:100%!important;width:auto!important;height:auto!important;max-height:90px!important;object-fit:contain!important;}
@media(max-width:520px){.skymt-partners-section .skymt-partners-grid{gap:18px!important;max-width:330px!important;}.skymt-partners-section .skymt-partners-grid__item img{max-height:65px!important;}}


/* DESIGN 29 — single typography scale, continuous across every viewport width.
   Removed text-wrap balancing and conflicting mobile font-size overrides. */
:root {
  --skymt-heading-size: clamp(30px, 3.35vw, 48px);
  --skymt-body-size: clamp(14px, 1.15vw, 18px);
  --skymt-label-size: 12px;
}
/* Identical headings on all pages and all editorial sections. */
.skymt-feature__title,
.skymt-flow-image__copy h2,
.skymt-archive-film-copy h2,
.skymt-contact-story h2,
.skymt-contact-story h3,
.skymt-services-copy h2,
.skymt-partners-section__title,
.skymt-test-text h1,
.skymt-test-text h2,
.skymt-footer__details h2:not(.skymt-footer__details h2),
.skymt-feature--top .skymt-feature__title,
.skymt-flow-image--film-center .skymt-flow-image__copy h2 {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: var(--skymt-heading-size) !important;
  font-weight: 400 !important;
  line-height: 1.17 !important;
  letter-spacing: -.025em !important;
  text-wrap: wrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
/* Same scale as footer contact/social/address for all prose and text links. */
.skymt-feature__link,
.skymt-flow-image__copy,
.skymt-flow-image__copy p:not(.skymt-flow-image__eyebrow),
.skymt-archive-film-copy .skymt-flow-image__copy,
.skymt-archive-film-copy p:not(.skymt-flow-image__eyebrow),
.skymt-contact-story p:not(.skymt-contact-story__label),
.skymt-services-copy p:not(.skymt-section-label),
.skymt-test-text p,
.skymt-footer__details,
.skymt-footer__details p,
.skymt-footer__details a {
  font-size: var(--skymt-body-size) !important;
  line-height: 1.55 !important;
}
/* Small section labels match the footer's column headings. */
.skymt-feature__eyebrow,
.skymt-flow-image__eyebrow,
.skymt-section-label,
.skymt-contact-story__label,
.skymt-footer__details h2,
.skymt-horizontal-gallery__intro,
.skymt-horizontal-gallery__bottom {
  font-size: var(--skymt-label-size) !important;
  line-height: 1.5 !important;
}
/* Keep all main hero headlines centered at every width; no breakpoint jump.
   Fluid max-width follows the viewport smoothly, with no mobile-only font reset. */
.skymt-feature--top .skymt-feature__content,
.skymt-feature--center .skymt-feature__content {
  width: min(780px, calc(100% - 40px)) !important;
  margin-inline: auto !important;
  text-align: center !important;
}
.skymt-feature--top .skymt-feature__title,
.skymt-feature--center .skymt-feature__title,
.skymt-feature--top .skymt-feature__eyebrow,
.skymt-feature--center .skymt-feature__eyebrow,
.skymt-feature--top .skymt-feature__link,
.skymt-feature--center .skymt-feature__link {text-align:center !important;}
/* Avoid shifting text sideways when width crosses a breakpoint. */
.skymt-flow-image--film-center .skymt-flow-image__copy {
  left:50% !important;right:auto !important;
  width:min(600px,calc(100% - 40px)) !important;
  transform:translate(-50%,-50%) !important;
  text-align:center !important;
}


/* DESIGN 30 — consistent editorial gutter and 35% larger headings. */
:root { --skymt-heading-size: clamp(40.5px, 4.5225vw, 64.8px); --skymt-page-gutter: clamp(24px, 6vw, 110px); }
/* Align the archive's white copy and the photography image copy to one shared edge. */
.skymt-archive-film-copy {padding-left:var(--skymt-page-gutter)!important;padding-right:var(--skymt-page-gutter)!important;}
.skymt-archive-film-copy .skymt-flow-image__copy {margin:0!important;max-width:800px!important;}
.skymt-flow-image--photo-top .skymt-flow-image__copy {left:var(--skymt-page-gutter)!important;right:auto!important;width:min(800px,calc(100% - 2 * var(--skymt-page-gutter)))!important;}
/* Contact details now belong to the story, without a second standalone section. */
.skymt-flow-image__copy .skymt-story-contact {margin-top:clamp(18px,2.5vw,30px)!important;display:flex;flex-wrap:wrap;gap:8px clamp(18px,3vw,36px);align-items:start;}
.skymt-flow-image__copy .skymt-story-contact p {margin:0!important;}
.skymt-story-contact a {color:inherit;text-decoration:underline;text-underline-offset:4px;}

/* DESIGN 35 — extend the two index sticky journeys by roughly 250px at each end.
   Scoped to index only: service and contact sections retain their timing. */
body.skymt-home .skymt-feature--center,
body.skymt-home .skymt-feature--editorial {
  height: max(190svh, calc(100svh + 1600px));
}
body.skymt-home .skymt-feature--center .skymt-sticky-track,
body.skymt-home .skymt-feature--editorial .skymt-editorial__track {
  height: calc(100svh + 1050px);
}
@media (max-width:777px) {
  body.skymt-home .skymt-feature--center,
  body.skymt-home .skymt-feature--editorial {
    height: max(175svh, calc(100svh + 1400px));
  }
}

/* Design 37: full-bleed hero video, no distortion across viewports */
.skymt-video-hero__video { width: 100%; height: 100%; object-fit: cover; object-position: center center; }

/* DESIGN 44: individual heights in the first portfolio gallery, 100% = 78svh. */
.skymt-horizontal-gallery--portfolio .skymt-horizontal-gallery__group .skymt-horizontal-gallery__item img,
.skymt-horizontal-gallery--portfolio .skymt-horizontal-gallery__group .skymt-horizontal-gallery__item video {
 height:calc(78svh * var(--item-height, 1)) !important; max-height:none !important; width:auto; max-width:88vw; object-fit:contain;
}

/* DESIGN 45 — keep every portfolio image/video anchored to the same top edge.
   When a landscape item hits the mobile max-width, object-fit:contain otherwise
   letterboxes its contents vertically in the taller element, appearing centered. */
.skymt-horizontal-gallery--portfolio .skymt-horizontal-gallery__track,
.skymt-horizontal-gallery--portfolio .skymt-horizontal-gallery__group {
  align-items: flex-start !important;
}
.skymt-horizontal-gallery--portfolio .skymt-horizontal-gallery__item {
  align-self: flex-start !important;
  display: block;
}
.skymt-horizontal-gallery--portfolio .skymt-horizontal-gallery__item img,
.skymt-horizontal-gallery--portfolio .skymt-horizontal-gallery__item video {
  display: block;
  object-position: center top !important;
  vertical-align: top;
}

/* DESIGN 46 — retain proportional landscape/portrait sizing on narrow viewports.
   Remove the viewport-width cap: the horizontal gallery itself clips overflow,
   while each media element keeps its requested viewport-height and intrinsic ratio. */
.skymt-horizontal-gallery--portfolio .skymt-horizontal-gallery__group .skymt-horizontal-gallery__item img,
.skymt-horizontal-gallery--portfolio .skymt-horizontal-gallery__group .skymt-horizontal-gallery__item video {
  max-width: none !important;
  width: auto !important;
  height: calc(78svh * var(--item-height, 1)) !important;
  object-fit: contain;
  object-position: left top !important;
}

/* DESIGN 48 — per-item height follows the artwork when gallery order changes. */
.skymt-horizontal-gallery .skymt-horizontal-gallery__group .skymt-horizontal-gallery__item img,
.skymt-horizontal-gallery .skymt-horizontal-gallery__group .skymt-horizontal-gallery__item video {
 height:calc(78svh * var(--item-height, 1)) !important;
 max-height:none !important; max-width:none !important; width:auto !important;
 object-fit:contain; display:block;
}
.skymt-horizontal-gallery .skymt-horizontal-gallery__group .skymt-horizontal-gallery__item {align-self:flex-start !important;}

/* Design 51: Filmtext integrerad i den långa introduktionssektionen. */
.skymt-feature--center .skymt-feature__film-copy { max-width: 740px; margin: clamp(20px,3vw,38px) auto 22px; text-align: left; }
.skymt-feature--center .skymt-feature__film-copy .skymt-flow-image__eyebrow { font-family: Arial,Helvetica,sans-serif; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 12px; }
.skymt-feature--center .skymt-feature__film-copy h2 { font-family: Georgia,'Times New Roman',serif; font-size: clamp(30px,4vw,58px); font-weight: normal; margin: 0 0 14px; }
.skymt-feature--center .skymt-feature__film-copy p:not(.skymt-flow-image__eyebrow) { font-family: Georgia,'Times New Roman',serif; font-size: clamp(15px,1.4vw,19px); line-height: 1.48; margin: 0; }
.skymt-feature--center .skymt-sticky-track { min-height: max(1100px, 185vh); }
@media(max-width:700px){.skymt-feature--center .skymt-feature__film-copy{margin:18px auto}.skymt-feature--center .skymt-sticky-track{min-height:max(1050px,190vh)}}

/* SKYMT Design 52: white middle services image and centered contact details */
.skymt-services-white .skymt-flow-image__copy,
.skymt-services-white .skymt-flow-image__copy h2,
.skymt-services-white .skymt-flow-image__eyebrow {color:#000!important;text-shadow:none!important;}
.skymt-flow-image--film-center .skymt-story-contact {
 display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:clamp(12px,2vw,24px)!important;text-align:center!important;width:100%!important;
}
.skymt-flow-image--film-center .skymt-story-contact p {text-align:center!important;width:100%!important;}
.skymt-flow-image--film-center .skymt-story-contact a {font-size:clamp(2rem,4.5vw,3.6rem)!important;line-height:1.15!important;overflow-wrap:anywhere;}

/* SKYMT Design 53 */
.skymt-flow-image--film-center .skymt-story-contact a {font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(1.25rem,2.4vw,2.15rem)!important;font-weight:400!important;}
.skymt-feature--center .skymt-feature__film-copy,
.skymt-feature--center .skymt-feature__film-copy h2,
.skymt-feature--center .skymt-feature__film-copy p {text-align:center!important;}
.skymt-partners-section {background:#fff url('../images/IMAGE-STILL-havet.jpg') center center/cover no-repeat!important;}

/* DESIGN 61 — white transparent customer logos, 35% larger, readable over the ocean photo. */
.skymt-partners-section {background:linear-gradient(rgba(0,0,0,.66),rgba(0,0,0,.66)),url('../images/IMAGE-STILL-havet.jpg') center center/cover no-repeat!important;color:#fff!important;}
.skymt-partners-section__inner{width:min(100%,850px)!important;}
.skymt-partners-section .skymt-partners-grid{max-width:675px!important;gap:clamp(22px,4vw,52px)!important;}
.skymt-partners-section .skymt-partners-grid__item img{max-height:122px!important;}
@media(max-width:520px){.skymt-partners-section .skymt-partners-grid{max-width:445px!important;gap:16px!important}.skymt-partners-section .skymt-partners-grid__item img{max-height:88px!important;}}

/* DESIGN 62 — client marks: +25% desktop, +15% mobile versus Design 61. */
@media (min-width: 521px) {
 .skymt-partners-section__inner { width:min(100%,1063px)!important; }
 .skymt-partners-section .skymt-partners-grid { max-width:844px!important; gap:clamp(22px,4vw,52px)!important; }
 .skymt-partners-section .skymt-partners-grid__item img { max-height:153px!important; }
}
@media (max-width: 520px) {
 .skymt-partners-section .skymt-partners-grid { max-width:100%!important; gap:16px!important; }
 .skymt-partners-section .skymt-partners-grid__item { padding:4px!important; }
 .skymt-partners-section .skymt-partners-grid__item img { max-height:101px!important; }
}

/* DESIGN 67 — two-column footer on narrow windows: Contact/Socialt left, Visit right. */
@media (max-width: 1050px) {
  .skymt-footer__logo { width: clamp(270px, 55vw, 550px); max-width: 100%; }
  .skymt-footer__details {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: clamp(22px, 6vw, 75px);
    row-gap: 32px;
    align-items: start;
  }
  .skymt-footer__details > div:nth-child(1) { grid-column: 1; grid-row: 1; }
  .skymt-footer__details > div:nth-child(2) { grid-column: 1; grid-row: 2; }
  .skymt-footer__details > div:nth-child(3) { grid-column: 2; grid-row: 1 / span 2; }
}
@media (max-width: 520px) {
  .skymt-footer { padding-left: 18px; padding-right: 18px; }
  .skymt-footer__logo { width: min(100%, 420px); }
  .skymt-footer__details { column-gap: 16px; }
  .skymt-footer__details a { overflow-wrap: anywhere; }
}

/* DESIGN 68 — precise Visit line spacing and larger desktop footer mark. */
.skymt-footer__details > div:nth-child(3) > p:first-of-type { margin: 0 !important; padding: 0 !important; }
.skymt-footer__details > div:nth-child(3) > p:first-of-type + a { margin-top: 0 !important; padding-top: 0 !important; }
.skymt-footer__details > div:nth-child(3) > p:last-child { margin: 0 !important; }
@media (min-width: 1051px) {
 .skymt-footer__logo { width: clamp(189.75px, 31.05vw, 437px) !important; max-width: 100% !important; }
}

/* DESIGN 69 — low-key privacy link and local YouTube poster explanation */
.skymt-footer__privacy {position:relative;z-index:3;margin:2rem 0 0;padding:0 3.5%;font:12px/1.6 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;}
.skymt-footer__privacy a {color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;}
.skymt-footer__privacy a:hover {opacity:.7;}
.skymt-video-carousel__privacy {max-width:760px;margin:1rem auto 0;padding:0 20px;text-align:center;font:12px/1.6 Arial,sans-serif;letter-spacing:.02em;}
.skymt-video-carousel__privacy a {color:inherit;text-underline-offset:3px;}

/* DESIGN 70 — privacy link aligned to footer columns, one-line separation. */
.skymt-footer__privacy { align-self:stretch!important; text-align:left!important; padding:0!important; margin:calc(14px - clamp(45px,8svh,105px)) 0 0!important; font-size:12px!important; }
@media(max-width:777px){.skymt-footer__privacy{margin-top:calc(14px - 48px)!important;}}

/* DESIGN 75 — three editorial service areas, stacked on mobile. */
.skymt-service-areas{background:#f7f7f4;color:#111;padding:clamp(78px,10vw,160px) clamp(24px,5vw,88px);}
.skymt-service-areas__inner{width:min(100%,1320px);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(36px,5vw,95px);align-items:start;}
.skymt-service-areas__card{text-align:center;min-width:0;}
.skymt-service-areas__card img{display:block;width:clamp(120px,13vw,190px);height:auto;aspect-ratio:1/1;object-fit:contain;margin:0 auto clamp(26px,3vw,42px);}
.skymt-service-areas__card h2{font-family:Georgia,serif;font-size:clamp(32px,3vw,48px);font-weight:400;line-height:1.1;margin:0 0 22px;color:#111;}
.skymt-service-areas__card p{font-family:Georgia,serif;font-size:clamp(16px,1.35vw,20px);line-height:1.6;max-width:340px;margin:0 auto;color:#252525;}
@media(max-width:700px){.skymt-service-areas{padding:82px 28px 95px}.skymt-service-areas__inner{grid-template-columns:1fr;gap:90px}.skymt-service-areas__card img{width:160px;margin-bottom:24px}.skymt-service-areas__card h2{font-size:38px;margin-bottom:16px}.skymt-service-areas__card p{font-size:18px;}}

/* DESIGN 76 — service columns inside the existing third image section. */
.skymt-feature--top .skymt-sticky-window .skymt-feature__content{width:min(1240px,calc(100% - 70px))!important;padding-top:clamp(112px,13svh,150px)!important;}
.skymt-feature--top .skymt-service-areas__inner{width:100%;margin:clamp(28px,4svh,45px) auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,5vw,82px);align-items:start;}
.skymt-feature--top .skymt-service-areas__card{text-align:center;color:#fff;min-width:0;}
.skymt-feature--top .skymt-service-areas__card img{display:block;width:clamp(88px,10vw,138px);height:auto;aspect-ratio:1;object-fit:contain;filter:invert(1);margin:0 auto 12px;}
.skymt-feature--top .skymt-service-areas__card h2{font:400 clamp(24px,2.7vw,36px)/1.2 Georgia,serif;color:#fff;margin:0 0 10px;}
.skymt-feature--top .skymt-service-areas__card p{font:400 clamp(14px,1.2vw,17px)/1.5 Georgia,serif;color:#fff;margin:0 auto;max-width:320px;}
.skymt-feature--top .skymt-feature__link{margin-top:clamp(16px,3svh,28px);}
.skymt-flow-image__copy .skymt-olive-divider{margin:24px auto 0;}
@media(max-width:700px){
 .skymt-feature--top{height:auto!important;min-height:0!important;padding:0 0 90px!important;}
 .skymt-feature--top .skymt-sticky-track{height:auto!important;}
 .skymt-feature--top .skymt-sticky-window{height:auto!important;position:relative!important;top:auto!important;}
 .skymt-feature--top .skymt-sticky-window .skymt-feature__content{width:calc(100% - 40px)!important;margin:0 20px!important;padding-top:130px!important;}
 .skymt-feature--top .skymt-service-areas__inner{grid-template-columns:1fr;gap:52px;margin-top:45px;}
 .skymt-feature--top .skymt-service-areas__card img{width:120px;margin-bottom:12px;}
 .skymt-feature--top .skymt-service-areas__card h2{font-size:30px;}
 .skymt-feature--top .skymt-service-areas__card p{font-size:16px;}
}

/* DESIGN 77 — room for three services, including narrow screens. */
.skymt-feature--top{height:max(215svh,calc(100svh + 1350px))!important;min-height:0!important;}
.skymt-feature--top .skymt-sticky-track{height:calc(100svh + 750px)!important;}
.skymt-feature--top .skymt-sticky-window .skymt-feature__content{padding-top:clamp(120px,17svh,190px)!important;}
.skymt-feature--top .skymt-service-areas__inner{margin-top:0!important;}
/* Uploaded service pictograms are white already: do not invert them. */
.skymt-feature--top .skymt-service-areas__card img{filter:none!important;}
/* Olive branch: same dimensions as the one on the homepage. */
.skymt-flow-image__copy .skymt-olive-divider{width:min(161px,75vw)!important;max-width:161px!important;height:auto!important;margin:22px auto 0!important;}
@media(max-width:700px){
 .skymt-feature--top{height:auto!important;min-height:calc(100svh + 640px)!important;padding:0 0 110px!important;overflow:visible!important;}
 .skymt-feature--top .skymt-sticky-track{height:auto!important;min-height:0!important;}
 .skymt-feature--top .skymt-sticky-window{height:auto!important;min-height:0!important;position:relative!important;}
 .skymt-feature--top .skymt-sticky-window .skymt-feature__content{padding-top:145px!important;padding-bottom:40px!important;}
 .skymt-feature--top .skymt-service-areas__inner{gap:65px!important;}
}

/* DESIGN 79 — water photo behind the Tjänster introduction, with readable text. */
.skymt-services-white .skymt-flow-image__viewport::after{background:rgba(0,0,0,.42)!important;}
.skymt-services-white .skymt-flow-image__copy,
.skymt-services-white .skymt-flow-image__copy h2,
.skymt-services-white .skymt-flow-image__eyebrow{color:#fff!important;text-shadow:0 1px 12px rgba(0,0,0,.35)!important;}

/* Design 84: two paragraphs in the services introduction */
.skymt-flow-image--film-top .skymt-flow-image__copy p + p { margin-top: 1.1em; }

/* DESIGN 85 — more room for the completed Film / VFX / Fotografi descriptions. */
@media(min-width:701px){.skymt-feature--top{height:max(240svh,calc(100svh + 1500px))!important;}.skymt-feature--top .skymt-sticky-track{height:calc(100svh + 900px)!important;}}

/* DESIGN 87 — 25% larger editorial headings throughout the site. */
:root{--skymt-heading-size:clamp(50.625px,5.653125vw,81px)!important;}
.skymt-feature--top .skymt-service-areas__card h2{font-size:clamp(30px,3.375vw,45px)!important;}
@media(max-width:700px){.skymt-feature--top .skymt-service-areas__card h2{font-size:37.5px!important;}}

/* DESIGN 88 — Kontakt: exchange section 2 and 3 backgrounds. */
body:has(.skymt-partners-section) .skymt-partners-section{background:linear-gradient(rgba(0,0,0,.66),rgba(0,0,0,.66)),url("../images/IMAGE-STILL-north.jpg") center center/cover no-repeat!important;}

/* DESIGN 89 — overlay follows the image in Kontakt; brighten Index section 3. */
body:has(.skymt-partners-section) .skymt-flow-image--film-center .skymt-flow-image__viewport::after{background:rgba(0,0,0,.66)!important;}
body:has(.skymt-partners-section) .skymt-partners-section{background:url("../images/IMAGE-STILL-north.jpg") center center/cover no-repeat!important;}
body:has(.skymt-flow-image--photo-top) .skymt-flow-image--photo-top .skymt-flow-image__viewport::after{background:linear-gradient(90deg,rgba(0,0,0,.23),rgba(0,0,0,.05))!important;}

/* DESIGN 90 — more room for the Tjänster introduction and its olive branch. */
@media (min-width: 778px) {
  .skymt-flow-image--film-top.skymt-services-white {
    height: max(120svh, 1060px) !important;
    min-height: 1060px !important;
  }
  .skymt-flow-image--film-top.skymt-services-white .skymt-flow-image__copy {
    top: clamp(125px, 15svh, 180px) !important;
  }
}
/* Let the introduction grow naturally on narrower screens. */
@media (max-width: 777px) {
  .skymt-flow-image--film-top.skymt-services-white {
    height: auto !important;
    min-height: 0 !important;
  }
  .skymt-flow-image--film-top.skymt-services-white .skymt-flow-image__viewport {
    height: auto !important;
    min-height: 0 !important;
    padding: 120px 0 95px;
  }
  .skymt-flow-image--film-top.skymt-services-white .skymt-flow-image__copy {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
  }
}
/* Consistent 41% black overlay on the Film / VFX / Fotografi image section. */
.skymt-feature--top::after {
  background: rgba(0, 0, 0, .41) !important;
}

/* DESIGN 91: Reserve each gallery item's intrinsic width BEFORE images/videos load.
   This prevents the 1x1 lazy placeholder from collapsing the horizontal flex layout. */
.skymt-horizontal-gallery .skymt-horizontal-gallery__group .skymt-horizontal-gallery__item img,
.skymt-horizontal-gallery .skymt-horizontal-gallery__group .skymt-horizontal-gallery__item video {
  width:calc(78svh * var(--item-height,1) * var(--media-ratio,1.77777778)) !important;
  height:calc(78svh * var(--item-height,1)) !important;
  max-width:none !important; max-height:none !important;
  object-fit:contain !important; object-position:top left !important;
  display:block !important;
}
.skymt-horizontal-gallery .skymt-horizontal-gallery__group .skymt-horizontal-gallery__item {flex:0 0 auto!important;overflow:hidden;}


/* DESIGN 93 — mobile gallery: native one-finger swipe, stable independent frames. */
@media (max-width:777px) {
  .skymt-horizontal-gallery {height: min(90svh, 850px) !important; min-height: 430px !important; overflow: hidden !important;}
  .skymt-horizontal-gallery__sticky {display:block !important; position:relative !important; height:100% !important; min-height:0 !important; padding:0 !important; overflow-x:auto !important; overflow-y:hidden !important; touch-action:pan-x !important; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scroll-behavior:auto; cursor:auto !important;}
  .skymt-horizontal-gallery__track {display:flex !important; align-items:flex-start !important; width:max-content !important; height:100% !important; gap:18px !important; padding:0 18px !important; transform:none !important; will-change:auto !important; overflow:visible !important;}
  .skymt-horizontal-gallery__track > .skymt-horizontal-gallery__item {flex:0 0 auto !important; display:block !important; margin:0 !important; overflow:hidden !important;}
  .skymt-horizontal-gallery__track > .skymt-horizontal-gallery__item img,
  .skymt-horizontal-gallery__track > .skymt-horizontal-gallery__item video {
    display:block !important;
    width:min(calc(72svh * var(--item-height,1) * var(--media-ratio,1.77778)), 88vw) !important;
    height:auto !important;
    aspect-ratio:var(--media-ratio,1.77778) !important;
    max-width:none !important; max-height:72svh !important;
    object-fit:contain !important; object-position:top left !important;
  }
  .skymt-horizontal-gallery__group {display:flex !important; gap:18px !important; padding:0 !important;}
  .skymt-horizontal-gallery__group:not(:first-child) {display:none !important;}
  .skymt-horizontal-gallery__group .skymt-horizontal-gallery__item img,
  .skymt-horizontal-gallery__group .skymt-horizontal-gallery__item video {
    width:min(calc(72svh * var(--item-height,1) * var(--media-ratio,1.77778)), 88vw) !important;
    height:auto !important; aspect-ratio:var(--media-ratio,1.77778) !important;
    max-width:none !important; max-height:72svh !important;
  }
}

/* DESIGN 94 — mobile: vertical page scrolling + centered gallery composition.
   Design 93 pan-x prevented vertical touch gestures over the gallery. */
@media (max-width:777px) {
  .skymt-horizontal-gallery {
    box-sizing:border-box !important;
    height:100svh !important; min-height:560px !important;
    padding-top:76px !important;
    overflow:hidden !important;
    touch-action:auto !important;
  }
  .skymt-horizontal-gallery__sticky {
    box-sizing:border-box !important;
    display:flex !important; flex-direction:row !important;
    align-items:center !important; justify-content:flex-start !important;
    position:relative !important; top:auto !important;
    height:100% !important; width:100% !important;
    overflow-x:auto !important; overflow-y:hidden !important;
    touch-action:auto !important;
    overscroll-behavior-x:contain !important;
    -webkit-overflow-scrolling:touch;
  }
  .skymt-horizontal-gallery__track {
    height:auto !important; min-height:0 !important;
    align-items:flex-start !important; flex-shrink:0 !important;
  }
  .skymt-horizontal-gallery__item {touch-action:auto !important;}
  .skymt-horizontal-gallery__item img,
  .skymt-horizontal-gallery__item video {touch-action:auto !important;}
}

/* DESIGN 95 — Mobile gallery: compact sections, correct image proportions,
   reliable native two-axis gestures, and spacing in portrait + landscape. */
@media (max-width:777px) {
  .skymt-horizontal-gallery {
    height: min(76svh, 680px) !important;
    min-height: 310px !important;
    padding: 0 !important; margin:0 !important;
    overflow:hidden !important;
  }
  .skymt-horizontal-gallery__sticky {
    display:flex !important; align-items:center !important;
    position:relative !important; height:100% !important;
    width:100% !important; padding:0 !important;
    overflow-x:auto !important; overflow-y:hidden !important;
    touch-action:pan-x pan-y !important;
    overscroll-behavior-x:contain !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
  }
  .skymt-horizontal-gallery__sticky::-webkit-scrollbar{display:none !important;}
  .skymt-horizontal-gallery__track {
    display:flex !important; align-items:center !important;
    gap:22px !important; padding:0 22px !important;
    width:max-content !important; height:auto !important;
    min-height:0 !important; flex-shrink:0 !important;
    transform:none !important;
  }
  .skymt-horizontal-gallery__track > .skymt-horizontal-gallery__item {
    display:block !important; flex:0 0 auto !important;
    align-self:center !important; margin:0 !important;
    height:auto !important; overflow:hidden !important;
  }
  .skymt-horizontal-gallery__track > .skymt-horizontal-gallery__item img,
  .skymt-horizontal-gallery__track > .skymt-horizontal-gallery__item video {
    display:block !important;
    height:calc(64svh * var(--item-height,1)) !important;
    max-height:590px !important;
    width:auto !important; max-width:88vw !important;
    aspect-ratio:var(--media-ratio,1.77778) !important;
    object-fit:contain !important; object-position:center !important;
    pointer-events:none !important;
  }
  .skymt-horizontal-gallery__item {touch-action:pan-x pan-y !important;}
  .skymt-horizontal-gallery__item img,.skymt-horizontal-gallery__item video {touch-action:pan-x pan-y !important;}
  .skymt-horizontal-gallery + .skymt-horizontal-gallery {margin-top:0 !important;}
}
@media (max-width:777px) and (orientation:landscape) {
  .skymt-horizontal-gallery {height:88svh !important; min-height:250px !important;}
  .skymt-horizontal-gallery__track > .skymt-horizontal-gallery__item img,
  .skymt-horizontal-gallery__track > .skymt-horizontal-gallery__item video {height:72svh !important; max-height:500px !important;}
}

/* DESIGN 96 — fixed top alignment, native infinite gallery, true intrinsic proportions. */
@media(max-width:777px){
 .skymt-horizontal-gallery{height: min(73svh,660px)!important;min-height:260px!important;padding:0!important;overflow:hidden!important;}
 .skymt-horizontal-gallery__sticky{height:100%!important;align-items:flex-start!important;overflow-x:auto!important;overflow-y:hidden!important;touch-action:auto!important;overscroll-behavior-x:auto!important;scroll-snap-type:none!important;}
 .skymt-horizontal-gallery__track{height:100%!important;align-items:flex-start!important;gap:22px!important;padding:0!important;transform:none!important;}
 .skymt-horizontal-gallery__track>.skymt-horizontal-gallery__item{align-self:flex-start!important;height:auto!important;overflow:visible!important;}
 .skymt-horizontal-gallery__track>.skymt-horizontal-gallery__item img,
 .skymt-horizontal-gallery__track>.skymt-horizontal-gallery__item video{
  height:calc(67svh * var(--item-height,1))!important;width:calc(67svh * var(--item-height,1) * var(--media-ratio,1.77778))!important;
  max-height:none!important;max-width:none!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:top left!important;display:block!important;
 }
 .skymt-horizontal-gallery__item video{background:transparent!important;}
}
@media(max-width:777px) and (orientation:landscape){
 .skymt-horizontal-gallery{height:82svh!important;min-height:220px!important;}
 .skymt-horizontal-gallery__track>.skymt-horizontal-gallery__item img,
 .skymt-horizontal-gallery__track>.skymt-horizontal-gallery__item video{
  height:calc(76svh * var(--item-height,1))!important;width:calc(76svh * var(--item-height,1) * var(--media-ratio,1.77778))!important;
 }
}

/* DESIGN 97 — mobile gallery layout and touch reliability. */
@media(max-width:777px){
  main>.skymt-horizontal-gallery:first-of-type{margin-top:100px!important;}
  .skymt-horizontal-gallery--portfolio{margin-top:100px!important;}
  .skymt-horizontal-gallery{height:calc(67svh + 90px)!important;min-height:0!important;overflow:hidden!important;}
  .skymt-horizontal-gallery__sticky{touch-action:pan-x pan-y!important;overscroll-behavior-x:contain!important;}
  .skymt-horizontal-gallery__track{column-gap:22px!important;row-gap:0!important;}
  .skymt-horizontal-gallery__track>.skymt-horizontal-gallery__item{margin:0!important;flex-shrink:0!important;}
  .skymt-horizontal-gallery__track>.skymt-horizontal-gallery__item video{pointer-events:auto!important;}
}
@media(max-width:777px) and (orientation:landscape){
  .skymt-horizontal-gallery{height:calc(62svh + 42px)!important;min-height:0!important;}
  .skymt-horizontal-gallery__track>.skymt-horizontal-gallery__item img,
  .skymt-horizontal-gallery__track>.skymt-horizontal-gallery__item video{height:calc(60svh * var(--item-height,1))!important;width:calc(60svh * var(--item-height,1) * var(--media-ratio,1.77778))!important;}
  .skymt-horizontal-gallery--portfolio{margin-top:85px!important;}
}
/* iOS Safari: preserve a visible editorial gap between landscape galleries. */
@supports (-webkit-touch-callout:none){
 @media(max-width:777px) and (orientation:landscape){
  .skymt-horizontal-gallery{height:calc(60svh + 105px)!important;}
 }
}

/* DESIGN 98 — touch-device landscape must use the same mobile gallery engine.
   Previous 777px breakpoint excluded most landscape phones. */
@media (pointer:coarse) and (max-width:1200px), (max-width:777px) {
 .skymt-horizontal-gallery{height:calc(69svh + 28px)!important;min-height:0!important;padding:0!important;overflow:hidden!important;margin:0!important;}
 .skymt-horizontal-gallery--portfolio{margin-top:100px!important;}
 .skymt-horizontal-gallery__sticky{position:relative!important;display:flex!important;align-items:flex-start!important;height:100%!important;min-height:0!important;overflow-x:auto!important;overflow-y:hidden!important;touch-action:pan-x!important;-webkit-overflow-scrolling:touch!important;scroll-behavior:auto!important;padding:0!important;}
 .skymt-horizontal-gallery__track{display:flex!important;align-items:flex-start!important;width:max-content!important;min-width:max-content!important;height:auto!important;gap:20px!important;padding:0!important;transform:none!important;flex-shrink:0!important;}
 .skymt-horizontal-gallery__track>.skymt-horizontal-gallery__item{display:block!important;flex:0 0 auto!important;margin:0!important;padding:0!important;overflow:visible!important;align-self:flex-start!important;}
 .skymt-horizontal-gallery__track>.skymt-horizontal-gallery__item img,.skymt-horizontal-gallery__track>.skymt-horizontal-gallery__item video{display:block!important;height:calc(66svh * var(--item-height,1))!important;width:calc(66svh * var(--item-height,1) * var(--media-ratio,1.77778))!important;max-height:none!important;max-width:none!important;object-fit:cover!important;aspect-ratio:auto!important;pointer-events:none!important;}
 .skymt-horizontal-gallery__item video::-webkit-media-controls{display:none!important;}
}
@media (pointer:coarse) and (max-width:1200px) and (orientation:landscape), (max-width:777px) and (orientation:landscape){
 .skymt-horizontal-gallery{height:calc(75svh + 20px)!important;}
 .skymt-horizontal-gallery__track>.skymt-horizontal-gallery__item img,.skymt-horizontal-gallery__track>.skymt-horizontal-gallery__item video{height:calc(71svh * var(--item-height,1))!important;width:calc(71svh * var(--item-height,1) * var(--media-ratio,1.77778))!important;}
 .skymt-horizontal-gallery--portfolio{margin-top:80px!important;}
}

/* DESIGN 99 — let vertical gestures scroll the document, while native horizontal swipes and drift continue. */
@media (pointer:coarse) and (max-width:1200px), (max-width:777px) {
 .skymt-horizontal-gallery__sticky{touch-action:pan-x pan-y!important;overscroll-behavior-y:auto!important;}
 .skymt-horizontal-gallery__track,.skymt-horizontal-gallery__item,.skymt-horizontal-gallery__item img,.skymt-horizontal-gallery__item video{touch-action:pan-x pan-y!important;}
 .skymt-horizontal-gallery__item video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none!important;}
}
