/* =========================================================================
   PAGES — shared styling for policy / FAQ / success pages
   ========================================================================= */
body{ min-height:100vh; display:flex; flex-direction:column; background:var(--charcoal); color:var(--bone); font-family:var(--body); }
.page-wrap{ width:100%; max-width:860px; margin:0 auto; padding:32px 24px 48px; flex:1; }
.page-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:32px; }
.page-head .brand{ font-family:var(--display); font-size:22px; letter-spacing:.06em; color:var(--bone); text-decoration:none; }
.page-head .brand b{ color:var(--gold); }
.page-foot{ border-top:1px solid var(--steel); margin-top:40px; padding-top:18px; display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; font-size:12px; color:var(--ash); }
.page-foot a{ color:var(--gold); text-decoration:none; margin-right:8px; }

.panel{ background:var(--asphalt-2); border:1px solid var(--steel); border-radius:18px; padding:34px 30px; }
.panel.ok{ border-color:rgba(111,125,74,.5); }
.panel.warn{ border-color:rgba(179,50,42,.5); }
.panel h1{ font-family:var(--display); font-size:30px; letter-spacing:.04em; margin:10px 0 6px; }
.panel-sub{ color:var(--ash); font-size:14px; margin-bottom:20px; }
.panel-mark{ width:64px; height:64px; border-radius:50%; background:var(--tactical); display:flex; align-items:center; justify-content:center; font-size:32px; }
.panel.warn .panel-mark{ background:var(--blood); }
.panel-card{ border:1px solid var(--steel); border-radius:12px; padding:6px 16px; margin:18px 0; }
.panel-row{ display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid var(--steel); font-size:14px; flex-wrap:wrap; }
.panel-row:last-child{ border-bottom:0; }
.panel-row.head{ color:var(--ash); text-transform:uppercase; font-size:11px; letter-spacing:.12em; }
.panel-row.total{ font-weight:700; }
.panel-row .ful-tag{ display:block; font-size:11px; color:var(--gold); font-style:normal; }

/* generic article styling for policy / FAQ pages */
.article h1{ font-family:var(--display); font-size:34px; letter-spacing:.03em; margin:0 0 6px; }
.article .updated{ color:var(--ash); font-size:12px; text-transform:uppercase; letter-spacing:.12em; margin-bottom:26px; }
.article h2{ font-family:var(--head); text-transform:uppercase; letter-spacing:.08em; font-size:16px; color:var(--gold); margin:28px 0 8px; }
.article p, .article li{ font-size:14px; color:var(--bone-2); margin-bottom:10px; max-width:70ch; }
.article ul, .article ol{ padding-left:22px; margin-bottom:12px; }
.article a{ color:var(--gold-2); }
.article .note{ border:1px solid rgba(184,146,67,.4); background:rgba(184,146,67,.08); border-radius:10px; padding:12px 16px; font-size:13px; margin:18px 0; }
.faq-q{ font-family:var(--head); text-transform:uppercase; letter-spacing:.06em; font-size:15px; color:var(--bone); margin:22px 0 6px; }
