/* v2 appeal + about page styles — scoped under body.appeal-v2 */
body.appeal-v2 { margin:0; background:#F7F4EE; color:#1A1815; font-family:'Inter',system-ui,sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased; }
body.appeal-v2 a { color:#0E5C5C; text-decoration:none; }
body.appeal-v2 a:hover { color:#094646; text-decoration:underline; text-underline-offset:4px; }

body.appeal-v2 .ap-hero { background:#F1ECE2; border-bottom:1px solid #E2DACC; padding:48px 32px; }
body.appeal-v2 .ap-hero .in { max-width:820px; margin:0 auto; }
body.appeal-v2 .ap-hero .crumb { font-size:14px; display:inline-block; margin-bottom:28px; color:#0E5C5C; }
body.appeal-v2 .ap-hero .eyebrow { font-family:'JetBrains Mono',ui-monospace,monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#0E5C5C; display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:16px; }
body.appeal-v2 .ap-hero .eyebrow .dot { font-size:9px; }
body.appeal-v2 .ap-chip { display:inline-block; font-family:'JetBrains Mono',ui-monospace,monospace; font-size:11px; letter-spacing:.1em; border:1px solid #1A1815; color:#1A1815; border-radius:4px; padding:2px 8px; }
body.appeal-v2 .ap-hero h1 { font-family:'Newsreader',Georgia,serif; font-weight:500; font-size:clamp(2.1rem,4.4vw,3.2rem); line-height:1.1; letter-spacing:-.02em; margin:0 0 18px; color:#1A1815; }
body.appeal-v2 .ap-hero h1 em { font-style:italic; }
body.appeal-v2 .ap-hero .byline { font-family:'JetBrains Mono',ui-monospace,monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#6E6860; }

body.appeal-v2 .ap-main { max-width:820px; margin:0 auto; padding:52px 32px 80px; }
body.appeal-v2 .ap-main .lede { font-size:17.5px; line-height:1.65; color:#3A3530; margin:0 0 24px; }
body.appeal-v2 .ap-main p { font-size:15.5px; color:#3A3530; margin:0 0 14px; }
body.appeal-v2 .ap-main strong { color:#1A1815; }
body.appeal-v2 .ap-main h2 { font-family:'Newsreader',Georgia,serif; font-weight:500; font-size:clamp(1.55rem,2.5vw,2rem); letter-spacing:-.018em; line-height:1.2; margin:52px 0 14px; padding-top:28px; border-top:1px solid #C9C0B0; color:#1A1815; }
body.appeal-v2 .ap-main h3 { font-family:'Newsreader',Georgia,serif; font-weight:500; font-size:20px; margin:30px 0 8px; color:#1A1815; }
body.appeal-v2 .ap-main ul.ls, body.appeal-v2 .ap-main ol.ls { padding-left:20px; margin:0 0 16px; display:grid; gap:9px; }
body.appeal-v2 .ap-main .ls li { font-size:15.5px; color:#3A3530; }
body.appeal-v2 .ap-main table.spec { width:100%; border-collapse:collapse; margin:8px 0 20px; }
body.appeal-v2 .ap-main table.spec th { font-family:'JetBrains Mono',ui-monospace,monospace; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:#6E6860; font-weight:500; text-align:left; padding:0 14px 10px 0; border-bottom:2px solid #1A1815; }
body.appeal-v2 .ap-main table.spec td { font-size:14px; color:#3A3530; padding:12px 14px 12px 0; border-bottom:1px solid #E2DACC; vertical-align:top; }
body.appeal-v2 .ap-main table.spec td.code { font-family:'JetBrains Mono',ui-monospace,monospace; font-size:12px; font-weight:600; color:#1A1815; white-space:nowrap; }

body.appeal-v2 .ap-main .part { display:grid; grid-template-columns:96px 1fr; gap:20px; border-top:2px solid #1A1815; padding:18px 0 22px; margin-top:26px; }
body.appeal-v2 .ap-main .part .no { font-family:'JetBrains Mono',ui-monospace,monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#6E6860; padding-top:4px; }
body.appeal-v2 .ap-main .part h3 { margin:0 0 8px; }
body.appeal-v2 .ap-main .part p, body.appeal-v2 .ap-main .part li { font-size:14.5px; }

body.appeal-v2 .ap-cta { background:#FFFFFF; border:1px solid #DCEBE7; border-top:2px solid #0E5C5C; border-radius:10px; padding:36px 40px; text-align:center; margin-top:60px; }
body.appeal-v2 .ap-cta .k { font-family:'JetBrains Mono',ui-monospace,monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#0E5C5C; margin-bottom:12px; }
body.appeal-v2 .ap-cta h3 { font-family:'Newsreader',Georgia,serif; font-weight:500; font-size:24px; margin:0 0 10px; color:#1A1815; }
body.appeal-v2 .ap-cta p { max-width:540px; margin:0 auto 22px; font-size:14.5px; color:#3A3530; }
body.appeal-v2 .ap-cta .btn,
body.appeal-v2 .cta .btn { display:inline-block; background:#0E5C5C; color:#F7F4EE; font-weight:600; font-size:14px; padding:12px 24px; border-radius:4px; text-decoration:none; transition:background .18s ease, transform .18s ease; }
body.appeal-v2 .ap-cta .btn:hover,
body.appeal-v2 .cta .btn:hover { background:#094646; color:#F7F4EE; text-decoration:none; transform:translateY(-1px); }

/* About-page extras */
body.appeal-v2 .ap-hero-dark { background:#1A1815; color:#F7F4EE; padding:52px 32px; border-bottom:1px solid #1A1815; }
body.appeal-v2 .ap-hero-dark .in { max-width:1000px; margin:0 auto; display:flex; gap:36px; flex-wrap:wrap; align-items:center; }
body.appeal-v2 .ap-hero-dark .portrait { width:220px; height:220px; border-radius:8px; overflow:hidden; background:#0E5C5C; flex-shrink:0; }
body.appeal-v2 .ap-hero-dark .portrait img { width:100%; height:100%; object-fit:cover; display:block; }
body.appeal-v2 .ap-hero-dark .eyebrow { font-family:'JetBrains Mono',ui-monospace,monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#2FD4C4; display:flex; align-items:center; gap:10px; margin-bottom:16px; }
body.appeal-v2 .ap-hero-dark h1 { font-family:'Newsreader',Georgia,serif; font-weight:500; font-size:clamp(2.2rem,4.6vw,3.4rem); line-height:1.05; margin:0 0 12px; color:#F7F4EE; }
body.appeal-v2 .ap-hero-dark .tag { font-family:'Newsreader',Georgia,serif; font-size:20px; color:#F7F4EE; margin:0 0 18px; opacity:.9; }
body.appeal-v2 .ap-hero-dark .tag em { font-style:italic; }
body.appeal-v2 .ap-hero-dark .creds { display:flex; flex-wrap:wrap; gap:8px; }
body.appeal-v2 .ap-hero-dark .creds .cred { font-family:'JetBrains Mono',ui-monospace,monospace; font-size:11px; letter-spacing:.1em; border:1px solid #F7F4EE; color:#F7F4EE; border-radius:4px; padding:3px 10px; }

body.appeal-v2 .ap-main .statband { background:#F1ECE2; border-top:1px solid #C9C0B0; border-bottom:1px solid #C9C0B0; margin:36px -32px; padding:28px 32px; }
body.appeal-v2 .ap-main .statband .in { max-width:820px; margin:0 auto; }
body.appeal-v2 .ap-main .statband .k { font-family:'JetBrains Mono',ui-monospace,monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#6E6860; margin-bottom:18px; }
body.appeal-v2 .ap-main .statband .stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:20px; }
body.appeal-v2 .ap-main .statband .stat .n { font-family:'Newsreader',Georgia,serif; font-size:28px; color:#1A1815; line-height:1.1; }
body.appeal-v2 .ap-main .statband .stat .l { font-family:'JetBrains Mono',ui-monospace,monospace; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:#6E6860; margin-top:4px; }
body.appeal-v2 .ap-main .statband .tail { font-size:13px; color:#6E6860; margin:18px 0 0; font-style:italic; }

body.appeal-v2 .ap-main .rule-item { display:grid; grid-template-columns:96px 1fr; gap:20px; padding:20px 0; border-top:1px solid #E2DACC; }
body.appeal-v2 .ap-main .rule-item:first-of-type { border-top:none; }
body.appeal-v2 .ap-main .rule-item .no { font-family:'JetBrains Mono',ui-monospace,monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#0E5C5C; padding-top:4px; }
body.appeal-v2 .ap-main .rule-item h3 { margin:0 0 6px; }

body.appeal-v2 .ap-main .qbio { background:#F1ECE2; border:1px solid #C9C0B0; border-radius:10px; padding:24px 28px; margin:36px 0; }
body.appeal-v2 .ap-main .qbio .k { font-family:'JetBrains Mono',ui-monospace,monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#6E6860; margin-bottom:8px; }
body.appeal-v2 .ap-main .qbio h3 { margin:0 0 4px; }
body.appeal-v2 .ap-main .qbio .role { font-family:'JetBrains Mono',ui-monospace,monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#6E6860; margin-bottom:12px; }

@media(max-width:640px) {
  body.appeal-v2 .ap-hero-dark .in { flex-direction:column; align-items:flex-start; }
  body.appeal-v2 .ap-hero-dark .portrait { width:160px; height:160px; }
  body.appeal-v2 .ap-main .part, body.appeal-v2 .ap-main .rule-item { grid-template-columns:1fr; gap:8px; }
  body.appeal-v2 .ap-main .statband { margin:36px -16px; padding:24px 16px; }
}
