/* PiCiviQ — simple pages (Privacy/Terms), Plans, 404. */

/* prose (block editor content) */
.page-wrap{padding-bottom:56px}
.prose{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(20px,4vw,36px);font-size:15.5px;line-height:1.7}
.prose:empty{display:none}
.prose>*+*{margin-top:1em}
.prose>:first-child{margin-top:0}
.prose h2{font-size:22px;font-weight:800;letter-spacing:-.01em;margin-top:1.6em}
.prose h3{font-size:18px;font-weight:700;margin-top:1.4em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li+li{margin-top:.35em}
.prose a{text-decoration:underline;text-underline-offset:2px}
.prose blockquote{margin:0;padding:12px 18px;border-left:3px solid var(--purple);background:var(--surface-2);border-radius:0 12px 12px 0}
.prose img{border-radius:12px}

/* plans (prototype 3-tier) */
.pricing-wrap{max-width:1500px;margin:0 auto;padding:46px 24px 60px}
.pricing-wrap .sec-head h1{font-size:clamp(26px,4vw,38px);font-weight:800;letter-spacing:-.02em;margin-top:12px}
.faqx-eye{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--purple)}
.ptiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch;margin-top:20px}
.ptier{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:30px 28px;display:flex;flex-direction:column;box-shadow:var(--shadow);position:relative}
.ptier.feat{background:var(--grad);color:#fff;box-shadow:var(--shadow-lg);border-color:transparent}
.ptier .ptag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:11.5px;font-weight:700;padding:5px 14px;border-radius:999px;white-space:nowrap}
:root[data-theme="dark"] .ptier .ptag{background:#fff;color:var(--ink)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ptier .ptag{background:#fff;color:var(--ink)}}
.ptier .pname{font-size:21px;font-weight:800;letter-spacing:-.01em}
.ptier .psub{font-size:13.5px;color:var(--muted);margin-top:4px}
.ptier.feat .psub{color:rgba(255,255,255,.9)}
.ptier .pprice{display:flex;align-items:flex-end;margin:22px 0 2px;min-height:58px}
.ptier .amt2{font-size:50px;font-weight:800;line-height:1;letter-spacing:-.02em}
.ptier .pprice.soon .amt2{font-size:28px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:6px}
.ptier .pnote{font-size:12.5px;color:var(--muted);font-weight:600;min-height:16px}
.ptier.feat .pnote{color:rgba(255,255,255,.88)}
.ptier .pbtn{display:flex;margin:18px 0 22px;width:100%;justify-content:center;border-radius:999px;padding:14px;font-weight:700;font-size:15px;background:var(--surface);color:var(--text);border:1px solid var(--border);transition:transform .12s}
.ptier .pbtn:hover{transform:translateY(-1px);border-color:var(--border-strong)}
.ptier.feat .pbtn{background:#fff;color:#02113B;border-color:#fff}
.ptier.feat :focus-visible{outline-color:#fff}
.plist{list-style:none;margin:4px 0 0;display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--border);padding:22px 0 0}
.ptier.feat .plist{border-top-color:rgba(255,255,255,.25)}
.plist li{display:flex;gap:11px;font-size:14px;align-items:flex-start;line-height:1.45}
.plist .bc{width:19px;height:19px;flex:none;color:var(--good);margin-top:1px}
.ptier.feat .plist li,.ptier.feat .plist .bc{color:#fff}

/* 404 */
.nf{text-align:center;padding-block:70px 80px}
.nf-code{font-size:clamp(72px,14vw,120px);font-weight:800;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.04em}
.nf h1{font-size:clamp(24px,4vw,32px);font-weight:800;margin-top:14px}
.nf p{color:var(--muted);margin-top:10px}
.nf-search{display:flex;gap:10px;max-width:520px;margin:26px auto 0}
.nf-search input{flex:1;min-width:0;height:48px;border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:0 16px;font:inherit;font-size:15px;color:var(--text)}
.nf-search input:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px color-mix(in srgb,var(--purple) 18%,transparent)}
.nf-search .btn{height:48px}
.nf-links{display:flex;gap:10px;justify-content:center;margin-top:18px;flex-wrap:wrap}

@media (max-width:900px){.ptiers{grid-template-columns:1fr;gap:30px}}
@media (max-width:560px){.pricing-wrap{padding-inline:16px}}

/* Planned — coming soon (page-planned.php) */
.plan-sec{padding-block:44px 80px}
.plan-wrap{max-width:860px}
.plan-crumb{font-size:13px;color:var(--muted);font-weight:600}
.plan-badge{display:inline-block;margin-top:14px;font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--purple);background:color-mix(in srgb,var(--purple) 12%,var(--surface));border-radius:999px;padding:5px 12px}
.plan-sec h1{font-size:clamp(28px,4vw,40px);font-weight:800;letter-spacing:-.02em;margin-top:10px}
.plan-lede{color:var(--muted);font-size:15.5px;line-height:1.65;margin-top:10px;max-width:62ch}
.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:26px}
.plan-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:20px}
.plan-card h2{font-size:16px;font-weight:800;margin-bottom:10px}
.plan-items,.plan-live{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.plan-items li{font-size:14px;padding-left:18px;position:relative}
.plan-items li::before{content:"";position:absolute;left:2px;top:.55em;width:7px;height:7px;border-radius:2px;background:var(--border-strong)}
.plan-live a{font-size:14px;font-weight:700;color:var(--purple)}
.plan-ask{margin-top:22px;font-size:14px;color:var(--muted)}
.plan-ask a{color:var(--purple);font-weight:700}
.plan-crumb a{color:var(--purple)}
.plan-areas{display:grid;align-items:start;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:26px}
.plan-all{max-width:1100px}
.plan-now{font-size:13px;color:var(--muted);margin:-4px 0 12px;line-height:1.6}
.plan-now span{font-weight:700}
.plan-now a{color:var(--purple);font-weight:700}
.plan-areas .plan-items a{color:var(--text);font-weight:600}
.plan-areas .plan-items a:hover{color:var(--purple)}
.plan-need{display:block;font-size:12.5px;color:var(--muted);line-height:1.45;margin-top:2px}
.plan-areas .plan-items{gap:10px}
.plan-needs{font-size:14px;line-height:1.6}
.plan-staff{font-size:13px;font-weight:700;color:#7A5300;background:var(--amber-bg);border-radius:10px;padding:8px 12px;margin-bottom:16px}

/* Syllabus Explorer (page-syllabus-explorer.php) + PYQ library (page-pyq.php) */
.sx-sec,.pyq-sec{padding-block:40px 80px}
.sx-wrap,.pyq-wrap{max-width:900px}
.sx-head h1{font-size:clamp(28px,4vw,40px);font-weight:800;letter-spacing:-.02em}
.sx-head p{color:var(--muted);font-size:15px;line-height:1.6;margin-top:8px;max-width:64ch}
.sx-demo{margin-top:18px;background:var(--amber-bg);border-radius:14px;padding:12px 16px;font-size:13.5px;line-height:1.55}
.sx-demo b{display:inline-block;background:#7A5300;color:#fff;border-radius:6px;padding:1px 7px;margin-right:8px;font-size:11.5px;letter-spacing:.06em}
.sx-demo a{color:var(--text);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.sx-note,.sx-empty{margin-top:14px;font-size:14px;color:var(--muted)}
.sx-note a{color:var(--purple);font-weight:700}
.sx-list{list-style:none;margin:0;padding:0}
.sx-root{margin-top:18px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:10px 14px}
.sx-list .sx-list{padding-left:18px;border-left:2px solid var(--border);margin-left:8px}
.sx-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:9px 6px;border-radius:10px;cursor:pointer;list-style:none}
.sx-leaf>.sx-row{cursor:default}
summary.sx-row::-webkit-details-marker{display:none}
summary.sx-row::before{content:"";width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .2s;margin-right:4px}
details[open]>summary.sx-row::before{transform:rotate(45deg)}
summary.sx-row:hover{background:var(--surface-2)}
.sx-name{font-weight:700;font-size:15px}
.sx-lv{font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;background:var(--surface-2);color:var(--muted)}
.sx-lv.sx-subject{background:color-mix(in srgb,var(--purple) 12%,var(--surface));color:var(--purple)}
.sx-lv.sx-micro{background:color-mix(in srgb,var(--teal) 14%,var(--surface));color:color-mix(in srgb,var(--teal) 60%,var(--text))}
.sx-sub{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:0 6px 10px 24px;font-size:13px;color:var(--muted)}
.sx-acc{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--text)}
.sx-acc i{display:inline-block;width:70px;height:7px;border-radius:99px;background:linear-gradient(90deg,var(--good) var(--w),var(--surface-2) var(--w))}
.sx-acc.none{color:var(--faint);font-weight:500}
.sx-act{display:inline-flex;gap:6px;margin-left:auto}
.sx-act a{display:inline-flex;align-items:center;min-height:32px;padding:4px 10px;border-radius:8px;color:var(--purple);font-weight:700}
.sx-act a:hover{background:var(--surface-2)}
.pyq-tabs{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}
.pyq-tabs a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:8px 16px}
.pyq-tabs a span{font-size:12px;color:var(--muted);background:var(--surface-2);border-radius:999px;padding:1px 8px}
.pyq-tabs a[aria-current="page"]{border-color:var(--purple);color:var(--purple)}
.pyq-empty{margin-top:18px;background:var(--surface);border:1px dashed var(--border-strong);border-radius:18px;padding:24px}
.pyq-empty h2{font-size:20px;font-weight:800}
.pyq-empty p{color:var(--muted);font-size:14.5px;line-height:1.6;margin-top:8px;max-width:64ch}
.pyq-how{margin:14px 0 0;padding-left:20px;display:grid;gap:6px;font-size:14px}
.pyq-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.pyq-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:14px}
.pyq-item{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:18px}
.pyq-prov{font-size:12.5px;color:var(--muted)}
.pyq-q{font-weight:700;margin-top:8px;line-height:1.5}
.pyq-opts{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px;font-size:14px}
.pyq-ans{margin-top:12px;font-size:14px}
.pyq-ans summary{cursor:pointer;color:var(--purple);font-weight:700}
.pyq-ans p{margin-top:8px}
@media (max-width:560px){.sx-act{margin-left:0}.sx-list .sx-list{padding-left:10px}}
