/* 13 · ATELIER REAL — true-form full belt, photoreal detail.
   Waistband + hinges + front shield + crotch strap + padlock + chain + tag. */
.variant-real.active { animation: real-breathe 7s ease-in-out infinite; }

/* waistband */
.real-waist { background: linear-gradient(180deg, #f4f6f8 0%, #c9d2d9 12%, #8b98a4 30%, #4a5560 55%, #23282d 78%, #0c0e10 100%); border: 1px solid #0a0c0e; border-radius: 50%; box-shadow: 0 22px 38px rgba(0,0,0,0.6), inset 0 3px 4px rgba(255,255,255,0.95), inset 0 -14px 22px rgba(0,0,0,0.65); height: 112px; left: 26px; position: absolute; top: 38px; width: 288px; }
.real-waist-leather { background: repeating-linear-gradient(90deg, #3a2a18 0 10px, #2c1f10 10px 12px), linear-gradient(180deg, #5a4226, #241708); border: 1px solid #120b04; border-radius: 50%; box-shadow: inset 0 8px 16px rgba(0,0,0,0.85), inset 0 -2px 4px rgba(255,220,170,0.25); height: 64px; left: 20px; position: absolute; top: 24px; width: 248px; }
.real-stitch { border-radius: 50%; height: 52px; left: 32px; position: absolute; width: 224px; }
.real-stitch.rs-top { border-top: 2px dashed rgba(255,228,180,0.7); top: 28px; }
.real-stitch.rs-bottom { border-bottom: 2px dashed rgba(255,228,180,0.5); bottom: 20px; height: 52px; top: auto; }
.real-rivet { background: radial-gradient(circle at 35% 28%, #ffffff 0%, #dfe7ed 22%, #8b98a4 48%, #3a4249 78%, #14181c 100%); border: 1px solid #0a0c0e; border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,0.7), inset 0 1px 1px rgba(255,255,255,0.9); height: 13px; position: absolute; width: 13px; }
.real-rivet.rr1 { left: 46px; top: 52px; } .real-rivet.rr2 { left: 96px; top: 70px; } .real-rivet.rr3 { left: 152px; top: 76px; }
.real-rivet.rr4 { left: 208px; top: 70px; } .real-rivet.rr5 { right: 46px; top: 52px; } .real-rivet.rr6 { left: 152px; top: 14px; height: 11px; width: 11px; }
.variant-real.active .real-rivet { animation: real-rivet-glow 3s ease-in-out infinite; }
.variant-real.active .rr2 { animation-delay: 0.4s; } .variant-real.active .rr3 { animation-delay: 0.8s; }
.variant-real.active .rr4 { animation-delay: 1.2s; } .variant-real.active .rr5 { animation-delay: 1.6s; }
.real-hinge { background: linear-gradient(135deg, #e6ecf1 0%, #7d8892 45%, #2b3137 100%); border: 1px solid #0a0c0e; border-radius: 6px; box-shadow: 0 6px 12px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.8); height: 44px; position: absolute; top: 30px; width: 26px; }
.real-hinge.rh-left { left: 8px; transform: rotate(-8deg); } .real-hinge.rh-right { right: 8px; transform: rotate(8deg); }
.real-hinge::before, .real-hinge::after { background: radial-gradient(circle at 35% 30%, #fff, #5b6671 70%); border: 1px solid #0a0c0e; border-radius: 50%; content: ""; height: 7px; left: 8px; position: absolute; width: 7px; }
.real-hinge::before { top: 7px; } .real-hinge::after { bottom: 7px; }
.real-waist-glint { animation: real-glint 4.5s ease-in-out infinite; border-radius: 50%; border-top: 3px solid rgba(255,255,255,0.95); display: block; height: 62px; left: 38px; position: absolute; top: 8px; width: 212px; }

/* side bridges waist -> shield */
.real-bridge { background: linear-gradient(180deg, #aeb8c1 0%, #5c6670 45%, #23282d 100%); border: 1px solid #0a0c0e; box-shadow: 0 10px 18px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.7); height: 66px; position: absolute; top: 108px; width: 30px; z-index: 1; }
.real-bridge.bridge-left { border-radius: 10px 4px 8px 12px; left: 96px; transform: rotate(14deg); }
.real-bridge.bridge-right { border-radius: 4px 10px 12px 8px; right: 96px; transform: rotate(-14deg); }
.real-bridge::after { border-left: 2px dashed rgba(20,26,31,0.6); content: ""; height: 52px; left: 13px; position: absolute; top: 7px; }

/* front shield — anatomically curved plate */
.real-shield { background: linear-gradient(165deg, #eef3f7 0%, #b9c3cc 18%, #7d8892 38%, #4a5560 58%, #23282d 82%, #0c0e10 100%); border: 1px solid #0a0c0e; border-radius: 52px 52px 78px 78px / 30px 30px 110px 110px; box-shadow: inset 0 0 0 2px rgba(255,255,255,0.45), inset -14px 0 26px rgba(0,0,0,0.5), inset 14px 0 26px rgba(0,0,0,0.35), 0 26px 40px rgba(0,0,0,0.6); height: 212px; left: 108px; overflow: hidden; position: absolute; top: 128px; width: 124px; z-index: 2; }
.real-shield-bevel { border: 2px solid rgba(20,26,31,0.55); border-radius: 42px 42px 64px 64px / 24px 24px 92px 92px; box-shadow: inset 0 0 0 1px rgba(255,255,255,0.5); height: 190px; left: 9px; position: absolute; top: 10px; width: 102px; }
.real-shield-brush { animation: real-brush-shift 6s ease-in-out infinite; background: repeating-linear-gradient(93deg, transparent 0 3px, rgba(255,255,255,0.09) 3px 4px, transparent 4px 7px); inset: 0; position: absolute; }
.real-center-rib { background: linear-gradient(90deg, #14181c 0%, #8b98a4 22%, #f2f5f7 50%, #8b98a4 78%, #14181c 100%); border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.5); height: 170px; left: 57px; opacity: 0.9; position: absolute; top: 20px; width: 10px; }
.real-hole { background: radial-gradient(circle at 50% 30%, #000 0 3px, #14181c 4px, #3a4249 6px); border-radius: 6px; box-shadow: inset 0 2px 4px #000, 0 1px 0 rgba(255,255,255,0.55); height: 14px; position: absolute; width: 8px; }
.real-hole.h1 { left: 34px; top: 66px; } .real-hole.h2 { left: 58px; top: 72px; } .real-hole.h3 { right: 34px; top: 66px; }
.real-hole.h4 { left: 34px; top: 94px; } .real-hole.h5 { left: 58px; top: 100px; } .real-hole.h6 { right: 34px; top: 94px; }
.real-hole.h7 { left: 34px; top: 122px; } .real-hole.h8 { left: 58px; top: 128px; } .real-hole.h9 { right: 34px; top: 122px; }
.real-hole.h10 { left: 42px; top: 150px; } .real-hole.h11 { left: 58px; top: 154px; } .real-hole.h12 { right: 42px; top: 150px; }
.real-engrave { color: rgba(20,26,31,0.75); font-family: var(--mono); font-size: 0.52rem; left: 0; letter-spacing: 0.18em; position: absolute; text-align: center; text-shadow: 0 1px 0 rgba(255,255,255,0.6); top: 34px; width: 100%; }
.real-shield-sheen { animation: real-sheen 5s ease-in-out infinite; background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,0.55) 50%, transparent 65%); height: 100%; left: -60%; position: absolute; top: 0; width: 220%; }

/* crotch strap extension */
.real-crotch { background: linear-gradient(180deg, #3a4249 0%, #23282d 40%, #14181c 100%); border: 1px solid #0a0c0e; border-top: 0; border-radius: 0 0 30px 30px; box-shadow: 0 16px 26px rgba(0,0,0,0.55), inset 0 0 0 1px rgba(255,255,255,0.2); height: 48px; left: 136px; position: absolute; top: 326px; width: 68px; z-index: 1; }
.real-crotch::before { border-left: 2px dashed rgba(200,210,220,0.4); content: ""; height: 36px; left: 8px; position: absolute; top: 6px; }
.real-crotch::after { border-right: 2px dashed rgba(200,210,220,0.4); content: ""; height: 36px; right: 8px; position: absolute; top: 6px; }
.real-crotch-studs { background: radial-gradient(circle at 35% 30%, #fff, #7d8892 70%); border: 1px solid #0a0c0e; border-radius: 50%; height: 8px; left: 30px; position: absolute; top: 10px; width: 8px; box-shadow: 0 10px 0 -1px #9aa7b4, 0 10px 0 0 #0a0c0e, 0 20px 0 -1px #9aa7b4, 0 20px 0 0 #0a0c0e; }

/* lock assembly */
.real-lock { animation: real-lock-sway 3.6s ease-in-out infinite; filter: drop-shadow(0 12px 14px rgba(0,0,0,0.6)); left: 147px; position: absolute; top: 82px; transform-origin: top center; z-index: 4; }
.real-shackle { border: 6px solid #d7dee5; border-bottom: 0; border-radius: 18px 18px 0 0; box-shadow: inset 0 2px 2px rgba(255,255,255,0.9), 0 2px 4px rgba(0,0,0,0.5); height: 26px; margin: 0 auto -6px; position: relative; width: 34px; overflow: hidden; }
.real-shackle::after { animation: real-shackle-glint 3s ease-in-out infinite; background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,0.95) 50%, transparent 70%); content: ""; height: 100%; left: 0; position: absolute; top: 0; width: 100%; }
.real-lockbody { align-items: center; background: linear-gradient(135deg, #f2f5f7 0%, #9aa7b4 35%, #4a5560 70%, #1c2126 100%); border: 1px solid #0a0c0e; border-radius: 8px; box-shadow: inset 0 1px 0 rgba(255,255,255,0.9), inset 0 -6px 10px rgba(0,0,0,0.5); display: flex; height: 50px; justify-content: center; position: relative; width: 46px; }
.real-lockbody::before { background: linear-gradient(180deg, rgba(255,255,255,0.7), transparent); border-radius: 4px; content: ""; height: 20px; left: 5px; position: absolute; top: 4px; width: 7px; }
.real-keyhole { animation: real-key-glow 2.6s ease-in-out infinite; background: radial-gradient(circle at 50% 32%, #000 0 3px, #2c2f2c 4px); border: 1px solid rgba(255,255,255,0.6); border-radius: 50%; display: block; height: 11px; position: relative; width: 11px; }
.real-keyhole::after { background: #0c0e0c; border-radius: 1px; content: ""; height: 13px; left: 3px; position: absolute; top: 8px; width: 4px; }
.real-pin { background: #14181c; border-radius: 50%; bottom: 6px; height: 5px; left: 8px; position: absolute; width: 5px; box-shadow: 24px 0 0 #14181c; }
.real-chain { display: flex; justify-content: center; margin-top: -2px; }
.real-chain span { animation: real-chain-link 2.4s ease-in-out infinite; border: 3px solid #aeb8c1; border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.7); display: block; height: 16px; margin-left: -5px; width: 16px; }
.real-chain span:nth-child(2) { animation-delay: 0.3s; } .real-chain span:nth-child(3) { animation-delay: 0.6s; }
.real-tag { animation: real-tag-swing 4.5s ease-in-out infinite; background: linear-gradient(135deg, #e8c680, #7d4f21); border: 1px solid #2b1a08; border-radius: 3px; color: #2b1a08; font-family: var(--mono); font-size: 0.52rem; left: 50%; letter-spacing: 0.14em; margin-top: 4px; padding: 3px 6px; position: absolute; top: 100%; transform: translateX(-50%); transform-origin: top center; white-space: nowrap; }
.real-tag::before { background: #2b1a08; border-radius: 50%; content: ""; height: 4px; left: 50%; position: absolute; top: 1px; transform: translateX(-50%); width: 4px; }

@keyframes real-breathe { 0%, 100% { transform: translateY(0) rotate(0.4deg); } 50% { transform: translateY(-8px) rotate(-0.4deg); } }
@keyframes real-glint { 0%, 100% { opacity: 0.5; } 50% { opacity: 1; } }
@keyframes real-sheen { 0%, 100% { transform: translateX(0); opacity: 0.5; } 50% { transform: translateX(38%); opacity: 1; } }
@keyframes real-brush-shift { 0%, 100% { transform: translateX(0); opacity: 0.7; } 50% { transform: translateX(6px); opacity: 1; } }
@keyframes real-rivet-glow { 0%, 100% { filter: brightness(1); } 50% { filter: brightness(1.5); box-shadow: 0 0 12px rgba(255,255,255,0.8); } }
@keyframes real-lock-sway { 0%, 100% { transform: rotate(3deg); } 50% { transform: rotate(-3deg) translateY(1px); } }
@keyframes real-shackle-glint { 0%, 100% { opacity: 0.25; transform: translateX(-30%); } 50% { opacity: 1; transform: translateX(30%); } }
@keyframes real-key-glow { 0%, 100% { box-shadow: 0 0 0 rgba(255,220,150,0); } 50% { box-shadow: 0 0 10px rgba(255,220,150,0.9); } }
@keyframes real-chain-link { 0%, 100% { transform: rotate(5deg); } 50% { transform: rotate(-5deg); } }
@keyframes real-tag-swing { 0%, 100% { transform: translateX(-50%) rotate(-6deg); } 50% { transform: translateX(-50%) rotate(6deg); } }
