﻿/* HERZWERK brand overrides — layout untouched */

/* Kill Webflow commerce cart (right sidebar = white strip after JS loads) */
.rt-cart-wrap,
.w-commerce-commercecartwrapper,
.w-commerce-commercecartcontainerwrapper,
.w-commerce-commercecartcontainer,
.w-commerce-commercecartopenlink,
[data-node-type="commerce-cart-wrapper"],
[data-node-type="commerce-cart-container-wrapper"],
[data-node-type="commerce-cart-container"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  width: 0 !important;
  max-width: 0 !important;
  min-width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
}

html,
body.hw-home-page {
  overflow-x: clip;
  max-width: 100%;
}

/* Unsere Speisekarte: sticky full-viewport scroll fill (desktop) */
@media screen and (min-width: 992px) {
  body.hw-home-page .rt-our-menu-v1 {
    height: 280vh !important;
    margin-top: -18vh !important;
    margin-bottom: 0 !important;
    position: relative !important;
  }

  body.hw-home-page .rt-menu-main-wrapper {
    height: 100vh !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 5;
  }

  body.hw-home-page .rt-menu-wrapper {
    width: 100% !important;
    max-width: none !important;
    height: 100vh !important;
    margin: 0 !important;
    overflow: hidden !important;
    transform: scale(0.5);
    transform-origin: center center;
    will-change: transform, border-radius;
  }

  body.hw-home-page .rt-backgroun-video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  body.hw-home-page .rt-backgroun-video video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}

/* Reservation + Contact: IX2 often never reveals opacity:0 content */
body.hw-reservation-page [style*="opacity:0"],
body.hw-contact-page [style*="opacity:0"] {
  opacity: 1 !important;
  transform: none !important;
  -webkit-transform: none !important;
  filter: none !important;
  visibility: visible !important;
}

/* ── Hero → Marquee → Features: transition bridge ── */
body.hw-home-page .rt-overflow-hidden:has(.rt-hero-v1) {
  overflow: visible !important;
}

body.hw-home-page .rt-hero-v1.rt-overflow-hidden {
  overflow: visible !important;
}

body.hw-home-page .rt-marquee-wrapper-main-block,
body.hw-home-page .rt-marquee-wrapper-main-block.rt-position-relative {
  background-color: transparent !important;
  background: transparent !important;
  overflow: visible !important;
  z-index: 100;
  position: relative;
  height: auto !important;
  min-height: 0;
  margin-bottom: 0;
}

/* Desktop: bands fill strip between hero end and next section */
body.hw-home-page .rt-marquee-wrapper-main-block.rt-position-relative {
  margin-top: -96px !important;
  padding-top: 22px;
  padding-bottom: 8px;
  box-sizing: border-box;
}

body.hw-home-page .rt-home-v1-hero-left-side {
  padding-bottom: 168px !important;
}

body.hw-home-page .rt-coffee-item-marquee-wrapper.rt-bg-change.rt-overflow-hidden {
  margin-top: 0 !important;
  position: relative;
  z-index: 1;
}

body.hw-home-page .rt-coffee-item-marquee-wrapper.rt-overflow-hidden.rt-marquee-v2 {
  margin-top: -115px !important;
  position: relative;
  z-index: 2;
}

body.hw-home-page .rt-hero-v1-banner-features-wrapper {
  position: relative;
  z-index: 110;
  margin-bottom: 0;
}

body.hw-home-page .rt-our-features {
  margin-top: 0 !important;
  padding-top: 96px !important;
  position: relative;
  z-index: 90;
}

@media screen and (min-width: 1920px) {
  body.hw-home-page .rt-marquee-wrapper-main-block.rt-position-relative {
    margin-top: -108px !important;
  }

  body.hw-home-page .rt-home-v1-hero-left-side {
    padding-bottom: 180px !important;
  }

  body.hw-home-page .rt-our-features {
    padding-top: 104px !important;
  }
}

@media screen and (max-width: 991px) {
  body.hw-home-page .rt-hero-v1 {
    padding-bottom: 72px !important;
  }

  body.hw-home-page .rt-home-v1-hero-left-side {
    padding-bottom: 0 !important;
  }

  body.hw-home-page .rt-marquee-wrapper-main-block.rt-position-relative {
    margin-top: -56px !important;
    padding-top: 16px;
    padding-bottom: 4px;
  }

  body.hw-home-page .rt-coffee-item-marquee-wrapper.rt-overflow-hidden.rt-marquee-v2 {
    margin-top: -108px !important;
  }

  body.hw-home-page .rt-hero-v1-banner-features-wrapper {
    margin-bottom: 0;
    padding-bottom: 4px;
  }

  body.hw-home-page .rt-our-features {
    margin-top: 0 !important;
    padding-top: 72px !important;
  }
}

@media screen and (max-width: 479px) {
  body.hw-home-page .rt-hero-v1 {
    padding-bottom: 56px !important;
  }

  body.hw-home-page .rt-marquee-wrapper-main-block.rt-position-relative {
    margin-top: -44px !important;
  }

  body.hw-home-page .rt-coffee-item-marquee-wrapper.rt-overflow-hidden.rt-marquee-v2 {
    margin-top: -100px !important;
  }

  body.hw-home-page .rt-our-features {
    padding-top: 64px !important;
  }
}

.herzwerk-logo {
  display: block;
  width: auto;
  height: 70px;
  max-width: 360px;
  object-fit: contain;
  background: transparent;
}

.rt-brand .herzwerk-logo,
.rt-logo .herzwerk-logo,
.w-nav-brand .herzwerk-logo {
  height: 70px;
  max-width: 360px;
}

.rt-footer .herzwerk-logo {
  height: 72px;
  max-width: 370px;
}

/* Light logo on dark footers / dark hero nav */
.rt-footer .herzwerk-logo,
.rt-navbar[data-wf--rt-nav--variant="light-varient"] .herzwerk-logo {
  height: 70px;
  max-width: 360px;
}

.herzwerk-logo--menu {
  height: auto;
  width: min(420px, 92vw);
  max-width: 460px;
  margin: 0 auto;
  background: transparent;
}

/* Home: solid cream nav — readable over split hero */
body.hw-home-page .rt-navbar {
  background: rgba(245, 241, 232, 0.97) !important;
  border-bottom: 1px solid rgba(14, 33, 24, 0.08);
  backdrop-filter: blur(8px);
}

body.hw-home-page .rt-menu-text.w-nav-link {
  color: #0e2118 !important;
}

body.hw-home-page .rt-menu-text.w-nav-link.w--current,
body.hw-home-page .rt-menu-text.w-nav-link:hover {
  color: #ba9a6f !important;
}

body.hw-home-page .w-nav-button,
body.hw-home-page .w-icon-nav-menu {
  color: #0e2118 !important;
}

body.hw-home-page .mobile-list-line-one,
body.hw-home-page .mobile-list-line-two,
body.hw-home-page .mobile-list-line-three {
  background-color: #0e2118 !important;
}

/* Hero CTAs + feature rows must stay visible (IX2 can leave opacity:0) */
body.hw-home-page .rt-home-v1-hero-left-side .rt-button-wrap,
body.hw-home-page .rt-home-v1-hero-left-side .rt-hero-v1-banner-features-inner,
body.hw-home-page .rt-home-v1-hero-right-side {
  opacity: 1 !important;
  transform: none !important;
  -webkit-transform: none !important;
  filter: none !important;
  visibility: visible !important;
}

/* Keep hero composition together on desktop */
body.hw-home-page .rt-home-v1-hero-content-wrapper {
  align-items: stretch !important;
}

body.hw-home-page .rt-home-v1-banner-left-bottom-wrap {
  display: flex !important;
  align-items: flex-end !important;
  gap: 18px !important;
  margin-top: 18px !important;
}

body.hw-home-page .rt-hero-v1-banner-features-wrapper {
  display: flex !important;
  margin-top: 18px !important;
  position: relative;
  z-index: 110;
}

/* Dark navbars (reservation/contact light-varient): white hamburger */
.rt-navbar[data-wf--rt-nav--variant="light-varient"] .mobile-list-line-one,
.rt-navbar[data-wf--rt-nav--variant="light-varient"] .mobile-list-line-two,
.rt-navbar[data-wf--rt-nav--variant="light-varient"] .mobile-list-line-three {
  background-color: #fff !important;
}

/*
  Reservation + Contact: Webflow IX2 paints a cream nav bg on scroll
  while logo/links stay light → unreadable + incomplete bar.
  Lock a solid full-width dark green bar (same as Speisekarte).
*/
body.hw-reservation-page .rt-navbar.w-nav,
body.hw-contact-page .rt-navbar.w-nav {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  background: #0e2118 !important;
  background-color: #0e2118 !important;
  border-bottom: 1px solid rgba(209, 204, 193, 0.14);
  z-index: 100;
}

body.hw-reservation-page .rt-nav-shadow,
body.hw-contact-page .rt-nav-shadow {
  display: none !important;
}

body.hw-reservation-page .rt-menu-text.w-nav-link,
body.hw-contact-page .rt-menu-text.w-nav-link {
  color: #f5f1e8 !important;
}

body.hw-reservation-page .rt-menu-text.w-nav-link.w--current,
body.hw-reservation-page .rt-menu-text.w-nav-link:hover,
body.hw-contact-page .rt-menu-text.w-nav-link.w--current,
body.hw-contact-page .rt-menu-text.w-nav-link:hover {
  color: #ba9a6f !important;
}

@media screen and (max-width: 991px) {
  body.hw-reservation-page .rt-nav-menu,
  body.hw-reservation-page .w-nav-menu,
  body.hw-contact-page .rt-nav-menu,
  body.hw-contact-page .w-nav-menu {
    background: #f5f1e8 !important;
  }

  body.hw-reservation-page .rt-nav-menu .rt-menu-text.w-nav-link,
  body.hw-reservation-page .w-nav-menu .rt-menu-text.w-nav-link,
  body.hw-contact-page .rt-nav-menu .rt-menu-text.w-nav-link,
  body.hw-contact-page .w-nav-menu .rt-menu-text.w-nav-link {
    color: #0e2118 !important;
  }

  body.hw-reservation-page .rt-nav-menu .rt-menu-text.w-nav-link.w--current,
  body.hw-reservation-page .w-nav-menu .rt-menu-text.w-nav-link.w--current,
  body.hw-reservation-page .rt-nav-menu .rt-menu-text.w-nav-link:hover,
  body.hw-reservation-page .w-nav-menu .rt-menu-text.w-nav-link:hover,
  body.hw-contact-page .rt-nav-menu .rt-menu-text.w-nav-link.w--current,
  body.hw-contact-page .w-nav-menu .rt-menu-text.w-nav-link.w--current,
  body.hw-contact-page .rt-nav-menu .rt-menu-text.w-nav-link:hover,
  body.hw-contact-page .w-nav-menu .rt-menu-text.w-nav-link:hover {
    color: #ba9a6f !important;
  }
}

.hw-hero-location {
  margin: 4px 0 0;
  padding: 0;
  color: #0e2118;
  font-family: Oswald, Arial, sans-serif;
  font-size: var(--_font-size---h1, 60px);
  font-weight: 500;
  letter-spacing: -0.64px;
  text-transform: uppercase;
  line-height: 1.16667;
}

.hw-hero-location-mark {
  position: relative;
  display: inline-block;
  padding-bottom: 0.08em;
}

.hw-hero-location-mark::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.02em;
  height: 0.12em;
  background: #ffb91d;
  border-radius: 2px;
}

.hw-hero-tagline {
  margin-bottom: 16px;
}

/* Same reload reveal as hero title (slide up + fade) */
.hw-hero-reveal {
  opacity: 0;
  transform: translate3d(0, 40px, 0);
  animation: hw-hero-slide-in 1s ease forwards;
  animation-delay: 0.5s;
}

@keyframes hw-hero-slide-in {
  from {
    opacity: 0;
    transform: translate3d(0, 40px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media screen and (max-width: 767px) {
  .hw-hero-location {
    font-size: clamp(32px, 9vw, 48px);
    text-align: center;
  }
}

/* Hide template sales vault widget if injected */
.rt-vlt-trigger,
.rt-vlt-overlay {
  display: none !important;
}

/*
  Decorative Caffia heading icons (cookie/coffee cup) were absolutely
  positioned for English headline lengths. With HERZWERK German copy they
  overlap letters — hide them, keep headline layout intact.
*/
.rt-our-story-heading-icon-wrap,
.rt-features-heading-icon,
.rt-section-heading-icon-wrapper,
.rt-hero-v1-heading-position-eliment {
  display: none !important;
}

/* Allergen legend leftover from earlier menu cards (safe if unused) */
.herzwerk-allergens {
  padding-top: 0;
  padding-bottom: 40px;
}
.herzwerk-allergen-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 6px 24px;
  color: #515151;
  font-size: 14px;
  line-height: 1.45;
}
.herzwerk-allergen-note {
  margin-top: 16px;
  color: #515151;
  font-size: 13px;
  line-height: 1.45;
  max-width: 720px;
}
.rt-item-subject-wrapper .rt-text-style-h4.rt-color-change {
  white-space: normal;
  text-align: right;
  max-width: 45%;
  flex-shrink: 0;
}

/* Mobile: center feature cards (Kaffee & Matcha etc.) */
@media screen and (max-width: 991px) {
  .rt-our-features .rt-home-v1-features-wrapper,
  .rt-our-features .rt-feature-inner-wrap {
    align-items: center !important;
    justify-content: center !important;
    width: 100%;
  }

  .rt-our-features .rt-features-item-v1 {
    width: 100%;
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
    align-items: center !important;
    text-align: center;
  }

  .rt-our-features .rt-features-item-icon-wrapper,
  .rt-our-features .rt-features-heading-wrapper,
  .rt-our-features .rt-featutes-description-text-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .rt-our-features .rt-features-item-icon-wrapper img {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

  .rt-our-features .rt-home-v1-our-features-heading-wrap {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
}

@media screen and (max-width: 479px) {
  .rt-our-features .rt-features-item-v1 {
    max-width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }
}

/* Hero banner feature icons (Coffee / Bowls) */
.hw-hero-feature-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  min-width: 64px;
  height: 48px;
  color: #0E2118;
}

.hw-hero-icon {
  width: 56px;
  height: 42px;
  display: block;
}

/* Hero preview thumbs — scharf, nur Opacity für non-active */
.rt-home-v1-banner-left-bottom-wrap {
  align-items: flex-end !important;
  gap: 18px;
}

.rt-home-v1-banner-left-bottom-wrap .rt-hover-image-main-wrapper {
  position: relative;
  flex: 0 0 88px !important;
  width: 88px !important;
  height: 188px !important;
  background: transparent !important;
  overflow: visible !important;
  border: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  transform-origin: center bottom;
}

.rt-home-v1-banner-left-bottom-wrap .rt-hover-change-image {
  display: none !important;
}

.rt-home-v1-banner-left-bottom-wrap .rt-hover-block {
  width: 100% !important;
  height: 100% !important;
  opacity: 1 !important;
  filter: none !important;
  background: transparent !important;
  transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  transform-origin: center bottom;
}

.rt-home-v1-banner-left-bottom-wrap .rt-inner-hover-image,
.rt-home-v1-banner-left-bottom-wrap .rt-image-v2 {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  background: transparent !important;
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
  transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.rt-home-v1-banner-left-bottom-wrap .rt-box-shadow {
  display: none !important;
}

.rt-home-v1-banner-left-bottom-wrap .rt-hover-image-main-wrapper.is-dimmed {
  transform: scale(0.92);
}

.rt-home-v1-banner-left-bottom-wrap .rt-hover-image-main-wrapper.is-dimmed .rt-hover-block {
  opacity: 0.4 !important;
}

.rt-home-v1-banner-left-bottom-wrap .rt-hover-image-main-wrapper.is-dimmed img {
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}

.rt-home-v1-banner-left-bottom-wrap .rt-hover-image-main-wrapper.is-active {
  transform: scale(1.12);
}

.rt-home-v1-banner-left-bottom-wrap .rt-hover-image-main-wrapper.is-active .rt-hover-block {
  opacity: 1 !important;
}

.rt-home-v1-banner-left-bottom-wrap .rt-hover-image-main-wrapper.is-active img {
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}

.hw-hero-landscape-hide {
  display: none !important;
}

/* Keep hero scroll/layout stable (do not force overflow visible on whole section) */
.rt-home-v1-hero-right-side {
  overflow: visible !important;
}

/*
  Right hero: nur die 3 Haupt-Cups (keine Webflow-Wrapper-Doubles).
  Saubere Staffelung statt Collage-Chaos.
*/
.rt-home-v1-hero-right-side-inner-wrapper {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 560px;
  margin-left: auto;
  position: relative;
  min-height: min(62vh, 580px);
  transform: translateY(36px);
}

.rt-home-v1-hero-right-side .rt-wrapper-one,
.rt-home-v1-hero-right-side .rt-wrapper-two,
.rt-home-v1-hero-right-side .rt-wrapper-three,
.rt-home-v1-hero-right-side .rt-coffee-sticker {
  display: none !important;
}

.rt-home-v1-hero-right-side .rt-home-v1-banner-right-image {
  position: absolute !important;
  bottom: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  width: 46% !important;
  margin: 0 !important;
  cursor: pointer;
  transform-origin: center bottom;
  transition:
    left 0.6s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.45s ease,
    filter 0.45s ease;
  will-change: left, transform, opacity, filter;
}

/* Slot positions set by JS — defaults: left / center / right */
.rt-home-v1-hero-right-side .rt-item-one {
  left: -2% !important;
  z-index: 1;
}

.rt-home-v1-hero-right-side .rt-item-two {
  left: 27% !important;
  z-index: 3;
}

.rt-home-v1-hero-right-side .rt-item-three {
  left: 56% !important;
  z-index: 2;
}

.rt-home-v1-hero-right-side .rt-home-v1-banner-right-image > img {
  width: 100% !important;
  max-width: 260px !important;
  height: auto !important;
  max-height: min(62vh, 620px) !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  background: transparent !important;
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
  transform: none !important;
  -webkit-transform: none !important;
  transition: filter 0.45s ease;
  pointer-events: none;
}

.rt-home-v1-hero-right-side .rt-home-v1-banner-right-image.is-dimmed {
  opacity: 0.32 !important;
  filter: blur(1.5px) !important;
  transform: scale(0.86) translateY(12px) !important;
  -webkit-transform: scale(0.86) translateY(12px) !important;
  z-index: 1 !important;
}

.rt-home-v1-hero-right-side .rt-home-v1-banner-right-image.is-active {
  opacity: 1 !important;
  filter: none !important;
  transform: scale(1.24) translateY(0) !important;
  -webkit-transform: scale(1.24) translateY(0) !important;
  z-index: 8 !important;
}

/* Mobile/Tablet hero cups layout — scoped so desktop Webflow layout stays intact */
@media screen and (max-width: 991px) {
  .rt-home-v1-hero-content-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .rt-home-v1-hero-left-side,
  .rt-home-v1-banner-left-bottom-wrapper {
    display: contents !important;
  }

  .rt-home-v1-hero-left-side .rt-heading-card-bottom-padding {
    order: 1;
    width: 100% !important;
  }

  /* Hide small thumbs only on mobile/tablet */
  body.hw-home-page .rt-home-v1-banner-left-bottom-wrap {
    display: none !important;
  }

  .rt-home-v1-hero-right-side {
    order: 2;
    display: flex !important;
    position: relative !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: flex-end !important;
    margin: 12px auto 4px !important;
    opacity: 1 !important;
    transform: none !important;
    -webkit-transform: none !important;
    min-height: 340px;
    visibility: visible !important;
  }

  .rt-home-v1-hero-right-side-inner-wrapper {
    max-width: 400px !important;
    width: 100% !important;
    min-height: 340px !important;
    margin: 0 auto !important;
    transform: translateY(20px);
  }

  .rt-home-v1-hero-right-side .rt-home-v1-banner-right-image > img {
    max-width: 175px !important;
    max-height: 360px !important;
  }

  .rt-hero-v1-banner-features-wrapper {
    order: 3;
    width: 100% !important;
    margin-top: 8px !important;
  }

  .rt-hero-v1-banner-features-wrapper .rt-hero-v1-banner-features-inner {
    opacity: 1 !important;
  }
}

@media screen and (max-width: 479px) {
  .rt-home-v1-hero-right-side {
    min-height: 300px;
    margin: 10px auto 2px !important;
  }

  .rt-home-v1-hero-right-side-inner-wrapper {
    max-width: 360px !important;
    min-height: 300px !important;
  }

  .rt-home-v1-hero-right-side .rt-home-v1-banner-right-image > img {
    max-width: 150px !important;
    max-height: 320px !important;
  }
}

/* Photo placeholders until owner photography arrives */
.hw-photo-placeholder-img {
  display: block;
  width: 100%;
  height: auto;
  background: #F5F1E8;
  object-fit: cover;
}

/* Home marquee: category-matching stroke icons */
.hw-marquee-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  flex-shrink: 0;
}

.hw-marquee-icon {
  width: 42px;
  height: 42px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.rt-bg-change .hw-marquee-icon {
  color: #0E2118;
}

.rt-marquee-v2 .hw-marquee-icon {
  color: #ffffff;
}

/* GXN Services footer credit */
.hw-gxn-credit {
  margin: 20px 0 0;
  padding-top: 0;
  padding-bottom: 12px;
  border-top: 0;
  text-align: center;
}

.rt-footer {
  padding-bottom: max(40px, env(safe-area-inset-bottom, 0px) + 28px);
}

.hw-gxn-credit-link {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.28em;
  font-family: Lato, sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.4;
  color: rgba(245, 241, 232, 0.55);
  text-decoration: none;
  transition: color 0.2s ease;
}

.hw-gxn-credit-link strong {
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: none;
  color: rgba(245, 241, 232, 0.72);
}

.hw-gxn-heart {
  color: rgba(186, 154, 111, 0.85);
  font-size: 0.85em;
  line-height: 1;
  display: inline-block;
  transform: translateY(0.5px);
  transition: transform 0.25s ease, color 0.2s ease;
}

.hw-gxn-credit-link:hover {
  color: rgba(245, 241, 232, 0.8);
}

.hw-gxn-credit-link:hover strong {
  color: rgba(245, 241, 232, 0.92);
}

.hw-gxn-credit-link:hover .hw-gxn-heart {
  color: #ba9a6f;
  transform: translateY(0.5px) scale(1.08);
}

