/*
  Filó Rendeira — Refinamento global de UI
  Objetivo: deixar botões, tipografia e cards mais delicados e padronizados
  sem quebrar a estrutura atual do site estático.
*/
:root {
  --fr-text-2xs: clamp(0.72rem, 0.70rem + 0.10vw, 0.78rem);
  --fr-text-xs: clamp(0.80rem, 0.78rem + 0.14vw, 0.88rem);
  --fr-text-sm: clamp(0.90rem, 0.88rem + 0.16vw, 0.98rem);
  --fr-text-md: clamp(1rem, 0.98rem + 0.20vw, 1.08rem);
  --fr-text-lg: clamp(1.10rem, 1.04rem + 0.36vw, 1.24rem);
  --fr-text-xl: clamp(1.30rem, 1.18rem + 0.72vw, 1.68rem);
  --fr-text-2xl: clamp(1.62rem, 1.40rem + 1vw, 2.24rem);
  --fr-text-3xl: clamp(2rem, 1.64rem + 1.7vw, 3.25rem);
  --fr-lh-tight: 1.07;
  --fr-lh-title: 1.15;
  --fr-lh-body: 1.58;
  --fr-track-tight: -0.03em;
  --fr-track-ui: 0.01em;
  --fr-card-radius: 1.35rem;
  --fr-card-radius-inner: 1rem;
  --fr-border-soft: rgba(74,55,40,.12);
  --fr-shadow-soft: 0 14px 30px rgba(74,55,40,.075);
  --fr-shadow-hover: 0 18px 38px rgba(74,55,40,.10);
  --fr-brand-action: #9D5D6B;
  --fr-brand-action-hover: #874B58;
}

html { text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
body { font-size: var(--fr-text-sm); line-height: var(--fr-lh-body); }

/* Tipografia mais refinada sem trocar as fontes atuais */
h1, .display-title, .fr-model-title, .fr-portfolio-hero-v9 h1 {
  letter-spacing: var(--fr-track-tight);
  line-height: var(--fr-lh-tight);
}
h2, .section-title, .fr-section-head h2, .fr-faq-title {
  letter-spacing: -0.022em;
  line-height: var(--fr-lh-title);
}
h3, .card-title, .piece-card-title, .fr-portfolio-card h3, .fr-portfolio-card-v9 h3, .related-card h3 {
  letter-spacing: -0.012em;
  line-height: 1.18;
}
.fr-mini-label, .mini-label-premium, .piece-kicker, .piece-card-kicker,
.fr-portfolio-card-cat, .fr-card-copy span, .small-label, .form-label, .footer-link,
.fr-kicker-pill {
  font-size: var(--fr-text-2xs) !important;
  line-height: 1.25 !important;
  letter-spacing: .105em !important;
}
.fr-model-subtitle, .fr-section-actions p, .fr-portfolio-card-desc,
.piece-card-description, .fr-card-copy p, .related-card p, .fr-support-card p {
  font-size: var(--fr-text-sm) !important;
  line-height: 1.55 !important;
}

/* Botões mais delicados: aparência menor, alvo de toque ainda confortável */
.fr-btn-primary, .fr-btn-secondary, .fr-primary-btn, .fr-secondary-btn,
.button-primary, .button-outline, .fr-card-btn, .card-action-btn, .card-link-btn,
.fr-card-copy a, .fr-portfolio-card-actions a, .piece-card-actions a,
.fr-support-card span, .fr-support-cta, .top-filter-btn, .button-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .38rem !important;
  min-height: 42px !important;
  padding: .58rem .98rem !important;
  border-radius: 999px !important;
  font-size: clamp(.78rem, .75rem + .16vw, .86rem) !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: .01em !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  width: auto;
  max-width: max-content;
}
.fr-card-btn, .card-action-btn, .card-link-btn,
.fr-card-copy a, .fr-portfolio-card-actions a, .piece-card-actions a {
  min-height: 38px !important;
  padding: .50rem .82rem !important;
  font-size: clamp(.74rem, .72rem + .12vw, .82rem) !important;
  border-radius: 1rem !important;
  font-weight: 650 !important;
}
.fr-btn-primary, .fr-primary-btn, .button-primary:not(.button-outline),
.fr-card-btn-primary, .card-action-btn, .fr-card-copy a:first-child,
.fr-portfolio-card-actions a:first-child, .piece-card-actions a:first-child {
  background: var(--fr-brand-action) !important;
  color: #fff !important;
  border-color: transparent !important;
}
.fr-btn-primary:hover, .fr-primary-btn:hover, .button-primary:not(.button-outline):hover,
.fr-card-btn-primary:hover, .card-action-btn:hover, .fr-card-copy a:first-child:hover,
.fr-portfolio-card-actions a:first-child:hover, .piece-card-actions a:first-child:hover {
  background: var(--fr-brand-action-hover) !important;
}
.fr-btn-secondary, .fr-secondary-btn, .button-outline, .fr-card-btn-secondary,
.card-link-btn, .fr-card-copy a:nth-child(n+2),
.fr-portfolio-card-actions a:nth-child(n+2), .piece-card-actions a:nth-child(n+2) {
  background: rgba(255,255,255,.86) !important;
  color: #4A3728 !important;
  border: 1px solid rgba(157,93,107,.30) !important;
}
.fr-model-actions, .fr-portfolio-hero-actions, .fr-portfolio-card-actions,
.fr-card-copy div, .piece-card-actions, .cta-actions {
  display: flex !important;
  align-items: center !important;
  gap: .55rem !important;
  flex-wrap: wrap !important;
}

/* Hero: controles superiores e setas mais delicados */
.fr-zara-hero .hero-dots, .hero-dots {
  top: .8rem !important;
  right: .8rem !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  padding: .34rem .48rem !important;
  gap: .32rem !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.70) !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  box-shadow: 0 8px 18px rgba(74,55,40,.06) !important;
  backdrop-filter: blur(10px);
}
.fr-zara-hero .hero-dot, .hero-dot {
  width: .42rem !important;
  height: .42rem !important;
  min-width: .42rem !important;
  min-height: .42rem !important;
  padding: 0 !important;
  border-radius: 999px !important;
  opacity: .54 !important;
}
.fr-zara-hero .hero-dot.active, .hero-dot.active {
  width: 1.05rem !important;
  opacity: 1 !important;
}
.hero-nav, .filo-carousel-arrow, .piece-carousel-btn {
  width: 2.75rem !important;
  height: 2.75rem !important;
  min-width: 2.75rem !important;
  min-height: 2.75rem !important;
  font-size: 1.65rem !important;
  background: rgba(255,255,255,.78) !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  box-shadow: 0 10px 24px rgba(74,55,40,.08) !important;
}

/* Cards de suporte: corrigir “Ver página” quebrado e deixar microcopy delicada */
.fr-support-card {
  min-width: 0 !important;
  display: grid !important;
  align-content: start !important;
  gap: .72rem !important;
}
.fr-support-card strong, .fr-support-card h3 {
  font-size: clamp(1.02rem, .98rem + .22vw, 1.16rem) !important;
  line-height: 1.2 !important;
  letter-spacing: .01em !important;
}
.fr-support-card span, .fr-support-cta {
  justify-self: start !important;
  margin-top: .15rem !important;
  color: var(--fr-brand-action) !important;
  background: transparent !important;
  border: 0 !important;
  min-height: auto !important;
  padding: 0 !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  letter-spacing: .015em !important;
  max-width: 100% !important;
}

/* Sistema unificado para cards de peça/foto */
.piece-card-unified,
.fr-portfolio-card.piece-card-unified,
.fr-portfolio-card-v9.piece-card-unified,
.related-card.piece-card-unified,
article.related-card {
  display: grid !important;
  gap: .9rem !important;
  background: rgba(255,255,255,.84) !important;
  border: 1px solid var(--fr-border-soft) !important;
  border-radius: var(--fr-card-radius) !important;
  padding: .85rem !important;
  box-shadow: var(--fr-shadow-soft) !important;
  backdrop-filter: blur(10px);
  transition: transform .20s ease, box-shadow .20s ease, border-color .20s ease !important;
  color: #4A3728 !important;
  text-decoration: none !important;
}
.piece-card-unified:hover,
.fr-portfolio-card.piece-card-unified:hover,
.fr-portfolio-card-v9.piece-card-unified:hover,
.related-card.piece-card-unified:hover,
article.related-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(157,93,107,.22) !important;
  box-shadow: var(--fr-shadow-hover) !important;
}
.piece-card-media,
.fr-card-image.piece-card-media,
.fr-portfolio-card-img.piece-card-media,
.related-card .piece-card-media {
  display: block !important;
  border-radius: var(--fr-card-radius-inner) !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 5 !important;
  background: #f6f2ed !important;
  margin: 0 !important;
}
.piece-card-media img,
.fr-card-image.piece-card-media img,
.fr-portfolio-card-img.piece-card-media img,
.related-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.piece-card-body,
.fr-card-copy.piece-card-body,
.fr-portfolio-card-body.piece-card-body,
.related-card .piece-card-body {
  display: grid !important;
  gap: .55rem !important;
  padding: .05rem .15rem .05rem !important;
}
.piece-card-kicker,
.fr-card-copy span.piece-card-kicker,
.fr-portfolio-card-cat.piece-card-kicker,
.related-card .piece-card-kicker {
  margin: 0 !important;
  color: #8C5E6A !important;
  text-transform: uppercase !important;
  font-weight: 750 !important;
}
.piece-card-title,
.fr-card-copy h3.piece-card-title,
.fr-portfolio-card-body h3.piece-card-title,
.related-card h3.piece-card-title {
  margin: 0 !important;
  font-size: clamp(1.02rem, .98rem + .22vw, 1.18rem) !important;
  line-height: 1.18 !important;
  color: #4A3728 !important;
}
.piece-card-description,
.fr-card-copy p.piece-card-description,
.fr-portfolio-card-desc.piece-card-description,
.related-card .piece-card-description {
  margin: 0 !important;
  color: rgba(74,55,40,.78) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.piece-card-actions,
.fr-card-copy .piece-card-actions,
.fr-portfolio-card-actions.piece-card-actions,
.related-card .piece-card-actions {
  padding-top: .18rem !important;
  gap: .5rem !important;
}

/* Portfólio em desktop: cards mais elegantes e consistentes */
.fr-portfolio-grid-v9, .fr-portfolio-grid {
  align-items: stretch;
}
.fr-portfolio-card-v9 .fr-portfolio-card-img,
.fr-portfolio-card .fr-card-image {
  min-height: 0 !important;
}

@media (min-width: 900px) {
  .fr-card-copy div, .fr-portfolio-card-actions, .piece-card-actions {
    flex-wrap: nowrap !important;
  }
}

@media (max-width: 768px) {
  h1, .display-title, .fr-model-title, .fr-portfolio-hero-v9 h1 {
    font-size: clamp(2rem, 8.4vw, 2.75rem) !important;
  }
  h2, .section-title, .fr-section-head h2 {
    font-size: clamp(1.55rem, 6.5vw, 2.1rem) !important;
  }
  .fr-btn-primary, .fr-btn-secondary, .fr-primary-btn, .fr-secondary-btn,
  .button-primary, .button-outline {
    max-width: none !important;
  }
  .fr-model-actions > *, .fr-portfolio-hero-actions > * {
    width: 100% !important;
  }
  .fr-card-copy div, .fr-portfolio-card-actions, .piece-card-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }
  .fr-card-copy div > *, .fr-portfolio-card-actions > *, .piece-card-actions > * {
    width: 100% !important;
    max-width: none !important;
  }
  .piece-card-unified,
  .fr-portfolio-card.piece-card-unified,
  .fr-portfolio-card-v9.piece-card-unified,
  .related-card.piece-card-unified,
  article.related-card {
    padding: .78rem !important;
    border-radius: 1.2rem !important;
    gap: .78rem !important;
  }
  .piece-card-title,
  .fr-card-copy h3.piece-card-title,
  .fr-portfolio-card-body h3.piece-card-title,
  .related-card h3.piece-card-title {
    font-size: 1.02rem !important;
  }
  .hero-nav, .filo-carousel-arrow, .piece-carousel-btn {
    width: 2.45rem !important;
    height: 2.45rem !important;
    min-width: 2.45rem !important;
    min-height: 2.45rem !important;
    font-size: 1.45rem !important;
  }
  .fr-zara-hero .hero-dots, .hero-dots {
    top: .58rem !important;
    right: .58rem !important;
    padding: .28rem .40rem !important;
  }
}

@media (max-width: 420px) {
  .fr-support-card strong, .fr-support-card h3 {
    font-size: 1rem !important;
  }
  .fr-support-card p {
    font-size: .88rem !important;
  }
  .fr-support-card span, .fr-support-cta {
    font-size: .78rem !important;
  }
}

/*
  Ajuste solicitado — restaurar cards de peça ao padrão anterior mais elegante:
  imagem cheia no topo, corpo em bloco branco, botões proporcionais e categoria sem caixa alta.
  Este bloco fica no final para prevalecer sobre as regras anteriores de refino.
*/
.piece-card-unified,
.fr-portfolio-card.piece-card-unified,
.fr-portfolio-card-v9.piece-card-unified,
.related-card.piece-card-unified,
article.related-card.piece-card-unified,
.piece-related-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(74, 55, 40, .10) !important;
  border-radius: 1.45rem !important;
  box-shadow: 0 16px 34px rgba(74, 55, 40, .075) !important;
  backdrop-filter: none !important;
}

.piece-card-unified:hover,
.fr-portfolio-card.piece-card-unified:hover,
.fr-portfolio-card-v9.piece-card-unified:hover,
.related-card.piece-card-unified:hover,
article.related-card.piece-card-unified:hover,
.piece-related-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(157, 93, 107, .18) !important;
  box-shadow: 0 20px 42px rgba(74, 55, 40, .10) !important;
}

.piece-card-media,
.fr-card-image.piece-card-media,
.fr-portfolio-card-img.piece-card-media,
.related-card .piece-card-media,
.piece-related-card .piece-card-media {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 5 !important;
  background: #f6f2ed !important;
}

.piece-card-media img,
.fr-card-image.piece-card-media img,
.fr-portfolio-card-img.piece-card-media img,
.related-card .piece-card-media img,
.piece-related-card .piece-card-media img,
.related-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

.piece-card-body,
.fr-card-copy.piece-card-body,
.fr-portfolio-card-body.piece-card-body,
.related-card .piece-card-body,
.piece-related-card .piece-card-body {
  display: flex !important;
  flex-direction: column !important;
  gap: .78rem !important;
  padding: 1.35rem 1.35rem 1.35rem !important;
  background: #fff !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.piece-card-kicker,
.fr-card-copy span.piece-card-kicker,
.fr-portfolio-card-cat.piece-card-kicker,
.related-card .piece-card-kicker,
.piece-related-card .piece-card-kicker {
  margin: 0 !important;
  color: #A46B72 !important;
  text-transform: none !important;
  font-size: clamp(.84rem, .80rem + .16vw, .96rem) !important;
  font-weight: 650 !important;
  letter-spacing: .005em !important;
  line-height: 1.25 !important;
}

.piece-card-title,
.fr-card-copy h3.piece-card-title,
.fr-portfolio-card-body h3.piece-card-title,
.related-card h3.piece-card-title,
.piece-related-card h3.piece-card-title {
  margin: 0 !important;
  color: #4A3728 !important;
  font-size: clamp(1.34rem, 1.18rem + .45vw, 1.68rem) !important;
  line-height: 1.14 !important;
  letter-spacing: -.018em !important;
}

.piece-card-description,
.fr-card-copy p.piece-card-description,
.fr-portfolio-card-desc.piece-card-description,
.related-card .piece-card-description,
.piece-related-card .piece-card-description {
  margin: 0 !important;
  color: rgba(74, 55, 40, .72) !important;
  font-size: clamp(.96rem, .92rem + .16vw, 1.06rem) !important;
  line-height: 1.55 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.piece-card-actions,
.fr-card-copy .piece-card-actions,
.fr-portfolio-card-actions.piece-card-actions,
.related-card .piece-card-actions,
.piece-related-card .piece-card-actions {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: .65rem !important;
  width: 100% !important;
  padding-top: .32rem !important;
  flex-wrap: nowrap !important;
}

.piece-card-actions a,
.fr-card-copy .piece-card-actions a,
.fr-portfolio-card-actions.piece-card-actions a,
.related-card .piece-card-actions a,
.piece-related-card .piece-card-actions a,
.card-action-btn,
.card-link-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: .74rem 1.05rem !important;
  border-radius: 999px !important;
  font-size: clamp(.86rem, .82rem + .12vw, .94rem) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  max-width: none !important;
  width: auto !important;
}

.piece-card-actions a:first-child,
.fr-card-copy .piece-card-actions a:first-child,
.fr-portfolio-card-actions.piece-card-actions a:first-child,
.related-card .piece-card-actions a:first-child,
.piece-related-card .piece-card-actions a:first-child,
.card-action-btn {
  flex: 1 1 48% !important;
  background: #3F2A22 !important;
  color: #fff !important;
  border: 1px solid #3F2A22 !important;
}

.piece-card-actions a:first-child:hover,
.fr-card-copy .piece-card-actions a:first-child:hover,
.fr-portfolio-card-actions.piece-card-actions a:first-child:hover,
.related-card .piece-card-actions a:first-child:hover,
.piece-related-card .piece-card-actions a:first-child:hover,
.card-action-btn:hover {
  background: #2F1D17 !important;
  border-color: #2F1D17 !important;
}

.piece-card-actions a:nth-child(n+2),
.fr-card-copy .piece-card-actions a:nth-child(n+2),
.fr-portfolio-card-actions.piece-card-actions a:nth-child(n+2),
.related-card .piece-card-actions a:nth-child(n+2),
.piece-related-card .piece-card-actions a:nth-child(n+2),
.card-link-btn {
  flex: 1 1 52% !important;
  background: #fff !important;
  color: #4A3728 !important;
  border: 1px solid rgba(157, 93, 107, .30) !important;
}

.piece-card-actions a:nth-child(n+2):hover,
.fr-card-copy .piece-card-actions a:nth-child(n+2):hover,
.fr-portfolio-card-actions.piece-card-actions a:nth-child(n+2):hover,
.related-card .piece-card-actions a:nth-child(n+2):hover,
.piece-related-card .piece-card-actions a:nth-child(n+2):hover,
.card-link-btn:hover {
  border-color: rgba(157, 93, 107, .48) !important;
  background: rgba(255, 249, 249, .95) !important;
}

@media (max-width: 768px) {
  .piece-card-unified,
  .fr-portfolio-card.piece-card-unified,
  .fr-portfolio-card-v9.piece-card-unified,
  .related-card.piece-card-unified,
  article.related-card.piece-card-unified,
  .piece-related-card {
    padding: 0 !important;
    border-radius: 1.35rem !important;
  }

  .piece-card-body,
  .fr-card-copy.piece-card-body,
  .fr-portfolio-card-body.piece-card-body,
  .related-card .piece-card-body,
  .piece-related-card .piece-card-body {
    padding: 1.25rem 1.2rem 1.25rem !important;
    gap: .72rem !important;
  }

  .piece-card-title,
  .fr-card-copy h3.piece-card-title,
  .fr-portfolio-card-body h3.piece-card-title,
  .related-card h3.piece-card-title,
  .piece-related-card h3.piece-card-title {
    font-size: clamp(1.32rem, 6.1vw, 1.62rem) !important;
  }

  .piece-card-actions,
  .fr-card-copy .piece-card-actions,
  .fr-portfolio-card-actions.piece-card-actions,
  .related-card .piece-card-actions,
  .piece-related-card .piece-card-actions {
    display: flex !important;
    grid-template-columns: none !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: .62rem !important;
  }

  .piece-card-actions a,
  .fr-card-copy .piece-card-actions a,
  .fr-portfolio-card-actions.piece-card-actions a,
  .related-card .piece-card-actions a,
  .piece-related-card .piece-card-actions a,
  .card-action-btn,
  .card-link-btn {
    width: auto !important;
    max-width: none !important;
    min-height: 44px !important;
    padding: .70rem .90rem !important;
    font-size: .88rem !important;
  }
}

@media (max-width: 360px) {
  .piece-card-actions,
  .fr-card-copy .piece-card-actions,
  .fr-portfolio-card-actions.piece-card-actions,
  .related-card .piece-card-actions,
  .piece-related-card .piece-card-actions {
    flex-direction: column !important;
  }
  .piece-card-actions a,
  .fr-card-copy .piece-card-actions a,
  .fr-portfolio-card-actions.piece-card-actions a,
  .related-card .piece-card-actions a,
  .piece-related-card .piece-card-actions a {
    width: 100% !important;
    flex: 1 1 auto !important;
  }
}


/* === FILO: CARDS REFERENCIA PORTFOLIO 2026-05-10 === */
/*
  Ajuste solicitado: usar como referência global o padrão visual dos cards da página /portfolio/.
  Objetivo: imagem cheia no topo, corpo claro, categoria delicada, título com presença,
  descrição igual à lógica do portfólio e botões no mesmo padrão da home/portfolio.
*/
.piece-card-unified,
.fr-portfolio-card.piece-card-unified,
.fr-portfolio-card-v9.piece-card-unified,
.portfolio-card.piece-card-unified,
.related-card.piece-card-unified,
article.related-card.piece-card-unified,
.piece-related-card,
.fr-portfolio-grid .fr-portfolio-card,
.fr-portfolio-grid-v9 .portfolio-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fffdfb !important;
  border: 1px solid rgba(216,167,177,.24) !important;
  border-radius: 1.8rem !important;
  box-shadow: 0 18px 48px rgba(83,51,42,.08) !important;
  isolation: isolate !important;
  backdrop-filter: none !important;
}

.piece-card-unified::before,
.piece-card-unified::after,
.fr-portfolio-card.piece-card-unified::before,
.fr-portfolio-card.piece-card-unified::after,
.fr-portfolio-card-v9.piece-card-unified::before,
.fr-portfolio-card-v9.piece-card-unified::after,
.related-card.piece-card-unified::before,
.related-card.piece-card-unified::after,
.piece-related-card::before,
.piece-related-card::after {
  content: none !important;
  display: none !important;
}

.piece-card-unified:hover,
.fr-portfolio-card.piece-card-unified:hover,
.fr-portfolio-card-v9.piece-card-unified:hover,
.portfolio-card.piece-card-unified:hover,
.related-card.piece-card-unified:hover,
.piece-related-card:hover,
.fr-portfolio-grid .fr-portfolio-card:hover,
.fr-portfolio-grid-v9 .portfolio-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(216,167,177,.34) !important;
  box-shadow: 0 22px 56px rgba(83,51,42,.10) !important;
}

.piece-card-media,
.fr-card-image.piece-card-media,
.fr-portfolio-card-img.piece-card-media,
.related-card .piece-card-media,
.piece-related-card .piece-card-media,
.fr-portfolio-grid .fr-card-image,
.fr-portfolio-grid-v9 .fr-portfolio-card-img {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 4.75 !important;
  background: #f9eee9 !important;
  position: relative !important;
}

.piece-card-media::after,
.fr-card-image.piece-card-media::after,
.fr-portfolio-card-img.piece-card-media::after,
.fr-portfolio-grid-v9 .fr-portfolio-card-img::after {
  content: "" !important;
  position: absolute !important;
  inset: auto 0 0 0 !important;
  height: 26% !important;
  background: linear-gradient(180deg, transparent, rgba(59,42,36,.06)) !important;
  pointer-events: none !important;
}

.piece-card-media img,
.fr-card-image.piece-card-media img,
.fr-portfolio-card-img.piece-card-media img,
.related-card .piece-card-media img,
.piece-related-card .piece-card-media img,
.related-card img,
.fr-portfolio-grid .fr-card-image img,
.fr-portfolio-grid-v9 .fr-portfolio-card-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  margin: 0 !important;
  filter: none !important;
  opacity: 1 !important;
}

.piece-card-body,
.fr-card-copy.piece-card-body,
.fr-portfolio-card-body.piece-card-body,
.related-card .piece-card-body,
.piece-related-card .piece-card-body,
.fr-portfolio-grid .fr-card-copy,
.fr-portfolio-grid-v9 .fr-portfolio-card-body {
  display: flex !important;
  flex-direction: column !important;
  gap: .72rem !important;
  padding: 1.25rem 1.25rem 1.28rem !important;
  background: radial-gradient(circle at 92% 0%, rgba(244,220,225,.24), transparent 8rem), linear-gradient(180deg, #fffdfb 0%, #fff8fa 100%) !important;
  color: #3b2a24 !important;
  border-top: 1px solid rgba(216,167,177,.18) !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.piece-card-kicker,
.fr-card-copy span.piece-card-kicker,
.fr-portfolio-card-cat.piece-card-kicker,
.related-card .piece-card-kicker,
.piece-related-card .piece-card-kicker,
.fr-portfolio-grid .fr-card-copy span,
.fr-portfolio-grid-v9 .fr-portfolio-card-cat {
  margin: 0 !important;
  color: #b77986 !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  text-transform: none !important;
  font-size: .82rem !important;
  line-height: 1.2 !important;
}

.piece-card-title,
.fr-card-copy h3.piece-card-title,
.fr-portfolio-card-body h3.piece-card-title,
.related-card h3.piece-card-title,
.piece-related-card h3.piece-card-title,
.fr-portfolio-grid .fr-card-copy h3,
.fr-portfolio-grid-v9 .fr-portfolio-card-body h3 {
  margin: 0 !important;
  color: #3b2a24 !important;
  font-family: var(--font-display, Georgia, 'Times New Roman', serif) !important;
  font-size: clamp(1.55rem, 1.8vw, 2.05rem) !important;
  line-height: 1.07 !important;
  letter-spacing: -.02em !important;
}

.piece-card-description,
.fr-card-copy p.piece-card-description,
.fr-portfolio-card-desc,
.fr-portfolio-card-desc.piece-card-description,
.related-card .piece-card-description,
.piece-related-card .piece-card-description,
.fr-portfolio-grid .fr-card-copy p:not(.piece-card-kicker),
.fr-portfolio-grid-v9 .fr-portfolio-card-desc {
  margin: 0 !important;
  color: rgba(59,42,36,.68) !important;
  min-height: auto !important;
  font-size: .96rem !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.piece-card-actions,
.fr-card-copy .piece-card-actions,
.fr-portfolio-card-actions.piece-card-actions,
.related-card .piece-card-actions,
.piece-related-card .piece-card-actions,
.fr-portfolio-grid .fr-card-copy .piece-card-actions,
.fr-portfolio-grid-v9 .fr-portfolio-card-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: .65rem !important;
  width: 100% !important;
  margin-top: .34rem !important;
  padding-top: 0 !important;
}

.piece-card-actions a,
.fr-card-copy .piece-card-actions a,
.fr-portfolio-card-actions.piece-card-actions a,
.related-card .piece-card-actions a,
.piece-related-card .piece-card-actions a,
.fr-card-btn,
.card-action-btn,
.card-link-btn,
.fr-portfolio-grid .fr-card-copy .piece-card-actions a,
.fr-portfolio-grid-v9 .fr-portfolio-card-actions a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 2.85rem !important;
  padding: .72rem 1rem !important;
  border-radius: 999px !important;
  font-size: .85rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  max-width: none !important;
  width: auto !important;
  position: relative !important;
  z-index: 4 !important;
}

.piece-card-actions a:first-child,
.fr-card-copy .piece-card-actions a:first-child,
.fr-portfolio-card-actions.piece-card-actions a:first-child,
.related-card .piece-card-actions a:first-child,
.piece-related-card .piece-card-actions a:first-child,
.fr-card-btn-primary,
.card-action-btn,
.fr-portfolio-grid .fr-card-copy .piece-card-actions a:first-child,
.fr-portfolio-grid-v9 .fr-portfolio-card-actions a:first-child {
  flex: 1 1 48% !important;
  background: #3b2a24 !important;
  color: #fff !important;
  border: 1px solid #3b2a24 !important;
}

.piece-card-actions a:nth-child(n+2),
.fr-card-copy .piece-card-actions a:nth-child(n+2),
.fr-portfolio-card-actions.piece-card-actions a:nth-child(n+2),
.related-card .piece-card-actions a:nth-child(n+2),
.piece-related-card .piece-card-actions a:nth-child(n+2),
.fr-card-btn-secondary,
.card-link-btn,
.fr-portfolio-grid .fr-card-copy .piece-card-actions a:nth-child(n+2),
.fr-portfolio-grid-v9 .fr-portfolio-card-actions a:nth-child(n+2) {
  flex: 1 1 52% !important;
  background: rgba(255,255,255,.94) !important;
  color: #3b2a24 !important;
  border: 1px solid rgba(201,143,155,.46) !important;
}

.piece-card-actions a:hover,
.fr-card-copy .piece-card-actions a:hover,
.fr-portfolio-card-actions.piece-card-actions a:hover,
.related-card .piece-card-actions a:hover,
.piece-related-card .piece-card-actions a:hover,
.fr-card-btn:hover,
.card-action-btn:hover,
.card-link-btn:hover {
  transform: translateY(-1px) !important;
}

@media (max-width: 768px) {
  .piece-card-unified,
  .fr-portfolio-card.piece-card-unified,
  .fr-portfolio-card-v9.piece-card-unified,
  .portfolio-card.piece-card-unified,
  .related-card.piece-card-unified,
  .piece-related-card,
  .fr-portfolio-grid .fr-portfolio-card,
  .fr-portfolio-grid-v9 .portfolio-card {
    border-radius: 1.55rem !important;
  }

  .piece-card-body,
  .fr-card-copy.piece-card-body,
  .fr-portfolio-card-body.piece-card-body,
  .related-card .piece-card-body,
  .piece-related-card .piece-card-body,
  .fr-portfolio-grid .fr-card-copy,
  .fr-portfolio-grid-v9 .fr-portfolio-card-body {
    padding: 1.28rem 1.28rem 1.34rem !important;
    gap: .78rem !important;
  }

  .piece-card-title,
  .fr-card-copy h3.piece-card-title,
  .fr-portfolio-card-body h3.piece-card-title,
  .related-card h3.piece-card-title,
  .piece-related-card h3.piece-card-title,
  .fr-portfolio-grid .fr-card-copy h3,
  .fr-portfolio-grid-v9 .fr-portfolio-card-body h3 {
    font-size: clamp(1.55rem, 7vw, 1.95rem) !important;
    line-height: 1.08 !important;
  }

  .piece-card-actions,
  .fr-card-copy .piece-card-actions,
  .fr-portfolio-card-actions.piece-card-actions,
  .related-card .piece-card-actions,
  .piece-related-card .piece-card-actions,
  .fr-portfolio-grid .fr-card-copy .piece-card-actions,
  .fr-portfolio-grid-v9 .fr-portfolio-card-actions {
    gap: .65rem !important;
  }

  .piece-card-actions a,
  .fr-card-copy .piece-card-actions a,
  .fr-portfolio-card-actions.piece-card-actions a,
  .related-card .piece-card-actions a,
  .piece-related-card .piece-card-actions a,
  .fr-card-btn,
  .card-action-btn,
  .card-link-btn,
  .fr-portfolio-grid .fr-card-copy .piece-card-actions a,
  .fr-portfolio-grid-v9 .fr-portfolio-card-actions a {
    min-height: 2.75rem !important;
    font-size: .84rem !important;
    padding: .70rem .86rem !important;
  }
}

@media (max-width: 360px) {
  .piece-card-actions,
  .fr-card-copy .piece-card-actions,
  .fr-portfolio-card-actions.piece-card-actions,
  .related-card .piece-card-actions,
  .piece-related-card .piece-card-actions,
  .fr-portfolio-grid .fr-card-copy .piece-card-actions,
  .fr-portfolio-grid-v9 .fr-portfolio-card-actions {
    flex-direction: column !important;
  }

  .piece-card-actions a,
  .fr-card-copy .piece-card-actions a,
  .fr-portfolio-card-actions.piece-card-actions a,
  .related-card .piece-card-actions a,
  .piece-related-card .piece-card-actions a,
  .fr-card-btn,
  .card-action-btn,
  .card-link-btn {
    width: 100% !important;
    flex: 1 1 auto !important;
  }
}
