@layer sections {
#doors { padding: var(--space-1) 0; overflow-x: clip; }
#doors .dr-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr) minmax(0, 1fr); align-items: center; gap: clamp(20px, 3vw, 48px); }
#doors .dr-door { position: relative; display: grid; justify-items: center; gap: 16px; }
#doors .dr-door__frame { width: 100%; aspect-ratio: 3 / 4.3; overflow: hidden; border-radius: 999px 999px var(--radius-3) var(--radius-3); background: var(--color-3); }
#doors .dr-door__frame img { width: 100%; height: 100%; object-fit: cover; }
#doors .dr-door--cat img { object-position: 52% 62%; }
#doors .dr-door--dog img { object-position: 50% 40%; }
#doors .dr-copy { position: relative; z-index: 0; display: grid; justify-items: center; gap: 20px; text-align: center; }
#doors .dr-copy .m-text-2 { font-size: clamp(34px, 3.7vw, 54px); max-width: 12ch; }
#doors .dr-copy > .m-text { max-width: 38ch; }
#doors .dr-mark { --m-shape-size: 34px; background: var(--color-5); }
#doors .dr-sides { display: grid; gap: 0; width: 100%; margin-top: 8px; text-align: left; }
#doors .dr-side { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 4px 14px; padding: 14px 0; border-top: 1.5px solid var(--color-2); }
#doors .dr-side .m-shape-2, #doors .dr-side .m-shape-3, #doors .dr-side .m-shape-4 { --m-shape-size: 18px; margin-top: 4px; grid-row: span 2; }
#doors .dr-side:nth-child(1) span:first-child { background: var(--color-7); }
#doors .dr-side:nth-child(2) span:first-child { background: var(--color-6); }
#doors .dr-side:nth-child(3) span:first-child { background: var(--color-9); }
#doors .dr-side .m-text-3 { font-size: 19px; }
@media (max-width: 900px) {
  #doors .dr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
  #doors .dr-copy { grid-column: 1 / -1; grid-row: 2; }
  #doors .dr-door .m-badge { font-size: 13px; padding: 0 10px; }
}
}
