.resource-hero{padding:76px 0 52px;background:var(--paper-2);border-bottom:1px solid var(--line)}.resource-hero-inner{max-width:840px}.resource-hero .lead{max-width:760px;margin-top:18px}.resource-meta{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:24px;font-family:var(--f-mono);font-size:12px;color:var(--muted)}.resource-shell{display:grid;grid-template-columns:minmax(0,760px) minmax(220px,1fr);gap:80px;align-items:start}.resource-prose{min-width:0;color:var(--body)}.resource-prose h2{color:var(--ink);font-family:var(--f-display);font-size:30px;line-height:1.15;font-weight:600;margin:52px 0 18px}.resource-prose h2:first-child{margin-top:0}.resource-prose h3{color:var(--ink);font-family:var(--f-display);font-size:21px;line-height:1.3;font-weight:600;margin:32px 0 12px}.resource-prose p,.resource-prose li{color:var(--body);font-size:17px;line-height:1.75}.resource-prose p+p{margin-top:18px}.resource-prose ul,.resource-prose ol{margin:18px 0 24px 24px}.resource-prose li+li{margin-top:9px}.resource-prose strong{color:var(--ink)}.resource-prose a{color:var(--signal-deep);text-decoration:underline;text-underline-offset:3px}.resource-prose blockquote{margin:28px 0;padding:20px 24px;border-left:3px solid var(--signal);background:var(--paper-2);color:var(--muted)}.resource-aside{position:sticky;top:104px;border-top:2px solid var(--ink);padding-top:20px}.resource-aside h2{color:var(--ink);font-size:18px;line-height:1.3}.resource-aside p{color:var(--muted);font-size:14px;line-height:1.6;margin-top:10px}.resource-aside .btn{margin-top:18px;width:100%;justify-content:center}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.resource-card{display:flex;flex-direction:column;min-height:260px;padding:26px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.resource-card:hover{transform:translateY(-2px);border-color:var(--ink);box-shadow:var(--shadow-md)}.resource-card-type{color:var(--signal-deep);font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.resource-card h2,.resource-card h3{color:var(--ink);font-size:21px;line-height:1.25;margin-top:18px}.resource-card p{color:var(--muted);font-size:14px;line-height:1.6;margin-top:12px}.resource-card-link{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-size:14px;font-weight:600;margin-top:auto;padding-top:24px}.compare-table-wrap{overflow-x:auto;margin-top:40px;border:1px solid var(--line);border-radius:var(--r-md)}.compare-table{width:100%;min-width:760px;border-collapse:collapse;text-align:left}.compare-table th,.compare-table td{padding:18px 20px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.55}.compare-table th{background:var(--ink);color:#fff;font-size:13px;font-weight:600}.compare-table th:first-child{width:22%}.compare-table td{color:var(--muted);font-size:14px}.compare-table td:first-child{color:var(--ink);font-weight:600}.compare-table tr:last-child td{border-bottom:0}.compare-source{display:inline-block;margin-top:8px;color:var(--signal-deep);font-size:12px;font-weight:500;text-decoration:underline;text-underline-offset:2px}.source-list{display:grid;gap:12px;margin-top:18px}.source-list a{color:var(--signal-deep);text-decoration:underline;text-underline-offset:3px}.resource-form{display:grid;gap:18px;max-width:620px;margin-top:30px}.resource-form .field{display:grid;gap:7px}.resource-form label{color:var(--ink);font-size:14px;font-weight:600}.resource-form input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff}.resource-form input:focus{border-color:var(--signal-deep)}.resource-form-note{color:var(--muted);font-size:12px;line-height:1.55}.resource-form-note a{color:var(--signal-deep);text-decoration:underline}.resource-form-error{padding:14px 16px;border:1px solid var(--bad);border-radius:var(--r-sm);background:var(--bad-soft);color:#991b1b;font-size:14px}@media(max-width:960px){.resource-shell{grid-template-columns:1fr;gap:48px}.resource-aside{position:static}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.resource-grid{grid-template-columns:1fr}.resource-card{min-height:0}}
