/* لایهٔ عمومی: همان توکن‌های رایا، سطح خوانای بدون blur و چیدمان محتوایی. */
.public-site { --public-reading:42rem; overflow-wrap:anywhere; }
.public-site .site-header { gap:var(--space-3); flex-wrap:wrap; padding-block:var(--space-3); }
.public-site .brand { display:inline-flex; align-items:center; gap:var(--space-2); }
.public-site .brand span { display:none; }
.public-site .public-nav { margin-inline-start:auto; gap:var(--space-4); }
.public-nav a,.public-footer nav a,.public-read { min-height:44px; display:inline-flex; align-items:center; padding-block:var(--space-2); text-underline-offset:.3em; }
.public-site a:hover { text-decoration:underline; text-underline-offset:.3em; }
.public-site .button:hover { text-decoration:none; }
.public-site .theme-toggle { flex-shrink:0; cursor:pointer; }
.public-site .page-shell { padding-block:var(--space-7); }
.public-kicker { color:var(--action-fg,var(--accent)); font-weight:700; margin:0 0 var(--space-4); }
.public-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:var(--space-8); align-items:center; padding-block:var(--space-6) var(--space-8); }
.public-intro h1 { font-size:clamp(2.1rem,4.7vw,3.8rem); line-height:1.5; letter-spacing:-.025em; margin-block:0 var(--space-5); }
.public-lead { color:var(--muted); font-size:1.125rem; line-height:2; max-width:var(--public-reading); }
.public-actions { display:flex; flex-wrap:wrap; gap:var(--space-3); margin-block:var(--space-5); }
.public-actions .button { margin:0; }
.public-note { color:var(--muted); font-size:var(--fs-label); line-height:1.9; }
.public-preview { margin:0; padding:var(--space-6); border:1px solid var(--border-strong); border-inline-start:6px solid var(--accent); border-radius:var(--radius); background:var(--card); box-shadow:var(--shadow-2); }
.public-preview figcaption { font-weight:700; }
.public-preview figcaption span { display:block; color:var(--muted); font-size:var(--fs-label); font-weight:400; }
.preview-balance { margin-block:var(--space-5); display:grid; gap:var(--space-2); }
.preview-balance>span,.preview-flow span { color:var(--muted); font-size:var(--fs-label); }
.preview-balance bdi { font-weight:800; font-size:clamp(1.8rem,3vw,2.5rem); }
.preview-flow { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-4); padding-block:var(--space-4); border-block:1px solid var(--border); }
.preview-flow>div { display:grid; gap:var(--space-2); }
.preview-flow bdi { font-weight:700; }
.preview-row { display:flex; justify-content:space-between; gap:var(--space-3); padding-block:var(--space-3); border-bottom:1px solid var(--border); }
.preview-entry { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-2); background:var(--income-soft); color:var(--income); border-radius:.5rem; padding:var(--space-3); font-size:var(--fs-label); }
.preview-entry bdi { margin-inline-start:auto; }
.public-section { padding-block:var(--space-8); border-top:1px solid var(--border); }
.public-section-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:var(--space-4); margin-bottom:var(--space-6); }
.public-section h2,.public-end h2 { font-size:clamp(1.4rem,2.5vw,2rem); line-height:1.6; }
.public-section-head p { color:var(--muted); margin:0; }
.public-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-6); padding-inline-start:var(--space-5); margin:0; }
.public-steps li { padding-inline-start:var(--space-2); }
.public-steps li::marker { color:var(--accent); font-weight:800; }
.public-steps h3 { font-size:1.125rem; margin-top:0; }
.public-steps p,.public-assets p { color:var(--muted); }
.public-assets { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:var(--space-8); align-items:center; }
.public-asset-pair { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-4); }
.public-asset-pair>div { padding:var(--space-5); border-block:2px solid var(--border-strong); }
.public-asset-pair span { color:var(--accent); font-weight:800; }
.public-asset-pair h3 { margin-block:var(--space-3); }
.public-asset-pair p { margin-bottom:0; font-size:var(--fs-label); }
.public-articles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-6); }
.public-article-card { display:flex; flex-direction:column; border-block-start:3px solid var(--accent); padding-block:var(--space-5); }
.public-article-card h3 { font-size:1.2rem; line-height:1.8; margin-block:0 var(--space-3); }
.public-article-card h3 a { text-decoration:none; }
.public-article-card p { color:var(--muted); margin-top:0; }
.public-read { color:var(--action-fg,var(--accent)); font-weight:700; gap:var(--space-3); margin-top:auto; }
.public-faq { max-width:52rem; margin-inline:auto; }
.public-faq details { border-bottom:1px solid var(--border); padding-block:var(--space-3); }
.public-faq summary { cursor:pointer; font-weight:700; min-height:44px; padding-block:var(--space-2); }
.public-faq p { color:var(--muted); }
.public-end { padding:var(--space-7); margin-block:var(--space-6); border:1px solid var(--border-strong); border-radius:var(--radius); background:var(--card); text-align:center; }
.public-end p { color:var(--muted); }
.public-footer { border-top:1px solid var(--border); display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--space-5); }
.public-footer p { color:var(--muted); }
.public-footer nav { display:flex; flex-wrap:wrap; gap:var(--space-5); }
.public-footer>.public-note { flex-basis:100%; margin:0; }
.public-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-3); color:var(--muted); font-size:var(--fs-label); }
.public-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; }
.public-editorial-head { max-width:52rem; margin-block:var(--space-6) var(--space-7); }
.public-editorial-head h1 { font-size:clamp(1.8rem,4vw,2.8rem); line-height:1.65; }
.public-reading-layout { display:grid; grid-template-columns:15rem minmax(0,var(--public-reading)); gap:var(--space-7); align-items:start; }
.public-toc { border-inline-start:3px solid var(--accent); padding-inline-start:var(--space-4); }
.public-toc h2 { font-size:1rem; }
.public-toc nav { display:grid; gap:var(--space-2); }
.public-toc a { display:block; padding-block:var(--space-2); min-height:44px; color:var(--muted); font-size:var(--fs-label); }
.public-prose { font-size:1.0625rem; line-height:2.1; overflow-wrap:anywhere; }
.public-prose section { scroll-margin-top:var(--space-6); margin-bottom:var(--space-7); }
.public-prose h2 { font-size:1.4rem; line-height:1.8; }
.public-prose p { margin-block:0 var(--space-5); }
.public-prose a { text-decoration:underline; text-underline-offset:.2em; overflow-wrap:anywhere; }
@media (max-width:52rem) {
  .public-hero,.public-assets { grid-template-columns:1fr; gap:var(--space-6); }
  .public-hero { padding-top:0; }
  .public-preview { width:100%; max-width:32rem; }
  .public-articles,.public-steps { grid-template-columns:1fr; gap:var(--space-4); }
  .public-reading-layout { grid-template-columns:1fr; gap:var(--space-6); }
  .public-section { padding-block:var(--space-7); }
  .public-article-card { padding-block:var(--space-4); }
  .public-end { padding:var(--space-5); }
}
@media (max-width:360px) {
  .public-site .public-nav { gap:var(--space-3); }
  .public-site .brand { font-size:1.1rem; }
  .public-site .brand img { width:30px; height:30px; }
  .public-preview { padding:var(--space-4); }
  .preview-flow { grid-template-columns:1fr; }
  .public-asset-pair { gap:var(--space-2); }
  .public-asset-pair>div { padding:var(--space-3); }
}
@media (prefers-reduced-motion:reduce) { .public-site *, .public-site *::before, .public-site *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media print { .public-site .site-header,.public-site .public-footer,.public-site .public-end,.public-site .public-toc { display:none; } .public-reading-layout { display:block; } }
.public-trust-prose { max-width: 48rem; margin-inline: auto; }
.public-trust-links { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.public-trust-links a { display: inline-flex; align-items: center; min-height: 44px; }
