/* Real text occupies its final slots throughout; transforms never change layout. */
.text-placement{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px var(--gutter);overflow:hidden;isolation:isolate}
.placement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:center}
.placement-slot{min-width:0}.placement-slot:nth-child(2){justify-self:center}.placement-slot:last-child{justify-self:end}
.placement-label{display:inline-block;position:relative;font-family:var(--display);font-size:clamp(17px,2.3vw,36px);font-weight:650;letter-spacing:-.06em;white-space:nowrap;line-height:1.3}
.placement-label b{color:var(--red);font-weight:700}.placement-label:after{content:'';position:absolute;inset:-7px;border:1px solid var(--red);opacity:0;pointer-events:none}.placement-label.is-carried:after{opacity:1}
.placement-cursor{display:none;position:absolute;left:0;top:0;width:25px;height:34px;pointer-events:none;z-index:2;color:var(--ink);opacity:0;transform-origin:0 0}.placement-cursor svg{width:25px;height:34px;fill:var(--ink);stroke:var(--paper);stroke-width:1.5}.placement-cursor.is-grabbing svg{fill:var(--red)}
.placement-active{height:148px;display:flex;align-items:flex-end;padding-bottom:26px}.placement-active .placement-grid{width:100%}.placement-active .placement-cursor{display:block}
@media(max-width:700px){.text-placement{padding:24px var(--gutter)}.placement-grid{grid-template-columns:1fr;gap:30px}.placement-slot:nth-child(2),.placement-slot:last-child{justify-self:start}.placement-label{font-size:clamp(22px,5.5vw,32px)}.placement-active{height:264px;padding-bottom:26px}.placement-active .placement-grid{gap:36px}}
@media(hover:none),(pointer:coarse){.placement-active .placement-cursor{display:none}}
@media(prefers-reduced-motion:reduce){.text-placement.placement-active{height:auto;display:block}.placement-label{transform:none!important}.placement-cursor{display:none!important}.placement-label:after{display:none}}
