:root {
  --meringue-ink: #281c1a;
  --meringue-wine: #7a3e49;
  --meringue-rose: #d88d9c;
  --meringue-cream: #fff9f2;
  --meringue-paper: #f2e5d8;
  --meringue-moss: #4d5d46;
}

body.case-meringue {
  background: var(--meringue-cream);
  color: var(--meringue-ink);
}

.case-meringue .site-header {
  background: rgba(255, 249, 242, 0.94);
  border-bottom-color: rgba(122, 62, 73, 0.16);
}

.case-meringue .site-header a { color: var(--meringue-ink); }
.case-meringue .site-header .brand-mark { color: var(--meringue-wine); }

.case-meringue .case-hero {
  background:
    radial-gradient(circle at 12% 22%, rgba(216, 141, 156, 0.22), transparent 27rem),
    linear-gradient(125deg, #fffaf5 0%, #f7e8dc 52%, #e8d1c2 100%);
}

.case-meringue .case-hero-image {
  border: 1px solid rgba(122, 62, 73, 0.2);
  box-shadow: 1.2rem 1.25rem 0 rgba(122, 62, 73, 0.12), 0 1.5rem 4rem rgba(76, 42, 33, 0.14);
  overflow: hidden;
}

.case-meringue .case-hero-image img { height: 100%; object-fit: cover; width: 100%; }

.case-meringue .case-hero-content {
  align-content: center;
  background: rgba(255, 250, 245, 0.72);
  border: 1px solid rgba(122, 62, 73, 0.16);
  display: grid;
  padding: clamp(1.5rem, 3vw, 3rem);
}

.case-meringue .case-hero-content::before { content: none; }

.case-meringue .eyebrow,
.case-meringue .case-kicker,
.case-meringue .gallery-caption span,
.case-meringue .case-note strong {
  color: var(--meringue-wine);
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.case-meringue h1,
.case-meringue h2,
.case-meringue h3 { color: var(--meringue-ink); }
.case-meringue .case-hero h1 { color: var(--meringue-ink) !important; font-family: Georgia, serif; font-size: clamp(3rem, 5.4vw, 5.7rem); letter-spacing: -0.06em; line-height: 0.9; margin: 0.4rem 0 1.25rem; text-shadow: none !important; }
.case-meringue .hero-copy { color: #58413c; font-size: 1.08rem; line-height: 1.7; max-width: 37rem; }

.case-meringue .case-intro,
.case-meringue .case-gallery,
.case-meringue .case-direction,
.case-meringue .case-next { padding: clamp(4rem, 8vw, 8rem) clamp(18px, 8vw, 9rem); }

.case-meringue .case-intro { background: #352720; color: #fff9f2; }
.case-meringue .case-intro h2 { color: #fff9f2; font-family: Georgia, serif; font-size: clamp(2rem, 4.2vw, 4.3rem); letter-spacing: -0.05em; line-height: 0.98; margin: 0.45rem 0 0; max-width: 18ch; }
.case-meringue .case-intro-grid { display: grid; gap: 2rem; grid-template-columns: minmax(15rem, 0.8fr) minmax(20rem, 1.2fr); }
.case-meringue .case-intro-copy { align-self: end; color: #eadbd1; font-size: 1.1rem; line-height: 1.72; }
.case-meringue .case-intro-copy p { margin: 0; }

.case-meringue .case-note {
  align-items: start;
  background: rgba(216, 141, 156, 0.15);
  border-left: 3px solid var(--meringue-rose);
  color: #f8e9e2;
  display: grid;
  gap: 0.45rem;
  margin-top: 2rem;
  padding: 1rem 1.15rem;
}
.case-meringue .case-note strong { color: #f8b6c3; }

.case-meringue .case-gallery { background: var(--meringue-paper); }
.case-meringue .section-heading { align-items: end; display: flex; gap: 2rem; justify-content: space-between; margin-bottom: clamp(1.8rem, 4vw, 3rem); }
.case-meringue .section-heading h2 { font-family: Georgia, serif; font-size: clamp(2.3rem, 4.5vw, 4.7rem); letter-spacing: -0.055em; line-height: 0.92; margin: 0.35rem 0 0; }
.case-meringue .section-heading > p { color: #654d47; line-height: 1.6; max-width: 34rem; }

.case-meringue .cake-gallery { display: grid; gap: clamp(0.75rem, 1.8vw, 1.5rem); grid-template-columns: repeat(12, 1fr); }
.case-meringue .cake-gallery figure { background: #f9f4ee; border: 1px solid rgba(122, 62, 73, 0.14); margin: 0; overflow: hidden; }
.case-meringue .cake-gallery figure:nth-child(1) { grid-column: span 7; }
.case-meringue .cake-gallery figure:nth-child(2) { grid-column: span 5; }
.case-meringue .cake-gallery figure:nth-child(2) img { aspect-ratio: 4 / 5; object-position: center; }
.case-meringue .cake-gallery img { aspect-ratio: 3 / 2; display: block; height: auto; object-fit: cover; transition: transform 500ms ease; width: 100%; }
.case-meringue .cake-gallery figure:hover img { transform: scale(1.025); }
.case-meringue .gallery-caption { align-items: center; background: #fffaf5; display: flex; gap: 0.8rem; justify-content: space-between; padding: 0.95rem 1rem 1rem; }
.case-meringue .gallery-caption strong { font-size: 1rem; }

.case-meringue .art-collection {
  background:
    radial-gradient(circle at 92% 12%, rgba(216, 141, 156, 0.2), transparent 25rem),
    #fff9f2;
  padding: clamp(4rem, 8vw, 8rem) clamp(18px, 8vw, 9rem);
}

.case-meringue .art-collection__note {
  border-left: 2px solid rgba(122, 62, 73, 0.45);
  color: #604741;
  font-size: 0.94rem;
  line-height: 1.6;
  margin: 0 0 clamp(1.5rem, 3vw, 2.4rem);
  max-width: 48rem;
  padding-left: 1rem;
}

.case-meringue .art-collection-grid {
  display: grid;
  gap: clamp(0.8rem, 1.8vw, 1.5rem);
  grid-template-columns: repeat(12, 1fr);
}

.case-meringue .art-collection-card {
  background: #fffdf9;
  border: 1px solid rgba(122, 62, 73, 0.16);
  margin: 0;
  overflow: hidden;
}

.case-meringue .art-collection-card:nth-child(1),
.case-meringue .art-collection-card:nth-child(2) { grid-column: span 4; }
.case-meringue .art-collection-card:nth-child(3) { grid-column: span 4; }
.case-meringue .art-collection-card img { aspect-ratio: 4 / 5; display: block; height: auto; object-fit: cover; transition: transform 500ms ease; width: 100%; }
.case-meringue .art-collection-card:nth-child(3) img { aspect-ratio: 4 / 5; object-position: center; }
.case-meringue .art-collection-card:hover img { transform: scale(1.025); }
.case-meringue .art-collection-card figcaption { display: grid; gap: 0.35rem; padding: 1rem; }
.case-meringue .art-collection-card span { color: var(--meringue-wine); font-family: var(--font-mono, ui-monospace, monospace); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.case-meringue .art-collection-card strong { color: var(--meringue-ink); font-family: Georgia, serif; font-size: 1.45rem; font-weight: 500; }
.case-meringue .art-collection-card small { color: #70564e; font-size: 0.9rem; line-height: 1.45; }

.case-meringue .case-direction { background: linear-gradient(132deg, #fffaf5, #f7e4dc); }
.case-meringue .direction-grid { display: grid; gap: clamp(1rem, 3vw, 2.4rem); grid-template-columns: repeat(3, 1fr); }
.case-meringue .direction-grid article { background: rgba(255, 252, 248, 0.75); border-top: 2px solid var(--meringue-rose); padding: 1.4rem 1.2rem 1.6rem; }
.case-meringue .direction-grid h3 { font-family: Georgia, serif; font-size: 1.65rem; margin: 0.55rem 0; }
.case-meringue .direction-grid p { color: #624c46; line-height: 1.6; margin: 0; }

.case-meringue .case-next { background: var(--meringue-moss); color: #f9f0e7; }
.case-meringue .case-next h2 { color: #fffaf4; font-family: Georgia, serif; font-size: clamp(2.2rem, 4.3vw, 4.5rem); letter-spacing: -0.05em; margin: 0.35rem 0 1rem; }
.case-meringue .case-next p { color: #e8e1d2; line-height: 1.7; max-width: 50rem; }
.case-meringue .case-live-link { align-items: center; border: 1px solid rgba(255,250,244,.55); color: #fffaf4; display: inline-flex; font-family: var(--font-mono, ui-monospace, monospace); font-size: .72rem; font-weight: 700; gap: .7rem; letter-spacing: .08em; margin-top: 1.25rem; padding: .85rem 1rem; text-decoration: none; text-transform: uppercase; transition: background .16s ease, color .16s ease, transform .16s ease; }
.case-meringue .case-live-link:hover, .case-meringue .case-live-link:focus-visible { background: #fffaf4; color: var(--meringue-moss); transform: translateY(-2px); }

@media (max-width: 980px) {
  .case-meringue .case-intro-grid { grid-template-columns: 1fr; }
  .case-meringue .case-intro h2 { max-width: 26ch; }
}

@media (max-width: 680px) {
  .case-meringue .case-hero-content { padding: 1.35rem; }
  .case-meringue .section-heading { align-items: start; flex-direction: column; gap: 0.8rem; }
  .case-meringue .cake-gallery figure:nth-child(n) { grid-column: span 12; }
  .case-meringue .art-collection-card:nth-child(n) { grid-column: span 12; }
  .case-meringue .art-collection-card:nth-child(3) img { aspect-ratio: 4 / 5; }
  .case-meringue .direction-grid { grid-template-columns: 1fr; }
}
