:root{--deep:#221a46;--muted:#6f6878;--line:#e4dfe8;--soft:#f7f4f8;--orange:#ff8618;--pink:#f42e7d;--green:#167a57;--warning:#fff3cd}
*{box-sizing:border-box}body{margin:0;background:#f8f6fa;color:var(--deep);font-family:Arial,Helvetica,sans-serif;line-height:1.62}.legal-shell{max-width:940px;margin:0 auto;padding:38px 20px 90px}.legal-top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:26px}.legal-top img{width:220px;max-width:55vw}.legal-back{font-weight:800;color:#5a3a68;text-decoration:none}.legal-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:42px;box-shadow:0 18px 50px rgba(31,25,52,.06)}.legal-badge{display:inline-flex;padding:8px 12px;border-radius:999px;background:var(--warning);color:#785711;font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.legal-card h1{font-size:clamp(2.1rem,5vw,4rem);line-height:1;letter-spacing:-.04em;margin:20px 0 16px}.legal-card h2{font-size:1.35rem;margin:34px 0 10px}.legal-card h3{font-size:1rem;margin:22px 0 7px}.legal-card p,.legal-card li{color:#5f5867}.legal-card strong{color:var(--deep)}.legal-card a{color:#573568;font-weight:800}.legal-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}.legal-summary div{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:16px}.legal-summary span,.legal-summary strong{display:block}.legal-summary span{font-size:.7rem;color:#8b8490;text-transform:uppercase;letter-spacing:.06em;font-weight:850}.legal-summary strong{margin-top:5px}.legal-note{border-left:4px solid var(--orange);background:#fff8ef;padding:16px 18px;border-radius:0 14px 14px 0;margin:22px 0}.legal-success{border-left-color:var(--green);background:#f0faf6}.legal-placeholder{background:#fff0f2;color:#862d42;padding:2px 6px;border-radius:6px;font-weight:800}.legal-list{padding-left:22px}.legal-list li{margin:7px 0}.cancellation-form{margin-top:28px;border:2px dashed #d7cfdf;border-radius:18px;padding:22px;background:#fbfafc}.cancellation-form dl{display:grid;grid-template-columns:170px 1fr;gap:10px 16px}.cancellation-form dt{font-weight:800;color:var(--deep)}.cancellation-form dd{margin:0;border-bottom:1px solid #bfb7c7;min-height:28px}.legal-footer{margin-top:20px;text-align:center;color:#817987;font-size:.78rem}.legal-footer a{color:#573568}@media(max-width:720px){.legal-card{padding:26px 20px}.legal-summary{grid-template-columns:1fr}.cancellation-form dl{grid-template-columns:1fr}.legal-top{align-items:flex-start;flex-direction:column}}


/* v1.21 — public staging hardening */
.staging-site-banner{
  position:relative;z-index:200;display:flex;align-items:center;justify-content:center;gap:10px;
  min-height:34px;padding:7px 16px;text-align:center;background:#fff1c2;color:#684800;
  border-bottom:1px solid #e6cc72;font-size:.72rem;line-height:1.25
}
.staging-site-banner strong{font-size:.68rem;letter-spacing:.09em;text-transform:uppercase}
.staging-site-banner span{font-weight:700}
@media(max-width:560px){.staging-site-banner{display:grid;gap:2px;padding:7px 10px}.staging-site-banner span{font-size:.66rem}}
