/* Alpine: hide until initialized */
[x-cloak] {
  display: none !important;
}

/* Akkurat LL (Lineto) — licensed for speck-schreinerei.ch, see
   css/fonts/ and css/Lineto_Delivery_260724228258/ for the license notice.
   Family names must match the license exactly (renaming is prohibited). */
@font-face {
  font-family: "AkkuratLLWeb-Regular";
  src: url("/css/fonts/AkkuratLLWeb-Regular.woff2") format("woff2"),
       url("/css/fonts/AkkuratLLWeb-Regular.woff") format("woff");
  font-display: swap;
}

@font-face {
  font-family: "AkkuratLLWeb-Bold";
  src: url("/css/fonts/AkkuratLLWeb-Bold.woff2") format("woff2"),
       url("/css/fonts/AkkuratLLWeb-Bold.woff") format("woff");
  font-display: swap;
}

.font-bold,
.font-semibold,
.font-extrabold,
.font-black,
strong,
b,
h1, h2, h3, h4, h5, h6 {
  font-family: "AkkuratLLWeb-Bold", ui-sans-serif, system-ui, sans-serif;
}

/* Smooth font rendering */
body {
  font-family: "AkkuratLLWeb-Regular", ui-sans-serif, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

p {
  text-wrap: balance;
}

/* Logo: tight two-line lockup */
.logo-lockup {
  letter-spacing: -0.02em;
  line-height: 0.95;
}

/* container */
.content-container {
  max-width: 1920px;
}

.aspect-3\/2 {
  aspect-ratio: 3 / 2;
}

@media (min-width: 768px) {
  .md\:aspect-3\/2 {
    aspect-ratio: 3 / 2;
  }
}

.icon-size {
  width: 1em;
  height: 1em;
}

.card-spacing {
  padding-top: 4rem;
  padding-bottom: 4rem;
  padding-left: 2rem;
  padding-right: 2rem;
}

/* xl */
@media (min-width: 1280px) {
  .card-spacing {
    padding-top: 6rem;
    padding-bottom: 6rem;
    padding-left: 4rem;
    padding-right: 4rem;
  }
}

/* 2xl */
@media (min-width: 1536px) {
  .card-spacing {
    padding-top: 8rem;
    padding-bottom: 8rem;
    padding-left: 6rem;
    padding-right: 6rem;
  }
}

.order-13 {
  order: 13;
}

.order-14 {
  order: 14;
}


@media (min-width: 768px) {
  .md\:order-13 {
    order: 13;
  }

  .md\:order-14 {
    order: 14;
  }
}

.footer-special-span {
  width: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* Fullscreen slider deck (js/fullscreen-teaser.js): stacked full-height slides in
   normal document flow by default, so content stays reachable without JS or under
   prefers-reduced-motion. JS adds "is-active" to switch to the absolute-stacked,
   scroll-hijacked slide deck. */
.fullscreen-slider.is-active {
  height: 100dvh;
  overflow: hidden;
}

.fullscreen-slider.is-active .fullscreen-slide {
  position: absolute;
  inset: 0;
}

.text-shadow {
  /* text-shadow: 4px 4px 29px rgba(0,0,0,0.55); */
  text-shadow: 4px 4px 7px rgba(0,0,0,0.56);
}
