.role-guides { border-bottom:1px solid var(--line); }
.role-guides h2 { margin-bottom:.6rem; }
.rg-line { color:var(--ink); font-size:1.05rem; margin:0 0 2rem; max-width:64ch; }
.rg-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr)); gap:1.25rem; }
.rg-card { display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.rg-card:hover { border-color:var(--accent); }
.rg-cover { display:block; background:var(--bg-deep); border-bottom:1px solid var(--line); }
.rg-cover img { display:block; width:100%; height:auto; aspect-ratio:600/776; object-fit:cover; }
.rg-body { display:flex; flex-direction:column; flex:1; padding:1rem 1.15rem 1.2rem; }
.rg-ver { font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); }
.rg-title { margin:.3rem 0 0; font-size:1.05rem; line-height:1.3; }
.rg-title a { color:var(--heading); text-decoration:none; }
.rg-title a:hover { color:var(--accent); }
.rg-sum { margin:.5rem 0 0; font-size:.92rem; line-height:1.55; color:var(--ink); }
.rg-foot { margin-top:auto; padding-top:1rem; display:flex; align-items:center; justify-content:space-between; gap:.75rem; flex-wrap:wrap; }
.rg-price { font-size:1.2rem; font-weight:800; color:var(--heading); }
.rg-links { display:flex; gap:.9rem; font-size:.9rem; font-weight:600; }
.rg-links a { color:var(--accent); text-decoration:none; }
.rg-links a:hover { color:var(--accent-hover); }
.rg-links .rg-quiet { color:var(--ink-soft); }
.rg-links .rg-quiet:hover { color:var(--heading); }
@media (max-width:640px){ .rg-card { display:grid; grid-template-columns:6.5rem 1fr; } .rg-cover { border-bottom:0; border-right:1px solid var(--line); } .rg-cover img { height:100%; aspect-ratio:auto; object-position:left top; } .rg-body { padding:.85rem 1rem 1rem; } .rg-sum { font-size:.88rem; } }
.rg-pricing { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-top:2.25rem; }
@media (max-width:820px){ .rg-pricing { grid-template-columns:1fr; } }
.rg-price-card { background:var(--bg-deep); border:1px solid var(--line); border-radius:14px; padding:1.4rem 1.5rem; }
.rg-price-card.rg-featured { border-color:var(--ink-soft); }
.rg-price-card .rg-label { font-size:.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); }
.rg-price-card .rg-amount { margin:.35rem 0 .5rem; font-size:2rem; font-weight:800; color:var(--heading); }
.rg-price-card p { font-size:.95rem; margin:0 0 1rem; }
.rg-price-card .btn { margin-top:0; }
.rg-limits { margin-top:1.5rem; font-size:.88rem; line-height:1.6; color:var(--ink-soft); max-width:none; border-left:3px solid var(--line); padding-left:1rem; }
.rg-limits strong { color:var(--ink); }
.rg-compare { margin-top:2.25rem; display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
@media (max-width:820px){ .rg-compare { grid-template-columns:1fr; } }
.rg-compare > div { border:1px solid var(--line); border-radius:12px; padding:1.1rem 1.25rem; }
.rg-compare h3 { font-size:1.05rem; margin-bottom:.35rem; }
.rg-compare p { font-size:.93rem; margin:0; }
.guide-head h3 { font-size:1.1rem; font-weight:700; letter-spacing:-.01em; line-height:1.3; margin:0; }
.guide-head h3 a { color:var(--heading); text-decoration:none; }
.guide-head h3 a:hover { color:var(--accent); }
.guide-links { display:flex; flex-direction:column; align-items:flex-end; gap:.35rem; }
@media (max-width:900px){ .guide-links { flex-direction:row; gap:1rem; align-items:center; } }
.guide-section-h { margin:3.5rem 0 1rem; }
.guide-section-h:first-child { margin-top:0; }
.guide-row-coll { background:var(--surface); border-left:3px solid #3A4766; padding-left:1rem; padding-right:1rem; }
.pd-hero { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:3rem; align-items:start; }
@media (max-width:900px){ .pd-hero { grid-template-columns:1fr; gap:2rem; } }
.pd-hero h1 { font-size:clamp(2rem,4vw,3rem); }
.pd-hero .sub { font-size:1.125rem; line-height:1.6; color:var(--ink); margin-top:1.25rem; max-width:56ch; }
.pd-chips { list-style:none; display:flex; flex-wrap:wrap; gap:.5rem; margin:1.25rem 0 0; padding:0; }
.pd-chips li { font-size:.8rem; font-weight:600; color:var(--ink); border:1px solid var(--line); border-radius:999px; padding:.25rem .75rem; }
.pd-buy { margin-top:1.75rem; display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem; }
.pd-buy .btn { margin-top:0; }
.pd-price { font-size:2rem; font-weight:800; color:var(--heading); }
.pd-cover img { display:block; width:100%; max-width:24rem; height:auto; border-radius:12px; border:1px solid var(--line); box-shadow:0 18px 40px rgba(0,0,0,.45); }
@media (max-width:900px){ .pd-cover img { max-width:18rem; } }
.pd-meta { margin-top:1.5rem; font-size:.93rem; color:var(--ink); }
.pd-meta p { margin:.4rem 0 0; }
.pd-meta strong { color:var(--heading); }
.pd-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:1.5rem; }
@media (max-width:820px){ .pd-grid { grid-template-columns:1fr; } }
.pd-grid > div { background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:1.1rem 1.25rem; }
.pd-grid h3 { font-size:1.05rem; margin-bottom:.35rem; }
.pd-grid p { font-size:.93rem; margin:0; }
.pd-split { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-top:1.5rem; }
@media (max-width:820px){ .pd-split { grid-template-columns:1fr; } }
.pd-split > div { border:1px solid var(--line); border-radius:12px; padding:1.1rem 1.25rem; }
.pd-split h3 { font-size:1.05rem; }
.pd-steps { margin:1.25rem 0 0; padding-left:1.25rem; max-width:62ch; }
.pd-steps li { margin:.45rem 0; color:var(--ink); }
.pd-note { margin-top:1rem; font-size:.93rem; color:var(--ink-soft); }
.pd-coll { margin-top:2.5rem; background:var(--bg-deep); border:1px solid var(--ink-soft); border-radius:14px; padding:1.4rem 1.5rem; display:flex; flex-wrap:wrap; gap:1rem 2rem; align-items:center; justify-content:space-between; }
.pd-coll p { margin:0; max-width:54ch; }
.pd-coll .btn { margin-top:0; }

/* Guide picker: one question, short enough to finish */
.rg-picker { margin:0 0 2rem; background:var(--bg-deep); border:1px solid var(--line); border-radius:14px; padding:1.1rem 1.25rem 1.2rem; }
.rg-picker-q { margin:0 0 .8rem; color:var(--ink); font-size:1rem; max-width:none; }
.rg-picker-q strong { color:var(--heading); }
.rg-picker-opts { list-style:none; display:flex; flex-wrap:wrap; gap:.5rem; margin:0; padding:0; }
.rg-picker-opts a { display:inline-block; padding:.45rem .9rem; border:1px solid var(--line); border-radius:999px; color:var(--heading); text-decoration:none; font-size:.92rem; min-height:36px; line-height:1.35; }
.rg-picker-opts a:hover, .rg-picker-opts a[aria-pressed="true"] { border-color:var(--accent); }
.rg-picker-result { margin:1rem 0 0; padding-top:1rem; border-top:1px solid var(--line); font-size:.98rem; color:var(--ink); max-width:none; }
.rg-picker-result strong { color:var(--heading); }
.rg-picker-result .rg-picker-links { display:inline-flex; gap:.9rem; margin-left:.4rem; font-weight:600; }
.rg-picker-result a { color:var(--accent); text-decoration:none; }
.rg-picker-result a:hover { color:var(--accent-hover); }
