/* RiQ CPP & OAS calculator: base styles, scoped to #cpq so the theme is untouched */
#cpq{--navy:#1C2F4F;--gold:#A47E48;--cream:#F7F2E8;--paper:#FFFDF8;--ink:#2C2A27;--mute:#6E675D;--line:#DED4C2;font-family:"Lora",Georgia,"Times New Roman",serif;color:var(--ink);font-size:17px;line-height:1.55;background:var(--cream)}
#cpq *{box-sizing:border-box}
#cpq .wrap{max-width:1160px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
#cpq .section{padding-block:clamp(36px,5vw,64px)}
#cpq .section.paper{background:var(--paper)}
#cpq .stack{display:flex;flex-direction:column;gap:14px}
#cpq h1,#cpq h2,#cpq h3{color:var(--navy);font-family:"Lora",Georgia,serif;font-weight:500;margin:0;line-height:1.2;letter-spacing:0;text-transform:none}
#cpq h2{font-size:clamp(26px,3.2vw,36px)}
#cpq p{margin:0}
#cpq .eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
#cpq .btn{display:inline-block;padding:13px 24px;font:inherit;font-size:16px;border:1px solid var(--navy);border-radius:0;background:var(--navy);color:#fff;cursor:pointer;text-decoration:none}
#cpq .btn:hover{background:#14233C}

/* CPP & OAS calculator */
.cq-hero{padding-block:clamp(44px,6vw,84px) clamp(24px,3vw,36px)}
.cq-hero h1{font-size:clamp(34px,4.6vw,54px);max-width:18ch}
.cq-hero .lead{max-width:60ch}
.cq-src{font-size:13px;color:var(--mute)}
.cq-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,3vw,36px);align-items:start}
.cq-inputs{background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);padding:clamp(18px,2.6vw,28px);display:flex;flex-direction:column;gap:18px}
.cq-inputs h2{font-size:22px}
.cq-f{display:flex;flex-direction:column;gap:6px}
.cq-f>label{font-size:15px;color:var(--navy);font-weight:500;display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.cq-f small{font-size:13px;color:var(--mute);font-weight:400;line-height:1.45}
.cq-f input[type=number],.cq-f input[type=text]{font:inherit;font-size:17px;padding:10px 12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);width:100%}
.cq-f input:focus{outline:2px solid var(--gold);outline-offset:1px}
.cq-money{position:relative}.cq-money::before{content:"$";position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--mute)}
.cq-money input{padding-left:24px!important}
.cq-chips{display:flex;flex-wrap:wrap;gap:8px}
.cq-chips button{font:inherit;font-size:13.5px;padding:6px 10px;border:1px solid var(--line);background:var(--cream);color:var(--navy);cursor:pointer}
.cq-chips button:hover{border-color:var(--gold)}
.cq-f output{font-size:22px;color:var(--gold);font-weight:500;min-width:2ch;text-align:right}
.cq-f input[type=range]{width:100%;accent-color:var(--navy);height:28px}
.cq-scale{display:flex;justify-content:space-between;font-size:12px;color:var(--mute)}
.cq-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cq-out{display:flex;flex-direction:column;gap:16px;position:sticky;top:96px}
.cq-card{background:var(--navy);color:var(--paper);padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;gap:18px}
.cq-card .eyebrow{color:var(--gold)}
.cq-pair{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,253,248,.18)}
.cq-pair>div{background:var(--navy);padding:4px 16px 4px 0;display:flex;flex-direction:column;gap:2px}
.cq-pair>div+div{padding-left:16px}
.cq-pair span{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,253,248,.7)}
.cq-pair b{font-size:clamp(26px,3vw,34px);font-weight:500}
.cq-pair em{font-size:13px;font-style:normal;color:rgba(255,253,248,.7)}
.cq-big{border-top:1px solid rgba(255,253,248,.18);padding-top:16px;display:flex;flex-direction:column;gap:4px}
.cq-big span{font-size:14px;color:rgba(255,253,248,.75)}
.cq-big b{font-size:clamp(40px,5vw,56px);font-weight:500;line-height:1.05;color:var(--paper)}
.cq-big small{font-size:14px;color:var(--gold)}
.cq-tot{background:#fff;border:1px solid var(--line);padding:16px 20px;display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.cq-tot span{font-size:15px;color:var(--mute)}.cq-tot b{font-size:28px;font-weight:500;color:var(--navy)}
.cq-claw{background:#FBEFD9;border-left:3px solid #B8782E;padding:12px 16px;font-size:15px}
.cq-be{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:15.5px}
.cq-be li{padding-left:18px;position:relative}.cq-be li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.cq-chartbox{background:#fff;border:1px solid var(--line);padding:clamp(16px,2.4vw,26px);position:relative}
.cq-chartbox h3{font-size:20px;font-weight:500;margin-bottom:4px}
.cq-chartbox p.sub{font-size:14px;color:var(--mute);margin:0 0 10px}
#cq-chart{position:relative;touch-action:none}
#cq-chart svg{width:100%;height:auto;display:block;overflow:visible}
.cq-ax{font-size:12px;fill:#6E675D;font-family:inherit}
.cq-lb{font-size:12.5px;fill:#2C2A27;font-family:inherit}
.cq-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;margin-top:10px}
.cq-legend i,.cq-tip i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:baseline}
.cq-tip{position:absolute;top:104px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 24px -14px rgba(28,47,79,.5);padding:10px 12px;font-size:13.5px;pointer-events:none;display:flex;flex-direction:column;gap:3px;min-width:210px;z-index:2}
.cq-tip span{display:flex;align-items:center}.cq-tip em{margin-left:auto;padding-left:14px;font-style:normal;font-variant-numeric:tabular-nums;color:var(--navy)}
.cq-tables{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(16px,2.4vw,28px)}
.cq-tables>div{min-width:0;overflow-x:auto}
.cq-tables h3{font-size:20px;font-weight:500;margin-bottom:10px}
.cq-t{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums;background:#fff;border:1px solid var(--line)}
.cq-t th{font-weight:500;text-align:right;font-size:13px;color:var(--mute);padding:9px 12px;border-bottom:1px solid var(--line)}
.cq-t td{text-align:right;padding:8px 12px;border-bottom:1px solid var(--line)}
.cq-t th:first-child,.cq-t td:first-child{text-align:left}
.cq-t td small{font-size:12px;color:var(--mute)}
.cq-t tr.on td{background:#F4ECDD;color:var(--navy);font-weight:500}
.cq-notes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cq-notes li{background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);padding:14px 16px;font-size:15.5px}
.cq-mail{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,4vw,56px);align-items:start}
.cq-mail>*{min-width:0}
.cq-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)}
.cq-form label{display:flex;flex-direction:column;gap:6px;font-size:14.5px;color:var(--navy)}
.cq-form label{min-width:0}
.cq-form input:not([type=checkbox]){width:100%;min-width:0;box-sizing:border-box;font:inherit;font-size:16px;padding:11px 13px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.cq-form .full{grid-column:1/-1}
.cq-form .chk{flex-direction:row;align-items:flex-start;gap:10px;color:var(--ink);font-size:15px}
.cq-form .chk input{margin-top:4px;width:17px;height:17px;accent-color:var(--navy);flex:none}
.cq-form .hp{position:absolute!important;left:-9999px}
.cq-form .err{color:#9B2C2C;font-size:14px;margin:0}
.cq-form .fine{font-size:13px;color:var(--mute);margin:0}
.cq-ok{background:#E3F1E8;color:#1F5C38;padding:16px 18px}
.cq-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.cq-rules>div{background:var(--paper);padding:clamp(18px,2.4vw,26px);display:flex;flex-direction:column;gap:8px;min-width:0}
.cq-rules b{font-size:30px;font-weight:500;color:var(--navy)}
.cq-rules h3{font-size:18px;font-weight:500}
.cq-rules p{font-size:15px;margin:0}
#cpq [hidden]{display:none!important}
@media (max-width:960px){.cq-grid,.cq-tables,.cq-mail{grid-template-columns:1fr}.cq-out{position:static}.cq-rules{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.cq-two,.cq-notes,.cq-rules,.cq-form{grid-template-columns:1fr}.cq-pair{grid-template-columns:1fr}.cq-pair>div+div{padding-left:0;padding-top:10px}.cq-tip{min-width:180px}}
