/**
 * AdenzFilm theme styles — high-fidelity re-implementation of the measured
 * reference spec (docs/reference-faktory-spec.md).
 *
 * Unit system: design pixel N = calc(N * var(--af-u)), --af-u = 100vw / screen,
 * screen = 1440 (>1024), 1024 (<=1024), 767 (<=767), 600 (<=600).
 *
 * Hidden "before reveal" states only apply when html.af-js is present, so the
 * editor and no-JS visitors always see the full content.
 */

/* ---------- Tokens ---------- */

:root {
  --af-screen: 1440;
  --af-u: calc(100vw / var(--af-screen));
  --af-gap: calc(45 * var(--af-u));
  --af-space: calc(100 * var(--af-u));
  --af-space-top: calc(150 * var(--af-u));

  --af-fs-h1: calc(305 * var(--af-u));
  --af-fs-h2: calc(120 * var(--af-u));
  --af-fs-h2big: calc(160 * var(--af-u));
  --af-fs-h3: calc(90 * var(--af-u));
  --af-fs-pmd: calc(34 * var(--af-u));
  --af-fs-button: calc(60 * var(--af-u));

  --af-black: var(--wp--preset--color--black, #02141b);
  --af-dark: var(--wp--preset--color--dark, #0b252f);
  --af-white: var(--wp--preset--color--white, #ffffff);
  --af-light: var(--wp--preset--color--light, #f4e9ed);
  --af-grey: var(--wp--preset--color--grey, #d9d9d9);
  --af-red-dark: var(--wp--preset--color--red-dark, #4d0007);
  --af-red: var(--wp--preset--color--red, #961924);
  --af-red-light: var(--wp--preset--color--red-light, #ff372b);
  --af-orange: var(--wp--preset--color--orange, #ff6233);
  --af-green: var(--wp--preset--color--green, #41ffdc);

  --af-title: var(--wp--preset--font-family--title);
  --af-text: var(--wp--preset--font-family--text);

  --af-ease-quart: cubic-bezier(0.77, 0, 0.175, 1);
  --af-ease-expo: cubic-bezier(0.86, 0, 0.07, 1);
  --af-ease-out: cubic-bezier(0.215, 0.61, 0.355, 1);
  --af-ease-quint: cubic-bezier(0.23, 1, 0.32, 1);

  --af-icon-arrow: url("../images/icons/arrow-long.svg");
}

@media (max-width: 1024px) {
  :root {
    --af-screen: 1024;
    --af-fs-h1: calc(215 * var(--af-u));
    --af-fs-h2: calc(95 * var(--af-u));
    --af-fs-h2big: calc(120 * var(--af-u));
    --af-fs-h3: calc(70 * var(--af-u));
    --af-fs-button: calc(50 * var(--af-u));
  }
}

@media (max-width: 767px) {
  :root {
    --af-screen: 767;
    --af-space: calc(80 * var(--af-u));
    --af-fs-h1: calc(125 * var(--af-u));
    --af-fs-h2: calc(85 * var(--af-u));
    --af-fs-h2big: calc(100 * var(--af-u));
    --af-fs-h3: calc(56 * var(--af-u));
  }
}

@media (max-width: 600px) {
  :root {
    --af-screen: 600;
    --af-fs-pmd: calc(40 * var(--af-u));
  }
}

/* ---------- Global ---------- */

/* Saira is set to its narrowest width (50%) to match the measured reference glyph widths. */
body,
.editor-styles-wrapper {
  font-stretch: 50%;
  overflow-x: hidden;
}

.af-preloader,
.af-preloader * {
  font-stretch: 50%;
}

html.af-preloading {
  max-height: 100vh;
  overflow: hidden;
}

.wp-site-blocks > *,
.adenzfilm-main > * {
  margin-block: 0;
}

.wp-site-blocks p {
  text-wrap: pretty;
}

.wp-site-blocks .wp-block-heading {
  text-wrap: balance;
}

::selection {
  background: var(--af-orange);
  color: var(--af-red);
}

.wp-site-blocks a {
  color: inherit;
  text-decoration: none;
}

.af-section {
  padding-top: var(--af-space);
  padding-bottom: var(--af-space);
}

.af-section :where(h2.wp-block-heading) {
  margin-bottom: calc(38 * var(--af-u));
}

.af-section :where(h3.wp-block-heading) {
  margin-bottom: calc(30 * var(--af-u));
}

.af-h1 {
  font-family: var(--af-title);
  font-size: var(--af-fs-h1);
  font-weight: 900;
  line-height: 0.85;
  text-transform: uppercase;
}

.af-p-md {
  font-size: var(--af-fs-pmd);
  font-weight: 300;
  line-height: 1;
}

.af-main--inner {
  padding-top: calc(300 * var(--af-u)) !important;
}

/* ---------- Text reveal (JS adds af-js + split markup) ---------- */

html.af-js [class*="af-anim-"]:not(.af-anim-line) {
  visibility: hidden;
}

html.af-js [class*="af-anim-"].is-anim-ready {
  visibility: visible;
}

html.af-js .af-menu > summary:not(.is-anim-ready) {
  visibility: hidden;
}

/* Split headings contain their lines' negative margins, so the heading box keeps its measured size. */
[data-af-original] {
  display: flow-root;
}

.af-split-line {
  position: relative;
  display: block;
  overflow: hidden;
  /* room for Turkish capital diacritics (Ö, İ, Ş, Ğ) without changing line positions */
  margin-top: -0.2em;
  padding-top: 0.2em;
}

.af-split-unit {
  display: inline-block;
}

html.af-js .af-anim-title .af-split-unit,
html.af-js .af-anim-ontitle .af-split-unit,
html.af-js .af-anim-subtitle .af-split-unit {
  transform: scaleY(0) translate3d(0, 100%, 0);
  transform-origin: bottom;
  transition: transform 1000ms var(--af-ease-quart);
}

html.af-js .af-anim-paragraph .af-split-unit {
  transform: translate3d(0, 100%, 0);
  transition: transform 1000ms var(--af-ease-quart);
}

html.af-js .is-visible .af-split-unit {
  transform: none;
}

html.af-js .af-anim-opa {
  opacity: 0;
  transition: opacity 1000ms 500ms;
}

html.af-js .af-anim-opa.is-visible {
  opacity: 1;
}

/* ---------- Preloader ---------- */

.af-preloader {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  width: 100vw;
  height: 100dvh;
  padding: 2vw;
  color: var(--af-orange);
  font-family: var(--af-title);
  pointer-events: none;
}

.af-preloader.is-loaded {
  opacity: 0;
  transition: opacity 400ms;
}

.af-preloader__progress {
  display: flex;
  overflow: hidden;
  font-size: 10vw;
  font-weight: 100;
  line-height: 0.8;
  transition: font-weight 600ms;
}

.af-preloader__char {
  display: inline-block;
  transition: transform 600ms cubic-bezier(0.65, 0, 0.35, 1);
}

@media (max-aspect-ratio: 1/1) {
  .af-preloader {
    justify-content: flex-start;
  }
}

@media (max-width: 600px) {
  .af-preloader__progress {
    font-size: 20vw;
  }
}

/* ---------- Header ---------- */

.adenzfilm-site-header {
  position: fixed;
  top: var(--wp-admin--admin-bar--height, 0px);
  left: 0;
  z-index: 5;
  width: 100%;
  pointer-events: none;
}

html.af-scrolled:not(.af-menu-open) .adenzfilm-site-header {
  mix-blend-mode: difference;
}

.af-header {
  padding: calc(45 * var(--af-u)) 3.75vw;
  font-family: var(--af-title);
}

.af-header__wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: start;
}

.af-header__wrapper > * {
  margin: 0;
}

.af-header__contact,
.af-header__logo {
  pointer-events: all;
  transition: opacity 400ms;
}

html.af-scrolled .af-header__contact,
html.af-scrolled .af-header__logo {
  opacity: 0 !important;
  pointer-events: none;
}

.af-header__contact {
  position: relative;
  width: calc(235 * var(--af-u));
  color: var(--af-orange);
}

.af-header__contact > p {
  margin: 0;
  border: 1px solid var(--af-orange);
}

.af-header__contact__top {
  display: grid;
  grid-template-columns: calc(35 * var(--af-u)) calc(100 * var(--af-u)) calc(100 * var(--af-u));
  align-items: center;
  height: calc(32 * var(--af-u));
  font-family: var(--af-text);
  font-size: calc(16 * var(--af-u));
  font-weight: 500;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
}

.af-header__contact__top::before {
  content: "";
  height: 100%;
  border-right: 1px solid var(--af-orange);
  background: var(--af-orange);
  -webkit-mask: var(--af-icon-arrow) center / calc(22 * var(--af-u)) auto no-repeat;
  mask: var(--af-icon-arrow) center / calc(22 * var(--af-u)) auto no-repeat;
  transform: scaleX(-1);
}

.af-header__contact__top::after {
  content: "";
  justify-self: center;
  width: calc(100% - 0.75rem);
  height: calc(18 * var(--af-u));
  background: var(--af-orange);
  box-shadow: calc(-0.375rem - 1px) 0 0 -0.375rem var(--af-orange);
}

.af-header__contact__bottom {
  display: grid;
  grid-template-columns: calc(175 * var(--af-u)) calc(60 * var(--af-u));
  height: calc(60 * var(--af-u));
  border-top: 0 !important;
  font-size: calc(60 * var(--af-u));
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.af-header__contact__bottom a {
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid var(--af-orange);
}

.af-header__contact__bottom a::before {
  content: "";
  position: absolute;
  inset: 0;
}

.af-header__contact__bottom::after {
  content: "";
  background: var(--af-orange);
  -webkit-mask: url("../images/icons/icon-clapper.svg") center / calc(40 * var(--af-u)) auto no-repeat;
  mask: url("../images/icons/icon-clapper.svg") center / calc(40 * var(--af-u)) auto no-repeat;
}

.af-header__logo a {
  display: block;
  line-height: 0.985;
}

.af-header__logo {
  justify-self: center;
  width: max-content;
  margin-top: calc(15 * var(--af-u)) !important;
  color: var(--af-orange);
  font-family: var(--af-title);
  /* sized so the text logo occupies the reference logo box (192 x 65) */
  font-size: calc(66 * var(--af-u));
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

/* Menu: details/summary, enhanced by interactions.js (is-open drives the animation). */
.af-menu {
  position: relative;
  top: calc(-30 * var(--af-u));
  right: calc(-30 * var(--af-u));
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-self: end;
  width: max-content;
  margin-left: auto;
  padding: calc(22 * var(--af-u)) calc(30 * var(--af-u));
  overflow: hidden;
  pointer-events: all;
}

.af-menu::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  border-radius: calc(30 * var(--af-u));
  background: var(--af-black);
  transform: scale(0);
  transform-origin: top right;
  transition: transform 500ms var(--af-ease-quart) 300ms;
}

.af-menu.is-open::before,
html:not(.af-js) .af-menu[open]::before {
  transform: scale(1);
  transition-delay: 0ms;
}

.af-menu > summary {
  display: block;
  /* reference toggler box: 1.82em (text-driven) at <=1024, 196 units (list-driven) above */
  min-width: 1.82em;
  color: var(--af-orange);
  font-family: var(--af-title);
  font-size: calc(82 * var(--af-u));
  font-weight: 900;
  line-height: 1;
  text-align: left;
  text-transform: uppercase;
  list-style: none;
  cursor: pointer;
}

.af-menu > summary::-webkit-details-marker {
  display: none;
}

.af-menu__nav {
  margin-top: calc(10 * var(--af-u));
  opacity: 0;
  transition: opacity 400ms;
}

.af-menu.is-open .af-menu__nav,
html:not(.af-js) .af-menu[open] .af-menu__nav {
  opacity: 1;
  transition-delay: 450ms;
}

.af-menu__nav .wp-block-navigation__container {
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

.af-menu__nav .wp-block-navigation-item {
  position: relative;
  width: max-content;
  margin-bottom: calc(5 * var(--af-u));
  overflow: hidden;
  color: var(--af-orange);
  font-family: var(--af-title);
  font-size: calc(28 * var(--af-u));
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  transition: color 400ms var(--af-ease-quart);
}

.af-menu__nav .wp-block-navigation-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: var(--af-green);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 400ms var(--af-ease-quart);
}

.af-menu__nav .wp-block-navigation-item__content {
  display: inline-block;
  padding: 0;
  transform: translate3d(0, 100%, 0);
  transition: transform 900ms var(--af-ease-quart);
}

.af-menu.is-open .wp-block-navigation-item__content,
html:not(.af-js) .af-menu[open] .wp-block-navigation-item__content {
  transform: translate3d(0, 0, 0);
}

@media (min-width: 1025px) {
  .af-menu > summary {
    min-width: calc(196 * var(--af-u));
  }

  .af-menu__nav .wp-block-navigation-item:hover {
    color: var(--af-black);
  }

  .af-menu__nav .wp-block-navigation-item:hover::before {
    transform: scaleX(1);
  }
}

@media (max-width: 1024px) {
  .af-menu > summary {
    font-size: calc(100 * var(--af-u));
  }

  .af-menu__nav .wp-block-navigation-item {
    font-size: calc(26 * var(--af-u));
  }
}

@media (max-width: 767px) {
  .af-header {
    padding-block: calc(25 * var(--af-u));
  }

  .af-header__wrapper {
    display: flex;
    justify-content: space-between;
  }

  .af-header__contact {
    display: none;
  }

  .af-header__logo {
    margin-top: calc(28 * var(--af-u)) !important;
    margin-left: 0 !important;
  }

  .af-menu > summary {
    font-size: calc(135 * var(--af-u));
  }

  .af-menu__nav .wp-block-navigation-item {
    font-size: calc(35 * var(--af-u));
  }
}

/* ---------- Hero ---------- */

.af-hero {
  padding-top: var(--af-space-top);
  overflow-x: hidden;
}

.af-hero__media {
  position: relative;
  width: 100%;
  margin-bottom: calc(150 * var(--af-u)) !important;
  transform: rotate(-2.5deg) scale(1);
  transition: transform 700ms var(--af-ease-expo);
}

html.af-preloading .af-hero__media {
  transform: scale(1.85);
  transition: none;
}

.af-hero__media__inner {
  position: relative;
  min-height: 74vh;
  max-height: calc(100vh - 200 * var(--af-u));
  margin: 0;
  overflow: hidden;
  border-radius: 15vw 0 15vw 15vw;
  background: var(--af-dark);
}

html.af-preloading .af-hero__media__inner {
  border-radius: 0;
}

.af-hero__media__inner img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-aspect-ratio: 1/1) {
  .af-hero__media__inner {
    height: 70vh;
    max-height: none;
  }
}

.af-hero__title.wp-block-heading {
  position: absolute;
  bottom: calc(-30 * var(--af-u));
  left: 0;
  z-index: 2;
  width: 100%;
  margin: 0;
  /* reference clips with overflow:hidden; the split lines already clip the reveal,
     so the box itself stays visible to keep Turkish capital diacritics */
  overflow: visible;
  color: var(--af-orange);
  font-size: calc(160 * var(--af-u));
  font-weight: 900;
  line-height: 0.8;
  text-align: center;
}

@media (max-width: 600px) {
  .af-hero__title.wp-block-heading {
    font-size: calc(120 * var(--af-u));
  }
}

.af-line {
  font-family: var(--af-title);
  font-size: calc(120 * var(--af-u));
  font-weight: calc(100 + 800 * var(--af-p, 0));
  /* measured track width 3501 -> 4470 (p 0 -> 1); the substitute font widens far less with weight */
  letter-spacing: calc((0.0009 + 0.0774 * var(--af-p, 0)) * 1em);
  text-transform: uppercase;
  transform: rotate(-5deg);
  translate: calc(var(--af-p, 0) * -100%) 0;
}

.af-line__inner {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  background: var(--af-white);
}

html.af-js .af-line__inner {
  opacity: 0;
  transition: opacity 1000ms var(--af-ease-out);
}

html.af-loaded .af-line__inner {
  opacity: 1;
}

.af-line__item {
  display: flex;
  align-items: center;
  gap: calc(20 * var(--af-u));
  margin: 0 calc(20 * var(--af-u)) 0 0 !important;
  color: var(--af-orange);
  line-height: 1;
  white-space: nowrap;
}

.af-line__item::after {
  content: "•";
  margin-right: calc(10 * var(--af-u));
}

@media (max-width: 1024px) {
  .af-line {
    font-size: calc(80 * var(--af-u));
  }
}

@media (max-width: 767px) {
  .af-line {
    font-size: calc(62 * var(--af-u));
  }
}

/* ---------- Bars (spacer + JS-generated spans) ---------- */

.af-bars {
  overflow: hidden;
}

.af-bars__inner {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
}

.af-bars__inner span {
  display: block;
  flex: none;
  background: var(--af-orange);
}

/* ---------- Baseline ---------- */

.af-baseline {
  position: relative;
  padding-top: 0;
  padding-bottom: 0;
  overflow: hidden;
}

.af-baseline__title.wp-block-heading {
  font-size: calc(409 * var(--af-u));
  font-weight: 900;
  line-height: 0.75;
}

.af-bars--baseline {
  width: 100%;
  height: calc(80 * var(--af-u)) !important;
}

html:not(.af-js) .af-bars--baseline {
  background: repeating-linear-gradient(90deg, var(--af-orange) 0 calc(10 * var(--af-u)), transparent calc(10 * var(--af-u)) calc(20 * var(--af-u)));
}

.af-bars--baseline .af-bars__inner {
  gap: calc(10 * var(--af-u));
  translate: calc(var(--af-p, 0) * -10%) 0;
}

.af-bars--baseline .af-bars__inner span {
  width: calc(10 * var(--af-u));
  height: calc(80 * var(--af-u));
  transform-origin: bottom;
  rotate: calc(var(--af-p, 0) * -30deg);
}

.af-band {
  position: relative;
  z-index: 2;
  margin-top: calc(var(--af-space) * 2) !important;
  padding-bottom: calc(var(--af-space) * 1.5);
  font-family: var(--af-title);
  text-transform: uppercase;
}

.af-band::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 60%;
  background: var(--af-dark);
}

.af-band__inner {
  transform: rotate(10deg);
}

.af-band__line {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  width: max-content;
  margin-left: -100vw !important;
  background: var(--af-white);
  color: var(--af-orange);
}

.af-band__item {
  display: flex;
  flex: none;
  align-items: center;
  margin: 0 !important;
  white-space: nowrap;
}

.af-band__line--small {
  font-size: calc(50 * var(--af-u));
  font-weight: calc(100 + 800 * var(--af-p, 0));
  /* measured track width 3128 -> 3690 (p 0 -> 1) */
  letter-spacing: calc((0.0046 + 0.0644 * var(--af-p, 0)) * 1em);
  translate: calc(var(--af-p, 0) * 10%) 0;
}

.af-band__line--small .af-band__item {
  gap: calc(8 * var(--af-u));
}

.af-band__line--small .af-band__item::before {
  content: "";
  flex: none;
  width: calc(42 * var(--af-u));
  height: calc(42 * var(--af-u));
  background: currentColor;
  -webkit-mask: url("../images/icons/icon-camera.svg") center / contain no-repeat;
  mask: url("../images/icons/icon-camera.svg") center / contain no-repeat;
}

.af-band__line--small .af-band__item:nth-child(4n + 2)::before {
  -webkit-mask-image: url("../images/icons/icon-clapper.svg");
  mask-image: url("../images/icons/icon-clapper.svg");
}

.af-band__line--small .af-band__item:nth-child(4n + 3)::before {
  -webkit-mask-image: url("../images/icons/icon-reel.svg");
  mask-image: url("../images/icons/icon-reel.svg");
}

.af-band__line--small .af-band__item:nth-child(4n + 4)::before {
  -webkit-mask-image: url("../images/icons/star.svg");
  mask-image: url("../images/icons/star.svg");
}

.af-band__line--small .af-band__item::after {
  content: "-";
  margin: 0 calc(10 * var(--af-u));
}

.af-band__line--big {
  border-top: calc(4 * var(--af-u)) dashed var(--af-orange);
  border-bottom: calc(4 * var(--af-u)) dashed var(--af-orange);
  font-size: calc(220 * var(--af-u));
  font-weight: 900;
  line-height: 1;
  translate: calc(var(--af-p, 0) * -10%) 0;
}

.af-band__line--big .af-band__item::before {
  content: "-";
  margin: 0 0.12em;
}

/* Reference repeat interval: 9 items advancing 2.606em (573.3 at 220). The brand item
   (natural 3.359em) is scaled into that interval; the negative margin removes the
   unscaled layout width so the track geometry matches. */
.af-band__line--big .af-band__item {
  margin-right: -0.753em !important;
  transform: scaleX(0.7758);
  transform-origin: left center;
}

@media (max-width: 1024px) {
  .af-baseline__title.wp-block-heading {
    font-size: calc(290 * var(--af-u));
  }

  .af-band__line--big {
    font-size: calc(180 * var(--af-u));
  }
}

@media (max-width: 767px) {
  .af-baseline__title.wp-block-heading {
    font-size: calc(215 * var(--af-u));
  }

  .af-band__line--big {
    font-size: calc(140 * var(--af-u));
  }
}

@media (max-width: 600px) {
  .af-baseline__title.wp-block-heading {
    font-size: calc(165 * var(--af-u));
  }
}

/* ---------- Large ticket button ---------- */

.af-button {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(32 * var(--af-u));
  border: calc(2 * var(--af-u)) solid currentColor;
}

.af-button--orange {
  color: var(--af-orange);
}

.af-button--white {
  color: var(--af-white);
}

.af-button--dark {
  color: var(--af-dark);
}

.af-button > p {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0 !important;
  border-top: calc(2 * var(--af-u)) solid currentColor;
}

.af-button > p::after {
  content: "";
  min-width: calc(160 * var(--af-u));
  background: currentColor;
  -webkit-mask: var(--af-icon-arrow) center / calc(140 * var(--af-u)) calc(30 * var(--af-u)) no-repeat;
  mask: var(--af-icon-arrow) center / calc(140 * var(--af-u)) calc(30 * var(--af-u)) no-repeat;
}

.af-button a {
  display: block;
  padding: calc(12 * var(--af-u)) calc(25 * var(--af-u));
  border-right: calc(2 * var(--af-u)) solid currentColor;
  font-family: var(--af-title);
  font-size: var(--af-fs-button);
  font-weight: 900;
  line-height: 0.9;
  text-align: left;
  text-transform: uppercase;
  text-wrap: balance;
}

.af-button a::before {
  content: "";
  position: absolute;
  inset: 0;
}

.af-button a:focus-visible {
  outline: none;
}

.af-button:focus-within {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

@media (max-width: 1024px) {
  .af-button > p::after {
    -webkit-mask-size: calc(90 * var(--af-u)) calc(30 * var(--af-u));
    mask-size: calc(90 * var(--af-u)) calc(30 * var(--af-u));
  }
}

/* ---------- Presentation ---------- */

.af-presentation {
  overflow: hidden;
}

.af-presentation__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: var(--af-gap);
}

.af-presentation__body {
  padding-top: calc(90 * var(--af-u));
}

.af-presentation__paragraph {
  max-width: calc(620 * var(--af-u));
}

.af-presentation__body .af-button {
  max-width: calc(600 * var(--af-u));
  margin-top: calc(60 * var(--af-u)) !important;
}

.af-presentation__media {
  position: relative;
}

.af-bars--presentation {
  height: auto !important;
  max-height: calc(300 * var(--af-u));
  margin-right: -3.75vw;
  margin-bottom: calc(150 * var(--af-u)) !important;
}

html:not(.af-js) .af-bars--presentation {
  height: calc(300 * var(--af-u)) !important;
  background: repeating-linear-gradient(180deg, var(--af-orange) 0 calc(8 * var(--af-u)), transparent calc(8 * var(--af-u)) calc(16 * var(--af-u))) right / calc(190 * var(--af-u)) 100% no-repeat;
}

.af-bars--presentation .af-bars__inner {
  flex-direction: column;
  align-items: flex-end;
  gap: calc(8 * var(--af-u));
  width: 100%;
  translate: 0 calc(var(--af-p, 0) * -10%);
}

.af-bars--presentation .af-bars__inner span {
  width: calc(190 * var(--af-u));
  height: calc(8 * var(--af-u));
  rotate: calc(var(--af-p, 0) * 10deg);
}

.af-presentation__image {
  position: relative;
  margin: 0 !important;
  padding-bottom: calc(80 * var(--af-u));
}

.af-presentation__image img {
  display: block;
  width: 70%;
  height: auto;
  margin: 0 auto;
}

.af-presentation__image::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  border-radius: calc(50 * var(--af-u));
  background: var(--af-orange);
  mix-blend-mode: difference;
  translate: 0 calc(var(--af-p, 0) * -20%);
}

@media (max-width: 1024px) {
  .af-presentation__grid {
    grid-template-columns: 1.6fr 1fr;
  }
}

@media (max-width: 767px) {
  .af-presentation__grid {
    grid-template-columns: 1.8fr 1fr;
  }
}

@media (max-width: 600px) {
  .af-presentation__grid {
    grid-template-columns: 1fr;
    gap: calc(60 * var(--af-u));
  }

  .af-presentation__body {
    padding-top: 0;
  }

  .af-bars--presentation {
    position: absolute !important;
    top: 0;
    right: 0;
  }

  .af-presentation__image {
    margin-top: calc(50 * var(--af-u)) !important;
  }

  .af-presentation__image img {
    max-width: 50%;
  }
}

/* ---------- Stores (projects) ---------- */

.af-stores {
  padding-bottom: calc(var(--af-space) * 2);
  overflow: hidden;
  color: var(--af-white);
}

.af-stores__intro {
  display: grid;
  grid-template-columns: max-content 1fr;
  grid-template-areas: "t1 p" "t2 t2";
  align-items: center;
  column-gap: var(--af-gap);
}

.af-stores__title {
  grid-area: t1;
  justify-self: start;
  margin: 0 !important;
  color: var(--af-orange);
  font-size: var(--af-fs-h1);
  line-height: 0.85;
}

.af-stores__title--second {
  grid-area: t2;
}

/* first title box matches the measured reference width (320 at 1440) */
.af-stores__title:not(.af-stores__title--second) {
  letter-spacing: 0.0123em;
}

.af-stores__paragraph {
  grid-area: p;
  color: var(--af-orange);
  justify-self: end;
  max-width: calc(600 * var(--af-u));
  margin: 0 0 calc(30 * var(--af-u)) !important;
  text-align: right;
}

.af-stores__slider {
  position: relative;
  display: flex;
  gap: calc(80 * var(--af-u));
  margin-top: calc(60 * var(--af-u)) !important;
  overflow-x: auto;
  translate: calc(var(--af-p, 0) * -10%) 0;
}

.af-stores__slider.is-ready {
  display: block;
  overflow: visible;
}

.af-store {
  flex: none;
  width: calc(800 * var(--af-u));
  margin: 0 !important;
}

.af-stores__slider.is-ready .af-store {
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 600ms var(--af-ease-quint);
}

.af-store__thumb {
  position: relative;
  display: block;
  width: 100%;
  margin: 0 !important;
  aspect-ratio: 80 / 49;
  overflow: hidden;
  border-radius: calc(30 * var(--af-u));
  transition: all 500ms var(--af-ease-quint);
}

.af-store__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.is-ready .af-store:not(.is-selected) .af-store__thumb {
  filter: grayscale(100%);
  transform: scale(0.9);
  pointer-events: none;
}

.af-card {
  position: relative;
  width: 65%;
  margin-top: calc(-240 * var(--af-u)) !important;
  padding: 0 calc(30 * var(--af-u));
  overflow: hidden;
  border-radius: 0 calc(30 * var(--af-u)) calc(30 * var(--af-u)) calc(30 * var(--af-u));
  background: var(--af-orange);
  color: var(--af-red);
}

.is-ready .af-card {
  clip-path: inset(0 100% 0 0);
  transition: clip-path 450ms var(--af-ease-quart);
}

.is-ready .is-selected .af-card {
  clip-path: inset(0 0 0 0);
  transition-duration: 600ms;
}

.af-card > * {
  margin: 0 !important;
}

.af-card__type {
  position: absolute;
  top: 0;
  right: calc(30 * var(--af-u));
  max-width: calc(140 * var(--af-u));
  padding: calc(6 * var(--af-u)) calc(16 * var(--af-u));
  border-radius: 0 0 calc(8 * var(--af-u)) calc(8 * var(--af-u));
  background: var(--af-red);
  color: var(--af-white);
  font-family: var(--af-title);
  font-weight: 900;
  line-height: 0.9;
  text-transform: uppercase;
}

.af-card__title.wp-block-heading {
  padding: calc(12 * var(--af-u)) calc(180 * var(--af-u)) calc(12 * var(--af-u)) 0;
  border-bottom: calc(2 * var(--af-u)) solid var(--af-red);
  color: var(--af-white);
  font-size: calc(60 * var(--af-u));
  line-height: 0.9;
}

.af-card__tags {
  padding: calc(12 * var(--af-u)) 0;
  border-bottom: calc(2 * var(--af-u)) solid var(--af-red);
  font-family: var(--af-title);
  font-size: calc(40 * var(--af-u));
  font-weight: 700;
  line-height: 0.9;
  text-transform: uppercase;
}

.af-card__infos {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: calc(40 * var(--af-u));
  border-bottom: calc(2 * var(--af-u)) solid var(--af-red);
  line-height: 0.95;
}

.af-card__infos::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: calc(2 * var(--af-u));
  height: 100%;
  background: var(--af-red);
  transform: translateX(-50%);
}

.af-card__info {
  margin: 0 !important;
  padding: calc(12 * var(--af-u)) 0;
  font-weight: 300;
}

.af-card__info--strong {
  font-weight: 800;
  text-transform: uppercase;
}

.af-card__links {
  display: flex;
  align-items: center;
  padding: calc(12 * var(--af-u)) 0;
}

.af-card__links > p {
  margin: 0 !important;
}

.af-card__permalink a {
  display: inline-block;
  padding: calc(2 * var(--af-u)) calc(14 * var(--af-u));
  border-radius: calc(26 * var(--af-u));
  background: var(--af-green);
  color: var(--af-dark);
  font-family: var(--af-title);
  font-size: calc(40 * var(--af-u));
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.af-card__booking {
  display: flex;
  align-items: center;
  margin-left: calc(24 * var(--af-u)) !important;
  padding-left: calc(30 * var(--af-u));
  border-left: calc(2 * var(--af-u)) solid var(--af-red);
  color: var(--af-white);
  font-family: var(--af-title);
  font-size: calc(60 * var(--af-u));
  font-weight: 900;
  line-height: 0.8;
  text-transform: uppercase;
}

.af-card__booking a {
  margin-right: calc(24 * var(--af-u));
  padding-right: calc(30 * var(--af-u));
  border-right: calc(2 * var(--af-u)) solid var(--af-red);
}

.af-card__booking::after {
  content: "";
  width: calc(105 * var(--af-u));
  height: calc(105 * var(--af-u) * 30 / 140);
  background: currentColor;
  -webkit-mask: var(--af-icon-arrow) center / contain no-repeat;
  mask: var(--af-icon-arrow) center / contain no-repeat;
}

.af-stores__controls {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}

.af-stores__control {
  width: 2.875rem;
  height: 2.875rem;
  margin-top: 1.25rem;
  padding: 0;
  border: 0;
  background: var(--af-orange);
  cursor: pointer;
  -webkit-mask: url("../images/icons/slider-arrow.svg") center / contain no-repeat;
  mask: url("../images/icons/slider-arrow.svg") center / contain no-repeat;
}

.af-stores__control--next {
  transform: rotate(180deg);
}

.af-stores__control:focus-visible {
  outline: 3px solid var(--af-orange);
  outline-offset: 3px;
  -webkit-mask: none;
  mask: none;
  background: var(--af-orange) url("../images/icons/slider-arrow.svg") center / contain no-repeat;
}

@media (max-width: 1024px) {
  .af-store {
    width: 65%;
  }

  .af-card {
    width: 82.5%;
    margin-top: calc(-140 * var(--af-u)) !important;
  }
}

@media (max-width: 767px) {
  .af-stores__intro {
    grid-template-columns: 1fr;
    grid-template-areas: "t1" "t2" "p";
  }

  .af-stores__paragraph {
    justify-self: stretch;
    /* the reference's 30 bottom margin collapses into the slider's 60 top margin */
    margin: calc(45 * var(--af-u)) 0 0 !important;
    text-align: left;
  }

  /* The desktop copy uses a manual line break (reference layout). On mobile the copy
     reflows freely; the space kept before the <br> stops the words from joining. */
  .af-stores__paragraph br {
    display: none;
  }

  .af-store {
    width: 70%;
  }

  .af-stores__slider {
    gap: calc(50 * var(--af-u));
  }

  .af-card {
    width: 100%;
    margin-top: calc(-50 * var(--af-u)) !important;
  }
}

@media (max-width: 600px) {
  /* Measured: the reference slider starts 40 units lower here (25 / 26 / 29px at
     375 / 390 / 430) because its mobile intro copy runs one p-md line longer.
     Keep that spacing independent of the copy length. */
  .af-stores__paragraph {
    padding-bottom: calc(40 * var(--af-u));
  }

  .af-store {
    width: 80%;
  }

  .af-stores__slider {
    gap: calc(30 * var(--af-u));
  }

  .af-card__booking {
    font-size: calc(50 * var(--af-u));
  }

  .af-card__booking::after {
    width: calc(90 * var(--af-u));
    height: calc(90 * var(--af-u) * 30 / 140);
  }
}

/* ---------- CTA ---------- */

.af-cta__grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  column-gap: calc(120 * var(--af-u));
}

.af-cta__image {
  position: relative;
  margin: 0 !important;
  overflow: hidden;
  border-radius: calc(25 * var(--af-u));
}

.af-cta__image img,
.af-contact__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  scale: var(--af-scale, 1);
}

@media (min-width: 601px) {
  .af-cta__image img {
    position: absolute;
    top: 0;
    left: 0;
  }
}

.af-cta__title.wp-block-heading {
  max-width: calc(600 * var(--af-u));
  font-size: calc(160 * var(--af-u));
  line-height: 0.8;
}

.af-emoji {
  display: inline-block;
  width: calc(325 * var(--af-u));
  height: calc(108 * var(--af-u));
}

.af-cta__paragraph {
  max-width: calc(600 * var(--af-u));
}

.af-cta__button {
  margin-top: calc(45 * var(--af-u)) !important;
}

@media (max-width: 1200px) {
  .af-cta__grid {
    column-gap: calc(80 * var(--af-u));
  }
}

@media (max-width: 1024px) {
  .af-cta__grid {
    /* computed reference columns are equal here (444 / 443 at 1024) */
    grid-template-columns: 1fr 1fr;
    column-gap: calc(60 * var(--af-u));
  }
}

@media (max-width: 767px) {
  .af-cta__grid {
    grid-template-columns: 0.3fr 1fr;
    column-gap: var(--af-gap);
  }
}

@media (max-width: 600px) {
  .af-cta__grid {
    grid-template-columns: 1fr;
    row-gap: calc(60 * var(--af-u));
  }

  .af-cta__image {
    aspect-ratio: 361 / 481;
  }
}

/* ---------- Join ---------- */

.af-join__ontitle.wp-block-heading {
  margin-bottom: calc(40 * var(--af-u));
  font-size: var(--af-fs-h2big);
  font-weight: 800;
}

.af-join__title.wp-block-heading {
  margin-bottom: calc(38 * var(--af-u));
  font-size: var(--af-fs-h2);
  font-weight: 100;
}

.af-join__button {
  margin-top: calc(45 * var(--af-u)) !important;
}

/* ---------- Contact ---------- */

.af-contact__grid {
  display: grid;
  grid-template-columns: 1fr 0.667fr;
  column-gap: calc(120 * var(--af-u));
}

.af-contact__form {
  max-width: calc(600 * var(--af-u));
  padding-left: calc(80 * var(--af-u));
}

.af-contact__title.wp-block-heading {
  margin-bottom: calc(30 * var(--af-u)) !important;
  font-size: var(--af-fs-h3);
}

.af-form {
  margin-top: calc(45 * var(--af-u)) !important;
}

.af-form__row {
  margin-bottom: calc(30 * var(--af-u)) !important;
}

.af-form__row--two-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(30 * var(--af-u));
}

.af-form__field {
  margin: 0 !important;
  padding: calc(8 * var(--af-u)) 0;
  border-bottom: calc(2 * var(--af-u)) solid var(--af-dark);
  color: var(--af-dark);
  font-size: calc(34 * var(--af-u));
  font-weight: 300;
  line-height: 1;
}

.af-form__field--textarea {
  /* rows="4" x 34 + padding + border in the reference; measured total 166 */
  min-height: calc(166 * var(--af-u));
}

.af-contact__gdpr {
  margin-top: calc(25 * var(--af-u)) !important;
  font-size: calc(18 * var(--af-u));
  line-height: 1.2;
  opacity: 0.8;
}

.af-contact__media {
  height: max-content;
  padding: 0 calc(60 * var(--af-u));
  border-left: 1px solid var(--af-dark);
}

.af-contact__image {
  position: relative;
  margin: 0 !important;
  aspect-ratio: 350 / 925;
  overflow: hidden;
  border-radius: calc(100 * var(--af-u));
}

.af-contact__socials {
  margin-top: calc(40 * var(--af-u)) !important;
}

.af-contact__socials__title {
  margin: 0 !important;
  text-transform: uppercase;
}

.af-contact__social {
  margin: 0 !important;
}

.af-contact__social a {
  position: relative;
  display: block;
  font-size: calc(120 * var(--af-u));
  font-weight: 100;
  line-height: 1.2;
  text-transform: uppercase;
}

.af-contact__social a::before {
  content: "";
  position: absolute;
  bottom: 27.5%;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--af-dark);
}

@media (max-width: 1200px) {
  .af-contact__grid {
    column-gap: calc(80 * var(--af-u));
  }

  .af-contact__form {
    padding-left: 0;
  }

  .af-contact__media {
    padding-right: 0;
  }
}

@media (max-width: 1024px) {
  .af-contact__grid {
    column-gap: calc(60 * var(--af-u));
  }
}

@media (max-width: 767px) {
  .af-contact__grid {
    grid-template-columns: 1fr;
    row-gap: calc(60 * var(--af-u));
  }

  .af-contact__form {
    max-width: 100%;
  }

  .af-contact__media {
    padding: calc(60 * var(--af-u)) 0 0;
    border-top: 1px solid var(--af-dark);
    border-left: 0;
  }

  .af-contact__image {
    aspect-ratio: 1 / 1;
  }
}

@media (max-width: 600px) {
  .af-form__field {
    font-size: calc(40 * var(--af-u));
  }
}

/* ---------- Footer ---------- */

.af-footer {
  padding-top: calc(var(--af-space) * 1.5);
  padding-bottom: 0;
}

.af-newsletter {
  position: relative;
  max-width: calc(840 * var(--af-u)) !important;
  margin: 0 auto calc(60 * var(--af-u)) !important;
}

.af-newsletter__title.wp-block-heading {
  margin-bottom: 0;
  font-size: var(--af-fs-h2big);
  font-weight: 800;
}

.af-newsletter__tags.wp-block-heading {
  margin-bottom: calc(30 * var(--af-u));
  font-size: calc(25 * var(--af-u));
  font-weight: 900;
  line-height: 0.9;
}

.af-newsletter__field {
  margin: 0 !important;
  padding: calc(12 * var(--af-u)) calc(20 * var(--af-u));
  border: calc(2 * var(--af-u)) solid var(--af-orange);
  border-bottom: 0;
  font-family: var(--af-title);
  font-size: calc(100 * var(--af-u));
  font-weight: 100;
  line-height: 1;
  text-transform: uppercase;
}

.af-newsletter__button {
  padding-top: 0;
}

.af-footer__bottom {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding: calc(25 * var(--af-u)) 0;
}

.af-footer__bottom::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--af-orange);
  transform-origin: left;
  transition: transform 800ms var(--af-ease-quart);
}

html.af-js .af-footer__bottom::before {
  transform: scaleX(0);
}

html.af-js .af-footer__bottom.is-visible::before {
  transform: scaleX(1);
}

.af-footer__inner {
  display: flex;
  align-items: flex-end;
  gap: calc(40 * var(--af-u));
}

.af-footer__inner > *,
.af-footer__links > *,
.af-footer__bottom > * {
  margin: 0 !important;
}

.af-footer__date {
  font-family: var(--af-title);
  font-size: calc(25 * var(--af-u));
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}

.af-footer__links {
  display: flex;
  align-items: center;
  gap: calc(30 * var(--af-u));
  font-size: calc(18 * var(--af-u));
  font-weight: 300;
  text-transform: uppercase;
}

.af-footer__credits {
  font-size: calc(22 * var(--af-u));
}

@media (max-width: 767px) {
  .af-footer__bottom {
    flex-direction: column;
  }

  .af-footer__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: calc(15 * var(--af-u));
  }

  .af-footer__date {
    font-size: calc(40 * var(--af-u));
  }

  .af-footer__links {
    flex-direction: column;
    align-items: flex-start;
    gap: calc(6 * var(--af-u));
    font-size: calc(22 * var(--af-u));
  }

  .af-footer__credits {
    align-self: flex-end;
    font-size: calc(26 * var(--af-u));
  }
}

/* ---------- Editor ---------- */

.editor-styles-wrapper .adenzfilm-site-header {
  position: relative;
}

.editor-styles-wrapper .af-menu__nav,
.editor-styles-wrapper .af-menu__nav .wp-block-navigation-item__content {
  opacity: 1;
  transform: none;
}
