/* RetirementIQ answers library: loaded on /answers/ pages only */
:root{--navy:#1C2F4F;--gold:#A47E48;--cream:#F7F2E8;--paper:#FFFDF8;--ink:#2C2A27;--mute:#6E675D;--line:#DED4C2}
.ans-head,.ans-ask,#hub,.ask-wrap{font-family:"Lora",Georgia,"Times New Roman",serif;color:var(--ink)}
.ans-head .wrap,#hub .wrap,.ans-ask .wrap{max-width:1160px;margin:0 auto;padding-inline:16px}
.ans-head h1,.ans-head h2,.ans-head h3,#hub h2,#hub h3,.ans-ask h2{font-family:"Lora",Georgia,serif;font-weight:500;color:var(--navy);line-height:1.2}
.ans-head .eyebrow,#hub .eyebrow,.ans-ask .eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.ans-ask{padding-block:clamp(36px,5vw,64px)}
.ans-ask .split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px)}
@media (max-width:860px){.ans-ask .split{grid-template-columns:1fr}}
.ans-ask .btn,.ask-form .btn{display:inline-block;padding:13px 24px;font:inherit;font-size:16px;border:1px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer;text-decoration:none}
.faq{display:flex;flex-direction:column;border-top:1.5px solid var(--gold);max-width:860px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 24px;gap:16px;align-items:center;padding:18px 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font-size:18.5px;font-weight:500;margin:0}
.faq summary::after{content:"+";color:var(--gold);font-size:24px;line-height:1;text-align:center;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 40px 20px 0;font-size:16px}

/* answers library */
.faq{display:flex;flex-direction:column;border-top:1.5px solid var(--gold);max-width:860px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 24px;gap:16px;align-items:center;padding:18px 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font-size:18.5px;font-weight:500;margin:0}
.faq summary::after{content:"+";color:var(--gold);font-size:24px;line-height:1;text-align:center;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 40px 20px 0;font-size:16px}
.ans-crumb{font-size:14px;color:var(--mute);display:flex;gap:8px;flex-wrap:wrap}
.ans-crumb a{color:var(--mute)}
.ans-head{padding-block:clamp(36px,5vw,64px) 8px}
.ans-col{max-width:760px}
.ans-head h1{font-size:clamp(32px,4.4vw,50px);margin:12px 0 18px}
.ans-by{display:flex;align-items:center;gap:12px;font-size:14.5px;color:var(--mute);flex-wrap:wrap}
.ans-by img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 20%}
.ans-by b{color:var(--ink);font-weight:500}
.ans-short{background:var(--navy);color:var(--paper);padding:clamp(20px,3vw,30px);margin:clamp(22px,3vw,32px) 0}
.ans-short .eyebrow{color:var(--gold);margin-bottom:10px}
.ans-short p{font-size:clamp(18px,2vw,20px);line-height:1.6;margin:0;color:var(--paper)}
.ans-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:clamp(28px,4vw,40px)}
.ans-keys div{background:var(--paper);padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.ans-keys b{font-size:22px;font-weight:500;color:var(--navy);line-height:1.15}
.ans-keys span{font-size:13px;color:var(--mute);line-height:1.4}
.ans-body h2{font-size:clamp(24px,2.8vw,30px);margin:clamp(28px,4vw,40px) 0 12px}
.ans-body p,.ans-body li{font-size:17.5px;line-height:1.7}
.ans-body p{margin:0 0 14px}
.ans-body ul,.ans-body ol{padding-left:22px;margin:0 0 14px;display:flex;flex-direction:column;gap:8px}
.ans-body .tbl{overflow-x:auto;margin:6px 0 16px}
.ans-t{border-collapse:collapse;width:100%;min-width:420px;background:#fff;border:1px solid var(--line);font-variant-numeric:tabular-nums;font-size:15.5px}
.ans-t th{font-weight:500;color:var(--mute);font-size:13px;text-align:left;padding:8px 12px;border-bottom:1px solid var(--line)}
.ans-t td{padding:7px 12px;border-bottom:1px solid var(--line)}
.ans-t td:nth-child(odd){color:var(--navy);font-weight:500}
.ans-ex{background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);padding:18px 22px;margin:clamp(24px,3vw,32px) 0}
.ans-ex .eyebrow{margin-bottom:8px}
.ans-ex p{margin:0;font-size:17px;line-height:1.65}
.ans-todo{list-style:none;padding:0!important;counter-reset:t}
.ans-todo li{counter-increment:t;padding-left:40px;position:relative}
.ans-todo li::before{content:counter(t);position:absolute;left:0;top:2px;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:13px;display:grid;place-items:center}
.ans-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:8px 0 0}
.ans-tools a{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:border-color .2s}
.ans-tools a:hover{border-color:var(--gold)}
.ans-tools b{font-weight:500;color:var(--navy)}
.ans-tools span{font-size:14.5px;color:var(--mute)}
.ans-rel{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.ans-rel a{padding:14px 0;border-bottom:1px solid var(--line);color:var(--navy);text-decoration:none;font-size:18px;display:flex;justify-content:space-between;gap:16px}
.ans-rel a::after{content:"→";color:var(--gold)}
.ans-rel a:hover{color:var(--gold)}
.ans-src{font-size:13.5px;color:var(--mute);line-height:1.6}
.ans-src a{color:var(--mute)}
.ans-ask{background:var(--navy);color:var(--paper)}
.ans-ask h2,.ans-ask p{color:var(--paper)}
.ans-ask .eyebrow{color:var(--gold)}
.ans-ask .btn.solid{background:var(--gold);border-color:var(--gold);color:#fff}
.ans-ask .btn.ghost{color:var(--paper);border-color:rgba(255,253,248,.5)}
/* hub */
.hub-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px}
.hub-search{flex:1 1 280px;font:inherit;font-size:17px;padding:13px 16px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.hub-search:focus{outline:2px solid var(--gold);outline-offset:1px}
.hub-chips{display:flex;flex-wrap:wrap;gap:8px}
.hub-chips button{font:inherit;font-size:14.5px;padding:8px 14px;border:1px solid var(--line);background:var(--paper);color:var(--navy);cursor:pointer}
.hub-chips button[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hub-card{display:flex;flex-direction:column;gap:10px;padding:22px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
.hub-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.hub-card .eyebrow{font-size:11.5px}
.hub-card h3{font-size:21px;line-height:1.3}
.hub-card p{font-size:15.5px;color:var(--mute);margin:0;line-height:1.55}
.hub-card .more{margin-top:auto;color:var(--navy);font-size:15px}
.hub-group h3.hub-gh{font-size:22px;margin:28px 0 6px;padding-bottom:8px;border-bottom:2px solid var(--gold);display:inline-block}
.hub-none{color:var(--mute)}
.ask-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);padding:clamp(18px,2.6vw,28px);color:var(--ink)}
.ask-form label{display:flex;flex-direction:column;gap:6px;font-size:14.5px;color:var(--navy);min-width:0}
.ask-form input:not([type=checkbox]),.ask-form textarea{font:inherit;font-size:16px;padding:11px 13px;border:1px solid var(--line);background:var(--paper);color:var(--ink);width:100%;min-width:0;box-sizing:border-box}
.ask-form textarea{min-height:110px;resize:vertical}
.ask-form .full{grid-column:1/-1}
.ask-form .chk{flex-direction:row;align-items:flex-start;gap:10px;color:var(--ink);font-size:15px}
.ask-form .chk input{margin-top:4px;width:17px;height:17px;accent-color:var(--navy);flex:none}
.ask-form .hp{position:absolute!important;left:-9999px}
.ask-form .err{color:#9B2C2C;font-size:14px;margin:0}
.ask-form .fine{font-size:13px;color:var(--mute);margin:0}
.ask-ok{background:#E3F1E8;color:#1F5C38;padding:16px 18px}
#hub [hidden],.ask-wrap [hidden]{display:none!important}
.ansband .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,4vw,56px);align-items:start}
.ansband .wrap>*{min-width:0}
@media (max-width:900px){.hub-grid{grid-template-columns:1fr 1fr}.ans-keys{grid-template-columns:1fr 1fr}.ansband .wrap{grid-template-columns:1fr}}
@media (max-width:600px){.hub-grid,.ask-form{grid-template-columns:1fr}}
