.full-roster { margin-top: 70px; padding-top: 38px; border-top: 1px solid var(--line); }
.roster-list { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.roster-list > span { background: var(--paper); padding: 1.3rem; font: 600 1.05rem "Playfair Display", serif; }
.roster-list small { display: block; margin-top: .35rem; color: var(--muted); font: 500 .62rem "DM Sans", sans-serif; }
.sandbox-button { margin-top: 1.2rem; }

.sandbox-page { background: #100f14; color: var(--paper); }
.sandbox-hero { min-height: 610px; padding: 130px clamp(24px, 9vw, 150px) 90px; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 7vw; background: radial-gradient(circle at 80% 35%, rgba(216,168,78,.13), transparent 30%), linear-gradient(145deg,#0f192a,#100f14 55%,#25182d); }
.sandbox-hero h1 { margin: 0; font: 600 clamp(4.2rem, 8vw, 8rem)/.86 "Playfair Display", serif; letter-spacing: -.055em; }
.sandbox-hero h1 em { color: var(--gold); }
.sandbox-hero .lede { max-width: 560px; }
.sandbox-deck { position: relative; height: 340px; }
.sandbox-deck .demo-card { left: 50%; top: 50%; }
.sandbox-deck .demo-card:nth-child(1) { transform: translate(-90%,-55%) rotate(-18deg); }
.sandbox-deck .demo-card:nth-child(2) { transform: translate(-45%,-65%) rotate(-3deg); }
.sandbox-deck .demo-card:nth-child(3) { transform: translate(5%,-48%) rotate(14deg); }
.sandbox-intro { padding: 100px clamp(24px, 9vw, 150px) 30px; background: #eee3d1; color: var(--ink); display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; }
.sandbox-intro h2 { margin: 0; font: 600 clamp(3rem, 5vw, 5.5rem)/.95 "Playfair Display", serif; }
.sandbox-intro p { color: var(--muted); line-height: 1.85; max-width: 650px; }
.modes-section { padding: 60px clamp(24px, 9vw, 150px) 120px; background: #eee3d1; color: var(--ink); }
.modes-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.mode-card { background: var(--paper); padding: 2rem; min-height: 235px; }
.mode-top { display: flex; align-items: center; gap: .8rem; margin-bottom: 1.4rem; }
.mode-key { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--gold); color: #795915; font: 600 .8rem "DM Sans", sans-serif; }
.mode-card h3 { margin: 0; font: 600 1.45rem "Playfair Display", serif; }
.mode-card p { color: var(--muted); line-height: 1.7; font-size: .86rem; }
.mode-card.featured { background: var(--indigo); color: var(--paper); }
.mode-card.featured p { color: #bec6d2; }
.mode-note { margin: 3rem auto 0; max-width: 800px; text-align: center; color: var(--muted); line-height: 1.8; }
.sandbox-cta { text-align: center; padding: 100px 24px; background: #151116; }
.sandbox-cta h2 { margin: 0 0 2rem; font: 600 clamp(3rem, 6vw, 6rem)/.95 "Playfair Display", serif; }

.policy-body { background: #eee3d1; }
.policy-header { position: static; background: #100f14; }
.policy-main { min-height: calc(100vh - 180px); padding: 90px 24px 120px; }
.policy-shell { width: min(760px, 100%); margin: auto; }
.policy-shell h1 { margin: 0 0 1rem; font: 600 clamp(3.5rem, 8vw, 6.5rem)/.95 "Playfair Display", serif; letter-spacing: -.045em; }
.policy-date { color: var(--muted); margin-bottom: 3.5rem; }
.policy-intro { font: 600 1.45rem/1.5 "Playfair Display", serif; border-left: 2px solid var(--gold); padding-left: 1.4rem; margin-bottom: 3.5rem; }
.policy-content { padding-top: 1rem; border-top: 1px solid var(--line); }
.policy-content section { padding: 2rem 0; border-bottom: 1px solid var(--line); }
.policy-content h2 { margin: 0 0 .9rem; font: 600 1.65rem "Playfair Display", serif; }
.policy-content p, .policy-content li { color: #5f5852; line-height: 1.8; }
.policy-content a { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 3px; }
.policy-content strong { color: var(--ink); }
.back-link { display: inline-flex; gap: .55rem; margin-bottom: 3rem; color: var(--muted); font-size: .8rem; }

@media (max-width: 900px) { .roster-list { grid-template-columns: repeat(2, 1fr); } .sandbox-hero,.sandbox-intro { grid-template-columns: 1fr; } .modes-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px) { .roster-list,.modes-grid { grid-template-columns: 1fr; } .policy-main { padding-top: 60px; } .sandbox-hero { padding-top: 110px; } .sandbox-deck { height: 260px; transform: scale(.8); } }
