/* Content pages: prose, plans, faq, about, press, blog, legal */
.page-hero { padding: clamp(56px,8vw,110px) 0 clamp(40px,6vw,72px); }
.page-h1 { font-size: clamp(2.3rem, 6vw, 4.2rem); line-height:.98; letter-spacing:-.03em; }
.page-hero .lead { margin-top: var(--s5); max-width: 60ch; }
.sec-h2 { font-size: clamp(1.8rem, 5vw, 3rem); letter-spacing:-.025em; }
.sec-head { max-width:640px; margin:0 auto var(--s7); text-align:center; }

.prose { max-width: 720px; }
.prose h2 { font-size: clamp(1.5rem,3.5vw,2.1rem); margin: var(--s7) 0 var(--s4); }
.prose p { color: var(--on-light-mut); margin: 0 0 var(--s4); line-height:1.7; }
.prose ul { color: var(--on-light-mut); line-height:1.7; padding-left: 22px; margin: 0 0 var(--s4); }
.prose li { margin-bottom: 8px; }
.prose a { color: var(--gold-deep); text-decoration: underline; text-underline-offset:2px; }
.prose b { color: var(--on-light); }

/* about */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap: var(--s4); margin: var(--s5) 0 var(--s6); }
.ac { background: var(--paper-2); border:1px solid rgba(0,0,0,.07); border-radius: var(--radius); padding: var(--s5); }
.ac h3 { font-family:var(--display); font-size:1.15rem; margin-bottom:8px; }
.ac p { color: var(--on-light-mut); font-size:.94rem; margin:0; }
.stat-row { display:grid; grid-template-columns: repeat(4,1fr); gap: var(--s4); margin: var(--s6) 0; }
.stat-row div { text-align:center; padding: var(--s5) var(--s3); background: var(--ink); color: var(--on-dark); border-radius: var(--radius); }
.stat-row b { display:block; font-family:var(--display); font-size:1.8rem; color: var(--gold); }
.stat-row span { font-size:.78rem; color: var(--on-dark-mut); }
@media (max-width:640px){ .about-grid, .stat-row{ grid-template-columns:1fr 1fr; } }

/* plans / pricing */
.price-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: var(--s5); margin-top: var(--s7); }
.plan { background: var(--surface); border:1px solid var(--line); border-radius: var(--radius-lg); padding: var(--s6); position:relative; display:flex; flex-direction:column; }
.plan-hot { border-color: var(--gold); box-shadow: 0 0 0 1px var(--gold), 0 24px 50px rgba(0,0,0,.4); }
.plan-flag { position:absolute; top:-13px; left:50%; transform:translateX(-50%); background: var(--gold); color: var(--gold-ink); font-family:var(--mono); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; padding:5px 14px; border-radius:999px; white-space:nowrap; }
.plan h3 { font-family:var(--display); font-size:1.4rem; }
.plan-price { margin: var(--s4) 0 var(--s5); }
.plan-price b { font-family:var(--display); font-size: 2.6rem; }
.plan-price span { color: var(--on-dark-mut); margin-left:6px; }
.plan ul { list-style:none; padding:0; margin:0 0 var(--s6); display:grid; gap:12px; flex:1; }
.plan li { position:relative; padding-left:26px; color: var(--on-dark-mut); font-size:.94rem; }
.plan li::before { content:"✓"; position:absolute; left:0; color: var(--gold); font-weight:700; }
.plan li b { color: var(--on-dark); }
.btn-wide { width:100%; }
.price-note { text-align:center; color: var(--on-dark-dim); font-size:.86rem; margin-top: var(--s6); }
@media (max-width:820px){ .price-grid{ grid-template-columns:1fr; max-width:440px; margin-inline:auto; } }

/* faq */
.faq-item, .official { border:1px solid rgba(0,0,0,.1); border-radius: var(--radius); margin-bottom:12px; background:#fff; }
.faq-item summary { cursor:pointer; padding: var(--s5); font-family:var(--display); font-weight:700; font-size:1.08rem; list-style:none; display:flex; justify-content:space-between; align-items:center; color: var(--on-light); }
.faq-item summary::-webkit-details-marker{display:none}
.faq-item .caret{ transition: transform .2s; color: var(--on-light-mut); }
.faq-item[open] .caret{ transform: rotate(180deg); }
.faq-item p { padding: 0 var(--s5) var(--s5); color: var(--on-light-mut); margin:0; line-height:1.6; }
.help-cat { margin-bottom: var(--s7); }
.help-cat h2 { font-size:1.5rem; margin-bottom: var(--s5); }

/* press */
.press-facts { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.press-facts li { color: var(--on-dark-mut); padding-left:0; }
.press-facts b { color: var(--gold); font-family:var(--display); }
.news-form .field { background:#fff; color:var(--on-light); }

/* blog */
.blog-hero { padding: clamp(56px,8vw,100px) 0; }
.blog-feat { display:block; background: var(--ink); color: var(--on-dark); border-radius: var(--radius-lg); overflow:hidden; margin-bottom: var(--s6); border:1px solid rgba(0,0,0,.08); transition: transform .18s; }
.blog-feat:hover { transform: translateY(-4px); }
.blog-feat-body { padding: var(--s7); }
.blog-feat h2 { font-size: clamp(1.6rem,4vw,2.4rem); margin:14px 0; }
.blog-feat p { color: var(--on-dark-mut); max-width: 60ch; }
.blog-grid { margin-top:0; }
.blog-card { display:block; background:#fff; border:1px solid rgba(0,0,0,.09); border-radius: var(--radius); padding: var(--s6); color: var(--on-light); transition: transform .16s, box-shadow .16s; }
.blog-card:hover { transform: translateY(-4px); box-shadow:0 16px 34px rgba(0,0,0,.1); }
.blog-card h3 { font-size:1.2rem; margin:12px 0 10px; }
.blog-card p { color: var(--on-light-mut); font-size:.94rem; }
.post-tag { display:inline-block; font-family:var(--mono); font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color: var(--gold-deep); background: color-mix(in srgb, var(--gold) 16%, #fff); padding:5px 11px; border-radius:999px; }
.post-meta { font-family:var(--mono); font-size:.8rem; color: var(--on-light-mut); margin-top: var(--s4); }

/* blog post */
.post { padding: clamp(48px,7vw,90px) 0; }
.back-link { display:inline-block; color: var(--on-light-mut); font-weight:600; margin-bottom: var(--s5); }
.back-link:hover { color: var(--gold-deep); }
.post-h1 { font-size: clamp(2rem,5vw,3.2rem); line-height:1.02; margin: var(--s4) 0; letter-spacing:-.02em; }
.post-body { margin-top: var(--s6); font-size:1.1rem; }
.post-body h2 { font-family:var(--display); font-size: clamp(1.4rem,3vw,2rem); margin: var(--s7) 0 var(--s4); }
.post-body p { color: var(--on-light); opacity:.86; line-height:1.75; margin:0 0 var(--s5); }
.post-body ul { line-height:1.75; padding-left: 24px; margin:0 0 var(--s5); color: var(--on-light); opacity:.86; }
.post-body li { margin-bottom:12px; }
.post-body a { color: var(--gold-deep); text-decoration:underline; }
.post-body b { opacity:1; font-weight:700; }
.callout { background: var(--ink); color: var(--on-dark); border-left: 5px solid var(--gold); border-radius: var(--radius); padding: var(--s5) var(--s6); margin: var(--s6) 0; font-size:1.05rem; }
.post-cta { margin-top: var(--s8); padding: var(--s7); background: var(--paper-2); border-radius: var(--radius-lg); text-align:center; }
.post-cta h3 { font-family:var(--display); font-size:1.6rem; }
.post-cta p { color: var(--on-light-mut); margin:10px 0 var(--s5); }

/* legal / rules */
.rules-page { font-size:.98rem; }
.rules-toc { background: var(--paper-2); border-radius: var(--radius); padding: var(--s5); margin-bottom: var(--s6); font-size:.9rem; color: var(--on-light-mut); }
.rules-toc a { color: var(--gold-deep); }
.rules-block h3 { font-family:var(--display); font-size:1.5rem; margin-bottom: var(--s4); }
.noprch-lg { display:inline-block; background: color-mix(in srgb, var(--lime) 16%, #fff); border:1.5px solid var(--lime); color: var(--on-light); font-weight:700; padding:12px 16px; border-radius:10px; margin: 8px 0 var(--s4); font-size:.9rem; }
.rules-ol { padding-left: 22px; line-height:1.7; color: var(--on-light-mut); }
.rules-ol li { margin-bottom: 14px; }
.rules-ol b { color: var(--on-light); }
.rules-ol a { color: var(--gold-deep); }
hr.rule-light { border:none; border-top:1px solid rgba(0,0,0,.1); margin: var(--s7) 0; }

.faq-item .caret, .official .caret { font-size:.8rem; }
