figure { margin: 0; }
figcaption { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-muted); margin-top: var(--space-2); }
.ratios { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--space-4); }
.ratios figure:last-child { grid-column: 1 / -1; }
.ratios img { width: 100%; object-fit: cover; border-radius: var(--radius-md); }
.r-169 { aspect-ratio: 16 / 9; } .r-11 { aspect-ratio: 1; } .r-34 { aspect-ratio: 3 / 4; } .r-219 { aspect-ratio: 21 / 9; object-position: top; }
.fits { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-4); }
.fits img { width: 100%; height: 200px; background: var(--color-dark); border-radius: var(--radius-sm); }
.fit-cover { object-fit: cover; } .fit-contain { object-fit: contain; } .fit-fill { object-fit: fill; } .fit-none { object-fit: none; }
.img-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.img-card { background: var(--color-surface); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--color-border); }
.img-card__media { position: relative; }
.img-card__media img, .nest-c img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.img-card__shade { position: absolute; inset: 0; background: var(--color-dark); opacity: 0.35; }
.img-card__chip { position: absolute; top: var(--space-3); left: var(--space-3); background: var(--color-surface); color: var(--color-text); font-size: var(--text-xs); font-weight: 700; padding: var(--space-1) var(--space-3); border-radius: var(--radius-pill); }
.img-card--round .img-card__media { padding: var(--space-5) var(--space-5) 0; }
.img-card--round img { border-radius: 50%; aspect-ratio: 1; width: 70%; margin-inline: auto; }
.img-card__body { padding: var(--space-4) var(--space-5) var(--space-5); }
.nest-a { padding: var(--space-2); background: var(--color-primary-soft); } .nest-b { padding: var(--space-2); background: var(--color-accent-soft); } .nest-c { border-radius: var(--radius-md); overflow: hidden; }
.svg-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); align-items: center; }
.illus { width: 100%; max-width: 420px; }
.illus .i-a { fill: var(--color-primary); } .illus .i-b { fill: var(--color-accent); opacity: 0.85; } .illus .i-c { fill: var(--color-highlight); stroke: var(--color-text); stroke-width: 2; }
.icons { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-3); }
.icons li { display: flex; align-items: center; gap: var(--space-2); font-weight: 600; }
.icons svg { width: 28px; height: 28px; fill: none; stroke: var(--color-primary); stroke-width: 2; stroke-linejoin: round; }
.compo { position: relative; height: 460px; }
.compo__shape { position: absolute; z-index: 1; width: 55%; height: 70%; left: 20%; top: 10%; background: var(--color-highlight); border-radius: var(--radius-lg); transform: rotate(-3deg); }
.compo img { position: absolute; object-fit: cover; border-radius: var(--radius-md); box-shadow: var(--shadow-md); }
.compo__a { z-index: 2; width: 50%; height: 280px; left: 0; top: 0; }
.compo__b { z-index: 3; width: 42%; height: 240px; right: 0; top: 60px; }
.compo__c { z-index: 4; width: 34%; height: 180px; left: 32%; bottom: 0; border: 5px solid var(--color-surface); }
.compo__caption { position: absolute; z-index: 4; left: 0; bottom: 0; max-width: 28%; font-size: var(--text-sm); color: var(--color-muted); }
.bg-banner { min-height: 340px; border-radius: var(--radius-lg); background-image: url("/_assets/ast_9r3lc3wq1qs.jpg"); background-size: cover; background-position: center; display: grid; place-items: center; padding: var(--space-5); }
.bg-banner__panel { background: var(--color-surface); padding: var(--space-5) var(--space-6); border-radius: var(--radius-md); max-width: 480px; }
@media (max-width: 900px) { .fits, .img-cards { grid-template-columns: 1fr 1fr; } .svg-row { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  .ratios, .fits, .img-cards { grid-template-columns: 1fr; }
  .compo { height: 520px; }
  .compo__a { width: 80%; height: 200px; } .compo__b { width: 70%; height: 180px; top: 170px; } .compo__c { width: 60%; height: 140px; left: 20%; bottom: 40px; }
  .compo__caption { max-width: 100%; bottom: 0; }
}

[data-node="div_5wcugf0m"] {
  background-image: url("/_assets/ast_a9yybwwk1r4.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
