*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  color-scheme: dark;
}

body {
  margin: 0;
  font-family: system-ui;
  font-size: 1.125rem;
  line-height: 1.6;
}

img {
  max-width: 100%;
  display: block;
}

.wrapper {
  max-width: 50rem;
  margin-inline: auto;
  padding-inline: 1rem;
}

.logo{
  margin-top: 5rem;
  display: flex;
  justify-content: center;
  background: linear-gradient(120deg, rgba(0,0,0,1) 3%, rgba(208,166,72,1) 100%);
  border-radius: 30px;
  clip-path: polygon(65% 0, 32% 0, 0 77%, 100% 100%, 100% 80%, 68% 70%, 100% 63%, 100% 38%, 65% 48%, 100% 20%, 80% 0%, 50% 30%);
}
.logo img{
  max-width: 30%;
  padding: 2rem 0;
}

.accordion {
  --_button-size: 3rem;
  --_panel-padding: 0.75rem;
  --_panel-gap: 1rem;

  display: flex;
  flex-direction: column;
  gap: 1rem;

  contain: content;
  /* added padding to prevent issue with outlines */
  padding: 0.5rem;

  /* demo only */
  margin-top: 5rem;
}

@media (min-width: 45em) {
  .accordion {
    flex-direction: row;
    height: 30rem;
  }
}

.accordion * {
  margin: 0;
}

.accordion-panel {
  position: relative;
  isolation: isolate;
  flex-basis: calc((var(--_panel-padding) * 2) + var(--_button-size));
  overflow: hidden;
  padding: var(--_panel-padding);
  padding-right: calc(var(--_panel-padding) * 4);
  border-radius: calc(((var(--_panel-padding) * 2) + var(--_button-size)) / 2);
}

@media (prefers-reduced-motion: no-preference) {
  .accordion-panel {
    transition: flex-basis 500ms, flex-grow 500ms;
  }
}

.accordion-panel:nth-of-type(1) {
  --_panel-color: hsl(218.18deg 35.11% 36.86%);
}
.accordion-panel:nth-of-type(2) {
  --_panel-color: hsl(148, 87%, 12%);
}
.accordion-panel:nth-of-type(3) {
  --_panel-color: hsl(148.36deg 100% 28.63%);
}
.accordion-panel:nth-of-type(4) {
  --_panel-color: hsl(203.81deg 51.64% 52.16%);
}
.accordion-panel:nth-of-type(5) {
  --_panel-color: hsl(320.85deg 66.2% 41.76%);
}

.accordion-panel:has([aria-expanded="true"]) {
  flex-basis: clamp(15rem, 40vh, 20rem);
  flex-grow: 1;
  outline: 3px solid var(--_panel-color);
  outline-offset: 4px;
}

.accordion-trigger {
  outline: 0;
}

/* .accordion-panel:focus-within {
  outline: 3px solid var(--_panel-color);
  outline-offset: 4px;
} */

.accordion-content > p {
  transform: translateY(2rem);
  opacity: 0;

  margin-left: calc(var(--_button-size) + var(--_panel-gap));
}

@media (prefers-reduced-motion: no-preference) {
  .accordion-panel:has([aria-expanded="true"]) p {
    transition: transform 500ms 500ms, opacity 500ms 500ms;
  }
}

.accordion-panel:has([aria-expanded="true"]) p {
  transform: translateY(0);
  opacity: 1;
}

.accordion-title {
  font-size: 1.5rem;
  font-weight: 700;

  position: relative;
  isolation: isolate;

  display: grid;
  align-items: center;
}

@media (max-width: 44.999em) {
  .accordion-title::after {
    content: "";
    position: absolute;
    left: calc((var(--_panel-gap) + var(--_button-size)) * -1);
    width: calc(100% + (var(--_button-size) * 2));
    height: var(--_button-size);
    background: hsl(0 0% 0% / 0.5);
    z-index: -1;
    border-radius: 100vw;
  }
}

.accordion-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;

  transition: filter 500ms;
}

.accordion-panel:has([aria-expanded="true"]) .accordion-image {
  filter: brightness(0.5);
}

.accordion-trigger {
  display: flex;
  align-items: center;
  gap: var(--_panel-gap);
  flex-direction: row-reverse;
  background: transparent;
  border: 0;
  padding: 0;
}

.accordion-icon {
  display: flex;
  fill: var(--_panel-color);
  background: hsl(0 0% 0% / 0.55);
  width: var(--_button-size);
  aspect-ratio: 1 / 1;
  padding: 0.75rem;
  border-radius: 50%;
  z-index: 10;
}
