/* Legal pages (privacy, terms, accessibility) + closed/thanks pages. */
body.legal-body{background:var(--cream);color:var(--ink)}
.legal-top{display:flex;justify-content:space-between;align-items:center;padding:22px var(--gutter);max-width:1180px;margin:0 auto}
.legal-top img{width:150px}
.legal-top .back{font-weight:500;color:var(--forest);text-decoration:none;border-bottom:1px solid var(--forest)}
.legal{max-width:760px;margin:0 auto;padding:clamp(32px,5vw,64px) var(--gutter) 120px}
.legal h1{font-size:clamp(2rem,1.5rem + 2vw,3rem);font-weight:300;line-height:1.15;margin-bottom:8px}
.legal .updated{color:var(--ink-soft);font-size:.95rem!important;margin-bottom:32px}
.legal h2{font-size:1.45rem;font-weight:500;margin:36px 0 10px;color:var(--forest)}
.legal p,.legal li{font-size:1.08rem!important;line-height:1.8;color:var(--ink)}
.legal ul{padding-inline-start:22px;margin:8px 0}
.legal li{margin-bottom:8px}
.legal a{color:var(--forest)}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 24px;margin-top:12px}
.contact-card p{margin:4px 0}

/* Closed + thanks: one centred card on the deep background */
.notice-body{background:radial-gradient(1200px 900px at 75% 20%,#3E5A48 0%,#2C4436 45%,#1E2E25 100%);min-height:100svh;display:flex;flex-direction:column}
.notice{flex:1;display:grid;place-items:center;padding:60px var(--gutter)}
.notice-card{max-width:620px;width:100%;text-align:center;background:var(--cream);color:var(--ink);border-radius:28px;padding:clamp(32px,5vw,56px);box-shadow:0 30px 70px rgba(0,0,0,.4)}
.notice-card img{width:170px;margin:0 auto 24px}
.notice-card h1{font-size:clamp(1.9rem,1.4rem + 2vw,3rem);font-weight:300;line-height:1.15}
.notice-card h1 b{font-weight:800;color:var(--forest)}
.notice-card p{color:var(--ink-soft);margin-top:14px;font-weight:300;font-size:1.1rem}
.notice-card .btn{margin-top:26px}
.notice-card .detail{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px;text-align:center}
.notice-card .detail div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 8px}
.notice-card .detail strong{display:block;font-weight:800;color:var(--forest)}
.notice-card .detail span{font-size:.9rem;color:var(--ink-soft)}
.notice-card .status{display:inline-block;margin-top:18px;padding:8px 16px;border-radius:999px;font-weight:500;background:#fff;border:1px solid var(--line)}
.notice-card .status.is-paid{background:#E4EFE5;color:#1F4A2E;border-color:#B9D3BC}
.notice-card .status.is-pending{background:#FBF1E6;color:#7A4B22;border-color:#EBD2B5}
@media (max-width:520px){.notice-card .detail{grid-template-columns:1fr}}
