/* CexPass content pages — shared DNA (mirrors index.html tokens) */
:root{
  --bg:#fafaf9;--card:#ffffff;--ink:#18181b;--ink-2:#52525b;--ink-3:#a1a1aa;
  --line:#e4e4e7;--green:#0d9e6e;--green-bg:#ecfdf5;--green-line:#a7f3d0;
  --red:#dc2626;--red-bg:#fef2f2;--red-line:#fecaca;
  --paper:#fbfaf7;--paper-line:#e7e3d8;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","HarmonyOS Sans","Noto Sans SC",sans-serif;
  --mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;-webkit-tap-highlight-color:transparent}
::selection{background:#d1fae5}

/* nav (same as home) */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,44px);background:rgba(250,250,249,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none}
.brand-mark{width:26px;height:26px;flex:none;display:block}
.brand-name{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a{color:var(--ink-2);text-decoration:none;font-size:14px;font-weight:500;transition:color .2s}
.nav-links a:hover{color:var(--ink)}
.nav-cta{font-size:14px;font-weight:600;color:#fff!important;text-decoration:none;background:var(--ink);padding:9px 18px;border-radius:99px;transition:background .2s}
.nav-cta:hover{background:#000}
@media(max-width:840px){.nav-links a:not(.nav-cta){display:none}}

/* article shell */
.art{max-width:820px;margin:0 auto;padding:calc(64px + clamp(44px,7vh,72px)) 24px clamp(72px,10vh,110px)}
.crumbs{font-size:13px;color:var(--ink-3);margin-bottom:22px}
.crumbs a{color:var(--ink-2);text-decoration:none}
.crumbs a:hover{color:var(--ink)}
.kicker{display:block;width:max-content;max-width:100%;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:18px;padding-left:14px;position:relative;line-height:1.5}
.kicker::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:2px;background:var(--green);border-radius:2px}
.kicker b{color:var(--ink);font-weight:700}
h1{font-size:clamp(32px,4vw,46px);font-weight:700;line-height:1.18;letter-spacing:0;margin-bottom:18px}
h1 .muted{color:#9f9fa8}
.byline{font-size:13.5px;color:var(--ink-3);margin-bottom:30px}
.byline b{color:var(--ink-2);font-weight:600}

/* GEO direct answer block */
.answer{background:var(--paper);border:1px solid var(--paper-line);border-radius:16px;padding:20px 24px;margin:0 0 40px;box-shadow:0 12px 38px rgba(35,31,24,.06)}
.answer .a-label{font-size:11.5px;font-weight:700;color:var(--green);margin-bottom:8px}
.answer p{font-size:16.5px;line-height:1.8;color:var(--ink)}
.answer p strong{font-weight:600}

/* prose */
.art h2{font-size:clamp(23px,2.8vw,30px);font-weight:700;line-height:1.3;margin:clamp(44px,7vh,64px) 0 14px}
.art h2 .dim{color:#9f9fa8}
.art h3{font-size:19px;font-weight:600;line-height:1.4;margin:30px 0 10px}
.art p{font-size:16px;line-height:1.85;color:var(--ink-2);margin-bottom:16px;max-width:720px}
.art p em{font-style:normal;font-weight:600;color:var(--ink)}
.art ul.plain{margin:0 0 16px 20px}
.art ul.plain li{font-size:15.5px;line-height:1.85;color:var(--ink-2);padding-left:4px;margin-bottom:6px}
.art ul.plain li em{font-style:normal;font-weight:600;color:var(--ink)}
.art a{color:var(--ink);font-weight:500}

/* mapping table */
.mtable-wrap{overflow-x:auto;margin:20px 0 8px;border:1px solid var(--paper-line);border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.03)}
table.mtable{width:100%;border-collapse:collapse;min-width:640px}
table.mtable th{font-size:12.5px;font-weight:700;color:var(--ink-3);text-align:left;padding:13px 16px;border-bottom:1px solid var(--paper-line);background:var(--paper);white-space:nowrap}
table.mtable td{font-size:14px;line-height:1.65;color:var(--ink-2);padding:14px 16px;border-bottom:1px solid #f1eee5;vertical-align:top}
table.mtable tr:last-child td{border-bottom:0}
table.mtable td b{color:var(--ink);font-weight:600}
table.mtable td .gnum{font-variant-numeric:tabular-nums;font-weight:700;color:var(--red)}
table.mtable td .ok{color:var(--green);font-weight:600}
.tnote{font-size:13px;color:var(--ink-3);margin:10px 0 0}

/* checklist */
.ck{border:1px solid var(--paper-line);border-radius:16px;background:#fff;overflow:hidden;margin:20px 0 8px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.ck-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--paper);border-bottom:1px solid var(--paper-line)}
.ck-head b{font-size:13px;font-weight:700;color:var(--ink)}
.ck-head span{font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.ck-item{display:flex;gap:12px;align-items:flex-start;padding:13px 18px;border-bottom:1px solid #f1eee5}
.ck-item:last-child{border-bottom:0}
.ck-item i{flex:none;width:18px;height:18px;margin-top:2px;border-radius:50%;border:1.5px solid var(--green-line);background:var(--green-bg);position:relative}
.ck-item i::after{content:"";position:absolute;left:50%;top:50%;width:4.5px;height:8.5px;border:solid var(--green);border-width:0 1.5px 1.5px 0;transform:translate(-50%,-60%) rotate(45deg)}
.ck-item div b{display:block;font-size:14.5px;color:var(--ink);font-weight:600}
.ck-item div span{display:block;font-size:13px;line-height:1.6;color:var(--ink-2);margin-top:2px}

/* rejection wording (email quote semantics → mono allowed) */
.rejbox{background:#fff;border:1px solid var(--paper-line);border-left:3px solid var(--red-line);border-radius:12px;padding:16px 18px;margin:16px 0}
.rejbox .r-label{font-size:11.5px;font-weight:700;color:var(--red);margin-bottom:8px}
.rejbox p{font-family:var(--mono);font-size:13px;line-height:1.75;color:var(--ink-2);margin:0;max-width:none}
.rejbox p em{font-style:normal;font-weight:600;color:var(--ink)}
.rej-read{font-size:13.5px;line-height:1.7;color:var(--ink-2);padding:10px 18px 0;margin:0 0 4px}
.rej-read b{color:var(--ink)}

/* template excerpt (document paper card) */
.tmpl{background:var(--paper);border:1px solid var(--paper-line);border-radius:16px;overflow:hidden;margin:20px 0 8px;box-shadow:0 12px 38px rgba(35,31,24,.06)}
.tmpl-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;background:#fff;border-bottom:1px solid var(--paper-line)}
.tmpl-top b{font-size:12.5px;font-weight:700;color:var(--ink)}
.tmpl-top span{font-size:11.5px;font-weight:600;color:var(--green);background:var(--green-bg);border:1px solid var(--green-line);border-radius:99px;padding:3px 9px}
.tmpl-body{padding:20px 24px}
.tmpl-body p{font-size:14px;line-height:1.85;color:var(--ink-2);margin-bottom:12px}
.tmpl-body p b{color:var(--ink);font-weight:600}
.tmpl-body .redact{background:#eceae4;color:transparent;border-radius:3px;user-select:none}
.tmpl-note{font-size:13px;color:var(--ink-3);padding:0 24px 18px}

/* fix box (green) */
.fixbox{background:#fff;border:1px solid var(--paper-line);border-left:3px solid var(--green-line);border-radius:12px;padding:16px 18px;margin:16px 0}
.fixbox .f-label{font-size:11.5px;font-weight:700;color:var(--green);margin-bottom:8px}
.fixbox ul{margin-left:18px}
.fixbox li{font-size:14.5px;line-height:1.8;color:var(--ink-2);padding-left:4px}
.fixbox li em{font-style:normal;font-weight:600;color:var(--ink)}

/* inline CTA band */
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:var(--paper);border:1px solid var(--paper-line);border-radius:16px;padding:20px 24px;margin:40px 0 8px}
.cta-band p{font-size:15px;line-height:1.7;color:var(--ink-2);margin:0;max-width:460px}
.cta-band p b{color:var(--ink)}
.art a.cta-main,.cta-main{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-size:15px;font-weight:600;color:#fff;background:var(--ink);padding:13px 26px;border-radius:99px;box-shadow:0 1px 2px rgba(0,0,0,.08),0 8px 24px rgba(0,0,0,.12);transition:background .2s,transform .2s;white-space:nowrap}
.cta-main:hover{background:#000;transform:translateY(-1px)}

/* FAQ (native details, styled to home DNA) */
.faq{border-top:1px solid var(--line);margin-top:16px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:19px 4px;font-size:16px;font-weight:600;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";margin-left:auto;width:24px;height:24px;flex:none;border-radius:50%;border:1px solid var(--line);background:
  linear-gradient(var(--ink-2),var(--ink-2)) center/11px 1.5px no-repeat,
  linear-gradient(var(--ink-2),var(--ink-2)) center/1.5px 11px no-repeat;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{font-size:14.5px;line-height:1.9;color:var(--ink-2);padding:0 4px 20px;max-width:720px}

/* sources / meta */
.sources{margin-top:clamp(44px,7vh,64px);padding-top:20px;border-top:1px solid var(--line)}
.sources .s-label{font-size:12.5px;font-weight:700;color:var(--ink-3);margin-bottom:10px}
.sources ul{list-style:none}
.sources li{font-size:13.5px;line-height:1.8;color:var(--ink-2)}
.sources a{color:var(--ink-2);font-weight:400;text-decoration:underline;text-decoration-color:var(--line)}
.sources a:hover{color:var(--ink)}
.updated{font-size:12.5px;color:var(--ink-3);margin-top:14px;font-variant-numeric:tabular-nums}

/* related pages */
.related{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 8px}
@media(max-width:640px){.related{grid-template-columns:1fr}}
.related a{display:block;text-decoration:none;background:#fff;border:1px solid var(--paper-line);border-radius:14px;padding:16px 18px;transition:border-color .2s,transform .2s}
.related a:hover{border-color:#d4d4d8;transform:translateY(-1px)}
.related b{display:block;font-size:14.5px;font-weight:600;color:var(--ink)}
.related span{display:block;font-size:12.5px;color:var(--ink-3);margin-top:4px;line-height:1.5}

/* final dark conversion section (home DNA) */
.final{background:#131316;color:#fff;padding:clamp(72px,11vh,120px) 24px clamp(36px,5vh,56px)}
.final .fwrap{max-width:760px;margin:0 auto;text-align:center}
.final h2{color:#fff;font-size:clamp(28px,3.6vw,42px);font-weight:700;line-height:1.25;margin-bottom:16px}
.final .fsub{font-size:16px;line-height:1.8;color:#a1a1aa;margin-bottom:32px}
.final .fsub strong{color:#e4e4e7;font-weight:600}
.fcta{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-size:16px;font-weight:600;color:var(--ink);background:#fff;padding:15px 32px;border-radius:99px;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 30px rgba(0,0,0,.35)}
.fcta:hover{transform:translateY(-1px);box-shadow:0 12px 36px rgba(0,0,0,.45)}
.fhint{font-size:13px;color:#71717a;margin-top:14px}
.footer{max-width:1040px;margin:clamp(60px,9vh,96px) auto 0;padding-top:26px;border-top:1px solid #26262b;display:flex;align-items:center;gap:24px;flex-wrap:wrap;font-size:13px;color:#71717a}
.footer .fbrand{display:flex;align-items:center;gap:8px;color:#e4e4e7;font-weight:600;font-size:14px}
.footer a{color:#a1a1aa;text-decoration:none}
.footer a:hover{color:#fff}
.footer .fright{margin-left:auto}
@media(max-width:640px){.footer{row-gap:14px}.footer .fright{margin-left:0;width:100%}}

@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
