@font-face {
  font-family: "Romestone";
  src: url("assets/fonts/romestone.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Delirium";
  src: url("assets/fonts/delirium.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Oswald";
  src: url("assets/fonts/oswald.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Playfair";
  src: url("assets/fonts/playfair.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: #333;
  color: #282828;
  font-family: "Oswald", Arial, sans-serif;
}

.poster {
  width: 670px;
  height: 1000px;
  margin: 25px auto;
  background: #e9e8ed;
  position: relative;
  overflow: hidden;
}

h1, h2, strong {
  font-family: "Delirium", Impact, sans-serif;
  font-weight: normal;
  margin: 0;
}

h1 {
  font-family: "Romestone", Impact, sans-serif;
  position: absolute;
  top: 22px;
  left: 34px;
  width: 451px;
  height: 137px;
  font-size: 118px;
  line-height: 1.05;
  border-bottom: 2px solid #aaa;
  white-space: nowrap;
}

h2 {
  font-size: 39px;
  line-height: 1.05;
}

p {
  margin: 0;
  font-family: "Playfair", Georgia, serif;
  font-style: italic;
  font-size: 12px;
}

.food {
  position: absolute;
  top: 181px;
  left: 34px;
  display: grid;
  grid-template-columns: 181px 177px 80px;
  gap: 6px;
}

.food h2 {
  font-size: 49px;
}

.food-pic {
  width: 177px;
  height: 111px;
  background: url("assets/reference.webp") -221px -176px / 670px 1000px;
}

.food ul {
  margin: 0;
  padding-left: 19px;
  font-size: 17px;
  line-height: 1.65;
}

.steps {
  position: absolute;
  top: 34px;
  right: 31px;
  width: 118px;
  height: 259px;
}

.steps h2 {
  letter-spacing: 4px;
  position: absolute;
  width: 259px;
  left: -78px;
  top: 77px;
  transform: rotate(-90deg);
  font-size: 91px;
  white-space: nowrap;
}

.steps b {
  color: #eee448;
  font-weight: normal;
}

.steps p {
  position: absolute;
  right: -111px;
  top: 124px;
  width: 259px;
  transform: rotate(-90deg);
  text-align: center;
}

.places {
  position: absolute;
  top: 315px;
  left: 34px;
  width: 253px;
  height: 176px;
  border-top: 2px solid #aaa;
  border-bottom: 2px solid #aaa;
}

.bars {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
  height: 103px;
  padding-top: 20px;
}

.bars > div {
  display: grid;
  grid-template-columns: 15px 16px;
  align-items: end;
  gap: 4px;
}

.bars span {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-size: 14px;
  white-space: nowrap;
}

i {
  display: block;
  background: #eee448;
}

.places-title {
  display: grid;
  grid-template-columns: 105px 1fr;
  gap: 9px;
  align-items: center;
  margin-top: 15px;
}

.places-title h2 {
  font-size: 35px;
}

.music {
  position: absolute;
  top: 332px;
  left: 316px;
  width: 121px;
}

.music h2 {
  font-size: 36px;
}

.music ol {
  padding-left: 13px;
  margin: 12px 0 8px;
  font-size: 13px;
  line-height: 1.25;
}

.pie {
  position: absolute;
  top: 336px;
  left: 432px;
  width: 197px;
  height: 197px;
  border-radius: 50%;
  background: conic-gradient(from -19deg, #eee448 0deg 38deg, #e9e8ed 38deg 40deg, #eee448 40deg 78deg, #e9e8ed 78deg 80deg, #eee448 80deg 207deg, #e9e8ed 207deg 209deg, #eee448 209deg 301deg, #e9e8ed 301deg 303deg, #eee448 303deg 358deg, #e9e8ed 358deg);
}

.pie span {
  position: absolute;
  font-family: "Delirium", sans-serif;
  font-size: 37px;
}

.n1 {
  top: 98px;
  left: 133px;
}

.n2 {
  top: 109px;
  left: 40px;
}

.n3 {
  top: 30px;
  left: 46px;
}

.n4 {
  top: 12px;
  left: 96px;
}

.n5 {
  top: 28px;
  left: 139px;
}

.travel {
  position: absolute;
  top: 513px;
  left: 34px;
  width: 253px;
  height: 196px;
  border-bottom: 2px solid #aaa;
}

.travel > div {
  display: flex;
  align-items: center;
  gap: 5px;
  height: 40px;
}

.travel h2 {
  font-size: 37px;
}

.travel i {
  height: 33px;
}

.travel p {
  margin-top: 5px;
  font-size: 12px;
}

.eat {
  position: absolute;
  top: 560px;
  left: 316px;
  width: 313px;
  height: 149px;
  border: 1px solid #aaa;
  padding: 10px;
}

.eat-title {
  display: flex;
  gap: 10px;
  align-items: center;
}

.eat-title h2 {
  font-size: 36px;
  white-space: nowrap;
}

.eat-title p {
  font-size: 11px;
}

.ratings {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  margin-top: 5px;
  height: 79px;
}

.ratings > div {
  display: flex;
  align-items: end;
}

.ratings span {
  white-space: nowrap;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-size: 13px;
}

.ratings b {
  writing-mode: vertical-rl;
  color: #eee448;
  font-size: 13px;
  line-height: 1;
}

.week {
  position: absolute;
  top: 728px;
  left: 34px;
  width: 595px;
  height: 119px;
  border-bottom: 2px solid #aaa;
}

.week h2 {
  position: relative;
  z-index: 1;
  font-size: 37px;
}

.mountain {
  position: absolute;
  inset: 0;
  background: #eee448;
  clip-path: polygon(0 100%, 13% 81%, 18% 90%, 28% 49%, 31% 20%, 34% 37%, 39% 74%, 42% 83%, 48% 77%, 50% 56%, 55% 55%, 75% 10%, 84% 70%, 100% 100%);
}

.days {
  position: absolute;
  bottom: 0;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  font-family: "Playfair", Georgia, serif;
  font-style: italic;
  font-size: 13px;
}

footer {
  position: absolute;
  left: 34px;
  top: 873px;
  width: 595px;
  display: grid;
  grid-template-columns: 193px 164px 210px;
  gap: 14px;
  align-items: center;
}

footer strong {
  font-family: "Delirium", Impact, sans-serif;
  font-size: 112px;
  line-height: 1;
  white-space: nowrap;
}

.sleep p {
  font-size: 12px;
  line-height: 1.8;
}

.arrow {
  position: relative;
  height: 3px;
  background: #aaa;
  margin: 3px 0;
}

.arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: -7px;
  width: 14px;
  height: 14px;
  border-top: 3px solid #aaa;
  border-right: 3px solid #aaa;
  transform: rotate(45deg);
}


