/* v29 — locked section-family fidelity for Topics / News / Tools / About.
   Derived from the approved Home + Guides + Banks language. */
:where(.topics-page,.news-page,.tools-page,.about-page){--sf-navy:#031c35;--sf-deep:#021426;--sf-ink:#102b60;--sf-gold:#d5a765;--sf-rail:#17394d;background:#fff}
:where(.topics-page,.news-page,.tools-page,.about-page) .premium-header{position:relative;z-index:20;height:68px;grid-template-rows:68px;grid-template-columns:36% 49% 15%}
:where(.topics-page,.news-page,.tools-page,.about-page) .premium-header::after{right:0;top:0;width:470px;height:68px;border:0;border-radius:0;background:url('./header-curve-right.svg') center/100% 100% no-repeat}
:where(.topics-page,.news-page,.tools-page,.about-page) .premium-brand{height:85px;padding:0 60px 17px 26px}
:where(.topics-page,.news-page,.tools-page,.about-page) .brand-reference-image{height:68px}
:where(.topics-page,.news-page,.tools-page,.about-page) .premium-nav{height:68px;gap:37px;font-size:14px;padding:0 24px}
:where(.topics-page,.news-page,.tools-page,.about-page) .premium-nav>a{position:relative;height:68px;display:flex;align-items:center}
:where(.topics-page,.news-page,.tools-page,.about-page) .premium-nav a[aria-current="page"]{color:#0a2852}
:where(.topics-page,.news-page,.tools-page,.about-page) .premium-nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:16px;height:2px;background:linear-gradient(90deg,#8e5c26,#e0b876,#8e5c26)}
:where(.topics-page,.news-page,.tools-page,.about-page) .header-trust{height:50px;margin-top:9px;border-radius:8px;font-size:12px;line-height:1.18}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-wrap{width:calc(100% - 76px);max-width:none}

:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero{height:390px;min-height:0;border-bottom:0;background:var(--sf-navy)}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero::before{content:"";position:absolute;left:0;top:0;width:88px;height:100%;background:url('./hero-ribbon-left.svg') left center/100% 100% no-repeat;z-index:2;pointer-events:none}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero::after{background:linear-gradient(90deg,rgba(1,20,39,.97) 0%,rgba(1,24,46,.88) 36%,rgba(2,21,39,.21) 68%,rgba(2,20,37,.72) 100%)}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero .hero-bg{left:150px;right:auto;width:calc(100% - 280px);object-position:center 52%;filter:saturate(.86) contrast(1.04)}
.news-page .concept-hero .hero-bg{object-position:center 58%}.tools-page .concept-hero .hero-bg{object-position:center 56%}.about-page .concept-hero .hero-bg{object-position:center 44%}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero .curve{right:0;top:0;width:470px;height:100%;border:0;border-radius:0;background:url('./hero-ribbon-right.svg') center/100% 100% no-repeat}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero-grid{display:block;position:relative;width:100%;height:390px;min-height:0;box-sizing:border-box;padding:16px 0 12px}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero-copy{max-width:900px;margin-left:110px;position:relative;top:calc(50% + 14px);transform:translateY(-50%)}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-kicker{font-size:11px;letter-spacing:.25em;margin-bottom:13px;background-image:linear-gradient(180deg,#fff0d3 0%,#e8c38e 48%,#bd8d50 64%,#efd2a3 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 1px 1px rgba(0,7,16,.48));opacity:.94}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero h1{max-width:none;white-space:nowrap;font-size:clamp(43px,3.75vw,59px);line-height:.96;margin:0 0 9px;text-shadow:none}
.about-page .concept-hero h1{font-size:clamp(40px,3.45vw,55px)}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero h1 .title-ivory,:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero h1 .title-gold{display:inline;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 1px 1px rgba(0,7,16,.5));opacity:.96}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero h1 .title-ivory{background-image:linear-gradient(180deg,#fffaf2 8%,#fffdf8 34%,#d8d3ca 55%,#fff8ed 73%,#e5ddd0 100%)}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero h1 .title-gold{background-image:linear-gradient(180deg,#f2dbb8 4%,#edcd99 36%,#b9915d 56%,#edd0a0 74%,#d1a66e 100%);font-style:normal}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero p{font:16px/1.3 Georgia,"Times New Roman",serif;max-width:720px;margin:0 0 11px;color:#f4f6f8}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-search{max-width:715px;height:57px;border-radius:29px;border:1px solid #f6eadb;box-shadow:0 5px 16px rgba(0,8,19,.23),inset 0 1px 1px #fff}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-search::before{content:"⌕";color:#9c6e38;font:27px/1 Georgia;padding-left:18px;transform:rotate(-18deg)}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-search input{height:55px;padding:10px 12px;font-size:13px}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-search button{position:relative;min-width:138px;height:51px;margin-right:2px;padding:10px 25px;border-radius:23px;border:1px solid #faf0df;color:#fffaf1;font:700 19px Georgia,"Times New Roman",serif;text-shadow:0 1px 1px rgba(66,38,13,.45);background-image:linear-gradient(180deg,rgba(255,245,219,.32) 0%,rgba(255,245,219,.08) 36%,rgba(72,43,15,.10) 58%,rgba(255,222,169,.13) 79%,rgba(36,19,5,.14) 100%),linear-gradient(125deg,#e5c49a 0%,#c4a073 20%,#a98152 45%,#8d663a 72%,#644320 100%);box-shadow:inset 0 0 0 1px rgba(255,250,237,.9),0 1px 2px rgba(69,44,18,.2)}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-pills{gap:7px;margin-top:11px;max-width:715px;justify-content:flex-start}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-pills::before{font:12px/30px Arial;color:#fff}
.topics-page .concept-pills::before{content:"Popular topics:"}.news-page .concept-pills::before{content:"News topics:"}.tools-page .concept-pills::before{content:"Popular tools:"}.about-page .concept-pills::before{content:"About us:"}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-pills a{display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 12px;font-size:11px;line-height:1;text-align:center;background:rgba(2,22,42,.68);text-decoration:none;border:1px solid rgba(210,171,111,.58);border-radius:18px;color:#fff}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-rail{position:absolute;z-index:4;right:0;top:0;width:250px;height:100%;box-sizing:border-box;padding:14px 22px 10px 31px;border-left:0;display:block;text-align:left;background:var(--sf-rail)!important}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-rail h3{font:400 14px/1.42 Arial;letter-spacing:5px;margin:0 0 8px;color:#edc898}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-rail h3::after{content:"";display:block;width:43px;height:2px;background:linear-gradient(90deg,#b27c38,#f0d4a0,#bf8c49);margin:8px 0 0}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-rail-item{display:grid;grid-template-columns:38px 1fr;gap:9px;align-items:center;margin:0 0 11px;font:12px/1.25 Arial;color:#fff}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-rail-item strong{font-weight:700;color:#fff}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-rail-item i{display:block;width:30px;height:30px;color:#e9be82}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-rail-item i svg{display:block;width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-script{position:absolute;left:31px;bottom:49px;width:195px;font:italic 15px/1.04 "Segoe Script","Brush Script MT",cursive;color:#fff7eb;margin:0;text-align:left;transform:rotate(-4deg);transform-origin:left top}

/* Body polish: same restrained premium rhythm without making the pages identical. */
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-section{padding:30px 0}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-section.alt{background:#fbfaf7}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-section h2{color:#0c2a5a;letter-spacing:-.025em}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-card,:where(.topics-page,.news-page,.tools-page,.about-page) .topic-card,:where(.topics-page,.news-page,.tools-page,.about-page) .concept-panel{border-color:#e3e5e8;box-shadow:0 4px 16px rgba(15,38,68,.035)}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-benefits{border-color:#eee6dc;background:linear-gradient(105deg,#fff,#fbf7f0)}
:where(.topics-page,.news-page,.tools-page,.about-page) .premium-footer{margin-top:0;background:linear-gradient(100deg,#02192e,#062b49);border-top:1px solid #a8793e}

@media(max-width:1120px){:where(.topics-page,.news-page,.tools-page,.about-page) .premium-nav{gap:13px;font-size:12px;padding:0 8px}:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero-copy{margin-left:58px;max-width:760px}}
@media(max-width:900px){
:where(.topics-page,.news-page,.tools-page,.about-page) .premium-header{height:auto;grid-template-rows:72px 54px;grid-template-columns:1fr}:where(.topics-page,.news-page,.tools-page,.about-page) .premium-brand{height:72px}:where(.topics-page,.news-page,.tools-page,.about-page) .premium-nav{height:54px;justify-content:center}:where(.topics-page,.news-page,.tools-page,.about-page) .premium-nav>a{height:54px}:where(.topics-page,.news-page,.tools-page,.about-page) .header-trust{display:none}:where(.topics-page,.news-page,.tools-page,.about-page) .concept-wrap{width:min(100% - 40px,1320px)}:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero{height:auto;min-height:455px}:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero-grid{height:auto;min-height:455px}:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero-copy{margin:0 20px;top:auto;transform:none;padding-top:34px}:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero .hero-bg{left:0;width:100%}:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero h1{white-space:normal}:where(.topics-page,.news-page,.tools-page,.about-page) .concept-rail{display:none}}
@media(max-width:650px){:where(.topics-page,.news-page,.tools-page,.about-page) .concept-wrap{width:calc(100% - 28px)}:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero{min-height:540px}:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero-grid{min-height:540px;padding:32px 0 24px}:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero h1{font-size:42px}:where(.topics-page,.news-page,.tools-page,.about-page) .concept-pills::before{width:100%;line-height:1}}


/* v42 working tools */
.tool-card.is-hidden{display:none!important}
.tool-filter-status{min-height:20px;margin:0 0 12px;color:#66758a;font-size:13px}
.tool-workbench-section{background:#f7f5ef}
.tool-workbench{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.calc-card{background:#fff;border:1px solid rgba(19,45,78,.14);box-shadow:0 12px 32px rgba(15,38,66,.06);padding:24px;scroll-margin-top:90px}
.calc-card h3{margin:5px 0 16px;color:#112c52;font-size:25px}
.calc-card small{display:block;margin-top:12px;color:#6f7b8d;line-height:1.45}
.calc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
.calc-card label{display:grid;gap:6px;color:#344861;font-size:13px;font-weight:700}
.calc-card input{width:100%;box-sizing:border-box;border:1px solid #cbd3dd;background:#fff;padding:11px 12px;font:inherit;color:#142b4a;outline:none}
.calc-card input:focus{border-color:#b98b3c;box-shadow:0 0 0 3px rgba(185,139,60,.12)}
.calc-button{border:0;cursor:pointer}
.calc-result{display:grid;gap:4px;min-height:58px;margin-top:14px;padding:14px 16px;background:#f7f9fc;border-left:3px solid #bd8d3a;color:#435268}
.calc-result:empty{display:none}
.calc-result strong{font-size:21px;color:#112c52}
.calc-result span{font-size:13px;line-height:1.45}
.newsletter-note{padding:18px 20px;border:1px solid rgba(17,42,75,.12);background:#fff}
.newsletter-note strong{color:#112c52}
.newsletter-note p{margin:6px 0 0}
#working-tools{scroll-margin-top:80px}
@media(max-width:820px){
  .tool-workbench{grid-template-columns:1fr}
}
@media(max-width:560px){
  .calc-fields{grid-template-columns:1fr}
  .calc-card{padding:19px}
}



/* v50 hero interaction fix — Topics / Latest / Tools / About */
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero .hero-bg,
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero::before,
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero::after,
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero .curve{
  pointer-events:none !important;
}

:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero-grid{
  position:relative !important;
  z-index:10 !important;
  pointer-events:none;
}

:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero-copy,
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-search,
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-pills{
  position:relative !important;
  z-index:20 !important;
  pointer-events:auto !important;
}

:where(.topics-page,.news-page,.tools-page,.about-page) .concept-search input,
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-search button,
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-pills a{
  position:relative !important;
  z-index:21 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
}

:where(.topics-page,.news-page,.tools-page,.about-page) .concept-rail{
  pointer-events:none !important;
}



/* v51 — use the exact homepage search/tag interaction pattern on concept pages */
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero-grid{
  pointer-events:auto !important;
}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero-copy{
  pointer-events:auto !important;
}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-home-searchbar,
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-home-tags{
  position:relative !important;
  z-index:30 !important;
  pointer-events:auto !important;
}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-home-searchbar input,
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-home-searchbar button,
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-home-tags a{
  pointer-events:auto !important;
  cursor:pointer !important;
}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-home-searchbar{
  margin-top:10px;
}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-home-tags{
  flex-wrap:wrap;
  white-space:normal;
  max-width:720px;
}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-home-tags span{
  color:#fff;
}
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero .hero-bg,
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero::before,
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero::after,
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-hero .curve,
:where(.topics-page,.news-page,.tools-page,.about-page) .concept-rail{
  pointer-events:none !important;
}
@media(max-width:760px){
  :where(.topics-page,.news-page,.tools-page,.about-page) .concept-home-searchbar{
    width:100%;
    grid-template-columns:42px minmax(0,1fr) 112px;
  }
  :where(.topics-page,.news-page,.tools-page,.about-page) .concept-home-tags{
    gap:7px;
  }
}


/* v69 — useful lower Topics section */
.topics-money-guides{background:#fbfaf7;border-top:1px solid rgba(17,42,75,.08)}
.topics-money-intro{max-width:780px;margin:0 0 20px;color:#66758a;font-size:15px;line-height:1.55}
.topics-money-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.topics-money-card{display:block;background:#fff;border:1px solid #e5e2db;box-shadow:0 8px 20px rgba(11,36,63,.05);text-decoration:none;overflow:hidden}
.topics-money-card img{width:100%;height:118px;object-fit:cover;display:block}
.topics-money-body{padding:14px 15px 15px}
.topics-money-body .concept-kicker{font-size:9px}
.topics-money-body h3{margin:6px 0 7px;color:#102b51;font:700 18px/1.08 Georgia,"Times New Roman",serif}
.topics-money-body p{margin:0;color:#65758a;font-size:12.5px;line-height:1.35;min-height:66px}
.topics-money-arrow{display:inline-block;margin-top:10px;color:#9a6c2d;font-size:12px;font-weight:800}
.topics-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
.topics-quick-card{display:grid;grid-template-columns:1fr auto;grid-template-areas:"title arrow" "desc arrow";gap:3px 12px;padding:16px 18px;border:1px solid #d9c8ae;background:#fff;text-decoration:none}
.topics-quick-card strong{grid-area:title;color:#102b51;font:700 18px/1.1 Georgia,"Times New Roman",serif}
.topics-quick-card span{grid-area:desc;color:#66758a;font-size:12px}
.topics-quick-card em{grid-area:arrow;align-self:center;color:#9a6c2d;font-style:normal;font-weight:800;font-size:12px}
@media(max-width:1050px){.topics-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.topics-money-grid,.topics-quick-grid{grid-template-columns:1fr}.topics-money-body p{min-height:0}}

/* v70 — related money guides for Tools */
.tools-related-guides{background:#fbfaf7;border-top:1px solid rgba(17,42,75,.08)}
.tools-related-intro{max-width:780px;margin:0 0 20px;color:#66758a;font-size:15px;line-height:1.55}
.tools-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tools-related-card{display:block;background:#fff;border:1px solid #e5e2db;box-shadow:0 8px 20px rgba(11,36,63,.05);text-decoration:none;overflow:hidden}
.tools-related-card img{width:100%;height:120px;object-fit:cover;display:block}
.tools-related-body{padding:14px 15px 16px}
.tools-related-body .concept-kicker{font-size:9px}
.tools-related-body h3{margin:6px 0 7px;color:#102b51;font:700 18px/1.08 Georgia,"Times New Roman",serif}
.tools-related-body p{margin:0;color:#65758a;font-size:12.5px;line-height:1.38;min-height:68px}
.tools-related-arrow{display:inline-block;margin-top:10px;color:#9a6c2d;font-size:12px;font-weight:800}
@media(max-width:900px){.tools-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.tools-related-grid{grid-template-columns:1fr}.tools-related-body p{min-height:0}}
