.attraction-card { grid-template-columns:minmax(0,1fr) minmax(0,1fr); max-width:1000px; margin:auto; }
.attraction-visual { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:28px; background:radial-gradient(ellipse at center,#31305d80,transparent 70%),#0b132b; min-width:0; }
.attraction-visual>span { font:500 .7rem var(--font-mono); letter-spacing:.15em; color:#80edff; }
.attraction-visual svg { width:100%; max-width:300px; }
.attraction-visual strong { color:#d5c5ff; font:700 clamp(1.3rem,3vw,2.3rem) var(--font-heading); letter-spacing:.05em; }
.attraction-card .lrn-card-body { align-self:center; padding:32px; }
@media(max-width:650px) { .attraction-card { grid-template-columns:minmax(0,1fr); } .attraction-card .lrn-card-body { padding:24px; } .attraction-visual svg { max-width:220px; } }

.attraction-visual.attraction-poster { padding:0; background:#080c1d; }
.attraction-poster img { display:block; width:100%; height:auto; }
.attraction-poster-section { padding-top:32px; padding-bottom:48px; text-align:center; }
.attraction-poster-section h2 { color:#a4ebff; font-family:var(--font-heading); margin-bottom:24px; }
.attraction-poster-section>img { display:block; width:100%; max-width:680px; height:auto; margin:auto; border:1px solid #64daff55; border-radius:12px; }

.attraction-card+.attraction-card { margin-top:28px; }
.attraction-poster-note { margin-top:18px!important; font-size:.8rem!important; color:#b4c6d8!important; }
