.bloom-collection-article,
.bloom-flower-article { overflow: hidden; border-color: rgba(173, 126, 92, 0.28); background: linear-gradient(145deg, rgba(255, 251, 245, 0.98), rgba(250, 232, 229, 0.9)); }
.bloom-collection-hero { position: relative; min-height: clamp(430px, 66vw, 680px); margin: -2rem -2rem 2.4rem; overflow: hidden; display: grid; align-items: end; isolation: isolate; }
.bloom-collection-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(35, 26, 19, 0.04) 30%, rgba(35, 26, 19, 0.82) 100%); }
.bloom-collection-hero > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.bloom-collection-hero > div { max-width: 720px; padding: clamp(2rem, 6vw, 4rem); color: #fffaf2; }
.bloom-collection-hero h1 { margin: 0.25rem 0 0.75rem; color: #fffaf2; font-size: clamp(3.2rem, 9vw, 7rem); line-height: 0.9; letter-spacing: -0.055em; }
.bloom-collection-hero p { color: #fffaf2; font-size: clamp(1.05rem, 2vw, 1.35rem); }
.bloom-collection-hero .overline { color: #ffe2a7; }
.bloom-collection-hero .btn:not(.btn-primary) { color: #fffaf2; border-color: rgba(255, 250, 242, 0.72); background: rgba(30, 22, 16, 0.34); }
.bloom-species-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; margin-top: 2.5rem; }
.bloom-species-card { display: grid; grid-template-rows: auto auto 1fr; gap: 0.55rem; min-width: 0; padding: 0.7rem 0.7rem 1rem; border: 1px solid rgba(123, 82, 61, 0.22); border-radius: 1.25rem; color: #34241c; background: rgba(255, 252, 247, 0.88); box-shadow: 0 18px 42px rgba(77, 48, 34, 0.08); text-decoration: none; transition: transform 0.45s ease, box-shadow 0.45s ease, border-color 0.45s ease; }
.bloom-species-card img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; border-radius: 0.9rem; filter: sepia(0.08) contrast(1.02); transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1), filter 0.5s ease; }
.bloom-species-card span { color: #a45f74; font-size: 0.76rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.bloom-species-card strong { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1rem, 1.45vw, 1.22rem); line-height: 1.2; }
.bloom-species-card:hover { transform: translateY(-7px); border-color: rgba(164, 95, 116, 0.5); box-shadow: 0 24px 54px rgba(77, 48, 34, 0.15); }
.bloom-species-card:hover img { transform: scale(1.035); filter: sepia(0) contrast(1.04); }
.bloom-flower-hero { max-width: 780px; margin: 2rem auto; text-align: center; }
.bloom-flower-hero img { max-height: 760px; object-fit: contain; background: #fff; box-shadow: 0 28px 65px rgba(75, 46, 34, 0.15); }
.bloom-flower-hero figcaption { margin-top: 0.7rem; color: #765a4f; font-size: 0.86rem; }
.bloom-reader-callout { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 2.5rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid rgba(177, 131, 76, 0.35); border-radius: 1.4rem; background: linear-gradient(120deg, #432d23, #6d4939); color: #fffaf2; }
.bloom-reader-callout h2, .bloom-reader-callout p { color: #fffaf2; }
.bloom-reader-callout .overline { color: #f4cf87; }
@media (prefers-reduced-motion: no-preference) {
  .bloom-collection-hero > img { animation: bloomHeroDrift 16s ease-in-out infinite alternate; }
  .bloom-collection-hero h1 { background: linear-gradient(100deg, #fffaf2 10%, #f4cf87 48%, #fffaf2 78%); background-size: 220% auto; color: transparent; -webkit-background-clip: text; background-clip: text; animation: bloomTitleGlow 8s linear infinite; }
  .bloom-flower-hero img { animation: bloomPageBreathe 7s ease-in-out infinite; }
  .bloom-species-card:nth-child(2n) { --reveal-delay: 110ms; }
  .bloom-species-card:nth-child(3n) { --reveal-delay: 190ms; }
}
@keyframes bloomHeroDrift { from { transform: scale(1.01) translate3d(-0.4%, 0, 0); } to { transform: scale(1.07) translate3d(0.6%, -0.8%, 0); } }
@keyframes bloomTitleGlow { to { background-position: -220% center; } }
@keyframes bloomPageBreathe { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@media (max-width: 980px) { .bloom-species-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .bloom-collection-hero { margin: -1.2rem -1.2rem 1.7rem; min-height: 570px; }
  .bloom-collection-hero > img { object-position: 58% center; }
  .bloom-collection-hero > div { padding: 1.35rem; }
  .bloom-collection-hero .hero-actions { align-items: stretch; }
  .bloom-species-grid { grid-template-columns: 1fr; }
  .bloom-species-card { grid-template-columns: 108px 1fr; grid-template-rows: auto 1fr; align-items: center; }
  .bloom-species-card img { grid-row: 1 / 3; aspect-ratio: 4 / 5; }
  .bloom-reader-callout { align-items: stretch; flex-direction: column; }
}
