/* ═══════════════════════════════════════════════════════════════════════
   TaxClue — Resource pages shared design system (.rc-*)
   Canonical for /resources/{slug} guides, checklists, calendars, how-tos.
   Width: 1360 outer container, 860 reading column. TaxClue tokens.
   Loaded via main.php for resources/ pages (after calc-gold.css). v1
   ═══════════════════════════════════════════════════════════════════════ */
:root{
  --rc-navy:#0A132B; --rc-red:#E31937; --rc-red-2:#F5405E; --rc-red-deep:#C01530;
  --rc-muted:#5C6A80; --rc-faint:#8593A6; --rc-line:#E4E9EF; --rc-line-2:#D3DAE3;
  --rc-paper:#fff; --rc-cream:#FCFAF5; --rc-tint:#EEF3F8; --rc-red-tint:#FFF5F6;
  --rc-disp:'Fraunces',Georgia,serif; --rc-sans:'DM Sans',system-ui,sans-serif; --rc-mono:'JetBrains Mono',monospace;
  --rc-w:1360px; --rc-read:860px;
}

.rc-page{background:var(--rc-cream);color:var(--rc-navy);font-family:var(--rc-sans)}
.rc-wrap{max-width:var(--rc-w);margin:0 auto;padding-left:32px;padding-right:32px}
@media(max-width:640px){.rc-wrap{padding-left:18px;padding-right:18px}}

/* ── HERO (full-width band, 2-col: content + lead card) ── */
.rc-hero{background:linear-gradient(180deg,#FFFDF8,var(--rc-cream) 78%);border-bottom:1px solid var(--rc-line);padding:56px 0 52px;position:relative;overflow:hidden}
.rc-hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(10,19,43,.05) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 72%);mask-image:linear-gradient(180deg,#000,transparent 72%);pointer-events:none}
.rc-hero-inner{position:relative;display:grid;grid-template-columns:1fr 380px;gap:56px;align-items:center}
.rc-hero-main{min-width:0}
.rc-tag{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border:1px solid rgba(227,25,55,.3);background:var(--rc-red-tint);border-radius:100px;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--rc-red-deep);margin-bottom:18px;font-family:var(--rc-mono)}
.rc-h1{font-family:var(--rc-disp);font-size:clamp(1.9rem,4vw,2.9rem);font-weight:400;color:var(--rc-navy);line-height:1.12;margin:0 0 14px;letter-spacing:-.01em}
.rc-sub{color:var(--rc-muted);font-size:15.5px;line-height:1.7;margin:0 0 24px;max-width:620px}
.rc-badges{display:flex;flex-wrap:wrap;gap:18px}
.rc-badge{display:flex;align-items:center;gap:7px;color:var(--rc-muted);font-size:13px}
.rc-badge b{color:var(--rc-red-deep);font-weight:700}

/* ── Lead-capture card (hero right) ── */
.rc-cta-card{background:var(--rc-paper);border:1px solid var(--rc-line);border-radius:18px;padding:26px;box-shadow:0 18px 44px -28px rgba(10,19,43,.35)}
.rc-cta-card h3{font-size:16px;font-weight:700;color:var(--rc-navy);margin:0 0 6px;font-family:var(--rc-disp)}
.rc-cta-card p{font-size:13px;color:var(--rc-muted);margin:0 0 18px}
.rc-cta-items{display:flex;flex-direction:column;gap:9px;margin-bottom:18px}
.rc-cta-item{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--rc-navy)}
.rc-cta-item span{font-size:15px}
.rc-cta-card input[type=text],.rc-cta-card input[type=tel]{padding:11px 14px;border:1.5px solid var(--rc-line-2);border-radius:9px;font-size:14px;color:var(--rc-navy);background:#FAFCFD;font-family:var(--rc-sans);width:100%;box-sizing:border-box}
.rc-cta-card input:focus{outline:none;border-color:var(--rc-red)}
.rc-cta-btn{display:block;background:linear-gradient(135deg,var(--rc-red),var(--rc-red-2));color:#fff;border:none;padding:14px;border-radius:10px;font-size:14.5px;font-weight:700;cursor:pointer;text-align:center;text-decoration:none;transition:all .2s;font-family:var(--rc-sans)}
.rc-cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(227,25,55,.25)}

/* ── BODY (reading column) ── */
.rc-body{padding:56px 0}
.rc-body-inner{max-width:var(--rc-read);margin:0 auto}
.rc-eyebrow{font-size:10.5px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--rc-red-deep);margin-bottom:10px;font-family:var(--rc-mono)}
.rc-h2{font-family:var(--rc-disp);font-size:clamp(1.5rem,2.8vw,2rem);font-weight:500;color:var(--rc-navy);margin:0 0 8px;letter-spacing:-.01em}
.rc-desc{color:var(--rc-muted);font-size:14.5px;max-width:620px;margin:0 0 34px;line-height:1.7}

/* Prose blocks (generic content) */
.rc-body-inner>h2:not(.rc-h2){font-family:var(--rc-disp);font-size:1.5rem;font-weight:500;color:var(--rc-navy);margin:38px 0 12px;padding-bottom:10px;border-bottom:1px solid var(--rc-line)}
.rc-body-inner>h3{font-family:var(--rc-disp);font-size:1.15rem;font-weight:600;color:var(--rc-navy);margin:26px 0 8px}
.rc-body-inner>p{font-size:15.5px;line-height:1.75;color:#33405A;margin:0 0 14px}
.rc-body-inner>ul,.rc-body-inner>ol{font-size:15.5px;line-height:1.7;color:#33405A;margin:0 0 16px;padding-left:22px}
.rc-body-inner>ul li,.rc-body-inner>ol li{margin:0 0 7px}

/* ── Numbered guide steps ── */
.rc-guide-wrap{display:flex;flex-direction:column;counter-reset:guide-step;margin:8px 0}
.rc-guide-item{display:flex;gap:20px;padding:22px 0;border-bottom:1px solid var(--rc-line)}
.rc-guide-item:last-child{border-bottom:none}
.rc-guide-num{width:38px;height:38px;background:var(--rc-tint);border:1px solid var(--rc-line-2);color:var(--rc-red-deep);border-radius:11px;display:grid;place-items:center;font-size:13px;font-weight:700;flex-shrink:0;font-family:var(--rc-mono);counter-increment:guide-step}
.rc-guide-num::after{content:counter(guide-step)}
.rc-guide-content{flex:1;min-width:0}
.rc-guide-h{font-family:var(--rc-disp);font-size:16px;font-weight:600;color:var(--rc-navy);margin:0 0 6px;line-height:1.3}
.rc-guide-p{font-size:14.5px;color:var(--rc-muted);line-height:1.7;margin:0}

/* ── Tables ── */
.rc-table-wrap{overflow-x:auto;border-radius:14px;box-shadow:0 2px 16px rgba(10,19,43,.07);border:1px solid var(--rc-line);margin:8px 0 24px}
.rc-table{width:100%;border-collapse:collapse;background:var(--rc-paper);font-size:13.5px}
.rc-table thead th{background:var(--rc-tint);color:var(--rc-navy);padding:13px 16px;text-align:left;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;font-family:var(--rc-mono);border-bottom:1px solid var(--rc-line-2)}
.rc-table tbody tr{border-bottom:1px solid var(--rc-line)}
.rc-table tbody tr:last-child{border-bottom:none}
.rc-table tbody tr:hover{background:#FAFCFD}
.rc-table tbody td{padding:12px 16px;vertical-align:top;color:var(--rc-muted)}
.rc-period{color:var(--rc-faint);font-size:12px;white-space:nowrap;font-family:var(--rc-mono)}
.rc-date{color:var(--rc-red-deep);font-weight:700;font-size:13px;white-space:nowrap;font-family:var(--rc-mono);min-width:80px}

/* ── Checklist blocks ── */
.rc-cl-wrap{background:var(--rc-paper);border:1px solid var(--rc-line);border-radius:14px;padding:26px 30px;box-shadow:0 4px 16px rgba(10,19,43,.05);margin:8px 0}
.rc-cl-section{font-size:12px;font-weight:700;color:var(--rc-red-deep);text-transform:uppercase;letter-spacing:1.5px;font-family:var(--rc-mono);margin:24px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--rc-line)}
.rc-cl-section:first-child{margin-top:0}
.rc-cl-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin:0;padding:0}
.rc-cl-item{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;color:var(--rc-muted);line-height:1.55;padding:8px 12px;border-radius:8px;transition:background .15s,color .15s}
.rc-cl-item::before{content:'✓';color:var(--rc-red);font-weight:700;flex-shrink:0}
.rc-cl-item:hover{background:var(--rc-tint);color:var(--rc-navy)}

/* ── Related links ── */
.rc-related{margin-top:44px;padding-top:30px;border-top:1px solid var(--rc-line)}
.rc-related-h{font-size:12px;font-weight:700;color:var(--rc-red-deep);text-transform:uppercase;letter-spacing:1.5px;font-family:var(--rc-mono);margin-bottom:14px}
.rc-rel-links{display:flex;flex-wrap:wrap;gap:10px}
.rc-rel-link{padding:9px 18px;background:var(--rc-paper);border:1.5px solid var(--rc-line-2);border-radius:100px;font-size:13px;font-weight:600;color:var(--rc-muted);text-decoration:none;transition:all .2s}
.rc-rel-link:hover{border-color:var(--rc-red);color:var(--rc-red-deep);background:var(--rc-red-tint);transform:translateY(-1px)}

/* ── FAQ ── */
.rc-faq-wrap{margin-top:44px;padding-top:30px;border-top:1px solid var(--rc-line)}
.rc-faq-h{font-size:12px;font-weight:700;color:var(--rc-red-deep);text-transform:uppercase;letter-spacing:1.5px;font-family:var(--rc-mono);margin-bottom:14px}
.rc-faq-item{border-bottom:1px solid var(--rc-line);padding:16px 0}
/* div + JS toggle pattern (.open class) — matches the per-page FAQ script */
.rc-faq-q{font-family:var(--rc-disp);font-size:15.5px;font-weight:600;color:var(--rc-navy);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px}
.rc-faq-q::after{content:'+';font-size:20px;color:var(--rc-red-deep);flex-shrink:0;transition:transform .2s}
.rc-faq-q.open::after{transform:rotate(45deg)}
.rc-faq-a{font-size:14.5px;color:var(--rc-muted);line-height:1.7;max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease}
.rc-faq-a.open{max-height:3000px;padding-top:10px}
/* Also support native <details> FAQ if a page uses it */
.rc-faq-item[open] .rc-faq-q::after{transform:rotate(45deg)}
.rc-faq-item>summary.rc-faq-q{list-style:none}
.rc-faq-item>summary.rc-faq-q::-webkit-details-marker{display:none}

/* ── Bottom CTA band ── */
.rc-cta-band{background:var(--rc-tint);border-top:1px solid var(--rc-line-2);padding:56px 0;text-align:center;color:var(--rc-navy)}
.rc-cta-band h2{font-family:var(--rc-disp);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;margin:0 0 10px;color:var(--rc-navy)}
.rc-cta-band p{color:var(--rc-muted);font-size:15px;margin:0 0 28px}
.rc-cta-band-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.rc-cta-band-btn{padding:13px 28px;border-radius:12px;font-size:14.5px;font-weight:700;text-decoration:none;transition:all .2s}
.rc-cta-band-btn.primary{background:linear-gradient(135deg,var(--rc-red),var(--rc-red-2));color:#fff}
.rc-cta-band-btn.ghost{background:transparent;color:var(--rc-navy);border:1.5px solid var(--rc-line-2)}
.rc-cta-band-btn:hover{transform:translateY(-2px)}

/* ── Optional utilities (callouts, traffic-light table cells) some pages use ── */
.rc-infobox{background:var(--rc-paper);border:1px solid var(--rc-line);border-left:3px solid var(--rc-red);border-radius:12px;padding:16px 20px;margin:16px 0;font-size:14.5px;line-height:1.7;color:#33405A}
.rc-tip{background:var(--rc-red-tint);border:1px solid rgba(227,25,55,.18);border-radius:12px;padding:14px 18px;margin:16px 0;font-size:14px;line-height:1.65;color:#3A2530}
.rc-table td.rc-yes,.rc-table .rc-yes{color:var(--rc-green,#138808);font-weight:700}
.rc-table td.rc-no,.rc-table .rc-no{color:var(--rc-red-deep);font-weight:700}
.rc-table td.rc-partial,.rc-table .rc-partial{color:#B26A00;font-weight:700}
.rc-table td.rc-rate,.rc-table .rc-rate{color:var(--rc-red-deep);font-weight:700;font-family:var(--rc-mono)}

/* ── Responsive ── */
@media(max-width:900px){
  .rc-hero-inner{grid-template-columns:1fr;gap:32px}
  .rc-cta-card{max-width:520px}
}
@media(max-width:768px){
  .rc-hero{padding:40px 0 36px}
  .rc-body{padding:40px 0}
  .rc-guide-item{flex-direction:row}
  .rc-cl-wrap{padding:20px}
}
