.p-map-section {
  margin-block: var(--section-gap-lg);
  overflow-x: clip;
}
@media (max-width: 1024px) {
  .p-map-section {
    margin-block: var(--section-gap-md);
  }
}
.p-map-section__header {
  margin-inline: auto;
  margin-bottom: var(--section-gap-sm);
}
.p-map-section__body {
  position: relative;
}
.p-map-section__body__deco {
  position: absolute;
}
.p-map-section__body__deco[data-deco="1"] {
  --c-polygon-clip-path: polygon(48.07% 100%, 0% 66.84%, 15.11% 6.04%, 68.63% 0%, 98.78% 35.07%, 100% 81.26%, 48.07% 100%);
  aspect-ratio: 1.089;
  translate: -50% -50%;
}
.p-map-section__body__deco[data-deco="1"]:where(body[data-theme-color=spring] *) {
  --c-polygon-color-percentage: 50%;
}
@media (min-width: 1025px) {
  .p-map-section__body__deco[data-deco="1"] {
    top: -3rem;
    left: 7rem;
    width: 18.7rem;
  }
}
@media (max-width: 1024px) {
  .p-map-section__body__deco[data-deco="1"] {
    top: 0.5rem;
    left: 1rem;
    width: 15.2rem;
  }
}
@media (max-width: 525px) {
  .p-map-section__body__deco[data-deco="1"] {
    width: 12.6rem;
  }
}
.p-map-section__body__deco[data-deco="2"] {
  --c-polygon-color-percentage: 60%;
  --c-polygon-clip-path: polygon(0% 57.14%, 27.18% 0%, 92.82% 19.05%, 100% 91.67%, 33.33% 100%, 0% 57.14%);
  aspect-ratio: 1.161;
  translate: -50% -50%;
}
.p-map-section__body__deco[data-deco="2"]:where(body[data-theme-color=cafe] *) {
  --c-polygon-color-percentage: 100%;
}
@media (min-width: 1025px) {
  .p-map-section__body__deco[data-deco="2"] {
    top: 1rem;
    left: 2rem;
    width: 7.37rem;
  }
}
@media (max-width: 1024px) {
  .p-map-section__body__deco[data-deco="2"] {
    top: -2rem;
    left: -2.5rem;
    width: 6.4rem;
  }
}
@media (max-width: 525px) {
  .p-map-section__body__deco[data-deco="2"] {
    width: 5rem;
  }
}
.p-map-section__body__deco[data-deco="3"] {
  --c-polygon-clip-path: polygon(65.97% 88.97%, 17.78% 100%, 0% 48.26%, 10.97% 12.36%, 49.46% 0%, 100% 44.65%, 65.97% 88.97%);
  aspect-ratio: 1.128;
  translate: 50% -50%;
}
.p-map-section__body__deco[data-deco="3"]:where(body[data-theme-color=sky] *) {
  --c-polygon-opacity: 60%;
}
@media (min-width: 1025px) {
  .p-map-section__body__deco[data-deco="3"] {
    top: 39%;
    right: -9%;
    width: 80.7rem;
  }
}
@media (max-width: 1024px) {
  .p-map-section__body__deco[data-deco="3"] {
    display: none;
  }
}
.p-map-section__body__deco[data-deco="4"] {
  --c-polygon-color-percentage: 70%;
  --c-polygon-clip-path: polygon(85.05% 0%, 100% 75.49%, 26.92% 100%, 0% 44.29%, 29.97% 1.02%, 85.05% 0%);
  aspect-ratio: 1.228;
  translate: 50% 50%;
}
@media (min-width: 1025px) {
  .p-map-section__body__deco[data-deco="4"] {
    right: -7.5%;
    bottom: 14%;
    width: 28rem;
  }
  .p-map-section__body__deco[data-deco="4"]:is(.p-map-section:not(:has(.p-map-section__footer)) *) {
    display: none;
  }
}
@media (max-width: 1024px) {
  .p-map-section__body__deco[data-deco="4"] {
    display: none;
  }
}
.p-map-section__body__deco[data-deco="5"] {
  --c-polygon-clip-path: polygon(62.11% 100%, 100% 77.68%, 91.05% 29.59%, 64.74% 0%, 20.53% 7.1%, 0% 28.4%, 8.42% 81.66%, 62.11% 100%);
  aspect-ratio: 1.131;
  translate: 50% 50%;
}
.p-map-section__body__deco[data-deco="5"]:where(body[data-theme-color=spring] *) {
  --c-polygon-color-percentage: 60%;
}
@media (min-width: 1025px) {
  .p-map-section__body__deco[data-deco="5"] {
    right: -4%;
    bottom: -2%;
    width: 6.85rem;
  }
  .p-map-section__body__deco[data-deco="5"]:is(.p-map-section:not(:has(.p-map-section__footer)) *) {
    display: none;
  }
}
@media (max-width: 1024px) {
  .p-map-section__body__deco[data-deco="5"] {
    display: none;
  }
}
.p-map-section__footer {
  position: relative;
  margin-top: 7rem;
}
@media (max-width: 525px) {
  .p-map-section__footer {
    margin-top: 5.5rem;
  }
}
.p-map-section__footer__deco {
  position: absolute;
}
.p-map-section__footer__deco[data-deco="1"] {
  --c-polygon-color-percentage: 60%;
  --c-polygon-clip-path: polygon(75.27% 10.44%, 100% 74.26%, 37.76% 100%, 0% 56.82%, 24.31% 0%, 75.27% 10.44%);
  aspect-ratio: 1.204;
  translate: -50% -50%;
}
.p-map-section__footer__deco[data-deco="1"]:where(body[data-theme-color=cafe] *) {
  --c-polygon-color-percentage: 80%;
}
@media (min-width: 1025px) {
  .p-map-section__footer__deco[data-deco="1"] {
    top: 48%;
    left: 7rem;
    width: 31.8rem;
  }
}
@media (max-width: 1024px) {
  .p-map-section__footer__deco[data-deco="1"] {
    display: none;
  }
}
.p-map-section__footer__deco[data-deco="2"] {
  --c-polygon-opacity: 40%;
  --c-polygon-clip-path: polygon(33.19% 96.24%, 73.66% 100%, 100% 58.49%, 86.47% 9.29%, 48.57% 0%, 0% 39.37%, 33.19% 96.24%);
  aspect-ratio: 1.182;
  translate: -50% 50%;
}
@media (min-width: 1025px) {
  .p-map-section__footer__deco[data-deco="2"] {
    bottom: -20%;
    left: -21%;
    width: 77rem;
  }
}
@media (max-width: 1024px) {
  .p-map-section__footer__deco[data-deco="2"] {
    bottom: -8rem;
    left: -3.5rem;
    width: 31rem;
  }
}
@media (max-width: 525px) {
  .p-map-section__footer__deco[data-deco="2"] {
    width: 25rem;
  }
}
.p-map-section__exteriors {
  --c-tile-column-gap: 2.4rem;
  --c-tile-column-count: 2;
  justify-content: center;
}
@media (min-width: 1025px) {
  .p-map-section__exteriors {
    max-width: 86.2rem;
    margin-inline: auto;
  }
}
@media (max-width: 1024px) {
  .p-map-section__exteriors {
    --c-tile-column-count: 2;
    --c-tile-column-gap: 3rem;
  }
}
@media (max-width: 525px) {
  .p-map-section__exteriors {
    --c-tile-column-count: 1;
  }
}

.p-map > iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 862/470;
  margin-inline: auto;
}
@media (min-width: 1025px) {
  .p-map > iframe {
    max-width: 86.2rem;
  }
}
@media (max-width: 1024px) {
  .p-map > iframe {
    aspect-ratio: 315/240;
  }
}
.p-map__button {
  margin-inline: auto;
  margin-top: 5rem;
}
@media (max-width: 525px) {
  .p-map__button {
    margin-top: 2.5rem;
  }
}

.p-exterior__image {
  margin-bottom: 1.5rem;
}
.p-exterior__name {
  margin-bottom: 0.5rem;
  font-family: var(--font-heading);
  font-size: var(--font-size-xl);
  font-weight: 700;
  line-height: 1.3;
  color: var(--color-text-heading);
  text-align: center;
}

.p-trans-section {
  position: relative;
  padding-block: 15rem 18rem;
  margin-block: var(--section-gap-lg);
  overflow-x: clip;
}
.p-trans-section:where(body[data-theme-color=spring] *) {
  --c-wall-bg-color: color-mix(in srgb, var(--color-palette-1) 10%, #fff);
}
.p-trans-section:where(body[data-theme-color=sky] *) {
  --c-wall-bg-color: color-mix(in srgb, var(--color-palette-2) 15%, #fff);
}
.p-trans-section:where(body[data-theme-color=rose] *) {
  --c-wall-bg-color: color-mix(in srgb, var(--color-palette-1) 15%, #fff);
}
.p-trans-section:where(body[data-theme-color=cafe] *) {
  --c-wall-bg-color: color-mix(in srgb, var(--color-palette-1) 16%, #fff);
}
.p-trans-section:where(body[data-theme-color=lagoon] *) {
  --c-wall-bg-color: color-mix(in srgb, var(--color-palette-1) 8%, #fff);
}
@media (max-width: 1024px) {
  .p-trans-section {
    padding-block: 14rem 16rem;
    margin-block: var(--section-gap-md);
  }
}
@media (max-width: 525px) {
  .p-trans-section {
    padding-block: 13rem;
  }
}
.p-trans-section__header {
  margin-inline: auto;
}
.p-trans-section__body {
  margin-top: var(--section-gap-xs);
}
.p-trans-section__list {
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 1025px) {
  .p-trans-section__list {
    grid-template-columns: auto auto 1fr;
    width: 74.4rem;
    margin-inline: auto;
  }
}
.p-trans-section__deco {
  position: absolute;
}
.p-trans-section__deco[data-deco="1"] {
  --c-polygon-clip-path: polygon(11.02% 15.13%, 69.13% 0%, 91.59% 22.33%, 100% 66.29%, 68.73% 90.41%, 45.09% 100%, 0% 59.4%, 11.02% 15.13%);
  aspect-ratio: 0.921;
  translate: 50% -50%;
}
.p-trans-section__deco[data-deco="1"]:where(body[data-theme-color=spring] *) {
  --c-polygon-color-percentage: 50%;
}
@media (min-width: 1025px) {
  .p-trans-section__deco[data-deco="1"] {
    top: 7.5rem;
    right: 15%;
    width: 19.6rem;
  }
}
@media (min-width: 526px) and (max-width: 1024px) {
  .p-trans-section__deco[data-deco="1"] {
    top: 3rem;
    right: 5%;
    width: 16rem;
  }
}
@media (max-width: 525px) {
  .p-trans-section__deco[data-deco="1"] {
    top: 3rem;
    right: 5%;
    width: 9.5rem;
  }
}
.p-trans-section__deco[data-deco="2"] {
  --c-polygon-clip-path: polygon(79.53% 11.47%, 19% 0%, 0% 64.16%, 23.72% 93.63%, 61.4% 100%, 100% 70.32%, 79.53% 11.47%);
  aspect-ratio: 1.121;
  translate: 50% -50%;
}
.p-trans-section__deco[data-deco="2"]:where(body[data-theme-color=spring] *) {
  --c-polygon-color-percentage: 69%;
}
@media (min-width: 1025px) {
  .p-trans-section__deco[data-deco="2"] {
    top: 13rem;
    right: 19%;
    width: 8.33rem;
  }
}
@media (min-width: 526px) and (max-width: 1024px) {
  .p-trans-section__deco[data-deco="2"] {
    top: 6.5rem;
    right: 15%;
    width: 6.4rem;
  }
}
@media (max-width: 525px) {
  .p-trans-section__deco[data-deco="2"] {
    top: 6.5rem;
    right: 15%;
    width: 4.4rem;
  }
}
.p-trans-section__deco[data-deco="3"] {
  --c-polygon-clip-path: polygon(25.06% 21.87%, 71.32% 0%, 100% 43.45%, 96.42% 79.25%, 60.22% 100%, 0% 71.04%, 25.06% 21.87%);
  aspect-ratio: 1.033;
  translate: 50% 50%;
}
.p-trans-section__deco[data-deco="3"]:where(body[data-theme-color=spring] *) {
  --c-polygon-opacity: 40%;
}
.p-trans-section__deco[data-deco="3"]:where(body[data-theme-color=sky] *) {
  --c-polygon-opacity: 70%;
}
@media (min-width: 1025px) {
  .p-trans-section__deco[data-deco="3"] {
    right: -3%;
    bottom: 9rem;
    width: 78rem;
  }
}
@media (min-width: 526px) and (max-width: 1024px) {
  .p-trans-section__deco[data-deco="3"] {
    right: -14%;
    bottom: 5.5rem;
    width: 40.5rem;
  }
}
@media (max-width: 525px) {
  .p-trans-section__deco[data-deco="3"] {
    right: -14%;
    bottom: 5.5rem;
    width: 31.5rem;
  }
}

.p-trans {
  display: grid;
  min-height: 12rem;
  padding-block: 2rem;
  border-bottom: 0.12rem solid var(--color-border);
}
@media (min-width: 1025px) {
  .p-trans {
    grid-template-columns: subgrid;
    grid-column: span 3;
    align-items: center;
  }
}
@media (max-width: 1024px) {
  .p-trans {
    grid-template-areas: "icon heading" "body body";
    grid-template-rows: auto auto;
    grid-template-columns: auto 1fr;
    row-gap: 1rem;
    align-items: center;
    padding-block: 1.75rem;
  }
}
.p-trans:nth-child(3n+1) {
  --icon-color: oklch(from var(--color-palette-2) calc(l * 0.8) calc(c * 1.25) h);
  --icon-bg-color: color-mix(in srgb, var(--color-palette-2) 35%, #fff);
  --clip-path: polygon(100% 37.53%, 97.7% 44.57%, 79.58% 100%, 0% 79.69%, 1.24% 70.2%, 8.9% 11.82%, 72.25% 0%, 100% 37.53%);
}
.p-trans:nth-child(3n+1):where(body[data-theme-color=sky] *) {
  --icon-color: oklch(from var(--color-palette-2) calc(l * 0.5) calc(c * 2) h);
  --icon-bg-color: oklch(from var(--color-palette-2) calc(l * 1.065) calc(c * 0.7) h);
}
.p-trans:nth-child(3n+1):where(body[data-theme-color=rose] *) {
  --icon-color: var(--color-palette-2);
  --icon-bg-color: #eed6bd;
}
.p-trans:nth-child(3n+1):where(body[data-theme-color=cafe] *) {
  --icon-color: var(--color-palette-3);
  --icon-bg-color: #e9d998;
}
.p-trans:nth-child(3n+1):where(body[data-theme-color=lagoon] *) {
  --icon-color: oklch(from var(--color-palette-1) calc(l * 0.8) calc(c * 1.25) h);
  --icon-bg-color: color-mix(in srgb, var(--color-palette-1) 35%, #fff);
}
.p-trans:nth-child(3n+2) {
  --icon-color: oklch(from var(--color-palette-1) calc(l * 0.8) calc(c * 1.25) h);
  --icon-bg-color: color-mix(in srgb, var(--color-palette-1) 35%, #fff);
  --clip-path: polygon(100% 85.71%, 38.42% 100%, 0% 83.16%, 1.69% 69.93%, 7.89% 21.43%, 50% 0%, 93.68% 27.5%, 95.58% 44.97%, 100% 85.71%);
}
.p-trans:nth-child(3n+2):where(body[data-theme-color=sky] *) {
  --icon-color: oklch(from var(--color-palette-3) calc(l * 0.7) calc(c * 2) h);
  --icon-bg-color: oklch(from var(--color-palette-3) calc(l * 1.11) calc(c * 0.75) h);
}
.p-trans:nth-child(3n+2):where(body[data-theme-color=rose] *) {
  --icon-color: #b18939;
  --icon-bg-color: #eed695;
}
.p-trans:nth-child(3n+2):where(body[data-theme-color=cafe] *) {
  --icon-color: #81981f;
  --icon-bg-color: #dbe5a8;
}
.p-trans:nth-child(3n+2):where(body[data-theme-color=lagoon] *) {
  --icon-color: oklch(from var(--color-palette-5) calc(l * 0.8) calc(c * 1.25) h);
  --icon-bg-color: color-mix(in srgb, var(--color-palette-5) 35%, #fff);
}
.p-trans:nth-child(3n+3) {
  --icon-color: oklch(from var(--color-palette-5) calc(l * 0.8) calc(c * 1.25) h);
  --icon-bg-color: color-mix(in srgb, var(--color-palette-5) 35%, #fff);
  --clip-path: polygon(100% 36.73%, 97.73% 45.11%, 86.32% 87.25%, 38.42% 100%, 0% 83.16%, 0.76% 70.88%, 2.63% 40.81%, 28.42% 5.1%, 84.21% 0%, 100% 36.73%);
}
.p-trans:nth-child(3n+3):where(body[data-theme-color=sky] *) {
  --icon-color: oklch(from color-mix(in srgb, var(--color-palette-2), var(--color-palette-3)) calc(l * 0.78) calc(c * 1.85) h);
  --icon-bg-color: oklch(from color-mix(in srgb, var(--color-palette-2), var(--color-palette-3)) calc(l * 1.145) calc(c * 0.68) h);
}
.p-trans:nth-child(3n+3):where(body[data-theme-color=rose] *) {
  --icon-color: #d5898a;
  --icon-bg-color: #fbdcc5;
}
.p-trans:nth-child(3n+3):where(body[data-theme-color=cafe] *) {
  --icon-color: #b18a58;
  --icon-bg-color: #f0e3d5;
}
.p-trans:nth-child(3n+3):where(body[data-theme-color=lagoon] *) {
  --icon-color: oklch(from var(--color-palette-2) calc(l * 0.8) calc(c * 1.25) h);
  --icon-bg-color: color-mix(in srgb, var(--color-palette-2) 35%, #fff);
}
.p-trans__icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.6em;
  aspect-ratio: 0.966;
  margin-right: 1.5rem;
  font-size: 3.6rem;
  color: var(--icon-color);
}
.p-trans__icon::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background-color: var(--icon-bg-color);
  clip-path: var(--clip-path);
}
@media (max-width: 1024px) {
  .p-trans__icon {
    grid-area: icon;
    font-size: 3rem;
  }
}
@media (max-width: 525px) {
  .p-trans__icon {
    font-size: 2.5rem;
  }
}
.p-trans__heading {
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: bold;
  color: var(--color-text-heading);
}
@media (max-width: 1024px) {
  .p-trans__heading {
    grid-area: heading;
    font-size: 1.85rem;
  }
}
@media (max-width: 525px) {
  .p-trans__heading {
    font-size: 1.7rem;
  }
}
@media (min-width: 1025px) {
  .p-trans__body {
    margin-left: 5rem;
  }
}
@media (max-width: 1024px) {
  .p-trans__body {
    grid-area: body;
  }
}

.p-route-section {
  position: relative;
  margin-block: var(--section-gap-lg);
  overflow-x: clip;
}
@media (max-width: 1024px) {
  .p-route-section {
    margin-block: var(--section-gap-md) var(--section-gap-lg);
  }
}
.p-route-section__header {
  margin-inline: auto;
}
.p-route-section__body {
  margin-top: var(--section-gap-sm);
}
.p-route-section__list {
  --c-tile-column-gap: 3.5rem;
  --c-tile-row-gap: 7rem;
  counter-reset: router;
}
@media (max-width: 1024px) {
  .p-route-section__list {
    --c-tile-column-count: 2;
    --c-tile-row-gap: 5rem;
  }
}
@media (max-width: 525px) {
  .p-route-section__list {
    --c-tile-column-count: 1;
  }
}
.p-route-section__deco {
  position: absolute;
}
.p-route-section__deco[data-deco="1"] {
  --c-polygon-opacity: 40%;
  --c-polygon-clip-path: polygon(67.01% 95%, 28.57% 100%, 0% 70.55%, 3.46% 27.22%, 44.71% 0%, 100% 39.76%, 67.01% 95%);
  aspect-ratio: 1.085;
  translate: -50% -50%;
}
.p-route-section__deco[data-deco="1"]:where(body[data-theme-color=rose] *) {
  --c-polygon-opacity: 35%;
}
@media (min-width: 1025px) {
  .p-route-section__deco[data-deco="1"] {
    top: 38rem;
    left: 0.5%;
    width: 91.8rem;
  }
}
@media (max-width: 1024px) {
  .p-route-section__deco[data-deco="1"] {
    display: none;
  }
}
.p-route-section__deco[data-deco="2"] {
  --c-polygon-clip-path: polygon(35.61% 100%, 0% 51.14%, 46.02% 0%, 100% 44.65%, 79.06% 97.09%, 35.61% 100%);
  aspect-ratio: 1.175;
  translate: -50% -50%;
}
.p-route-section__deco[data-deco="2"]:where(body[data-theme-color=spring] *) {
  --c-polygon-color-percentage: 70%;
}
.p-route-section__deco[data-deco="2"]:where(body[data-theme-color=rose] *) {
  --c-polygon-color-percentage: 60%;
}
@media (min-width: 1025px) {
  .p-route-section__deco[data-deco="2"] {
    top: 6rem;
    left: 16.5%;
    width: 27.3rem;
  }
}
@media (max-width: 1024px) {
  .p-route-section__deco[data-deco="2"] {
    display: none;
  }
}
.p-route-section__deco[data-deco="3"] {
  --c-polygon-clip-path: polygon(0% 60.61%, 10.39% 7.16%, 72.27% 0%, 100% 45.06%, 80.43% 83.39%, 38.69% 100%, 0% 60.61%);
  aspect-ratio: 0.883;
  translate: 50% 50%;
}
.p-route-section__deco[data-deco="3"]:where(body[data-theme-color=spring] *) {
  --c-polygon-color-percentage: 50%;
}
.p-route-section__deco[data-deco="3"]:where(body[data-theme-color=sky] *) {
  --c-polygon-color-percentage: 85%;
}
.p-route-section__deco[data-deco="3"]:where(body[data-theme-color=rose] *) {
  --c-polygon-color-percentage: 50%;
}
@media (min-width: 1025px) {
  .p-route-section__deco[data-deco="3"] {
    right: 5.5%;
    bottom: -19rem;
    width: 26.9rem;
  }
}
@media (max-width: 1024px) {
  .p-route-section__deco[data-deco="3"] {
    right: 26%;
    bottom: -14rem;
    width: 17rem;
  }
}
@media (max-width: 525px) {
  .p-route-section__deco[data-deco="3"] {
    bottom: -13rem;
    width: 12.8rem;
  }
}
.p-route-section__deco[data-deco="4"] {
  --c-polygon-opacity: 50%;
  --c-polygon-clip-path: polygon(65.97% 88.97%, 17.78% 100%, 0% 48.26%, 10.97% 12.36%, 49.46% 0%, 100% 44.65%, 65.97% 88.97%);
  aspect-ratio: 1.128;
  translate: -50% -50%;
}
@media (min-width: 1025px) {
  .p-route-section__deco[data-deco="4"] {
    display: none;
  }
}
@media (max-width: 1024px) {
  .p-route-section__deco[data-deco="4"] {
    top: 25%;
    left: -10%;
    width: 53rem;
  }
}
@media (max-width: 525px) {
  .p-route-section__deco[data-deco="4"] {
    width: 42.3rem;
  }
}
.p-route-section__deco[data-deco="5"] {
  --c-polygon-opacity: 43%;
  --c-polygon-clip-path: polygon(33.19% 96.24%, 73.66% 100%, 100% 58.49%, 86.47% 9.29%, 48.57% 0%, 0% 39.37%, 33.19% 96.24%);
  aspect-ratio: 1.182;
  translate: 50% -50%;
}
@media (min-width: 1025px) {
  .p-route-section__deco[data-deco="5"] {
    display: none;
  }
}
@media (max-width: 1024px) {
  .p-route-section__deco[data-deco="5"] {
    top: 56%;
    right: -7%;
    width: 52rem;
  }
  .p-route-section__deco[data-deco="5"]:is(.p-route-section:not(:has(.p-route:nth-child(5))) *) {
    display: none;
  }
}
@media (max-width: 525px) {
  .p-route-section__deco[data-deco="5"] {
    width: 38.4rem;
  }
}
.p-route-section__deco[data-deco="6"] {
  --c-polygon-opacity: 45%;
  --c-polygon-clip-path: polygon(46.92% 100%, 0% 76.64%, 13.18% 22.14%, 42.1% 0%, 80.8% 25.95%, 100% 86.46%, 46.92% 100%);
  aspect-ratio: 1.093;
  translate: -50% 50%;
}
@media (min-width: 1025px) {
  .p-route-section__deco[data-deco="6"] {
    display: none;
  }
}
@media (max-width: 1024px) {
  .p-route-section__deco[data-deco="6"] {
    bottom: 11%;
    left: -20%;
    width: 55rem;
  }
}
@media (min-width: 526px) and (max-width: 1024px) {
  .p-route-section__deco[data-deco="6"]:is(.p-route-section:not(:has(.p-route:nth-child(5))) *) {
    display: none;
  }
}
@media (max-width: 525px) {
  .p-route-section__deco[data-deco="6"] {
    width: 44rem;
  }
  .p-route-section__deco[data-deco="6"]:is(.p-route-section:not(:has(.p-route:nth-child(6))) *) {
    display: none;
  }
}
.p-route-section__deco[data-deco="7"] {
  --c-polygon-opacity: 50%;
  --c-polygon-clip-path: polygon(43.19% 100%, 11.82% 80.18%, 0% 41.58%, 45.24% 0%, 100% 10.67%, 99.97% 79.36%, 43.19% 100%);
  aspect-ratio: 0.899;
  translate: 50% 50%;
}
@media (min-width: 1025px) {
  .p-route-section__deco[data-deco="7"] {
    display: none;
  }
}
@media (max-width: 1024px) {
  .p-route-section__deco[data-deco="7"] {
    right: -19%;
    bottom: -2%;
    width: 53rem;
  }
}
@media (max-width: 525px) {
  .p-route-section__deco[data-deco="7"] {
    width: 39rem;
  }
}

.p-route {
  position: relative;
  counter-increment: router;
}
.p-route:nth-child(4n+1) {
  --number-polygon-color: color-mix(in srgb, var(--color-palette-2) 80%, #fff);
  --shadow-color: var(--color-palette-5);
  --clip-path: polygon(29.23% 0%, 0% 58.5%, 57.31% 100%, 100% 50.38%, 79.48% 10.1%, 29.23% 0%);
  --polygon-translate: 1.5% 3%;
}
.p-route:nth-child(4n+1):where(body[data-theme-color=sky] *) {
  --number-polygon-color: #00aed0;
  --shadow-opacity: 85%;
}
.p-route:nth-child(4n+1):where(body[data-theme-color=rose] *) {
  --number-polygon-color: color-mix(in srgb, var(--color-palette-2) 90%, #fff);
  --shadow-opacity: 40%;
}
.p-route:nth-child(4n+1):where(body[data-theme-color=cafe] *) {
  --number-polygon-color: var(--color-palette-2);
}
.p-route:nth-child(4n+1):where(body[data-theme-color=lagoon] *) {
  --number-polygon-color: color-mix(in srgb, var(--color-teal) 85%, #fff);
  --shadow-opacity: 55%;
}
.p-route:nth-child(4n+2) {
  --number-polygon-color: var(--color-palette-3);
  --shadow-color: var(--color-palette-1);
  --clip-path: polygon(49.72% 0%, 100% 54.1%, 55.74% 100%, 0% 70.5%, 6.15% 26.95%, 49.72% 0%);
  --polygon-translate: 6% 0;
}
.p-route:nth-child(4n+2):where(body[data-theme-color=sky] *) {
  --number-polygon-color: var(--color-palette-2);
  --shadow-opacity: 60%;
}
.p-route:nth-child(4n+2):where(body[data-theme-color=rose] *) {
  --shadow-opacity: 35%;
}
.p-route:nth-child(4n+2):where(body[data-theme-color=cafe] *) {
  --number-polygon-color: var(--color-palette-4);
  --shadow-color: var(--color-palette-4);
}
.p-route:nth-child(4n+2):where(body[data-theme-color=lagoon] *) {
  --number-polygon-color: color-mix(in srgb, var(--color-palette-3) 95%, #fff);
  --shadow-opacity: 40%;
}
.p-route:nth-child(4n+3) {
  --number-polygon-color: var(--color-palette-5);
  --shadow-color: var(--color-palette-2);
  --clip-path: polygon(62.11% 100%, 100% 77.68%, 91.05% 29.59%, 64.74% 0%, 20.53% 7.1%, 0% 28.4%, 8.42% 81.66%, 62.11% 100%);
  --polygon-translate: 3% 1.5%;
}
.p-route:nth-child(4n+3):where(body[data-theme-color=sky] *) {
  --number-polygon-color: #a9dcf7;
}
.p-route:nth-child(4n+3):where(body[data-theme-color=rose] *) {
  --shadow-opacity: 25%;
}
.p-route:nth-child(4n+3):where(body[data-theme-color=cafe] *) {
  --number-polygon-color: var(--color-palette-1);
  --shadow-color: var(--color-palette-1);
  --shadow-opacity: 40%;
}
.p-route:nth-child(4n+3):where(body[data-theme-color=lagoon] *) {
  --number-polygon-color: color-mix(in srgb, var(--color-midnight-blue) 95%, #fff);
}
.p-route:nth-child(4n+4) {
  --number-polygon-color: var(--color-palette-1);
  --shadow-color: var(--color-palette-3);
  --clip-path: polygon(12.18% 16.2%, 52.28% 0%, 84.26% 18.99%, 100% 84.92%, 40.61% 100%, 0% 70.95%, 12.18% 16.2%);
}
.p-route:nth-child(4n+4):where(body[data-theme-color=sky] *) {
  --number-polygon-color: var(--color-pastel-blue);
}
.p-route:nth-child(4n+4):where(body[data-theme-color=rose] *) {
  --shadow-opacity: 40%;
}
.p-route:nth-child(4n+4):where(body[data-theme-color=cafe] *) {
  --number-polygon-color: #cabf61;
  --shadow-color: var(--color-palette-2);
}
.p-route:nth-child(4n+4):where(body[data-theme-color=lagoon] *) {
  --number-polygon-color: color-mix(in srgb, var(--color-palette-1) 90%, #fff);
}
.p-route__polygon {
  position: absolute;
  top: -0.7em;
  left: -0.45em;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2em;
  aspect-ratio: 1.081;
  font-family: var(--font-script);
  font-size: 4rem;
  color: var(--color-text-contrast);
}
@media (max-width: 1024px) {
  .p-route__polygon {
    font-size: 3.3rem;
  }
}
.p-route__polygon::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background-color: var(--number-polygon-color);
  background-image: url("../../images/polygon-texture.webp");
  background-repeat: repeat;
  background-size: var(--texture-size-sm) auto;
  background-blend-mode: soft-light;
  clip-path: var(--clip-path);
  translate: var(--polygon-translate, 0 0);
}
.p-route__polygon::after {
  z-index: 0;
  display: block;
  padding-top: 0.75em;
  line-height: 0;
  letter-spacing: 0;
  white-space: nowrap;
  content: counter(router, decimal-leading-zero);
}
.p-route__visual {
  position: relative;
  box-shadow: 0.5rem 0.5rem 1rem color-mix(in srgb, var(--shadow-color) var(--shadow-opacity, 30%), transparent);
}
.p-route__content {
  margin-top: 1.5rem;
}