@font-face {
  font-family: "Geologica";
  src: url("../assets/fonts/Geologica-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geologica";
  src: url("../assets/fonts/Geologica-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Klarheit Plakat";
  src: url("../assets/fonts/ESKlarheitPlakat-Blk.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

:root {

  --anthrazit:   #373635;
  --sandgrau:    #b5a285;
  --sand-light:  #dfd7cc;
  --salbeiblau:  #a0b4b0;
  --lemon:       #e3e794;

  --ui-card:     #f0f3f6;
  --ui-line:     #e7e7e7;
  --ui-text:     #2b2b2b;
  --ui-muted:    #8d8d8d;
  --ui-amber:    #f5a623;
  --ui-violet:   #5b4bd6;

  --sans:    "Geologica", "Segoe UI", system-ui, sans-serif;

  --display: "Klarheit Plakat", "Geologica", "Arial Black", sans-serif;
  --display-weight: 900;
  --script:  "Calisto MT", "Palatino Linotype", "Book Antiqua", Palatino, "URW Palladio L", Georgia, serif;

  --u: calc(100vw / 1440);
}

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  background: #fff;
  overflow-x: hidden;
}

body {
  margin: 0;
  overflow-x: clip;
  container-type: inline-size;
  background: #fff;
  color: var(--anthrazit);
  font-family: var(--sans);
  font-weight: 300;
  line-height: 1.636;
  letter-spacing: 0.022em;
  -webkit-font-smoothing: antialiased;
}
@supports (width: 1cqw) {
  body { --u: calc(100cqw / 1440); }
}

img, svg { display: block; max-width: 100%; }
p { margin: 0; }
p + p { margin-top: calc(26.34 * var(--u)); }
ul { margin: 0; padding: 0; list-style: none; }
strong { font-weight: 700; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; }
:focus-visible { outline: 2px solid var(--salbeiblau); outline-offset: 2px; }

.shell {
  position: relative;
  padding-inline: calc(175.6 * var(--u));
}
.shell--indent { padding-inline: calc(336 * var(--u)); }

.intro, .rooms, .offers, .gallery, .footer { position: relative; }

.display {
  margin: 0;
  font-family: var(--display);
  font-weight: var(--display-weight);
  font-size: calc(43.9 * var(--u));
  line-height: 1;

  letter-spacing: 0.107em;
  text-transform: uppercase;
}
.eyebrow {
  margin: 0;
  font-size: calc(20.49 * var(--u));
  line-height: 1.2;
  letter-spacing: 0.044em;
}

.hero { position: relative; overflow: hidden; }
.hero__img {
  width: 100%;
  height: calc(616.4 * var(--u));
  object-fit: cover;
  object-position: 50% 70%;
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .32);
  pointer-events: none;
}
.hero__logo {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: calc(228.3 * var(--u));
  width: calc(575.8 * var(--u));
  transform: translateX(-50%);
}

.intro {
  background: var(--anthrazit);
  color: var(--sand-light);
  min-height: calc(637.3 * var(--u));
  padding-top: calc(103.5 * var(--u));
  padding-bottom: calc(120 * var(--u));
}
.intro .display { margin-top: calc(11.7 * var(--u)); }

.intro__cols {
  display: flex;
  gap: calc(33.7 * var(--u));
  margin-top: calc(42.6 * var(--u));
  font-size: calc(16.1 * var(--u));
  line-height: calc(26.34 * var(--u));
}
.intro__col { flex: 0 0 calc(446 * var(--u)); hyphens: auto; }

.badge {
  position: absolute;
  z-index: 5;
  width: calc(389.3 * var(--u));
  aspect-ratio: 1;
}
.badge__disc {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  display: flex;
  align-items: center;
}
.badge__arc {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 160%;
  height: 160%;
  transform: translate(-50%, -50%);
  max-width: none;
  overflow: visible;
  pointer-events: none;
}
.arc-text {
  font-family: var(--script);
  font-style: italic;
  font-size: 7.6px;
}

.badge--lemon { top: calc(435.5 * var(--u)); right: calc(-30.7 * var(--u)); }
.badge--lemon .badge__disc { background: var(--lemon); }
.badge--lemon .arc-text    { fill: var(--lemon); }

.perks {
  padding-left: 29.2%;
  padding-right: 18%;
  font-size: calc(16.1 * var(--u));
  line-height: calc(26.34 * var(--u));
  color: var(--anthrazit);
}
.perks li { position: relative; }
.perks li + li { margin-top: calc(13.2 * var(--u)); }
.perks li::before {
  content: "";
  position: absolute;
  left: calc(-20.8 * var(--u));
  top: calc(10 * var(--u));
  width: calc(7 * var(--u));
  height: calc(7 * var(--u));
  border-radius: 50%;
  background: var(--anthrazit);
}

.badge--sage { top: calc(455.3 * var(--u)); right: calc(-30.7 * var(--u)); }
.badge--sage .badge__disc { background: var(--salbeiblau); }
.badge--sage .arc-text    { fill: var(--sand-light); font-size: 8.3px; }
.arc-text--mob { display: none; }

.community {
  position: relative;
  top: calc(24 * var(--u));
  padding-left: 17.9%;
  padding-right: 13.5%;
  hyphens: auto;
  font-size: calc(14.63 * var(--u));
  line-height: calc(26.34 * var(--u));
  color: var(--anthrazit);
}

.rooms {
  background: #fff;
  min-height: calc(649.8 * var(--u));
  padding-top: calc(124 * var(--u));
}
.headline {
  display: flex;
  align-items: flex-start;
  gap: calc(32.4 * var(--u));
  margin-left: calc(-107 * var(--u));
}
.mark { display: block; flex: none; }
.mark--square {
  width: calc(74.6 * var(--u));
  height: calc(74.6 * var(--u));
  margin-top: calc(1.9 * var(--u));
  background: var(--salbeiblau);
  display: grid;
  place-items: center;
}
.mark--square::before {
  content: "";
  width: calc(54.9 * var(--u));
  height: calc(54.9 * var(--u));
  border-radius: 50%;
  background: #fff;
}
.rooms__lead {
  max-width: calc(760 * var(--u));
  margin-top: calc(38.4 * var(--u));
  font-size: calc(16.1 * var(--u));
  line-height: calc(26.34 * var(--u));
}

.booking {
  position: relative;
  z-index: 4;
  width: calc(1085 * var(--u));
  margin: calc(47.4 * var(--u)) auto calc(-117 * var(--u)) calc(178.5 * var(--u));

  --anny-tabs: 62px;

  --anny-breite: 800px;
}

.booking__widget { display: none; }

.booking--live .booking__widget {
  display: block;
  overflow: hidden;
  min-height: calc(364 * var(--u));
}

.booking--live .booking__frame {
  display: block;
  transform-origin: top left;
}
.booking--live .booking__anny { display: block; }
.booking--live .booking__placeholder { display: none; }

.booking--live .booking__panel { padding: 0; overflow: hidden; }

.booking__panel { position: relative; }

.booking:not(.booking--consented) .booking__placeholder { pointer-events: none; }

.booking__consent {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(20 * var(--u));
  background: rgba(255, 255, 255, .88);
  border-radius: inherit;
}
.booking__consent[hidden] { display: none; }

.booking__consent-box {
  max-width: calc(430 * var(--u));
  text-align: center;
  font-family: var(--sans);
  color: var(--ui-text);
}

.booking__consent-done {
  display: inline-block;
  margin: 0 0 calc(13 * var(--u));
  padding: calc(6 * var(--u)) calc(12 * var(--u));
  border-radius: calc(6 * var(--u));
  background: var(--lemon);
  font-size: calc(11.5 * var(--u));
  line-height: 1.45;
  color: var(--anthrazit);
}
.booking__consent-done[hidden] { display: none; }

.booking__consent-head {
  margin: 0 0 calc(10 * var(--u));
  font-size: calc(19 * var(--u));
  font-weight: 700;
  letter-spacing: .01em;
}
.booking__consent-text {
  margin: 0 0 calc(18 * var(--u));
  font-size: calc(14 * var(--u));
  line-height: 1.55;
  color: #4a4a4a;
}
.booking__consent-btn {
  font: inherit;
  font-weight: 700;
  font-size: calc(15 * var(--u));
  color: var(--anthrazit);
  background: var(--lemon);
  border: 0;
  border-radius: calc(24 * var(--u));
  padding: calc(12 * var(--u)) calc(28 * var(--u));
  cursor: pointer;
}
.booking__consent-btn:hover { filter: brightness(.96); }
.booking__consent-btn:focus-visible { outline: 2px solid var(--anthrazit); outline-offset: 3px; }
.booking__consent-more {
  margin: calc(12 * var(--u)) 0 0;
  font-size: calc(12.5 * var(--u));
}
.booking__consent-more a { color: #6b6b6b; }

.booking__revoke {
  margin: calc(10 * var(--u)) 0 0;
  text-align: right;
  font-family: var(--sans);
}
.booking__revoke[hidden] { display: none; }
.booking__revoke-btn {
  font: inherit;
  font-size: calc(12.5 * var(--u));
  color: #6b6b6b;
  background: none;
  border: 0;
  padding: 0;
  text-decoration: underline;
  cursor: pointer;
}
.booking__revoke-btn:hover { color: var(--ui-text); }

@media (max-width: 1199px) {
  .booking__consent { padding: 16px; }
  .booking__consent-done { font-size: 11px; padding: 6px 10px; border-radius: 6px; }
  .booking__consent-head { font-size: 17px; }
  .booking__consent-text { font-size: 13px; }
  .booking__consent-btn { font-size: 14px; }
}

.booking__panel {
  background: #fff;
  border-radius: calc(14 * var(--u));

  box-shadow: calc(11 * var(--u)) calc(11 * var(--u)) calc(13 * var(--u)) rgba(30, 28, 26, .075),
              calc(10 * var(--u)) calc(22 * var(--u)) calc(20 * var(--u)) rgba(30, 28, 26, .05);
  padding: calc(25.5 * var(--u)) calc(22 * var(--u)) calc(8 * var(--u));
  min-height: calc(364 * var(--u));
  font-size: calc(9.6 * var(--u));
  line-height: 1.35;
  letter-spacing: 0;
  color: var(--ui-text);
}

.bk-searchbar {
  width: 48.9%;
  margin: 0 auto;
  display: flex;
  background: #fff;
  border: 1px solid var(--ui-line);
  border-radius: calc(13 * var(--u));
  box-shadow: 0 calc(1 * var(--u)) calc(3 * var(--u)) rgba(0, 0, 0, .05);
  overflow: hidden;
  font-size: calc(11.5 * var(--u));
}
.bk-search {
  flex: 1;
  display: flex;
  align-items: center;
  gap: calc(9 * var(--u));
  padding: calc(7.5 * var(--u)) calc(13 * var(--u));
  color: var(--ui-text);
  white-space: nowrap;
}
.bk-ico {
  flex: none;
  width: calc(19 * var(--u));
  height: calc(19 * var(--u));
  border-radius: calc(6 * var(--u));
  display: grid;
  place-items: center;
}
.bk-ico svg {
  width: 68%; height: 68%;
  fill: none; stroke: #fff; stroke-width: 2.2; stroke-linecap: round;
}
.bk-ico--amber  { background: var(--ui-amber); }
.bk-ico--violet { background: var(--ui-violet); }

.bk-chips {
  display: flex;
  justify-content: center;
  gap: calc(9 * var(--u));
  margin-top: calc(14.6 * var(--u));
}
.bk-chip, .bk-view {
  display: inline-flex;
  align-items: center;
  gap: calc(5 * var(--u));
  padding: calc(2.2 * var(--u)) calc(9 * var(--u));
  font: inherit;
  color: var(--ui-text);
  background: #fff;
  border: 1px solid var(--ui-line);
  border-radius: 999px;
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
}
.bk-chip svg, .bk-view svg {
  width: calc(11 * var(--u)); height: calc(11 * var(--u));
  fill: none; stroke: currentColor; stroke-width: 1.6;
  stroke-linecap: round; stroke-linejoin: round;
}
.bk-chip:hover, .bk-view:hover { background: #f4f4f4; }
.bk-chip.is-active {
  background: var(--anthrazit);
  border-color: var(--anthrazit);
  color: #fff;
}

.bk-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: calc(13 * var(--u));
}
.bk-count { color: var(--ui-muted); }
.bk-views { display: flex; gap: calc(6 * var(--u)); }
.bk-view { background: transparent; border-color: transparent; color: var(--ui-muted); }
.bk-view.is-active { background: #fff; border-color: var(--ui-line); color: var(--ui-text); }
.bk-caret { width: calc(9 * var(--u)); height: calc(9 * var(--u)); }

.bk-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(11 * var(--u));
  margin-top: calc(15.7 * var(--u));
}
.bk-thumb {
  position: relative;
  aspect-ratio: 253 / 106;
  background: var(--ui-card);
  border-radius: calc(8 * var(--u));
  display: grid;
  place-items: center;
}
.bk-ph {
  width: calc(52 * var(--u)); height: calc(52 * var(--u));
  fill: none; stroke: #ccd4dc; stroke-width: 2.4; stroke-linejoin: round;
}
.bk-badge {
  position: absolute;
  left: calc(8 * var(--u));
  top: calc(8 * var(--u));
  display: inline-flex;
  align-items: center;
  gap: calc(4 * var(--u));
  padding: calc(3 * var(--u)) calc(7 * var(--u));
  background: #fff;
  border-radius: calc(6 * var(--u));
  box-shadow: 0 calc(1 * var(--u)) calc(3 * var(--u)) rgba(0, 0, 0, .12);
}
.bk-badge svg {
  width: calc(10 * var(--u)); height: calc(10 * var(--u));
  fill: none; stroke: var(--ui-text); stroke-width: 1.7; stroke-linejoin: round;
}
.bk-fav {
  position: absolute;
  right: calc(8 * var(--u));
  top: calc(8 * var(--u));
  width: calc(15 * var(--u));
  height: calc(15 * var(--u));
  padding: 0; border: 0; background: none; cursor: pointer;
}
.bk-fav svg { width: 100%; height: 100%; fill: none; stroke: #9a9a9a; stroke-width: 1.7; }
.bk-fav.is-on svg { fill: #d76b6b; stroke: #d76b6b; }

.bk-name {
  margin: calc(5 * var(--u)) 0 0;
  font-size: calc(12 * var(--u));
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: .01em;
}
.bk-specs {
  display: flex;
  align-items: center;
  gap: calc(9 * var(--u));
  margin-top: calc(4 * var(--u));
  color: #5f5f5f;
}
.bk-specs span { display: inline-flex; align-items: center; gap: calc(2 * var(--u)); }
.bk-specs svg {
  width: calc(11 * var(--u)); height: calc(11 * var(--u));
  fill: none; stroke: currentColor; stroke-width: 1.6;
  stroke-linecap: round; stroke-linejoin: round;
}
.bk-rate {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  column-gap: calc(6 * var(--u));
  margin-top: calc(12 * var(--u));
}
.bk-rate__title { font-size: calc(10 * var(--u)); font-weight: 700; line-height: 1.25; }
.bk-rate__sub   { grid-column: 1 / -1; }
.bk-nav         { grid-column: 2; grid-row: 1; }
.bk-rate__sub {
  margin-top: calc(3 * var(--u));
  font-size: calc(8 * var(--u));
  color: #7c7c7c;
  line-height: 1.3;
}
.bk-nav { display: flex; gap: calc(4 * var(--u)); flex: none; padding-top: calc(1 * var(--u)); }
.bk-nav button {
  width: calc(13 * var(--u)); height: calc(13 * var(--u));
  padding: 0; border: 0; background: none; cursor: pointer;
}
.bk-nav svg {
  width: 100%; height: 100%;
  fill: none; stroke: #5f5f5f; stroke-width: 1.8;
  stroke-linecap: round; stroke-linejoin: round;
}

.offers {
  background: var(--sand-light);
  min-height: calc(754.4 * var(--u));
  padding-top: calc(243.4 * var(--u));
}
.offers .headline { margin-left: calc(-103.4 * var(--u)); gap: calc(38.3 * var(--u)); }
.mark--ring {
  width: calc(65.1 * var(--u));
  height: calc(65.1 * var(--u));
  margin-top: calc(6.1 * var(--u));
  border: calc(15.4 * var(--u)) solid var(--anthrazit);
  border-radius: 50%;
}
.offers__list {
  margin-top: calc(32.4 * var(--u));
  font-size: calc(20.49 * var(--u));
  line-height: calc(35.12 * var(--u));
  letter-spacing: 0.032em;
}
.offers__list li { position: relative; }
.offers__list li::before {
  content: "•";
  position: absolute;
  left: calc(-26.4 * var(--u));
  top: 0;
}

.gallery { display: flex; height: calc(607.3 * var(--u)); }
.gallery__item { margin: 0; overflow: hidden; }
.gallery__item img { width: 100%; height: 100%; object-fit: cover; }
.gallery__item--1 { flex: 3294 1 0; }
.gallery__item--2 { flex: 3133 1 0; }
.gallery__item--3 { flex: 3484 1 0; }

.footer {
  background: var(--anthrazit);
  color: var(--sand-light);
  min-height: calc(425.9 * var(--u));
  padding-top: calc(109 * var(--u));
  padding-bottom: calc(62.4 * var(--u));
}

.footer .shell { padding-inline: calc(171.2 * var(--u)); }
.footer__logo { width: calc(227.5 * var(--u)); }
.footer__cols {
  display: flex;

  flex-wrap: wrap;
  row-gap: calc(96 * var(--u));
  margin-top: calc(41.6 * var(--u));
  font-size: calc(14.63 * var(--u));
  line-height: calc(26.34 * var(--u));
}

.footer__col { flex: 0 0 calc(471.1 * var(--u)); font-style: normal; position: relative; }
.footer__head + p { margin-top: 0; }
.footer__head {
  position: absolute;
  top: calc(-57.7 * var(--u));
  letter-spacing: 0.012em;
}

@media (max-width: 1199.98px) {

  body {

    --m: 1.3;

    --t: calc(min(2.53vw, 12.65px) * var(--m));

    --badge: calc(min(53.3vw, 266px) * var(--m));
    --sage:  calc(min(60.8vw, 304px) * var(--m));
  }

  p + p { margin-top: 1.62em; }

  .shell,
  .shell--indent,
  .footer .shell { padding-inline: clamp(20px, 15.2%, 76px); }

  .display { font-size: calc(2.292 * var(--t)); }
  .eyebrow { font-size: calc(1.344 * var(--t)); }

  .hero__img { height: min(46.3vw, 460px); min-height: 175px; }
  .hero__logo { width: min(50%, 420px); top: 50%; transform: translate(-50%, -56%); }

  .intro { min-height: 0; padding-top: min(15vw, 130px); padding-bottom: 0; }
  .intro .display { margin-top: 10px; }
  .intro__cols {
    display: block;
    margin-top: 22px;
    font-size: var(--t);
    line-height: 1.62;
  }
  .intro__col { flex: none; }
  .intro__col + .intro__col { margin-top: 1.62em; }

  .badge--lemon {
    position: relative;
    top: auto;
    right: auto;
    width: var(--badge);
    margin-left: auto;

    margin-right: calc(-1 * var(--badge) * (0.331 - 0.2803 / var(--m)));

    margin-top: calc(0.246 * var(--badge) - 3px);

    margin-bottom: calc(-0.548 * var(--badge));
  }

  .perks {
    padding-left: 28.8%;
    padding-right: 9.2%;
    font-size: calc(0.0475 * var(--badge));
    line-height: 1.6;
  }

  .perks li + li { margin-top: .8em; }
  .perks li::before {
    left: -10.2%;
    top: .55em;
    width: .32em;
    height: .32em;
  }

  .rooms {
    min-height: 0;
    padding-top: calc(0.432 * var(--badge));
  }
  .headline, .offers .headline { display: block; margin-left: 0; }
  .brk-desk { display: none; }

  .mark--square {
    width: calc(0.2195 * var(--badge));
    height: calc(0.2195 * var(--badge));
    margin: 0 0 calc(0.090 * var(--badge) - 7px);
  }
  .mark--square::before { width: 73%; height: 73%; }
  .rooms__lead { max-width: none; margin-top: 20px; font-size: var(--t); line-height: 1.62; }

  .booking {
    --u: 1px;
    position: relative;
    z-index: 4;
    left: auto;
    top: auto;
    width: auto;

    margin: 38px 8.2% calc(-1 * min(24vw, 150px));
  }
  .booking__panel {
    padding: min(3.6vw, 22px);
    min-height: 0;

    font-size: clamp(7px, 2.1vw, 10px);
    border-radius: 12px;
  }
  .bk-searchbar { width: 100%; border-radius: 8px; }
  .bk-search { gap: 6px; padding: 8px 9px; }
  .bk-ico { width: 1.75em; height: 1.75em; border-radius: 5px; }

  .bk-chips { flex-wrap: wrap; gap: 5px; margin-top: 8px; }
  .bk-chip, .bk-view { gap: 3px; padding: 3px 6px; border-radius: 6px; }
  .bk-chip svg, .bk-view svg, .bk-specs svg { width: 1.05em; height: 1.05em; }
  .bk-meta { margin-top: 12px; }
  .bk-grid { grid-template-columns: repeat(2, 1fr); gap: 16px 12px; margin-top: 8px; }
  .bk-thumb { aspect-ratio: 168 / 108; border-radius: 7px; }
  .bk-ph { width: 3.6em; height: 3.6em; }
  .bk-badge { left: 6px; top: 6px; gap: 3px; padding: 2px 6px; border-radius: 5px; }
  .bk-badge svg { width: .95em; height: .95em; }
  .bk-fav { right: 6px; top: 6px; width: 1.3em; height: 1.3em; }
  .bk-name { margin-top: 9px; font-size: 1.25em; }
  .bk-specs { gap: 7px; margin-top: 5px; }
  .bk-rate { margin-top: 9px; }
  .bk-rate__title { font-size: 1.03em; }
  .bk-rate__sub { font-size: .82em; margin-top: 2px; }
  .bk-nav button { width: 1.2em; height: 1.2em; }

  .offers {
    min-height: 0;
    padding-top: calc(min(24vw, 150px) + 46px);
    padding-bottom: calc(0.52 * var(--sage));
  }
  .mark--ring {
    width: min(12.2vw, 64px);
    height: min(12.2vw, 64px);
    margin: 0 0 22px;
    border-width: min(3.3vw, 12px);
  }

  .offers__list {
    margin-top: 22px;
    padding-left: 20px;
    font-size: calc(1.332 * var(--t));
    line-height: 1.62;
  }
  .offers__list li + li { margin-top: 6px; }
  .offers__list li::before { left: -20px; }

  .arc-text--desk { display: none; }
  .arc-text--mob  { display: block; }
  .badge--sage .arc-text--mob { font-size: 7.77px; fill: var(--anthrazit); }

  .badge--sage {
    width: var(--sage);
    top: calc(-0.258 * var(--sage));

    right: calc(-1 * var(--sage) * (0.2413 - 0.1426 / var(--m)));
  }

  .community {
    top: calc(0.058 * var(--sage));
    padding-left: 17.7%;
    padding-right: 16.2%;

    font-size: calc(0.0367 * var(--sage));
    line-height: 1.84;
  }

  .gallery { height: calc(min(94.3vw, 472px) * var(--m)); }
  .gallery__item--1 { flex: 829 1 0; }
  .gallery__item--2 { flex: 3133 1 0; }
  .gallery__item--3 { flex: 507 1 0; }
  .gallery__item--1 img { object-position: 88% 50%; }
  .gallery__item--3 img { object-position: 22% 50%; }

  .footer { min-height: 0; padding-top: min(8vw, 60px); padding-bottom: 54px; }

  .footer__logo { width: calc(min(35.5vw, 177px) * var(--m)); }
  .footer__cols { display: block; margin-top: 30px; font-size: var(--t); line-height: 1.62; }
  .footer__col { flex: none; }
  .footer__col + .footer__col { margin-top: 30px; }
  .footer__head { position: static; margin-bottom: 1.62em; }
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}

.footer__privacy {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  text-align: left;
  text-decoration: underline;
  cursor: pointer;
}
