/* ===== COLLECTION PAGE BASE ===== */

.gc-hero__title {
  font-family: "GardenSerif", "Times New Roman", serif;
  font-size: clamp(2rem, 2.2vw + 1.5rem, 2.9rem);
  margin: 0 0 1.1rem;
  line-height: 1.12;
}

.gc-hero__text {
  margin: 0 0 0.9rem;
  font-size: 0.98rem;
  line-height: 1.8;
  color: #e4f9de;
}

.gc-hero__points {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  font-size: 0.94rem;
  color: #d9f3d1;
}

.gc-hero__points li + li {
  margin-top: 0.4rem;
}

/* ===== SECTION 1: COLLECTION HERO MAP ===== */

.gc-hero {
  position: relative;
}

.gc-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.2fr);
  gap: 3rem;
  align-items: center;
}

.gc-hero__orbit {
  position: relative;
  min-height: 260px;
  display: grid;
  align-items: center;
  justify-items: center;
}

.gc-hero__pill {
  position: absolute;
  max-width: 100%;
}

.gc-hero__pill img {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  border-radius: 2.4rem;
  border: 1px solid rgba(201, 255, 186, 0.95);
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.96);
  object-fit: cover;
}

.gc-hero__pill figcaption {
  position: absolute;
  left: 18px;
  bottom: 14px;
  padding: 0.26rem 0.8rem;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(3, 16, 9, 0.92);
  border: 1px solid rgba(201, 255, 186, 0.96);
  color: #f6ffe8;
}

/* позиции для трёх "семей" */
.gc-hero__pill--lounge {
  left: 4%;
  top: 6%;
  animation: gc-orbit-left 18s ease-in-out infinite;
}

.gc-hero__pill--dining {
  right: 5%;
  bottom: 4%;
  animation: gc-orbit-right 18s ease-in-out infinite;
}

.gc-hero__pill--balcony {
  left: 14%;
  bottom: -4%;
  max-width: 260px;
  animation: gc-orbit-center 20s ease-in-out infinite;
}

.gc-hero__ring {
  position: absolute;
  inset-inline: 6%;
  top: 48%;
  height: 46px;
  border-radius: 999px;
  border: 1px dashed rgba(183, 241, 173, 0.75);
  box-shadow: 0 0 24px rgba(183, 241, 173, 0.5);
  opacity: 0.7;
}

/* ===== SECTION 2: LOUNGE ISLANDS ===== */

.gc-lounge {
  position: relative;
}

.gc-lounge__head {
  max-width: 640px;
}

.gc-lounge__lead {
  margin: 0.6rem 0 0;
  font-size: 0.96rem;
  line-height: 1.75;
  color: #e5f8dd;
}

.gc-lounge__grid {
  margin-top: 2.2rem;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.2fr);
  gap: 2.3rem;
  align-items: center;
}

.gc-lounge__photo {
  position: relative;
}

.gc-lounge__photo img {
  display: block;
  width: 100%;
  max-width: 340px;
  height: auto;
  border-radius: 1.8rem;
  border: 1px solid rgba(204, 255, 186, 0.96);
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.96);
  object-fit: cover;
}

.gc-lounge__photo figcaption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 0.24rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(3, 16, 9, 0.94);
  border: 1px solid rgba(203, 255, 186, 0.96);
  color: #f7ffe8;
}

.gc-lounge__photo--wide img {
  animation: gn-sway-left 18s ease-in-out infinite;
}

.gc-lounge__stack {
  display: grid;
  gap: 1.3rem;
}

.gc-lounge__photo--top img {
  max-width: 300px;
  animation: gn-sway-right 16s ease-in-out infinite;
}

.gc-lounge__photo--bottom img {
  max-width: 300px;
  animation: gn-sway-left 16s ease-in-out infinite;
}

.gc-lounge__points {
  grid-column: 1 / -1;
  margin-top: 1.6rem;
  list-style: none;
  padding: 0;
  font-size: 0.94rem;
  color: #d9f3d0;
  display: grid;
  gap: 0.5rem;
}

.gc-lounge__points li::before {
  content: "— ";
  color: #c9ff9f;
}

/* ===== SECTION 3: DINING CIRCLES & LINES ===== */

.gc-dining {
  position: relative;
}

.gc-dining__wrap {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.4fr);
  gap: 2.6rem;
  align-items: center;
}

.gc-dining__intro {
  max-width: 520px;
}

.gc-dining__text {
  margin: 0.6rem 0 0;
  font-size: 0.96rem;
  line-height: 1.75;
  color: #e4f8dd;
}

.gc-dining__scene {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
  gap: 1.4rem;
}

.gc-dining__photo {
  position: relative;
}

.gc-dining__photo img {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  border-radius: 1.7rem;
  border: 1px solid rgba(204, 255, 187, 0.96);
  box-shadow: 0 22px 46px rgba(0, 0, 0, 0.96);
  object-fit: cover;
}

.gc-dining__photo figcaption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 0.24rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(3, 18, 10, 0.94);
  border: 1px solid rgba(203, 255, 187, 0.96);
  color: #f6ffe8;
}

.gc-dining__photo--round {
  grid-column: 1 / 2;
  animation: gn-sway-left 18s ease-in-out infinite;
}

.gc-dining__photo--line {
  grid-column: 2 / 3;
  animation: gn-sway-right 18s ease-in-out infinite;
}

.gc-dining__photo--chair {
  grid-column: 1 / 3;
  justify-self: center;
  max-width: 280px;
  animation: gn-breathe 16s ease-in-out infinite;
}

.gc-dining__path {
  position: absolute;
  inset: 18% 4%;
  border-radius: 60% 40% 55% 45% / 65% 40% 60% 35%;
  border: 1px dashed rgba(187, 239, 173, 0.5);
  opacity: 0.7;
}

/* ===== KEYFRAMES (дополнение к глобальным) ===== */

@keyframes gc-orbit-left {
  0% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(-6px, -10px);
  }
  100% {
    transform: translate(0, 0);
  }
}

@keyframes gc-orbit-right {
  0% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(6px, -10px);
  }
  100% {
    transform: translate(0, 0);
  }
}

@keyframes gc-orbit-center {
  0% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(0, -8px);
  }
  100% {
    transform: translate(0, 0);
  }
}

/* ===== RESPONSIVE ===== */

@media (max-width: 960px) {
  .gc-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.4rem;
  }

  .gc-hero__orbit {
    min-height: 260px;
  }

  .gc-lounge__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-dining__wrap {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-dining__scene {
    margin-top: 1.6rem;
  }
}

@media (max-width: 768px) {
  .gc-hero__orbit {
    min-height: 260px;
  }

  .gc-hero__pill {
    position: relative;
    margin-inline: auto;
    transform: none !important;
  }

  .gc-hero__pill + .gc-hero__pill {
    margin-top: 1.2rem;
  }

  .gc-hero__ring {
    display: none;
  }

  .gc-lounge__photo img,
  .gc-dining__photo img {
    max-width: 320px;
    margin-inline: auto;
  }

  .gc-dining__scene {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-dining__photo--round,
  .gc-dining__photo--line,
  .gc-dining__photo--chair {
    grid-column: 1 / -1;
  }

  .gc-dining__path {
    inset-inline: 10%;
  }
}

@media (max-width: 480px) {
  .gc-hero__pill img,
  .gc-lounge__photo img,
  .gc-dining__photo img {
    max-width: 260px;
  }

  .gc-lounge__grid {
    gap: 1.9rem;
  }
}
.gc-hero__pill {
  position: absolute;
  max-width: 100%;
  z-index: 1;
  cursor: pointer;
  transition:
    box-shadow 0.22s ease-out,
    filter 0.22s ease-out,
    opacity 0.22s ease-out,
    z-index 0s linear; /* z-index просто мгновенно переключим */
}

/* когда курсор внутри орбиты — все карточки немного тусклее */
.gc-hero__orbit:hover .gc-hero__pill {
  opacity: 0.7;
  filter: saturate(0.9) brightness(0.95);
}

/* ховер по конкретной карточке — она впереди и ярче */
.gc-hero__pill:hover {
  z-index: 10;
  opacity: 1;
  filter: none;
  box-shadow:
    0 0 0 1px rgba(204, 255, 187, 0.95),
    0 26px 55px rgba(0, 0, 0, 0.98);
}
/* ===== SECTION 4: BALCONY NESTS LINE-UP ===== */

.gc-balcony {
  position: relative;
}

.gc-balcony__head {
  max-width: 640px;
}

.gc-balcony__text {
  margin: 0.6rem 0 0;
  font-size: 0.96rem;
  line-height: 1.75;
  color: #e5f9de;
}

.gc-balcony__track {
  position: relative;
  margin-top: 2.1rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.6rem;
  align-items: center;
  justify-items: center;
}

.gc-balcony__card {
  position: relative;
  max-width: 300px;
}

.gc-balcony__card img {
  display: block;
  width: 100%;
  max-width: 300px; /* < 350px */
  height: auto;
  border-radius: 1.8rem;
  border: 1px solid rgba(203, 255, 187, 0.96);
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.95);
  object-fit: cover;
}

.gc-balcony__card figcaption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 0.24rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(3, 18, 10, 0.94);
  border: 1px solid rgba(202, 255, 186, 0.96);
  color: #f6ffe8;
}

.gc-balcony__card--morning img {
  animation: gn-sway-left 18s ease-in-out infinite;
}

.gc-balcony__card--city img {
  animation: gn-breathe 18s ease-in-out infinite;
}

.gc-balcony__card--night img {
  animation: gn-sway-right 18s ease-in-out infinite;
}

.gc-balcony__rail {
  position: absolute;
  inset-inline: 8%;
  bottom: -18px;
  height: 40px;
  border-radius: 999px;
  border: 1px dashed rgba(183, 241, 173, 0.75);
  box-shadow: 0 0 22px rgba(183, 241, 173, 0.5);
  opacity: 0.8;
  pointer-events: none;
}

/* ===== SECTION 5: FINISH BUNDLES ===== */

.gc-finish {
  position: relative;
}

.gc-finish__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.4fr);
  gap: 2.6rem;
  align-items: center;
}

.gc-finish__copy {
  max-width: 540px;
}

.gc-finish__text {
  margin: 0.6rem 0 0.4rem;
  font-size: 0.96rem;
  line-height: 1.75;
  color: #e4f9de;
}

.gc-finish__list {
  list-style: none;
  margin: 0.6rem 0 0;
  padding: 0;
  font-size: 0.93rem;
  color: #d9f3d0;
}

.gc-finish__list li + li {
  margin-top: 0.35rem;
}

.gc-finish__photos {
  position: relative;
  display: grid;
  gap: 1.4rem;
  justify-items: flex-end;
}

.gc-finish__photo {
  position: relative;
}

.gc-finish__photo img {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  border-radius: 1.7rem;
  border: 1px solid rgba(204, 255, 187, 0.96);
  box-shadow: 0 22px 46px rgba(0, 0, 0, 0.96);
  object-fit: cover;
}

.gc-finish__photo figcaption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 0.24rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(3, 18, 10, 0.94);
  border: 1px solid rgba(203, 255, 186, 0.96);
  color: #f6ffe8;
}

.gc-finish__photo--bundle {
  justify-self: flex-start;
  animation: gn-sway-left 18s ease-in-out infinite;
}

.gc-finish__photo--cool {
  margin-right: 8%;
  animation: gn-sway-right 18s ease-in-out infinite;
}

.gc-finish__halo {
  position: absolute;
  inset-inline: 10%;
  bottom: -18px;
  height: 40px;
  border-radius: 999px;
  background: radial-gradient(circle at 50% 0, rgba(192, 255, 173, 0.7), transparent 70%);
  filter: blur(7px);
  opacity: 0.9;
}

/* ===== SECTION 6: SIZE & SCALE VIEW ===== */

.gc-scale {
  position: relative;
}

.gc-scale__head {
  max-width: 640px;
}

.gc-scale__text {
  margin: 0.6rem 0 0;
  font-size: 0.96rem;
  line-height: 1.75;
  color: #e5f9de;
}

.gc-scale__grid {
  margin-top: 2.1rem;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.5fr);
  gap: 2.4rem;
  align-items: center;
}

.gc-scale__diagram {
  position: relative;
  padding: 1.1rem 1.2rem 1.3rem;
  border-radius: 1.8rem;
  border: 1px solid rgba(188, 240, 171, 0.9);
  background:
    radial-gradient(circle at 0 0, rgba(176, 255, 182, 0.18) 0, transparent 55%),
    linear-gradient(135deg, #041a10, #052616);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.9);
}

.gc-scale__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.6rem;
  font-size: 0.93rem;
  color: #e3f8dd;
}

.gc-scale__row + .gc-scale__row {
  margin-top: 0.5rem;
}

.gc-scale__row--mid .gc-scale__tag {
  transform: translateX(6px);
}

.gc-scale__tag {
  font-size: 0.86rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #caff9c;
}

.gc-scale__value {
  font-size: 0.9rem;
  color: #d8f2cf;
}

.gc-scale__line {
  position: absolute;
  left: 0.7rem;
  right: 0.7rem;
  top: 50%;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(189, 241, 172, 0.2), rgba(189, 241, 172, 0.8));
  opacity: 0.9;
}

.gc-scale__photos {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
  gap: 1.3rem;
  align-items: center;
}

.gc-scale__photo {
  position: relative;
}

.gc-scale__photo img {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  border-radius: 1.7rem;
  border: 1px solid rgba(204, 255, 187, 0.96);
  box-shadow: 0 22px 46px rgba(0, 0, 0, 0.96);
  object-fit: cover;
}

.gc-scale__photo figcaption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 0.24rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(3, 18, 10, 0.94);
  border: 1px solid rgba(203, 255, 186, 0.96);
  color: #f6ffe8;
}

.gc-scale__photo--sofa {
  animation: gn-sway-left 18s ease-in-out infinite;
}

.gc-scale__photo--table {
  animation: gn-sway-right 18s ease-in-out infinite;
}

.gc-scale__photo--balcony {
  grid-column: 1 / 3;
  justify-self: center;
  max-width: 300px;
  animation: gn-breathe 16s ease-in-out infinite;
}

/* ===== RESPONSIVE: BALCONY, FINISH, SCALE ===== */

@media (max-width: 960px) {
  .gc-balcony__track {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-finish__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-finish__photos {
    justify-items: center;
  }

  .gc-scale__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-scale__photos {
    margin-top: 1.6rem;
  }
}

@media (max-width: 768px) {
  .gc-balcony__card img,
  .gc-finish__photo img,
  .gc-scale__photo img {
    max-width: 320px;
    margin-inline: auto;
  }

  .gc-scale__photos {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-scale__photo--balcony {
    grid-column: 1 / -1;
  }

  .gc-finish__halo {
    inset-inline: 16%;
  }
}

@media (max-width: 480px) {
  .gc-balcony__card img,
  .gc-finish__photo img,
  .gc-scale__photo img {
    max-width: 260px;
  }

  .gc-scale__diagram {
    padding-inline: 1rem;
  }
}
/* ===== SECTION 7: LAYOUT RECIPES ===== */

.gc-layout {
  position: relative;
}

.gc-layout__head {
  max-width: 640px;
}

.gc-layout__text {
  margin: 0.6rem 0 0;
  font-size: 0.96rem;
  line-height: 1.75;
  color: #e5f9df;
}

.gc-layout__list {
  margin-top: 2.1rem;
  display: grid;
  gap: 1.1rem;
}

.gc-layout__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.1rem;
  align-items: center;
  padding: 0.8rem 1rem;
  border-radius: 1.6rem;
  border: 1px solid rgba(188, 240, 171, 0.9);
  background:
    radial-gradient(circle at 0 0, rgba(176, 255, 182, 0.14) 0, transparent 55%),
    linear-gradient(125deg, #041a10, #062718);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.88);
}

.gc-layout__thumb img {
  display: block;
  width: 100%;
  max-width: 120px;
  height: auto;
  border-radius: 1rem;
  border: 1px solid rgba(204, 255, 187, 0.96);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.85);
  object-fit: cover;
}

.gc-layout__copy h3 {
  margin: 0 0 0.3rem;
  font-size: 1rem;
  color: #f2ffe6;
}

.gc-layout__copy p {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.7;
  color: #d9f3d1;
}

/* ===== SECTION 8: OUTDOOR WORK SPOTS ===== */

.gc-work {
  position: relative;
}

.gc-work__wrap {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.3fr);
  gap: 2.6rem;
  align-items: center;
}

.gc-work__intro {
  max-width: 540px;
}

.gc-work__text {
  margin: 0.6rem 0 0;
  font-size: 0.96rem;
  line-height: 1.75;
  color: #e4f9de;
}

.gc-work__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
  gap: 1.4rem;
  align-items: center;
}

.gc-work__photo {
  position: relative;
}

.gc-work__photo img {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  border-radius: 1.7rem;
  border: 1px solid rgba(204, 255, 187, 0.96);
  box-shadow: 0 22px 46px rgba(0, 0, 0, 0.96);
  object-fit: cover;
}

.gc-work__photo figcaption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 0.24rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(3, 18, 10, 0.94);
  border: 1px solid rgba(203, 255, 187, 0.96);
  color: #f6ffe8;
}

.gc-work__photo--terrace img {
  animation: gn-sway-left 18s ease-in-out infinite;
}

.gc-work__photo--garden img {
  animation: gn-sway-right 18s ease-in-out infinite;
}

.gc-work__line {
  position: absolute;
  inset-inline: 5%;
  top: 52%;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(189, 241, 172, 0.2), rgba(189, 241, 172, 0.8));
  opacity: 0.8;
  pointer-events: none;
}

/* ===== SECTION 9: CLIMATE-FRIENDLY MIXES ===== */

.gc-climate {
  position: relative;
}

.gc-climate__head {
  max-width: 640px;
}

.gc-climate__text {
  margin: 0.6rem 0 0;
  font-size: 0.96rem;
  line-height: 1.75;
  color: #e5f9df;
}

.gc-climate__grid {
  margin-top: 2.1rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.4rem;
  align-items: flex-start;
  justify-items: center;
}

.gc-climate__photo {
  position: relative;
  max-width: 320px;
}

.gc-climate__photo img {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  border-radius: 1.8rem;
  border: 1px solid rgba(204, 255, 187, 0.96);
  box-shadow: 0 22px 46px rgba(0, 0, 0, 0.96);
  object-fit: cover;
}

.gc-climate__photo figcaption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 0.24rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(3, 18, 10, 0.94);
  border: 1px solid rgba(203, 255, 187, 0.96);
  color: #f6ffe8;
}

.gc-climate__photo--coast img {
  animation: gn-sway-left 18s ease-in-out infinite;
}

.gc-climate__photo--sun img {
  animation: gn-breathe 18s ease-in-out infinite;
}

.gc-climate__photo--rain img {
  animation: gn-sway-right 18s ease-in-out infinite;
}

.gc-climate__waves {
  position: absolute;
  inset-inline: 6%;
  bottom: -18px;
  height: 40px;
  border-radius: 999px;
  background: radial-gradient(circle at 50% 0, rgba(192, 255, 173, 0.7), transparent 70%);
  filter: blur(7px);
  opacity: 0.9;
}

/* ===== RESPONSIVE: LAYOUT, WORK, CLIMATE ===== */

@media (max-width: 960px) {
  .gc-work__wrap {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-work__grid {
    margin-top: 1.6rem;
  }

  .gc-climate__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}

@media (max-width: 768px) {
  .gc-layout__item {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-layout__thumb img {
    max-width: 200px;
    margin-inline: auto;
  }

  .gc-work__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-work__photo img,
  .gc-climate__photo img {
    max-width: 320px;
    margin-inline: auto;
  }

  .gc-climate__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-climate__waves {
    inset-inline: 14%;
  }
}

@media (max-width: 480px) {
  .gc-layout__thumb img,
  .gc-work__photo img,
  .gc-climate__photo img {
    max-width: 260px;
  }
}
/* ===== SECTION 10: MATERIAL CLOSE-UPS ===== */

.gc-material {
  position: relative;
}

.gc-material__head {
  max-width: 640px;
}

.gc-material__text {
  margin: 0.6rem 0 0;
  font-size: 0.96rem;
  line-height: 1.75;
  color: #e5f9df;
}

.gc-material__wrap {
  position: relative;
}

.gc-material__grid {
  margin-top: 2.1rem;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.4fr);
  gap: 2.4rem;
  align-items: center;
}

.gc-material__list {
  display: grid;
  gap: 0.9rem;
}

.gc-material__item h3 {
  margin: 0 0 0.25rem;
  font-size: 1rem;
  color: #f2ffe6;
}

.gc-material__item p {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.7;
  color: #d9f3d1;
}

.gc-material__photos {
  position: relative;
  display: grid;
  gap: 1.3rem;
  justify-items: flex-end;
}

.gc-material__photo {
  position: relative;
}

.gc-material__photo img {
  display: block;
  width: 100%;
  max-width: 320px; /* < 350px */
  height: auto;
  border-radius: 1.7rem;
  border: 1px solid rgba(204, 255, 187, 0.96);
  box-shadow: 0 22px 46px rgba(0, 0, 0, 0.96);
  object-fit: cover;
}

.gc-material__photo figcaption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 0.24rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(3, 18, 10, 0.94);
  border: 1px solid rgba(203, 255, 186, 0.96);
  color: #f6ffe8;
}

.gc-material__photo--frame img {
  animation: gn-sway-left 18s ease-in-out infinite;
}

.gc-material__photo--fabric img {
  animation: gn-sway-right 18s ease-in-out infinite;
}

/* ===== SECTION 11: STORAGE & FOLDING PIECES ===== */

.gc-storage {
  position: relative;
}

.gc-storage__wrap {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.3fr);
  gap: 2.6rem;
  align-items: center;
}

.gc-storage__intro {
  max-width: 540px;
}

.gc-storage__text {
  margin: 0.6rem 0 0;
  font-size: 0.96rem;
  line-height: 1.75;
  color: #e4f9de;
}

.gc-storage__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
  gap: 1.3rem;
  align-items: center;
}

.gc-storage__photo {
  position: relative;
}

.gc-storage__photo img {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  border-radius: 1.7rem;
  border: 1px solid rgba(204, 255, 187, 0.96);
  box-shadow: 0 22px 46px rgba(0, 0, 0, 0.96);
  object-fit: cover;
}

.gc-storage__photo figcaption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 0.24rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(3, 18, 10, 0.94);
  border: 1px solid rgba(203, 255, 187, 0.96);
  color: #f6ffe8;
}

.gc-storage__photo--bench img {
  animation: gn-sway-left 18s ease-in-out infinite;
}

.gc-storage__photo--folding img {
  animation: gn-sway-right 18s ease-in-out infinite;
}

.gc-storage__path {
  position: absolute;
  inset-inline: 6%;
  top: 52%;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(189, 241, 172, 0.2), rgba(189, 241, 172, 0.85));
  opacity: 0.85;
  pointer-events: none;
}

/* ===== SECTION 12: EVENING LIGHTING COMPANIONS ===== */

.gc-lighting {
  position: relative;
}

.gc-lighting__head {
  max-width: 640px;
}

.gc-lighting__text {
  margin: 0.6rem 0 0;
  font-size: 0.96rem;
  line-height: 1.75;
  color: #e5f9df;
}

.gc-lighting__band {
  position: relative;
  margin-top: 2.1rem;
  padding: 1.3rem 1.5rem 1.7rem;
  border-radius: 2.6rem;
  background:
    radial-gradient(circle at 0 0, rgba(191, 255, 182, 0.18) 0, transparent 55%),
    radial-gradient(circle at 100% 100%, rgba(163, 255, 215, 0.18) 0, transparent 55%),
    linear-gradient(115deg, #041810, #052619, #041109);
  box-shadow:
    0 0 0 1px rgba(157, 233, 172, 0.85),
    0 22px 45px rgba(0, 0, 0, 0.92);
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
  gap: 1.4rem;
  align-items: center;
}

.gc-lighting__photo {
  position: relative;
}

.gc-lighting__photo img {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  border-radius: 1.8rem;
  border: 1px solid rgba(204, 255, 187, 0.96);
  box-shadow: 0 22px 46px rgba(0, 0, 0, 0.96);
  object-fit: cover;
}

.gc-lighting__photo figcaption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 0.24rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(3, 18, 10, 0.94);
  border: 1px solid rgba(203, 255, 187, 0.96);
  color: #f6ffe8;
}

.gc-lighting__photo--lantern img {
  animation: gn-sway-left 18s ease-in-out infinite;
}

.gc-lighting__photo--string img {
  animation: gn-sway-right 18s ease-in-out infinite;
}

.gc-lighting__glow {
  position: absolute;
  inset-inline: 12%;
  bottom: -18px;
  height: 42px;
  border-radius: 999px;
  background: radial-gradient(circle at 50% 0, rgba(192, 255, 173, 0.7), transparent 70%);
  filter: blur(7px);
  opacity: 0.95;
}

/* ===== RESPONSIVE: MATERIAL, STORAGE, LIGHTING ===== */

@media (max-width: 960px) {
  .gc-material__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-material__photos {
    justify-items: center;
  }

  .gc-storage__wrap {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-storage__grid {
    margin-top: 1.6rem;
  }

  .gc-lighting__band {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 768px) {
  .gc-material__photo img,
  .gc-storage__photo img,
  .gc-lighting__photo img {
    max-width: 320px;
    margin-inline: auto;
  }

  .gc-storage__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-storage__path {
    inset-inline: 14%;
  }

  .gc-lighting__band {
    border-radius: 2rem;
    padding-inline: 1.2rem;
  }

  .gc-lighting__glow {
    inset-inline: 18%;
  }
}

@media (max-width: 480px) {
  .gc-material__photo img,
  .gc-storage__photo img,
  .gc-lighting__photo img {
    max-width: 260px;
  }

  .gc-lighting__band {
    padding-inline: 1rem;
  }
}
/* ===== SECTION 13: ACCESSORY COMPANIONS ===== */

.gc-accessories {
  position: relative;
}

.gc-accessories__head {
  max-width: 640px;
}

.gc-accessories__text {
  margin: 0.6rem 0 0;
  font-size: 0.96rem;
  line-height: 1.75;
  color: #e5f9df;
}

.gc-accessories__grid {
  margin-top: 2.1rem;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.4fr);
  gap: 2.4rem;
  align-items: center;
}

.gc-accessories__list {
  display: grid;
  gap: 0.9rem;
}

.gc-accessories__item h3 {
  margin: 0 0 0.25rem;
  font-size: 1rem;
  color: #f2ffe5;
}

.gc-accessories__item p {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.7;
  color: #d9f3d1;
}

.gc-accessories__photos {
  position: relative;
  display: grid;
  gap: 1.2rem;
  justify-items: flex-end;
}

.gc-accessories__photo {
  position: relative;
}

.gc-accessories__photo img {
  display: block;
  width: 100%;
  max-width: 320px; /* < 350px */
  height: auto;
  border-radius: 1.7rem;
  border: 1px solid rgba(204, 255, 187, 0.96);
  box-shadow: 0 22px 46px rgba(0, 0, 0, 0.96);
  object-fit: cover;
}

.gc-accessories__photo figcaption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 0.24rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(3, 18, 10, 0.94);
  border: 1px solid rgba(203, 255, 187, 0.96);
  color: #f6ffe8;
}

.gc-accessories__photo--tables img {
  animation: gn-sway-left 18s ease-in-out infinite;
}

.gc-accessories__photo--planters img {
  animation: gn-sway-right 18s ease-in-out infinite;
}

/* ===== SECTION 14: GROWING THE SET OVER YEARS ===== */

.gc-years {
  position: relative;
}

.gc-years__wrap {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.5fr);
  gap: 2.6rem;
  align-items: center;
}

.gc-years__intro {
  max-width: 520px;
}

.gc-years__text {
  margin: 0.6rem 0 0;
  font-size: 0.96rem;
  line-height: 1.75;
  color: #e4f9de;
}

.gc-years__band {
  position: relative;
  padding: 1.4rem 1.5rem 1.8rem;
  border-radius: 2.6rem;
  background:
    radial-gradient(circle at 0 0, rgba(191, 255, 182, 0.18) 0, transparent 55%),
    radial-gradient(circle at 100% 100%, rgba(163, 255, 215, 0.18) 0, transparent 55%),
    linear-gradient(115deg, #041810, #052619, #041109);
  box-shadow:
    0 0 0 1px rgba(157, 233, 172, 0.85),
    0 22px 45px rgba(0, 0, 0, 0.92);
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.2fr);
  gap: 1.5rem;
  align-items: center;
}

.gc-years__steps {
  display: grid;
  gap: 0.8rem;
}

.gc-years__step {
  font-size: 0.93rem;
  line-height: 1.6;
  color: #dcf4d3;
}

.gc-years__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.24rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border: 1px solid rgba(202, 255, 189, 0.95);
  color: #f4ffe6;
  background: radial-gradient(circle at 20% 0, rgba(255, 255, 255, 0.16), transparent 60%),
    rgba(6, 30, 15, 0.96);
}

.gc-years__step p {
  margin: 0.4rem 0 0;
}

.gc-years__photos {
  position: relative;
  display: grid;
  gap: 1.1rem;
  justify-items: flex-end;
}

.gc-years__photo {
  position: relative;
}

.gc-years__photo img {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  border-radius: 1.8rem;
  border: 1px solid rgba(204, 255, 187, 0.96);
  box-shadow: 0 22px 46px rgba(0, 0, 0, 0.96);
  object-fit: cover;
}

.gc-years__photo figcaption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 0.24rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(3, 18, 10, 0.94);
  border: 1px solid rgba(203, 255, 187, 0.96);
  color: #f6ffe8;
}

.gc-years__photo--early img {
  max-width: 300px;
  animation: gn-sway-left 18s ease-in-out infinite;
}

.gc-years__photo--full img {
  animation: gn-sway-right 18s ease-in-out infinite;
}

/* ===== SECTION 15: COLLECTION OVERVIEW CTA ===== */

.gc-overview {
  position: relative;
}

.gc-overview__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.3fr);
  gap: 2.6rem;
  align-items: center;
}

.gc-overview__copy {
  max-width: 540px;
}

.gc-overview__text {
  margin: 0.6rem 0 0;
  font-size: 0.96rem;
  line-height: 1.75;
  color: #e5f9de;
}

.gc-overview__text + .gc-overview__text {
  margin-top: 0.5rem;
}

.gc-overview__cta {
  margin-top: 1.4rem;
}

.gc-overview__image {
  position: relative;
}

.gc-overview__image img {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  border-radius: 1.8rem;
  border: 1px solid rgba(204, 255, 187, 0.96);
  box-shadow: 0 22px 46px rgba(0, 0, 0, 0.96);
  object-fit: cover;
}

.gc-overview__image figcaption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 0.24rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(3, 18, 10, 0.94);
  border: 1px solid rgba(203, 255, 187, 0.96);
  color: #f6ffe8;
}

/* ===== RESPONSIVE: ACCESSORIES, YEARS, OVERVIEW ===== */

@media (max-width: 960px) {
  .gc-accessories__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-accessories__photos {
    justify-items: center;
  }

  .gc-years__wrap {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-years__band {
    margin-top: 1.6rem;
  }

  .gc-overview__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-overview__image {
    margin-top: 1.8rem;
  }
}

@media (max-width: 768px) {
  .gc-accessories__photo img,
  .gc-years__photo img,
  .gc-overview__image img {
    max-width: 320px;
    margin-inline: auto;
  }

  .gc-years__band {
    grid-template-columns: minmax(0, 1fr);
    border-radius: 2rem;
    padding-inline: 1.2rem;
  }
}

@media (max-width: 480px) {
  .gc-accessories__photo img,
  .gc-years__photo img,
  .gc-overview__image img {
    max-width: 260px;
  }

  .gc-years__band {
    padding-inline: 1rem;
  }
}
/* ===== SECTION 16: ORDERING NOTES & TIMELINES ===== */

.gc-ordering {
  position: relative;
}

.gc-ordering__wrap {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.2fr);
  gap: 2.6rem;
  align-items: center;
}

.gc-ordering__copy {
  max-width: 560px;
}

.gc-ordering__text {
  margin: 0.6rem 0 0.4rem;
  font-size: 0.96rem;
  line-height: 1.75;
  color: #e5f9df;
}

.gc-ordering__timeline {
  margin-top: 0.6rem;
  border-radius: 1.8rem;
  padding: 0.9rem 1.1rem 1.1rem;
  border: 1px solid rgba(188, 240, 171, 0.9);
  background:
    radial-gradient(circle at 0 0, rgba(176, 255, 182, 0.14) 0, transparent 55%),
    linear-gradient(125deg, #041a10, #062718);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.88);
  display: grid;
  gap: 0.6rem;
}

.gc-ordering__step {
  font-size: 0.93rem;
  line-height: 1.6;
  color: #dcf4d3;
}

.gc-ordering__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.22rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border: 1px solid rgba(202, 255, 189, 0.95);
  color: #f4ffe6;
  background: radial-gradient(circle at 20% 0, rgba(255, 255, 255, 0.16), transparent 60%),
    rgba(6, 30, 15, 0.96);
}

.gc-ordering__step p {
  margin: 0.35rem 0 0;
}

.gc-ordering__photo {
  position: relative;
}

.gc-ordering__photo img {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  border-radius: 1.8rem;
  border: 1px solid rgba(204, 255, 187, 0.96);
  box-shadow: 0 22px 46px rgba(0, 0, 0, 0.96);
  object-fit: cover;
}

.gc-ordering__photo figcaption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 0.24rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(3, 18, 10, 0.94);
  border: 1px solid rgba(203, 255, 187, 0.96);
  color: #f6ffe8;
}

/* ===== SECTION 17: QUESTIONS BEFORE CHOOSING ===== */

.gc-questions {
  position: relative;
}

.gc-questions__wrap {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr);
  gap: 2.6rem;
  align-items: center;
}

.gc-questions__copy {
  max-width: 560px;
}

.gc-questions__list {
  margin-top: 0.8rem;
  display: grid;
  gap: 0.8rem;
}

.gc-questions__item {
  padding: 0.7rem 0.9rem;
  border-radius: 1.4rem;
  border: 1px solid rgba(188, 240, 171, 0.85);
  background:
    radial-gradient(circle at 0 0, rgba(176, 255, 182, 0.14) 0, transparent 55%),
    rgba(4, 24, 13, 0.96);
}

.gc-questions__item h3 {
  margin: 0 0 0.25rem;
  font-size: 0.98rem;
  color: #f2ffe5;
}

.gc-questions__item p {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.7;
  color: #d9f3d1;
}

.gc-questions__photo {
  position: relative;
}

.gc-questions__photo img {
  display: block;
  width: 100%;
  max-width: 300px;
  height: auto;
  border-radius: 1.8rem;
  border: 1px solid rgba(204, 255, 187, 0.96);
  box-shadow: 0 22px 46px rgba(0, 0, 0, 0.96);
  object-fit: cover;
}

.gc-questions__photo figcaption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 0.24rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(3, 18, 10, 0.94);
  border: 1px solid rgba(203, 255, 187, 0.96);
  color: #f6ffe8;
}

/* ===== SECTION 18: LAST LOOK AT THE LAWN ===== */

.gc-end {
  position: relative;
}

.gc-end__wrap {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.3fr);
  gap: 2.6rem;
  align-items: center;
}

.gc-end__copy {
  max-width: 560px;
}

.gc-end__text {
  margin: 0.6rem 0 0;
  font-size: 0.96rem;
  line-height: 1.75;
  color: #e5f9de;
}

.gc-end__text + .gc-end__text {
  margin-top: 0.5rem;
}

.gc-end__cta {
  margin-top: 1.4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}

.gc-end__images {
  position: relative;
  padding-top: 0.6rem;
}

.gc-end__photo {
  position: relative;
}

.gc-end__photo img {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  border-radius: 1.8rem;
  border: 1px solid rgba(204, 255, 187, 0.96);
  box-shadow: 0 22px 46px rgba(0, 0, 0, 0.96);
  object-fit: cover;
}

.gc-end__photo figcaption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 0.24rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(3, 18, 10, 0.94);
  border: 1px solid rgba(203, 255, 187, 0.96);
  color: #f6ffe8;
}

.gc-end__photo--plan {
  transform: translateX(8px);
  animation: gn-sway-left 18s ease-in-out infinite;
}

.gc-end__photo--evening {
  margin-top: 1.3rem;
  margin-left: 16%;
  max-width: 82%;
  animation: gn-sway-right 18s ease-in-out infinite;
}

.gc-end__halo {
  position: absolute;
  inset-inline: 10%;
  bottom: -20px;
  height: 42px;
  border-radius: 999px;
  background: radial-gradient(circle at 50% 0, rgba(192, 255, 173, 0.7), transparent 70%);
  filter: blur(7px);
  opacity: 0.95;
}

/* ===== RESPONSIVE: ORDERING, QUESTIONS, END ===== */

@media (max-width: 960px) {
  .gc-ordering__wrap {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-questions__wrap {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-end__wrap {
    grid-template-columns: minmax(0, 1fr);
  }

  .gc-end__images {
    margin-top: 1.8rem;
  }
}

@media (max-width: 768px) {
  .gc-ordering__photo img,
  .gc-questions__photo img,
  .gc-end__photo img {
    max-width: 320px;
    margin-inline: auto;
  }

  .gc-end__photo--plan,
  .gc-end__photo--evening {
    margin-left: 0;
    max-width: 100%;
    transform: none;
  }

  .gc-end__halo {
    inset-inline: 16%;
  }
}

@media (max-width: 480px) {
  .gc-ordering__photo img,
  .gc-questions__photo img,
  .gc-end__photo img {
    max-width: 260px;
  }

  .gc-ordering__timeline {
    padding-inline: 0.9rem;
  }

  .gc-end__wrap {
    gap: 2rem;
  }
}
