
/* Pankaj Bhatia v16 secure RESP calculator; original controls preserved. */
:root{--pbNavy:#0B1F3A;--pbRed:#C62828}*,*::before,*::after{box-sizing:border-box}
body{margin:0;overflow-x:hidden;background:#eaf0f7;color:#0b1f3a}
.pb-tfsa-app{font-family:Lato,Arial,sans-serif;color:#10243f}
.pb-tfsa-app .pb-site-header{position:relative}
.pb-tfsa-app section.pageIntro{background:linear-gradient(115deg,#0B1F3A,#152d53 66%,#301e40)!important;color:#fff!important;border-top:0;padding:45px 12px}
.pb-tfsa-app section.pageIntro .wrap{max-width:1160px}
.pb-tfsa-app section.pageIntro h1,.pb-tfsa-app section.pageIntro p{color:#fff!important}
.pb-tfsa-app section.pageIntro h1{font-weight:900;letter-spacing:-.035em;line-height:1.15;font-size:clamp(29px,3.5vw,48px);max-width:880px}
.pb-tfsa-app .heroCta{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.pb-tfsa-app .heroCta a{display:inline-block;background:#C62828;color:white!important;padding:12px 19px;border-radius:7px;text-decoration:none;font-weight:900}.pb-tfsa-app .heroCta a+ a{background:#263e61;border:1px solid #ffffff55}
.pb-tfsa-app main.wrap{width:min(1160px,calc(100% - 30px));margin:0 auto;padding:20px 0 70px}
.pb-tfsa-app main .card{border-radius:13px;border:1px solid #d5deeb;box-shadow:0 6px 26px #0b1f3a0b;background:#fff;color:#152b49}
.pb-tfsa-app main .card h3,.pb-tfsa-app main .card h2,.pb-tfsa-app main .card p,.pb-tfsa-app main .card label{color:#112541}
.pb-tfsa-app .sectionTitle{border-bottom:1px solid #dce5ef;padding-bottom:12px}
.pb-tfsa-app .sectionTitle h3{font-size:19px;font-weight:900;color:#0b1f3a}
.pb-tfsa-app .card .note{line-height:1.55}
.pb-tfsa-app .model-note{margin:10px 0 18px;background:#e9f0f8;color:#0b1f3a;padding:15px 17px;border-left:5px solid #C62828;border-radius:6px;line-height:1.6}
.pb-tfsa-app button,.pb-tfsa-app input,.pb-tfsa-app select,.pb-tfsa-app textarea{max-width:100%}
.pb-tfsa-app .btn.brandRed{background:#C62828;color:#fff}
.pb-tfsa-app .seoGuide{margin:35px calc(50% - 50vw) 0;background:#0b1f3a;color:#e5edf6;padding:40px max(20px,calc((100vw - 1160px)/2)) 55px}
.pb-tfsa-app .seoGuide .seo-wrap{max-width:1160px;margin:auto}.pb-tfsa-app .seoGuide h2,.pb-tfsa-app .seoGuide h3{color:#fff!important}.pb-tfsa-app .seoGuide h2{font-size:clamp(25px,2.6vw,34px);margin:8px 0 18px}.pb-tfsa-app .seoGuide p{color:#d6e1ef!important;line-height:1.75;font-size:15px}.pb-tfsa-app .seoGuide .eyebrow{color:#ffb6bc;text-transform:uppercase;font-weight:900;font-size:12px;letter-spacing:.1em}
.pb-tfsa-app .seoCols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.pb-tfsa-app .seoCols article{background:#182c49;border:1px solid #ffffff22;border-top:3px solid #C62828;border-radius:9px;padding:18px}.pb-tfsa-app .seoCols article h3{margin:0 0 10px;font-size:18px}.pb-tfsa-app .seoCols article p{font-size:14px;margin:0}
.pb-tfsa-app .seoFacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:24px 0}.pb-tfsa-app .seoFacts div{border:1px solid #3e5274;border-radius:7px;padding:16px;background:#172d4c;display:flex;flex-direction:column;gap:8px}.pb-tfsa-app .seoFacts strong{color:#fff;font-size:25px}.pb-tfsa-app .seoFacts span{font-size:13px;color:#c6d7eb}
.pb-tfsa-app .seoGuide details{background:#fff;color:#172b4b;border-radius:7px;padding:13px 16px;margin:9px 0;border:1px solid #d9e1eb}.pb-tfsa-app .seoGuide details summary{cursor:pointer;font-weight:900;color:#0B1F3A}.pb-tfsa-app .seoGuide details p{color:#2a3c56!important;font-size:14px;margin:12px 0 0}
.pb-tfsa-app .relatedLinks{display:flex;gap:10px;flex-wrap:wrap;margin:13px 0}.pb-tfsa-app .relatedLinks a{background:#243f63;padding:10px 13px;color:#fff;border-radius:5px;font-weight:700;text-decoration:none}.pb-tfsa-app .sourcesSmall a{color:#ffd0d0}
.pb-tfsa-app .pb-site-footer{clear:both}
.pb-tfsa-app .sticky{z-index:31}
.pb-tfsa-app .sticky,.pb-tfsa-app .sticky *{box-sizing:border-box}
@media(max-width:790px){.pb-tfsa-app .seoCols{grid-template-columns:1fr}.pb-tfsa-app .seoFacts{grid-template-columns:repeat(2,minmax(0,1fr))}.pb-tfsa-app .sectionTitle{flex-wrap:wrap}.pb-tfsa-app .pb-site-footer{padding-bottom:120px}}
@media(max-width:440px){.pb-tfsa-app .seoFacts{grid-template-columns:1fr 1fr}.pb-tfsa-app main.wrap{width:calc(100% - 24px)}.pb-tfsa-app .pageIntro{padding-top:30px!important}.pb-tfsa-app .sticky .footerText small{display:none}.pb-tfsa-app .sticky .footerText b{font-size:10px}.pb-tfsa-app .seoFacts strong{font-size:22px}}
@media print{.pb-tfsa-app .pb-site-header,.pb-tfsa-app .sticky,.pb-tfsa-app .seoGuide{display:none!important}}
/* Keep all five mobile sticky actions legible without clipping their labels. */
@media(max-width:550px){
 .pb-tfsa-app .sticky{width:100%;max-width:100vw;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:5px 4px calc(5px + env(safe-area-inset-bottom))}
 .pb-tfsa-app .sticky .footerAction{width:100%;min-width:0;overflow:hidden;height:53px;padding:4px 1px;display:flex;gap:3px;flex-direction:column;justify-content:center;text-align:center}
 .pb-tfsa-app .sticky .footerText{min-width:0;max-width:100%;white-space:normal!important;text-align:center;align-items:center}
 .pb-tfsa-app .sticky .footerText b{display:block;font-size:clamp(7px,1.9vw,8.5px)!important;line-height:1.12;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important}
 .pb-tfsa-app .sticky .footerText small{display:none!important}
 .pb-tfsa-app .sticky .footerSvg{transform:scale(.83)}
}

/* Fix: on narrow screens the bar is pinned left:0, so the centring shift must be removed (was half off-screen). */
@media(max-width:550px){.pb-tfsa-app .sticky.lockedFooter{transform:none}}
