:root {
  --orangeriet-ink: #201c14;
  --orangeriet-green: #252c23;
  --orangeriet-brown: #5c3917;
  --orangeriet-gold: #765020;
  --orangeriet-paper: #e4d6b9;
  --orangeriet-copper: #cc9159;
}

.orangeriet-hero {
  min-height: 100svh;
}

.orangeriet-hero__frame {
  background-image:
    linear-gradient(180deg, rgba(16, 12, 8, 0.02) 48%, rgba(16, 12, 8, 0.7) 100%),
    url("/orangeriet/orangeriet-hero.png");
  background-position: center;
  background-size: cover;
}

.orangeriet-hero__copy {
  position: absolute;
  z-index: 2;
  right: 6vw;
  bottom: clamp(48px, 6vw, 94px);
  left: 6vw;
  text-align: center;
}

.orangeriet-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(52px, 6.2vw, 92px);
  font-weight: 400;
  line-height: 0.96;
  text-shadow: 0 3px 24px rgba(0, 0, 0, 0.48);
  text-wrap: balance;
}

.orangeriet-progress {
  background: var(--orangeriet-ink);
}

.orangeriet-progress .progress__row {
  width: min(calc(100% - 48px), 1000px);
  grid-template-columns: 1.19fr 1fr;
  gap: clamp(70px, 7.8vw, 93px);
  transform: translateX(-4px);
}

.orangeriet-progress .progress__row::before {
  left: calc(50% + 4px);
}

.orangeriet-row img {
  min-height: 0;
  border-color: rgba(143, 91, 28, 0.98);
}

.orangeriet-row--intro > img,
.orangeriet-row--vision > img,
.orangeriet-row--funding > img,
.orangeriet-row--closing > img {
  aspect-ratio: 493 / 598;
}

.orangeriet-row--intro > img,
.orangeriet-row--vision > img,
.orangeriet-row--funding > img,
.orangeriet-row--closing > img,
.orangeriet-row--history > img {
  object-fit: cover;
}

.orangeriet-row--history > img {
  aspect-ratio: 1.38 / 1;
  align-self: center;
  transform: none;
}

.orangeriet-row--funding > img,
.orangeriet-row--closing > img {
  transform: none;
}

.orangeriet-copy {
  gap: clamp(22px, 3vw, 44px);
}

.orangeriet-copy h2,
.orangeriet-copy > p:not(.framed-copy) {
  margin-bottom: 0;
  color: var(--paper-muted);
  font-size: clamp(18px, 1.55vw, 23px);
  line-height: 1.42;
}

.orangeriet-copy--intro > p:not(.framed-copy) {
  color: var(--orangeriet-copper);
}

.orangeriet-copy h2 {
  color: var(--orangeriet-paper);
  font-size: clamp(28px, 2.2vw, 34px);
  font-style: italic;
  font-weight: 600;
  line-height: 1.08;
}

.orangeriet-copy--intro {
  display: grid;
  gap: 0;
  padding-block: 0;
  align-self: stretch;
  grid-template-rows: 20% 52% 28%;
}

.orangeriet-copy--intro h2 {
  width: min(100%, 414px);
  align-self: center;
  grid-row: 1;
  margin-inline: auto;
  transform: translateY(-2px) scaleX(1.22);
}

.orangeriet-copy--intro > p:not(.framed-copy) {
  width: min(100%, 380px);
  align-self: center;
  font-size: clamp(21px, 1.75vw, 23px);
  grid-row: 2;
  line-height: 1.4;
  margin-inline: auto;
  transform: translateY(22px) scaleX(1.06);
}

.orangeriet-copy .framed-copy {
  margin: 0;
  padding: clamp(28px, 3vw, 44px);
  font-size: clamp(18px, 1.45vw, 22px);
  line-height: 1.42;
}

.orangeriet-row--intro {
  padding-block: 36px 0;
}

.orangeriet-row--intro::before {
  top: 29%;
  height: 47%;
  background: var(--orangeriet-green);
}

.orangeriet-progress .orangeriet-row--history {
  width: min(calc(100% - 48px), 1035px);
  min-height: 461px;
  padding-block: 57px;
  grid-template-columns: 547fr 488fr;
  gap: 0;
  transform: translateX(20px);
}

.orangeriet-progress .orangeriet-row--history::before {
  top: 36px;
  left: calc(50% - 20px);
  height: calc(100% - 36px);
  background: var(--orangeriet-brown);
}

.orangeriet-progress .orangeriet-row--history .orangeriet-copy {
  position: relative;
  z-index: 1;
  padding-block: 0;
  justify-content: center;
  transform: translateY(20px);
}

.orangeriet-progress .orangeriet-row--history .framed-copy {
  display: grid;
  min-height: 260px;
  margin: 0;
  place-items: center;
  padding: 39.5px;
  font-size: 18.4px;
  letter-spacing: 0.012em;
  line-height: 1.35;
}

.orangeriet-progress .orangeriet-row--history > img {
  width: calc(100% + 30px);
  max-width: none;
  aspect-ratio: 518 / 347;
  transform: translate(-30px, 20px);
}

.orangeriet-chapter {
  display: grid;
  min-height: 242px;
  place-items: center;
  padding: 32px 24px;
  border-color: rgba(118, 80, 32, 0.62);
  background: var(--orangeriet-green);
}

.orangeriet-chapter p {
  color: var(--paper);
  font-size: 29px;
  line-height: 1.1;
  transform: translateX(12px);
}

.orangeriet-row--vision {
  padding-block: clamp(54px, 6vw, 92px) 0;
}

.orangeriet-row--vision::before {
  top: 38%;
  height: 40%;
  background: var(--orangeriet-green);
}

.orangeriet-row--funding {
  padding-block: clamp(32px, 4vw, 62px) clamp(64px, 7vw, 104px);
}

.orangeriet-row--funding::before {
  top: 9%;
  height: 63%;
  background: var(--orangeriet-ink);
}

.orangeriet-band {
  min-height: clamp(150px, 15vw, 220px);
  background: var(--orangeriet-brown);
}

.orangeriet-band p {
  font-size: clamp(30px, 3vw, 46px);
  font-weight: 400;
}

.orangeriet-row--closing {
  padding-block: clamp(68px, 8vw, 122px) 0;
}

.orangeriet-row--closing::before {
  display: none;
}

.orangeriet-copy--closing {
  justify-content: center;
}

.orangeriet-final-copy {
  color: var(--paper);
  font-size: clamp(20px, 1.75vw, 27px);
  line-height: 1.38;
  text-align: center;
}

.orangeriet-final-copy p:last-child {
  margin-bottom: 0;
}

.orangeriet-final-copy strong {
  font-weight: 500;
}

.orangeriet-booking {
  padding: clamp(58px, 6vw, 92px) 24px clamp(82px, 8vw, 124px);
}

.orangeriet-booking__button {
  min-height: 64px;
  padding-inline: clamp(30px, 4vw, 54px);
  border: 2px solid #a46325;
  background: var(--orangeriet-green);
}

.orangeriet-vision .progress__row::before {
  display: none;
}

@media (min-width: 901px) {
  .orangeriet-story .orangeriet-row--intro {
    width: min(84vw, var(--max));
  }

  .orangeriet-story .orangeriet-row--history {
    width: min(87vw, var(--max));
  }

  .orangeriet-closing .orangeriet-row--closing {
    width: min(calc(100% - 48px), 1015px);
    padding-block: 49px 0;
    grid-template-columns: 508fr 464fr;
    gap: 43px;
    transform: translateX(7.5px);
  }

  .orangeriet-row--closing > img {
    aspect-ratio: 464 / 641;
  }

  .orangeriet-row--closing .orangeriet-copy--closing {
    display: grid;
    height: 641px;
    padding: 0;
    gap: 0;
    grid-template-rows: 134px 187px 65px auto;
  }

  .orangeriet-copy--closing .framed-copy {
    display: flex;
    min-height: 187px;
    flex-direction: column;
    justify-content: center;
    grid-row: 2;
    padding: 36px 44px;
    border-width: 4px;
    font-size: 18.5px;
    line-height: 1.35;
  }

  .orangeriet-copy--closing .framed-copy p {
    margin-bottom: 0;
  }

  .orangeriet-final-copy {
    width: 454px;
    justify-self: center;
    grid-row: 4;
    font-size: 22px;
    line-height: 1.35;
  }

  .orangeriet-final-copy p {
    margin-bottom: 36px;
  }

  .orangeriet-booking {
    min-height: 151px;
    padding: 53px 24px 22px;
    border-top: 0;
    background: var(--orangeriet-ink);
  }

  .orangeriet-booking__button {
    position: relative;
    left: -18px;
    width: 342px;
    min-height: 76px;
    padding-inline: 22px;
    font-size: 14px;
  }

  .orangeriet-vision .progress__row {
    width: min(85vw, var(--max));
    grid-template-columns: 464fr 475fr;
    gap: 74px;
    transform: translateX(30px);
  }

  .orangeriet-row--vision {
    padding-block: 23px 0;
  }

  .orangeriet-row--vision > img {
    aspect-ratio: 464 / 534;
  }

  .orangeriet-row--vision .orangeriet-copy {
    justify-content: center;
    gap: 23px;
    padding-block: 0;
    transform: translateY(-42px);
  }

  .orangeriet-row--vision .orangeriet-copy > p {
    width: min(100%, 455px);
    margin-inline: auto;
    font-size: 18.5px;
    line-height: 1.35;
  }

  .orangeriet-vision .progress__row.orangeriet-row--funding {
    padding-block: 0;
    margin-bottom: -11px;
    transform: translate(30px, -87px);
  }

  .orangeriet-row--funding > img {
    aspect-ratio: 475 / 534;
  }

  .orangeriet-row--funding .orangeriet-copy {
    justify-content: center;
    gap: 0;
    padding-block: 0;
    transform: translate(7px, 39.5px);
  }

  .orangeriet-row--funding .orangeriet-copy > p {
    font-size: 18.5px;
    line-height: 1.35;
  }

  .orangeriet-band {
    min-height: 172px;
  }

  .orangeriet-band p {
    font-size: 24.5px;
    transform: translateX(9px);
  }
}

@media (max-width: 900px) {
  .orangeriet-progress .progress__row {
    width: min(calc(100% - 40px), 680px);
    gap: 34px;
    transform: none;
  }

  .orangeriet-copy {
    padding-block: 34px;
  }

  .orangeriet-progress .orangeriet-row--history {
    min-height: 0;
    padding-block: 42px;
  }

  .orangeriet-progress .orangeriet-row--history::before {
    top: 0;
    left: 50%;
    height: 100%;
  }

  .orangeriet-progress .orangeriet-row--history .orangeriet-copy,
  .orangeriet-progress .orangeriet-row--history > img {
    width: 100%;
    transform: none;
  }

  .orangeriet-progress .orangeriet-row--history .framed-copy {
    min-height: 0;
    padding: 28px;
    font-size: 18px;
    letter-spacing: normal;
  }
}

@media (max-width: 760px) {
  .orangeriet-hero {
    min-height: 100svh;
  }

  .orangeriet-hero__frame {
    min-height: 100svh;
    background-image:
      linear-gradient(180deg, rgba(16, 12, 8, 0.06) 44%, rgba(16, 12, 8, 0.78) 100%),
      url("/orangeriet/orangeriet-hero.png");
    background-position: 52% center;
    background-size: cover;
  }

  .orangeriet-hero__copy {
    right: 22px;
    bottom: 42px;
    left: 22px;
  }

  .orangeriet-hero h1 {
    font-size: clamp(48px, 15vw, 68px);
  }

  .orangeriet-progress .progress__row {
    grid-template-columns: 1fr;
    padding-block: 46px;
  }

  .orangeriet-progress .progress__row::before {
    top: 25%;
    height: 52%;
  }

  .orangeriet-progress .orangeriet-row--history::before {
    top: 0;
    left: 50%;
    height: 100%;
  }

  .orangeriet-row--intro > img,
  .orangeriet-row--vision > img,
  .orangeriet-row--funding > img,
  .orangeriet-row--closing > img {
    width: min(100%, 540px);
    max-height: 78svh;
    justify-self: center;
  }

  .orangeriet-row--history > img {
    width: min(100%, 600px);
    justify-self: center;
  }

  .orangeriet-row--history .orangeriet-copy,
  .orangeriet-row--funding .orangeriet-copy,
  .orangeriet-row--closing .orangeriet-copy {
    order: 2;
  }

  .orangeriet-row--history > img,
  .orangeriet-row--funding > img,
  .orangeriet-row--closing > img {
    order: 1;
  }

  .orangeriet-copy {
    width: min(100%, 600px);
    justify-self: center;
    padding-block: 20px;
  }

  .orangeriet-copy--intro {
    display: flex;
    flex-direction: column;
    gap: 28px;
  }

  .orangeriet-copy--intro h2,
  .orangeriet-copy--intro > p:not(.framed-copy) {
    transform: none;
  }

  .orangeriet-copy h2 {
    font-size: clamp(34px, 10vw, 48px);
  }

  .orangeriet-chapter,
  .orangeriet-band {
    min-height: 150px;
  }

  .orangeriet-chapter p,
  .orangeriet-band p {
    font-size: clamp(27px, 8vw, 38px);
  }

  .orangeriet-chapter p {
    transform: none;
  }

  .orangeriet-booking__button {
    width: min(100%, 420px);
    padding-inline: 20px;
    font-size: 12px;
  }
}

@media (max-width: 430px) {
  .orangeriet-progress .progress__row {
    width: min(calc(100% - 28px), 680px);
  }

  .orangeriet-copy .framed-copy {
    padding: 24px 20px;
  }
}
