/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,100..1000;1,100..1000&display=swap');
@font-face {
  font-family: 'RAComicSans';
  src: local('Comic Sans MS'), local('Comic Sans');
  font-weight: 400 700;
  font-style: normal;
}
#page-login {
  height: 100% !important;
  min-height: 100% !important;
  position: fixed !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px;
  background: rgba(6, 10, 18, 0.68);
  backdrop-filter: blur(10px);
  z-index: 9999;
  font-family: var(--f);
}
body.ra-login-body #page {
  display: block !important;
  min-height: unset !important;
  height: auto !important;
}
:root {
  --navy:    #00072D;
  --gold:    #B0893C;
  --gold2:   #C8A05A;
  --white:   #FFFFFF;
  --ra-text-adjust: 100%;
  --f:       'DM Sans', sans-serif;
  --hero-bg:      #00072D;
  --hero-glow-a:  rgba(0,20,80,0.55);
  --hero-glow-b:  rgba(176,137,60,0.07);
  --body-bg:      #ffffff;
  --body-text:    #00072D;
  --body-text-2:  #191919;
  --body-text-3:  rgba(0,7,45,0.56);
  --section-a:    #ffffff;
  --section-b:    #ffffff;
  --section-dark: #00072D;
  --contact-bg:   #ffffff;
  --card-bg:      #ffffff;
  --card-border:  #E4E4E4;
  --rule-color:   #CCCCCC;
  --mgray:        #E4E4E4;
  --nav-bg:       #00072D;
  --nav-border:   rgba(255,255,255,0.07);
  --nav-text:     rgba(255,255,255,0.65);
  --nav-text-h:   #ffffff;
  --select-opt-bg: #000d3a;
  --form-field-bg: #E8E8E8;
  --ra-underline-h: 5px;
  --ra-underline-pad: 14px;
  --ra-underline-mb: 32px;
  --upcoming-ui: rgba(0,7,45,0.35);
  --upcoming-accent: var(--gold);
  --upcoming-border: rgba(176,137,60,0.25);
}

html[data-theme="dark"] {
  --hero-bg:      #000000;
  --hero-glow-a:  rgba(0,0,0,0.85);
  --hero-glow-b:  rgba(176,137,60,0.06);
  --body-bg:      #111111;
  --body-text:    #D8DCE8;
  --body-text-2:  rgba(216,220,232,0.78);
  --body-text-3:  rgba(216,220,232,0.52);
  --section-a:    #111111;
  --section-b:    #0d0d0d;
  --section-dark: #080808;
  --contact-bg:   #111111;
  --card-bg:      #0f0f0f;
  --card-border:  rgba(176,137,60,0.16);
  --rule-color:   rgba(176,137,60,0.12);
  --mgray:        rgba(255,255,255,0.04);
  --nav-bg:       #000000;
  --nav-border:   rgba(176,137,60,0.12);
  --nav-text:     rgba(216,220,232,0.62);
  --nav-text-h:   #E0E4EE;
  --select-opt-bg: #070b22;
  --form-field-bg: #151515;
  /* Upcoming card follows the same gold accent as "illustrative" notes. */
  --upcoming-accent: var(--gold);
  --upcoming-border: rgba(176,137,60,0.25);
}

html {
  -webkit-text-size-adjust: var(--ra-text-adjust);
  text-size-adjust: var(--ra-text-adjust);
  background: var(--nav-bg);
  overflow-x: hidden;
}
body {
  background: var(--nav-bg);
  overflow-x: hidden;
}

/* High contrast mode (toggle) */
html[data-contrast="high"] {
  --gold:         #FFD400;
  --gold2:        #FFEA00;
  --hero-bg:      #000000;
  --hero-glow-a:  rgba(0,0,0,0.0);
  --hero-glow-b:  rgba(255,212,0,0.12);
  --body-bg:      #000000;
  --body-text:    #ffffff;
  --body-text-2:  rgba(255,255,255,0.88);
  --body-text-3:  rgba(255,255,255,0.72);
  --section-a:    #000000;
  --section-b:    #000000;
  --section-dark: #000000;
  --contact-bg:   #000000;
  --card-bg:      #000000;
  --card-border:  rgba(255,255,255,0.55);
  --rule-color:   rgba(255,255,255,0.55);
  --contrast-divider: rgba(255,255,255,0.55);
  --mgray:        rgba(255,255,255,0.12);
  --nav-bg:       #000000;
  --nav-border:   rgba(255,255,255,0.45);
  --nav-text:     rgba(255,255,255,0.92);
  --nav-text-h:   #ffffff;
  --select-opt-bg: #000000;
  /* Upcoming cards use the same gold accent in a11y mode. */
  --upcoming-accent: var(--gold);
  --upcoming-border: rgba(255,212,0,0.65);
}

html[data-contrast="high"] .btn-fill,
html[data-contrast="high"] .nav-cta,
html[data-contrast="high"] .nav-login-mobile,
html[data-contrast="high"] .nav-drawer a.nav-cta,
html[data-contrast="high"] .login-submit,
html[data-contrast="high"] .form-submit {
  color:#000000!important;
}
html[data-contrast="high"] body,
html[data-contrast="high"] .page-wrap,
html[data-contrast="high"] .section,
html[data-contrast="high"] .pricing,
html[data-contrast="high"] .hero,
html[data-contrast="high"] .home-why,
html[data-contrast="high"] .home-cover,
html[data-contrast="high"] .home-how,
html[data-contrast="high"] .home-quote-band,
html[data-contrast="high"] .home-cta-band,
html[data-contrast="high"] .framework,
html[data-contrast="high"] .faq-sec-white,
html[data-contrast="high"] .faq-sec-dark,
html[data-contrast="high"] .blog-community-band,
html[data-contrast="high"] .about-overview,
html[data-contrast="high"] .about-philosophy-wrap,
html[data-contrast="high"] .about-analyst-wrap,
html[data-contrast="high"] .svc-offering-strip,
html[data-contrast="high"] .svc-compass-bar,
html[data-contrast="high"] .page-header,
html[data-contrast="high"] footer,
html[data-contrast="high"] .disclaimer {
  background:#000000!important;
  color:#ffffff;
}

html:not([data-theme="dark"]):not([data-contrast="high"]) .home-why-intro,
html:not([data-theme="dark"]):not([data-contrast="high"]) .home-why-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) .home-how-left-sub,
html:not([data-theme="dark"]):not([data-contrast="high"]) .home-how-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) .about-overview-point-text,
html:not([data-theme="dark"]):not([data-contrast="high"]) .about-phil-left p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .about-principle-body p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .about-audience-card p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .about-analyst-copy p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .about-value-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) .about-diff-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) .about-compass-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) .about-reg-disclaimer,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-copy,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-side-sub,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-plan-detail,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-plan-segment,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-plan-valid,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-update-text,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-position-sub,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-position-text,
html:not([data-theme="dark"]):not([data-contrast="high"]) .contact-form-sub,
html:not([data-theme="dark"]):not([data-contrast="high"]) .complaints-note,
html:not([data-theme="dark"]):not([data-contrast="high"]) .audit-disclosure,
html:not([data-theme="dark"]):not([data-contrast="high"]) .note-fund-sub,
html:not([data-theme="dark"]):not([data-contrast="high"]) .note-data-label {
  color:#191919;
}

html:not([data-theme="dark"]):not([data-contrast="high"]) .about-hero-p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .page-header-sub,
html:not([data-theme="dark"]):not([data-contrast="high"]) footer .footer-brand-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) footer .footer-analyst-val,
html:not([data-theme="dark"]):not([data-contrast="high"]) footer .footer-analyst-key,
html:not([data-theme="dark"]):not([data-contrast="high"]) .framework .about-compass-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) .framework .compass-left-text {
  color:rgba(255,255,255,0.82);
}
html[data-contrast="high"] .hero-compass circle[stroke="#B0893C"],
html[data-contrast="high"] .contact-hero-compass circle[stroke="#B0893C"] {
  stroke: var(--gold) !important;
}
html[data-contrast="high"] .hero-compass polygon[fill="#B0893C"],
html[data-contrast="high"] .contact-hero-compass polygon[fill="#B0893C"] {
  fill: var(--gold) !important;
}
html[data-contrast="high"] #fw-svg circle[fill="#00072D"] {
  fill:#000000!important;
}
html[data-contrast="high"] #fw-svg circle[stroke="#B0893C"] {
  stroke:var(--gold)!important;
}
html[data-contrast="high"] #fw-svg polygon[fill="#B0893C"] {
  fill:var(--gold)!important;
}
html[data-contrast="high"] #fw-svg line[stroke="#00072D"] {
  stroke:#000000!important;
}
html[data-contrast="high"] .card,
html[data-contrast="high"] .card:hover,
html[data-contrast="high"] .pricing-card,
html[data-contrast="high"] .pricing-card:hover,
html[data-contrast="high"] .svc-card,
html[data-contrast="high"] .svc-card:hover,
html[data-contrast="high"] .blog-card,
html[data-contrast="high"] .blog-card:hover,
html[data-contrast="high"] .faq-grid-item,
html[data-contrast="high"] .home-cover-card,
html[data-contrast="high"] .home-cover-card:hover,
html[data-contrast="high"] .login-card,
html[data-contrast="high"] .login-card:hover,
html[data-contrast="high"] .contact-form,
html[data-contrast="high"] .contact-analyst-card,
html[data-contrast="high"] .about-pullquote,
html[data-contrast="high"] .blog-modal-card,
html[data-contrast="high"] .pricing-disclaimer,
html[data-contrast="high"] .pricing-summary,
html[data-contrast="high"] .pricing-ipo-strip,
html[data-contrast="high"] .pcard-v2,
html[data-contrast="high"] .pcard-v2:hover,
html[data-contrast="high"] .pcard-v2.selected,
html[data-contrast="high"] .svc-offering-item,
html[data-contrast="high"] .svc-offering-item:hover,
html[data-contrast="high"] .analyst-v9-card,
html[data-contrast="high"] .analyst-v9-cert,
html[data-contrast="high"] .cred-cell,
html[data-contrast="high"] .about-reg-strip,
html[data-contrast="high"] .about-compass-card,
html[data-contrast="high"] .home-why-row,
html[data-contrast="high"] .home-how-step,
html[data-contrast="high"] .a11y-panel,
html[data-contrast="high"] .ask-axis-panel,
html[data-contrast="high"] .ask-axis-option,
html[data-contrast="high"] .ask-axis-msg.bot {
  background:#000000!important;
  color:#ffffff!important;
  border-color:rgba(255,255,255,0.65)!important;
  box-shadow:none!important;
}
html[data-contrast="high"] .nav,
html[data-contrast="high"] .nav-drawer {
  background:#000000;
  border-color:var(--nav-border);
}
html[data-contrast="high"] .nav-drawer a {
  color:var(--nav-text);
  border-bottom-color:var(--nav-border);
}
html[data-contrast="high"] .nav-drawer a:hover,
html[data-contrast="high"] .nav-drawer a.nav-active {
  color:#ffffff;
  background:rgba(255,255,255,0.08);
}
html[data-contrast="high"] .btn-ghost-gold,
html[data-contrast="high"] .nav-drawer-a11y-chip,
html[data-contrast="high"] .nav-drawer-appearance-btn {
  color:var(--gold);
  border-color:var(--gold);
  background:transparent;
}
html[data-contrast="high"] .btn-ghost-gold:hover,
html[data-contrast="high"] .nav-drawer-a11y-chip:hover,
html[data-contrast="high"] .nav-drawer-appearance-btn:hover {
  color:#000000;
  background:var(--gold);
  border-color:var(--gold);
}
html[data-contrast="high"] .btn-fill,
html[data-contrast="high"] .nav-cta,
html[data-contrast="high"] .nav-drawer a.nav-cta,
html[data-contrast="high"] .nav-login-mobile,
html[data-contrast="high"] .login-submit,
html[data-contrast="high"] .form-submit,
html[data-contrast="high"] .note-dl-btn,
html[data-contrast="high"] .pricing-summary-cta .btn-fill,
html[data-contrast="high"] .ask-axis-toggle,
html[data-contrast="high"] .ask-axis-send,
html[data-contrast="high"] .ask-axis-msg.user,
html[data-contrast="high"] .a11y-chip.active,
html[data-contrast="high"] .a11y-theme-btn.active {
  color:#000000!important;
}
html[data-contrast="high"] .nav-drawer-a11y-chip.active,
html[data-contrast="high"] .nav-drawer-appearance-btn.active {
  color:#000000;
  background:var(--gold);
  border-color:var(--gold);
}
html[data-contrast="high"] .note-compass-val {
  color:var(--gold); background:transparent; border:none;
}
html[data-contrast="high"] .note-card { background:var(--card-bg); border-color:rgba(255,255,255,0.65); border-width:1px; box-shadow:none }
html[data-contrast="high"] .note-card:hover { border-color:var(--gold); box-shadow:none }
html[data-contrast="high"] .note-card:not(.upcoming):hover .note-card-accent { background:var(--gold) }
html[data-contrast="high"] .note-data-row { border-bottom:1px solid rgba(255,255,255,0.35) }
html[data-contrast="high"] .note-data-row:first-child { border-top:1px solid rgba(255,255,255,0.35) }
html[data-contrast="high"] .note-card-footer { background:var(--card-bg); border-top:1px solid rgba(255,255,255,0.35) }
html[data-contrast="high"] .note-dl-btn { background:var(--gold); color:#000000 }
html[data-contrast="high"] .svc-card,
html[data-contrast="high"] .svc-card:hover,
html[data-contrast="high"] .blog-card,
html[data-contrast="high"] .blog-card:hover,
html[data-contrast="high"] .faq-grid-item,
html[data-contrast="high"] .home-cover-card,
html[data-contrast="high"] .login-card,
html[data-contrast="high"] .login-card:hover {
  background:#000000!important;
  border-color:rgba(255,255,255,0.65)!important;
  box-shadow:none!important;
}
html[data-contrast="high"] .login-card,
html[data-contrast="high"] .login-card:hover {
  border-left-color:var(--gold)!important;
}
html[data-contrast="high"] .blog-card-body { border-color:rgba(255,255,255,0.35) }
html[data-contrast="high"] .note-dl-btn:hover { background:var(--gold2); color:#000000 }
html[data-contrast="high"] .note-dl-btn.pending { background:transparent; border:1px solid var(--gold); color:var(--gold) }
html[data-contrast="high"] .contact-form,
html[data-contrast="high"] .contact-analyst-card,
html[data-contrast="high"] .about-pullquote { background:var(--card-bg) }
html[data-contrast="high"] .contact-form,
html[data-contrast="high"] .contact-analyst-card,
html[data-contrast="high"] .about-pullquote {
  border-color:rgba(255,255,255,0.65);
}
html[data-contrast="high"] .contact-form { border-left-color:var(--gold2); }
html[data-contrast="high"] .contact-analyst-card,
html[data-contrast="high"] .about-pullquote {
  border-left-color:var(--gold);
}
html[data-contrast="high"] .notes-cta { background:var(--section-dark); border-top-color:rgba(255,255,255,0.18); }
html[data-contrast="high"] .notes-cta-heading { color:#ffffff; }
html[data-contrast="high"] .a11y-chip.active {
  color:#000000;
  background:var(--gold);
  border-color:var(--gold);
}

/* Avoid yellow text on light backgrounds in high-contrast mode */
html[data-contrast="high"] .svc-tag,
html[data-contrast="high"] .u-label,
html[data-contrast="high"] .contact-detail-label,
html[data-contrast="high"] .contact-form-title,
html[data-contrast="high"] .contact-analyst-title {
  color:var(--gold);
}
html[data-contrast="high"] .svc-tag {
  background:rgba(255,255,255,0.06);
  border-color:rgba(255,255,255,0.35);
}

html[data-contrast="high"] .about-hero-badge,
html[data-contrast="high"] .about-hero-eyebrow span,
html[data-contrast="high"] .about-principle-body h4,
html[data-contrast="high"] .about-principle-body p,
html[data-contrast="high"] .about-cred-cell-val,
html[data-contrast="high"] .about-reg-item-val,
html[data-contrast="high"] .analyst-v9-cert p,
html[data-contrast="high"] .analyst-v9-right p,
html[data-contrast="high"] .analyst-v9-right h3 {
  text-decoration:none;
}
html[data-contrast="high"] .about-principle {
  border-bottom-color:rgba(255,255,255,0.25);
}
html[data-contrast="high"] .about-principle:first-child {
  border-top-color:rgba(255,255,255,0.25);
}
html[data-contrast="high"] .about-creds-row,
html[data-contrast="high"] .about-cred-cell {
  border-color:rgba(255,255,255,0.35);
}
html[data-contrast="high"] .about-reg-strip {
  background:var(--card-bg);border-color:rgba(255,255,255,0.25);
}
html[data-contrast="high"] .about-reg-divider {
  background:rgba(255,255,255,0.25);
}
html[data-contrast="high"] .u-label {
  box-shadow: inset 0 -3px 0 var(--gold);
}

/* Form field readability in high-contrast mode */
html[data-contrast="high"] .form-input,
html[data-contrast="high"] .form-select,
html[data-contrast="high"] .form-textarea,
html[data-contrast="high"] .login-field-input {
  background:transparent;
  border-color:rgba(255,255,255,0.65);
  border-bottom-color:rgba(255,255,255,0.65);
  color:#ffffff;
}
html[data-contrast="high"] .form-input::placeholder,
html[data-contrast="high"] .login-field-input::placeholder {
  color:rgba(255,255,255,0.6);
}
html[data-contrast="high"] .form-select option {
  background:#000000;
  color:#ffffff;
}
html[data-contrast="high"] .pricing-plan-select,
html[data-contrast="high"] .pcard-v2-select,
html[data-contrast="high"] .pricing-coupon-input,
html[data-contrast="high"] .form-field,
html[data-contrast="high"] .form-input,
html[data-contrast="high"] .form-textarea,
html[data-contrast="high"] .login-field-input,
html[data-contrast="high"] .ask-axis-input {
  background:#000000!important;
  color:#ffffff!important;
  border-color:rgba(255,255,255,0.65)!important;
}
html[data-contrast="high"] .login-modal,
html[data-contrast="high"] .login-modal-form,
html[data-contrast="high"] .login-modal-brand {
  background:#000000!important;
  border-color:rgba(255,255,255,0.65)!important;
}
html[data-contrast="high"] .login-form-title,
html[data-contrast="high"] .login-card-foot-legal,
html[data-contrast="high"] .login-card-foot-label {
  color:#ffffff!important;
}
html[data-contrast="high"] .login-form-sub,
html[data-contrast="high"] .login-modal-hero-sub {
  color:rgba(255,255,255,0.82)!important;
}
html[data-contrast="high"] .note-card-accent,
html[data-contrast="high"] .svc-tag,
html[data-contrast="high"] .u-label,
html[data-contrast="high"] .contact-detail-label {
  background:var(--gold)!important;
  color:#000000!important;
}
html[data-contrast="high"] .pricing-card.selected,
html[data-contrast="high"] .pricing-card.selected:hover,
html[data-contrast="high"] .pcard-v2.selected,
html[data-contrast="high"] .pcard-v2.selected:hover {
  background:#000000!important;
  color:#ffffff!important;
  border-color:var(--gold)!important;
  box-shadow:none!important;
}
html[data-contrast="high"] .pricing-card::before,
html[data-contrast="high"] .pricing-card.selected::before,
html[data-contrast="high"] .note-card-accent,
html[data-contrast="high"] .home-cover-link,
html[data-contrast="high"] .pcard-v2,
html[data-contrast="high"] .pricing-ipo-strip,
html[data-contrast="high"] .pricing-summary,
html[data-contrast="high"] .contact-form,
html[data-contrast="high"] .contact-analyst-card,
html[data-contrast="high"] .about-pullquote,
html[data-contrast="high"] .analyst-v9-card,
html[data-contrast="high"] .analyst-v9-cert {
  border-left-color:var(--gold)!important;
}
html[data-contrast="high"] .home-cover-card:not(:last-child)::after {
  background:rgba(255,255,255,0.65)!important;
}
html[data-contrast="high"] .pricing-checkbox,
html[data-contrast="high"] .pricing-card.selected .pricing-checkbox,
html[data-contrast="high"] .pcard-v2.selected .pricing-checkbox {
  background:var(--gold)!important;
  border-color:var(--gold)!important;
}
html[data-contrast="high"] .pricing-checkbox svg,
html[data-contrast="high"] .pcard-v2 .pricing-checkbox svg {
  fill:#000000!important;
}
html[data-contrast="high"] .pricing-save-pill,
html[data-contrast="high"] .pricing-cap-label,
html[data-contrast="high"] .pcard-v2-itag,
html[data-contrast="high"] .pricing-ipo-strip-badge {
  background:var(--gold)!important;
  border-color:var(--gold)!important;
  color:#000000!important;
}
html[data-contrast="high"] .ask-axis-sub,
html[data-contrast="high"] .ask-axis-option,
html[data-contrast="high"] .ask-axis-msg.bot,
html[data-contrast="high"] .a11y-panel-title,
html[data-contrast="high"] .a11y-close,
html[data-contrast="high"] .a11y-mode-note {
  color:#ffffff!important;
}
html[data-contrast="high"] .login-pw-toggle {
  color:#ffffff;
}
html[data-contrast="high"] .home-why-heading,
html[data-contrast="high"] .home-how-heading,
html[data-contrast="high"] .home-why-title,
html[data-contrast="high"] .home-cover-head-title,
html[data-contrast="high"] .home-cover-title,
html[data-contrast="high"] .home-how-title,
html[data-contrast="high"] .home-how-left-title,
html[data-contrast="high"] .fw-title,
html[data-contrast="high"] .faq-q,
html[data-contrast="high"] .faq-grid-q,
html[data-contrast="high"] .blog-comm-title {
  color:#ffffff!important;
}
html[data-contrast="high"] .home-why-intro,
html[data-contrast="high"] .home-why-desc,
html[data-contrast="high"] .home-cover-head-sub,
html[data-contrast="high"] .home-cover-desc,
html[data-contrast="high"] .home-how-left-sub,
html[data-contrast="high"] .home-how-desc,
html[data-contrast="high"] .home-cta-band p,
html[data-contrast="high"] .fw-desc,
html[data-contrast="high"] .faq-a,
html[data-contrast="high"] .faq-grid-a,
html[data-contrast="high"] .blog-comm-text {
  color:rgba(255,255,255,0.88)!important;
}
html[data-contrast="high"] body,
html[data-contrast="high"] body p,
html[data-contrast="high"] body li,
html[data-contrast="high"] body h1,
html[data-contrast="high"] body h2,
html[data-contrast="high"] body h3,
html[data-contrast="high"] body h4,
html[data-contrast="high"] body h5,
html[data-contrast="high"] body h6,
html[data-contrast="high"] body label,
html[data-contrast="high"] body strong {
  color:#ffffff!important;
}
html[data-contrast="high"] .line-gold,
html[data-contrast="high"] .home-why-heading span,
html[data-contrast="high"] .home-why-row-num,
html[data-contrast="high"] .home-cover-num,
html[data-contrast="high"] .home-how-step-num,
html[data-contrast="high"] .home-cover-link,
html[data-contrast="high"] .about-sec-head-title span,
html[data-contrast="high"] .svc-offering-num,
html[data-contrast="high"] .svc-compass-num,
html[data-contrast="high"] .svc-compass-label,
html[data-contrast="high"] .pricing-card.selected .pricing-tier-name,
html[data-contrast="high"] .pricing-card.selected .pricing-amount,
html[data-contrast="high"] .pricing-annual-eq,
html[data-contrast="high"] .pricing-summary-line.bundle-line .pricing-summary-line-name,
html[data-contrast="high"] .pricing-summary-line.ipo-line .pricing-summary-line-price,
html[data-contrast="high"] .pricing-summary-total-amt,
html[data-contrast="high"] .pricing-summary-savings,
html[data-contrast="high"] .pricing-summary-discount-label,
html[data-contrast="high"] .pricing-summary-discount-amt,
html[data-contrast="high"] .note-compass-val,
html[data-contrast="high"] .a11y-label,
html[data-contrast="high"] .footer-col-title {
  color:var(--gold)!important;
}
html[data-contrast="high"] .btn-fill,
html[data-contrast="high"] .btn-fill *,
html[data-contrast="high"] .nav-cta,
html[data-contrast="high"] .nav-login-mobile,
html[data-contrast="high"] .login-submit,
html[data-contrast="high"] .form-submit,
html[data-contrast="high"] .note-dl-btn,
html[data-contrast="high"] .pricing-summary-cta .btn-fill,
html[data-contrast="high"] .pricing-save-pill,
html[data-contrast="high"] .pricing-cap-label,
html[data-contrast="high"] .pcard-v2-itag,
html[data-contrast="high"] .pricing-ipo-strip-badge,
html[data-contrast="high"] .ask-axis-toggle,
html[data-contrast="high"] .ask-axis-toggle *,
html[data-contrast="high"] .ask-axis-send,
html[data-contrast="high"] .ask-axis-msg.user,
html[data-contrast="high"] .a11y-chip.active,
html[data-contrast="high"] .a11y-theme-btn.active,
html[data-contrast="high"] .svc-tag,
html[data-contrast="high"] .u-label,
html[data-contrast="high"] .contact-detail-label {
  color:#000000!important;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
html { scroll-behavior:smooth }
body {
  font-family: var(--f);
  background: var(--nav-bg);
  color: var(--body-text);
  font-size: 16px; line-height: 1.65;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  -webkit-font-smoothing: antialiased;
  transition: background 0.3s, color 0.3s;
  min-height: 100vh;
}
p {
  overflow-wrap:break-word;
  text-wrap:pretty;
}

/* ── PAGE SYSTEM ────────────────────────────────────────────── */
.page { animation:pageIn 0.28s ease both }
.page.active { display:block !important }
@keyframes pageIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }

/* ── NAV ────────────────────────────────────────────────────── */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  background: var(--nav-bg);
  border-bottom:1px solid #FFFFFF1A;
  padding: 0 56px;
  transition: background 0.3s, border-color 0.3s;
}
.nav-inner {
  max-width:1240px; margin:0 auto;
  height:72px; display:flex; align-items:center; justify-content:space-between;
}
.nav-right { display:flex; align-items:center; gap:0; flex-shrink:0 }
.nav-logo       { display:inline-flex; align-items:center; gap:9px; text-decoration:none; cursor:pointer; user-select:none; -webkit-user-select:none; -webkit-tap-highlight-color:transparent }
.nav-logo-img   { display:block; width:42px; height:42px; object-fit:contain; background:transparent; image-rendering:auto; mix-blend-mode:normal; filter:none; flex-shrink:0; pointer-events:none; user-select:none; -webkit-user-drag:none; margin-top:0 }
html[data-theme="dark"] .nav-logo-img { filter:none }
.nav-brand-wrap { display:inline-flex; flex-direction:column; gap:0; align-items:flex-start; width:auto; max-width:none; flex:0 0 auto }
.nav-brand      { font-size:17px; font-weight:700; color:#ffffff; letter-spacing:0.14em; line-height:1; transition:color 0.3s; white-space:nowrap; display:inline-block; width:max-content; margin:0; padding:0; transform:none }
html[data-theme="dark"] .nav-brand { color:#ffffff }
html[data-theme="dark"] .nav,
html[data-theme="dark"] footer {
  background:#000000 !important;
}
.nav-brand::after { display:none }
.nav-gold-rule  { display:block; height:1px; background:var(--gold); opacity:0.92; margin:5px 0 6px; width:99.2% }
.nav-sub        { font-size:7.35px; font-weight:700; color:#ffffff; letter-spacing:0.15em; text-transform:uppercase; line-height:1; white-space:nowrap; display:block; margin:0; text-align:left; width:100% }
.nav-links      { display:flex; align-items:center; gap:28px; margin-right:28px }
.nav-links a    {
  font-size:14px; font-weight:600; color:#FFFFFFB8;
  text-decoration:none; letter-spacing:0.04em; transition:color 0.15s;
  white-space:nowrap; cursor:pointer; position:relative; padding-bottom:2px;
}
.nav-links a:hover { color:var(--nav-text-h) }
.nav-links a.nav-active { color:#ffffff; font-weight:700 }
.nav-links a.nav-active::after {
  content:''; position:absolute; bottom:-4px; left:0; right:0; height:2px;
  background:var(--gold); border-radius:1px;
}
.nav-cta        {
  color:#ffffff!important; background:var(--gold)!important;
  padding:8px 24px!important; font-size:12px!important; font-weight:700!important;
  letter-spacing:0.1em!important; text-transform:uppercase;
  transition:background 0.15s!important; border-radius:0!important;
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
  line-height:1.2!important; vertical-align:middle!important;
  min-width:112px!important;
}
.nav-cta:hover  { background:var(--gold2)!important; color:#ffffff!important }
.nav-cta.nav-active::after { display:none }

/* ── HAMBURGER ──────────────────────────────────────────────── */
.nav-hamburger {
  display:none; flex-direction:column; justify-content:center;
  align-items:center; gap:5px; width:36px; height:36px;
  cursor:pointer; background:none; border:none; padding:0; margin-left:10px; flex-shrink:0;
}
.nav-hamburger span {
  display:block; height:2px; width:22px;
  background:var(--nav-text); border-radius:2px;
  transition:transform 0.28s ease, opacity 0.2s ease; transform-origin:center;
}
.nav-hamburger:hover span { background:var(--nav-text-h) }
.nav-hamburger.open span { background:#ffffff }
.nav-hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg) }
.nav-hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0) }
.nav-hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg) }

/* ── MOBILE DRAWER ──────────────────────────────────────────── */
.nav-drawer {
  display:none; position:fixed; top:64px; left:0; right:0; z-index:199;
  background:var(--nav-bg); border:0;
  overflow:hidden; max-height:0; transition:max-height 0.32s ease;
}
.nav-drawer.open {
  max-height:calc(100svh - 72px);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.nav-drawer a {
  display:block; padding:16px 28px; font-size:14px; font-weight:500;
  color:rgba(255,255,255,0.75); text-decoration:none; letter-spacing:0.03em;
  border-bottom:1px solid var(--nav-border); transition:color 0.15s,background 0.15s; cursor:pointer;
}
.nav-drawer a:hover { color:#ffffff; background:rgba(255,255,255,0.04) }
.nav-drawer a.nav-cta {
  margin:20px 28px 20px; border-bottom:none!important; border:none!important;
  text-align:center; display:inline-flex!important; align-items:center!important;
  justify-content:center!important; height:40px; padding:0 20px;
  width:auto; min-width:118px; box-sizing:border-box;
  line-height:1!important; font-size:10px!important; font-weight:700!important;
  letter-spacing:0.13em!important; color:#ffffff!important; background:var(--gold)!important;
}
.nav-drawer a.nav-cta:hover { background:var(--gold2)!important }
.nav-drawer-appearance {
  padding:18px 28px 20px;
  border-bottom:1px solid var(--nav-border);
}
.nav-drawer-appearance-title {
  font-size:12px;
  font-weight:700;
  letter-spacing:0.18em;
  color:var(--gold);
  margin-bottom:12px;
}
.nav-drawer-appearance-actions {
  display:flex;
  flex-direction:column;
  gap:10px;
}
.nav-drawer-a11y {
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--nav-border);
}
.nav-drawer-a11y-row {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.nav-drawer-a11y-row:last-child { margin-bottom:0; }
.nav-drawer-a11y-label {
  min-width:78px;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.14em;
  color:var(--gold);
  padding-top:9px;
}
.nav-drawer-a11y-actions {
  display:flex;
  gap:8px;
  flex:1;
  justify-content:flex-end;
}
.nav-drawer-a11y-chip {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:34px;
  padding:0 10px;
  border:1px solid var(--gold);
  background:transparent;
  color:var(--gold);
  font-family:var(--f);
  font-size:12px;
  font-weight:700;
  letter-spacing:0.08em;
  cursor:pointer;
  transition:background 0.15s, border-color 0.15s, color 0.15s;
  flex-shrink:0;
}
.nav-drawer-a11y-chip:hover {
  background:var(--gold);
  border-color:var(--gold);
  color:#ffffff;
}
.nav-drawer-a11y-chip.active {
  border-color:var(--gold);
  color:#ffffff;
  background:var(--gold);
  box-shadow:none;
}
.nav-drawer-a11y-chip:focus-visible,
.nav-drawer-appearance-btn:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:2px;
}
.nav-drawer-a11y-chip-full {
  width:100%;
  justify-content:flex-start;
}
.nav-drawer-appearance-btn {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  min-height:38px;
  padding:0 14px;
  border:1px solid var(--gold);
  background:transparent;
  color:var(--gold);
  font-family:var(--f);
  font-size:12px;
  font-weight:700;
  letter-spacing:0.08em;
  text-align:left;
  cursor:pointer;
  transition:background 0.15s, border-color 0.15s, color 0.15s;
}
.nav-drawer-appearance-btn:hover {
  background:var(--gold);
  border-color:var(--gold);
  color:#ffffff;
}

/* ── THEME TOGGLE ───────────────────────────────────────────── */
.theme-icon-btn {
  display:flex; align-items:center; justify-content:center;
  width:30px; height:30px; flex-shrink:0;
  background:transparent; border:none;
  cursor:pointer; transition:opacity 0.2s;
  margin-left:6px; padding:0;
}
.theme-icon-btn:hover { opacity:0.7 }
.theme-icon-btn svg { width:18px; height:18px; fill:none; stroke:rgba(255,255,255,0.75); transition:stroke 0.2s }
.theme-icon-btn:hover svg { stroke:#ffffff }
.theme-icon-btn .icon-sun  { display:none }
.theme-icon-btn .icon-moon { display:block }
html[data-theme="dark"] .theme-icon-btn .icon-sun  { display:block }
html[data-theme="dark"] .theme-icon-btn .icon-moon { display:none }
html[data-contrast="high"] .theme-icon-btn { opacity:0.35; pointer-events:none }
/* Disable theme switching while contrast mode is active */
html[data-contrast="high"] .a11y-theme-btn {
  opacity:0.3!important;
  pointer-events:none!important;
  cursor:not-allowed!important;
}
html[data-contrast="high"] .nav-drawer-appearance-btn {
  opacity:0.3!important;
  pointer-events:none!important;
  cursor:not-allowed!important;
}
html[data-contrast="high"] .theme-icon-btn svg { stroke:rgba(255,255,255,0.92) }
html[data-contrast="high"] .a11y-btn { color:rgba(255,255,255,0.92) }
.theme-icon-btn { display:none }

/* ── ACCESSIBILITY TOOLS ───────────────────────────────────── */
.a11y-btn {
  display:flex; align-items:center; justify-content:center;
  width:34px; height:34px; flex-shrink:0;
  background:transparent; border:none;
  cursor:pointer;
  margin-left:0; margin-right:0; padding:0;
  color:var(--nav-text);
  opacity:1;
  line-height:0;
  overflow:hidden;
}
.appearance-icon-img {
  width:22px;
  height:22px;
  object-fit:contain;
  display:block;
  mix-blend-mode:normal;
  opacity:1;
  pointer-events:none;
  transition:none;
}
.a11y-btn:hover,
.a11y-btn:focus-visible {
  color:var(--nav-text-h);
}
.a11y-btn.is-open {
  color:#ffffff;
}
.nav-hamburger { color:var(--nav-text) }
.nav-hamburger span { background:currentColor }
.nav-hamburger:hover { color:var(--nav-text-h) }
.nav-hamburger.open { color:#ffffff }
.a11y-btn:focus,
.a11y-btn:focus-visible { outline:none }

.nav-login-mobile {
  display:none;
  align-items:center;
  justify-content:center;
  height:28px;
  padding:0 10px;
  margin-left:8px;
  border:none;
  border-radius:0;
  background:var(--gold);
  color:#ffffff;
  font-family:var(--f);
  font-size:10px;
  font-weight:700;
  letter-spacing:0.12em;
  line-height:1;
  cursor:pointer;
  flex-shrink:0;
  white-space:nowrap;
}
.nav-login-mobile:hover { background:var(--gold2) }

.a11y-panel {
  position:fixed; top:72px; right:24px; z-index:260;
  width:372px; max-width:calc(100vw - 32px);
  background:#ffffff;
  border:1px solid var(--card-border);
  border-left:4px solid var(--gold);
  box-shadow:0 4px 24px rgba(0,0,0,0.07), 0 1px 4px rgba(0,0,0,0.04);
  padding:24px 24px 22px;
  border-radius:2px;
  overflow:hidden;
  transform-origin:top right;
  opacity:0;
  transform:translateY(-8px) scale(0.985);
  pointer-events:none;
  transition:opacity 0.16s ease, transform 0.18s cubic-bezier(0.22,1,0.36,1), border-color 0.25s, box-shadow 0.25s cubic-bezier(0.22,1,0.36,1);
}
.a11y-panel.is-open,
.a11y-panel.is-closing {
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
.a11y-panel.is-closing {
  opacity:0;
  transform:translateY(-8px) scale(0.985);
  pointer-events:none;
}
.a11y-panel:hover {
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.18),
    0 8px 32px rgba(176,137,60,0.16),
    0 18px 48px rgba(0,0,0,0.10),
    0 3px 8px rgba(0,0,0,0.06);
}
html[data-theme="dark"] .a11y-panel {
  background:#0d0d0d;
  border-color:var(--rule-color);
  border-left-color:var(--gold2);
  box-shadow:0 4px 32px rgba(0,0,0,0.32), 0 1px 6px rgba(0,0,0,0.18);
}
html[data-theme="dark"] .a11y-panel:hover {
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.22),
    0 8px 32px rgba(176,137,60,0.18),
    0 18px 48px rgba(0,0,0,0.40),
    0 3px 8px rgba(0,0,0,0.22);
}
.a11y-panel[hidden] { display:none }
.a11y-panel-title {
  font-size:22px; font-weight:700; letter-spacing:0; text-transform:none;
  line-height:1.18;
  color:var(--navy); padding-bottom:0; margin-bottom:14px;
  border-bottom:none;
}
html[data-theme="dark"] .a11y-panel-title { color:var(--body-text) }
.a11y-panel-title::before { content:none }
.a11y-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
  margin-bottom:14px;
}
.a11y-row:last-of-type { margin-bottom:0 }
.a11y-row-stack {
  padding-top:12px;
  border-top:1px solid var(--rule-color);
}
.a11y-row-stack:first-of-type {
  padding-top:0;
  border-top:none;
}
.a11y-row-divider {
  border-top:1px solid var(--rule-color);
  padding-top:12px;
}
.a11y-row-divider .a11y-label {
  margin-bottom:2px;
}
.a11y-label {
  font-size:10px; font-weight:700; color:var(--gold); letter-spacing:0.18em;
  text-transform:uppercase;
}
html[data-theme="dark"] .a11y-label { color:var(--gold) }
.a11y-help { font-size:12px; color:var(--body-text-3); margin-top:4px; line-height:1.5; max-width:220px }
.a11y-actions { display:flex; gap:8px; flex-shrink:0; justify-content:flex-end; padding-top:2px }
.a11y-chip {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--gold);
  background:transparent;
  width:42px; height:36px;
  padding:0;
  font-size:12px; font-weight:700;
  color:var(--gold);
  cursor:pointer;
  flex-shrink:0;
}
.a11y-chip:hover { background:var(--gold); border-color:var(--gold); color:#ffffff }
.a11y-chip.active { background:var(--gold); border-color:var(--gold); color:#ffffff }
.a11y-chip:focus-visible { outline:2px solid var(--gold); outline-offset:2px }
.a11y-actions-full { flex:none; width:144px }
.a11y-chip-full { width:100%; height:36px }
.a11y-chip-wide {
  width:100%;
}
.a11y-theme-actions { width:144px; display:grid; grid-template-columns:1fr 1fr; gap:8px }
.a11y-theme-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:36px;
  border:1px solid var(--gold);
  background:transparent;
  color:var(--gold);
  font-family:var(--f);
  font-size:10px;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  cursor:pointer;
}
.a11y-theme-btn:hover { background:var(--gold); border-color:var(--gold); color:#ffffff }
.a11y-theme-btn.active { background:var(--gold); border-color:var(--gold); color:#ffffff }
.a11y-theme-btn:focus-visible { outline:2px solid var(--gold); outline-offset:2px }
.a11y-panel .a11y-actions { width:144px; gap:8px }
.a11y-chip span {
  font-size:14px !important;
  line-height:1 !important;
}
.a11y-mode-note {
  font-size:12px;
  line-height:1.45;
  color:#131B38;
  margin-top:3px;
  max-width:168px;
}
html[data-theme="dark"] .a11y-mode-note { color: var(--body-text-3); }
.a11y-panel .a11y-row-divider > div:first-child {
  max-width:168px;
}
.a11y-reduced-motion * {
  scroll-behavior:auto !important;
}
.a11y-reduced-motion .hero-compass svg,
.a11y-reduced-motion .ticker-track,
.a11y-reduced-motion .login-modal,
.a11y-reduced-motion .ask-axis-panel,
.a11y-reduced-motion .a11y-panel {
  animation:none !important;
}
.a11y-reduced-motion *, .a11y-reduced-motion *::before, .a11y-reduced-motion *::after {
  animation-duration:0.001ms !important;
  animation-iteration-count:1 !important;
  transition-duration:0.001ms !important;
  transition-delay:0ms !important;
}
.a11y-high-focus a,
.a11y-high-focus button,
.a11y-high-focus input,
.a11y-high-focus textarea,
.a11y-high-focus select {
  outline:2px solid rgba(176,137,60,0.42);
  outline-offset:3px;
}
.a11y-high-focus a:focus-visible,
.a11y-high-focus button:focus-visible,
.a11y-high-focus input:focus-visible,
.a11y-high-focus textarea:focus-visible,
.a11y-high-focus select:focus-visible {
  outline-color:var(--gold);
  box-shadow:0 0 0 3px rgba(176,137,60,0.18);
}
.a11y-high-focus .a11y-chip,
.a11y-high-focus .a11y-theme-btn {
  border-color:rgba(176,137,60,0.58);
}
.a11y-text-spacing p,
.a11y-text-spacing li,
.a11y-text-spacing .hero-body,
.a11y-text-spacing .home-why-intro,
.a11y-text-spacing .home-why-desc,
.a11y-text-spacing .home-cover-desc,
.a11y-text-spacing .home-how-desc,
.a11y-text-spacing .audit-disclosure,
.a11y-text-spacing .about-intro-text,
.a11y-text-spacing .about-overview-point-text,
.a11y-text-spacing .about-phil-left p,
.a11y-text-spacing .about-principle-body p,
.a11y-text-spacing .about-audience-card p,
.a11y-text-spacing .about-analyst-copy p,
.a11y-text-spacing .svc-desc,
.a11y-text-spacing .faq-a,
.a11y-text-spacing .faq-svc-desc,
.a11y-text-spacing .blog-excerpt,
.a11y-text-spacing .blog-comm-text,
.a11y-text-spacing .notes-cta-text {
  line-height:1.9 !important;
  letter-spacing:0.01em;
  word-spacing:0.03em;
  text-rendering:optimizeLegibility;
}
.a11y-panel .a11y-row-stack {
  align-items:start;
}
.a11y-panel .a11y-row-stack > div:first-child {
  padding-top:1px;
  max-width:240px;
}
.a11y-readable body,
.a11y-readable .hero-body,
.a11y-readable .home-why-intro,
.a11y-readable .home-why-desc,
.a11y-readable .home-cover-desc,
.a11y-readable .home-how-desc,
.a11y-readable .audit-disclosure,
.a11y-readable .about-intro-text,
.a11y-readable .about-overview-point-text,
.a11y-readable .about-phil-left p,
.a11y-readable .about-principle-body p,
.a11y-readable .about-audience-card p,
.a11y-readable .about-analyst-copy p,
.a11y-readable .svc-desc,
.a11y-readable .faq-a,
.a11y-readable .faq-svc-desc,
.a11y-readable .blog-excerpt,
.a11y-readable .blog-comm-text,
.a11y-readable .notes-cta-text,
.a11y-readable .home-recent-sub {
  line-height:1.95 !important;
}
.a11y-spacious body,
.a11y-spacious .hero-body,
.a11y-spacious .home-why-intro,
.a11y-spacious .home-why-desc,
.a11y-spacious .home-cover-desc,
.a11y-spacious .home-how-desc,
.a11y-spacious .audit-disclosure,
.a11y-spacious .about-intro-text,
.a11y-spacious .about-overview-point-text,
.a11y-spacious .about-phil-left p,
.a11y-spacious .about-principle-body p,
.a11y-spacious .about-audience-card p,
.a11y-spacious .about-analyst-copy p,
.a11y-spacious .svc-desc,
.a11y-spacious .faq-a,
.a11y-spacious .faq-svc-desc,
.a11y-spacious .blog-excerpt,
.a11y-spacious .blog-comm-text,
.a11y-spacious .notes-cta-text,
.a11y-spacious .home-recent-sub {
  line-height:2.05 !important;
}
.a11y-reading-rhythm .home-why-row,
.a11y-reading-rhythm .home-cover-card,
.a11y-reading-rhythm .home-how-step,
.a11y-reading-rhythm .about-audience-card,
.a11y-reading-rhythm .about-phil-item,
.a11y-reading-rhythm .faq-grid-item,
.a11y-reading-rhythm .svc-card {
  margin-bottom:14px;
}
.a11y-close {
  position:absolute; top:18px; right:18px;
  width:32px; height:32px; border:none;
  background:transparent; cursor:pointer; color:#131B38;
  display:flex; align-items:center; justify-content:center;
  font-size:22px; line-height:1;
}
html[data-theme="dark"] .a11y-close { color:var(--body-text) }
.a11y-close:hover { opacity:0.75 }
.a11y-close:focus-visible { outline:2px solid var(--gold); outline-offset:2px }

@media(max-width:1000px){ .a11y-panel{ top:72px; right:24px } }
@media(max-width:640px){ .a11y-panel{ top:76px; right:16px; left:16px; width:auto; max-width:none } }

/* ── A11Y: DYSLEXIA FONT ────────────────────────────────────── */
html.a11y-dyslexia,
html.a11y-dyslexia body,
html.a11y-dyslexia body * {
  font-family: 'RAComicSans', "Comic Sans MS", "Comic Sans", cursive !important;
}

/* ── A11Y: LARGE CURSOR ─────────────────────────────────────── */
html.a11y-large-cursor,
html.a11y-large-cursor * {
  cursor: url("") 4 2, auto !important;
}
html.a11y-large-cursor a,
html.a11y-large-cursor button,
html.a11y-large-cursor [role="button"],
html.a11y-large-cursor input[type="submit"],
html.a11y-large-cursor input[type="button"],
html.a11y-large-cursor label[for] {
  cursor: url("") 20 20, pointer !important;
}

/* ── A11Y: READING GUIDE ────────────────────────────────────── */
#a11y-reading-guide {
  display: none;
  position: fixed;
  left: 0; right: 0;
  height: 36px;
  background: rgba(255, 212, 0, 0.13);
  border-top: 1.5px solid rgba(176,137,60,0.28);
  border-bottom: 1.5px solid rgba(176,137,60,0.28);
  pointer-events: none;
  z-index: 9000;
  transform: translateY(-50%);
  transition: top 0.05s linear;
}
html.a11y-reading-guide-on #a11y-reading-guide { display: block; }
html[data-contrast="high"] #a11y-reading-guide {
  background: rgba(255,212,0,0.18);
  border-color: rgba(255,212,0,0.55);
}
html[data-theme="dark"] #a11y-reading-guide {
  background: rgba(255,212,0,0.10);
  border-color: rgba(255,212,0,0.32);
}

/* ── PAGE WRAPPER ───────────────────────────────────────────── */
.page-wrap { padding-top:72px; min-height:100vh; display:flex; flex-direction:column; background:var(--hero-bg) }

/* ── HERO (Home page) ───────────────────────────────────────── */
.hero {
  background:var(--hero-bg);
  min-height:calc(96vh - 72px); position:relative; overflow:hidden;
  display:flex; flex-direction:column; justify-content:space-between;
  transition:background 0.35s;
  padding:0 56px;
}
.hero-glow {
  position:absolute; inset:0;
  background: none;
  pointer-events:none;
}
.hero-grid {
  display:none;
}
.hero-compass {
  position:absolute; right:-120px; top:50%;
  transform:translateY(-50%);
  width:640px; height:640px;
  pointer-events:none; opacity:0.18;
}
.hero-compass svg {
  width:100%; height:100%;
  animation:compassSpin 60s linear infinite;
  transform-origin:center;
  will-change:transform;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
@keyframes compassSpin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
.hero-inner {
  max-width:1240px; width:100%; margin:0 auto;
  padding:80px 0 64px; flex:1;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
  position:relative; z-index:1;
}
.hero-eyebrow      { display:flex; align-items:center; gap:14px; margin-bottom:32px; animation:fadeUp 0.5s 0.05s both }
.hero-eyebrow-line { width:36px; height:1px; background:var(--gold); opacity:0.7 }
.hero-eyebrow span { font-size:10px; font-weight:700; letter-spacing:0.26em; text-transform:uppercase; color:var(--gold) }
.hero-h1 {
  font-size:clamp(52px,5.8vw,82px); font-weight:700; color:#ffffff;
  line-height:1.16; letter-spacing:-0.03em; margin-bottom:20px;
  animation:fadeUp 0.55s 0.12s both;
}
.hero-h1 .line-white { color:#ffffff; display:block }
.hero-h1 .line-gold { color:var(--gold); display:block; margin-top:0.16em }
.hero-body {
  font-size:16px; color:#FFFFFFB8; max-width:560px;
  line-height:1.85; margin-bottom:32px; animation:fadeUp 0.55s 0.22s both;
}
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; animation:fadeUp 0.55s 0.30s both; align-items:stretch }
.hero-actions .btn-fill, .hero-actions .btn-ghost-gold { width:240px; box-sizing:border-box }
.btn-fill       { display:inline-flex; align-items:center; justify-content:center; background:var(--gold); color:#ffffff; padding:0 28px; height:44px; font-size:10px; font-weight:700; letter-spacing:0.13em; text-transform:uppercase; text-decoration:none; transition:background 0.15s; cursor:pointer; border:1.5px solid var(--gold); font-family:var(--f); box-sizing:border-box; white-space:nowrap }
.btn-fill:hover { background:var(--gold2); border-color:var(--gold2); color:#ffffff }
.btn-ghost      { display:inline-flex; align-items:center; justify-content:center; border:1.5px solid rgba(176,137,60,0.32); color:rgba(255,255,255,0.58); padding:0 28px; height:44px; font-size:10px; font-weight:700; letter-spacing:0.13em; text-transform:uppercase; text-decoration:none; transition:border-color 0.2s,color 0.2s; cursor:pointer; background:none; font-family:var(--f); box-sizing:border-box; white-space:nowrap }
.btn-ghost:hover { border-color:var(--gold); color:var(--gold) }
.btn-ghost-gold { display:inline-flex; align-items:center; justify-content:center; border:1.5px solid var(--gold); color:var(--gold); padding:0 28px; height:44px; font-size:10px; font-weight:700; letter-spacing:0.13em; text-transform:uppercase; text-decoration:none; transition:border-color 0.2s,color 0.2s,background 0.2s; cursor:pointer; background:none; font-family:var(--f); box-sizing:border-box; white-space:nowrap }
.btn-ghost-gold:hover { background:var(--gold); border-color:var(--gold); color:#ffffff }
.hero-cred { margin-top:0; margin-bottom:20px; display:flex; align-items:center; gap:8px; animation:fadeUp 0.5s 0.05s both }
.hero-cred-icon { width:14px; height:14px; flex-shrink:0; display:flex; align-items:center; justify-content:center }
.hero-cred-icon svg { width:14px; height:14px; fill:var(--gold) }
.hero-cred-text { font-size:10px; color:var(--gold); letter-spacing:0.12em; font-weight:700 }
.hero-cred-text strong { color:#ffffff; font-weight:700 }
.hero-strip       { position:relative; padding:16px 0 20px; z-index:2; border-top:none; margin-top:0 }
.hero-strip-inner { max-width:1240px; width:100%; margin:0 auto; padding:0; display:block }
.hero-strip-item  { display:block; max-width:100%; font-size:10px; color:#FFFFFFB8; letter-spacing:0.02em; line-height:1.72 }
.hero-disclaimer { font-size:10px; color:#FFFFFFB8; letter-spacing:0.02em; line-height:1.72; padding:16px 0 20px; flex-shrink:0; width:100%; box-sizing:border-box }
.hero-disclaimer-inner { max-width:1240px; margin:0 auto; padding:0 }
.hero-strip-val   { font-weight:700; color:rgba(255,255,255,0.46); margin-left:5px }

/* ── TICKER ─────────────────────────────────────────────────── */
.ticker       { background:var(--gold); padding:10px 0; overflow:hidden; -webkit-transform:translateZ(0); transform:translateZ(0) }
.ticker-track { display:flex; -webkit-animation:ticker 35s linear infinite; animation:ticker 35s linear infinite; width:max-content; will-change:transform; -webkit-transform:translateZ(0); transform:translateZ(0) }
.ticker-item  { display:flex; align-items:center; gap:10px; padding:0 28px; white-space:nowrap; border-right:1px solid rgba(255,255,255,0.25); font-size:10px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:#ffffff }
.ticker-dot   { width:4px; height:4px; background:#ffffff; border-radius:50%; opacity:0.35 }

/* ── PAGE HEADER (inner pages) ──────────────────────────────── */
.page-header {
  background: var(--nav-bg);
  padding: 52px 56px 44px;
  border-bottom: 1px solid var(--nav-border);
  position:relative; overflow:hidden;
}
.page-header-grid {
  position:absolute; inset:0;
  background-image:radial-gradient(circle,rgba(176,137,60,0.09) 1px,transparent 1px);
  background-size:32px 32px; pointer-events:none; opacity:0.3;
}
html[data-theme="dark"] .page-header-grid { display:none }
.page-header-inner { max-width:1240px; margin:0 auto; position:relative; z-index:1 }
.page-header-eyebrow { font-size:10px; font-weight:700; letter-spacing:0.26em; text-transform:uppercase; color:var(--gold); margin-bottom:10px; display:flex; align-items:center; gap:10px }
.page-header-eyebrow::before { display:none }
.page-header-title { font-size:48px; font-weight:700; color:#ffffff; letter-spacing:-0.025em; line-height:1.05; margin:0; padding:0 }
.page-header-sub { font-size:16px; color:rgba(255,255,255,0.78); margin-top:14px; line-height:1.78 }

/* ── SECTION BASE ───────────────────────────────────────────── */
.section       { padding:80px 56px }
.section-inner { max-width:1240px; margin:0 auto }
.section-head  { margin-bottom:32px }
.u-label       { font-size:12px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:#8C6A2A }
.u-rule        { display:block; width:32px; height:var(--ra-underline-h); background:var(--gold); margin:10px 0 18px }
.section-title { font-size:32px; font-weight:700; color:var(--body-text); letter-spacing:-0.025em; line-height:1.1 }
.section-title-light { color:#ffffff }

/* Shared gold label system */
.hero-eyebrow span,
.page-header-eyebrow,
.note-status,
.note-compass-label,
.note-compass-val,
.notes-cta-kicker,
.blog-hero-kicker,
.blog-card-kicker,
.blog-comm-kicker,
.contact-analyst-title,
.contact-detail-label,
.form-label,
.login-modal-hero-eyebrow,
.login-modal-mobile-eyebrow,
.login-secure-note,
.login-field-label,
.pcard-v2-kicker,
.pricing-ipo-strip-badge,
.pricing-summary-coupon-label {
  font-size:10px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  line-height:1.2;
}

/* ── ABOUT PAGE ─────────────────────────────────────────────── */
.about { background:var(--section-a); transition:background 0.3s }
.about-body { max-width:780px }
.about-body p { font-size:14px; color:var(--body-text-2); line-height:1.82; margin-bottom:20px; text-align:left }
.about-body > p:first-of-type { margin-top:-7px; }
.about-pullquote { border-left:4px solid var(--gold); padding:16px 22px; margin:26px 0; background:var(--section-a); transition:background 0.3s }
.about-pullquote p { font-size:14px!important; font-weight:700; color:var(--body-text)!important; line-height:1.65!important; margin:0!important; font-style:italic }

/* ── SERVICES PAGE ──────────────────────────────────────────── */
.services { background:var(--section-a); transition:background 0.3s }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px }
.svc-card { background:var(--section-b); padding:40px 32px; border:1px solid var(--card-border); border-top:2px solid var(--gold); transition:background 0.3s, box-shadow 0.2s; cursor:default; box-shadow:0 4px 24px rgba(0,0,0,0.07), 0 1px 4px rgba(0,0,0,0.04) }
html[data-theme="dark"] .svc-card { background:var(--section-b); box-shadow:0 4px 24px rgba(0,0,0,0.28), 0 1px 4px rgba(0,0,0,0.16) }
.svc-card:hover { border-top-color:var(--gold); box-shadow:0 8px 32px rgba(176,137,60,0.13), 0 2px 8px rgba(0,0,0,0.06) }
.svc-num   { font-size:52px; font-weight:700; color:rgba(0,7,45,0.12); line-height:1; margin-bottom:22px; letter-spacing:-0.04em }
html[data-theme="dark"] .svc-num { color:rgba(176,137,60,0.18) }
.svc-title { font-size:12px; font-weight:700; color:var(--body-text); letter-spacing:0.08em; text-transform:uppercase; margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid var(--card-border) }
.svc-title::before { content:''; display:block; width:24px; height:2px; background:var(--gold); margin-bottom:12px }
.svc-desc  { font-size:14px; color:var(--body-text-3); line-height:1.78 }
.svc-tag   { display:inline-block; margin-top:26px; font-size:10px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); background:rgba(176,137,60,0.08); border:1px solid rgba(176,137,60,0.25); padding:5px 12px }

/* ── COMPASS FRAMEWORK ──────────────────────────────────────── */
.framework {
  background:var(--section-dark); transition:background 0.3s;
  padding:80px 56px;
}
.framework .fw-inner { max-width:1240px; margin:0 auto; }
.framework .about-sec-head-line { display:block; flex:1; height:1px; background:var(--nav-border); opacity:1; margin-bottom:2px }
.fw-body {
  display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:44px;
  border:1px solid rgba(255,255,255,0.10); border-radius:2px; overflow:hidden;
}
/* LEFT: compass wheel */
.fw-compass-col {
  display:flex; align-items:center; justify-content:center;
  padding:48px 40px;
  border-right:1px solid #FFFFFF1A;
}
/* RIGHT: info panel */
.fw-info-col {
  display:flex; flex-direction:column; padding:36px 40px; justify-content:center; gap:0;
}
.fw-info-main {
  display:flex; flex-direction:column;
}
.fw-info-label {
  display:none;
}
.fw-info-letter {
  font-family:'DM Sans',sans-serif; font-size:48px; font-weight:700;
  color:var(--gold); line-height:1; letter-spacing:-0.03em;
  margin-bottom:6px;
  transition:opacity 0.2s;
}
.fw-info-title {
  font-size:20px; font-weight:700; letter-spacing:-0.02em;
  color:#ffffff; margin-bottom:0; line-height:1.2;
}
.fw-info-divider {
  display:block; height:1px; background:rgba(255,255,255,0.10); margin:18px 0;
}
.fw-info-desc {
  font-size:14px; color:rgba(255,255,255,0.68); line-height:1.85; flex:1;
}
.fw-info-dots {
  display:flex; gap:6px; margin-top:22px; align-items:center;
}
.fw-dot {
  width:20px; height:3px; border-radius:0; border:none; padding:0; cursor:pointer;
  background:rgba(176,137,60,0.15); transition:background 0.2s, width 0.2s;
}
.fw-dot.active { background:var(--gold); width:28px; border-radius:0; }
/* compass SVG segments */
.fw-seg { cursor:pointer; transition:fill 0.3s, stroke 0.3s }
.fw-seg-lbl { transition:fill 0.3s, font-size 0.3s; pointer-events:none }
@media(max-width:780px){
  .framework { padding:64px 24px; }
  .fw-body { grid-template-columns:1fr; grid-template-rows:1fr 1fr; }
  .fw-compass-col { border-right:none; border-bottom:1px solid #FFFFFF1A; padding:36px 24px; display:flex; align-items:center; justify-content:center; }
  .fw-info-col { padding:32px 24px; justify-content:center; }
}
@media(max-width:480px){
  .framework { padding:56px 20px; }
}

/* ── SAMPLE REPORTS / NOTES PAGE ────────────────────────────── */
.notes { background:var(--section-a); transition:background 0.3s; padding-top:80px; padding-bottom:80px }
html[data-theme="dark"] .notes { background:var(--section-b) }

/* Sticky filter bar */
.notes-filter-bar {
  display:flex; align-items:center; gap:8px; margin-bottom:32px;
  position:sticky; top:72px; z-index:10;
  background:var(--section-a); padding:16px 0; border-bottom:1px solid var(--rule-color);
  transition:background 0.3s;
}
html[data-theme="dark"] .notes-filter-bar { background:var(--section-b) }
.notes-filter-label { font-size:10px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--body-text-3); margin-right:4px }
.notes-filter-btn {
  background:none; border:none; padding:6px 0 10px;
  font-family:var(--f); font-size:14px; font-weight:600; letter-spacing:0.04em;
  color:var(--body-text-3); cursor:pointer; margin-right:24px;
  transition:color 0.15s; position:relative; border-radius:0;
  white-space:nowrap;
}
.notes-filter-btn::after {
  content:''; position:absolute; bottom:4px; left:0; right:0; height:2px;
  background:var(--gold); transform:scaleX(0) translateZ(0);
  transform-origin:left; transition:transform 0.18s ease; will-change:transform;
}
.notes-filter-btn.active { color:var(--body-text); font-weight:700 }
.notes-filter-btn.active::after { transform:scaleX(1) }
.notes-filter-btn:hover { color:var(--body-text) }

/* Section group headings */
.notes-section-head {
  margin:0 0 32px;
  display:flex; align-items:flex-end; gap:18px;
}
.notes-section-head-title,
.about-sec-head-title {
  font-size:36px; font-weight:700; color:var(--body-text);
  letter-spacing:-0.025em; line-height:1;
  position:relative; display:inline-block; padding-bottom:var(--ra-underline-pad);
}
.about-sec-head-lg .about-sec-head-title {
  font-size:36px; letter-spacing:-0.025em;
}
.notes-section-head-title::after,
.about-sec-head-title::after {
  content:''; position:absolute; left:0; right:0; bottom:0;
  height:var(--ra-underline-h); background:var(--gold);
}
/* Compass Framework heading — uses standard gold underline like other section headings */
.notes-section-head-line {
  flex:1; height:1px; background:var(--rule-color);
  opacity:0.9; margin-bottom:2px;
}

/* Card grid */
.notes-group { margin-bottom:64px }
.notes-group:last-of-type { margin-bottom:0 }
.notes-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-bottom:0 }

/* New card design: left vertical gold bar, cleaner layout */
.note-card {
  background:var(--section-b); border:1px solid var(--card-border);
  display:flex; flex-direction:row;
  transition:background 0.3s, border-color 0.25s, box-shadow 0.25s cubic-bezier(0.22,1,0.36,1), transform 0.25s cubic-bezier(0.22,1,0.36,1); position:relative;
  overflow:hidden;
  border-left:none;
  box-shadow:0 4px 24px rgba(0,0,0,0.07), 0 1px 4px rgba(0,0,0,0.04);
}
.note-card:hover {
  transform:translateY(-4px);
  border-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.18),
    0 8px 32px rgba(176,137,60,0.16),
    0 18px 48px rgba(0,0,0,0.10),
    0 3px 8px rgba(0,0,0,0.06);
}
html[data-theme="dark"] .note-card:hover {
  transform:translateY(-4px);
  border-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.22),
    0 8px 32px rgba(176,137,60,0.18),
    0 18px 48px rgba(0,0,0,0.38),
    0 3px 8px rgba(0,0,0,0.22);
}
.note-card:not(.upcoming):hover .note-card-accent { background:var(--gold2) }

/* Vertical gold accent bar */
.note-card-accent {
  width:4px; min-width:4px; background:var(--gold); flex-shrink:0; align-self:stretch;
  margin-top:-1px;
  margin-bottom:-1px;
}

/* Card inner content */
.note-card-inner { display:flex; flex-direction:column; flex:1; min-width:0 }
.note-card-top {
  position:relative;
  padding:18px 20px 16px;
  flex-shrink:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  column-gap:12px;
  row-gap:6px;
  align-items:start;
}
.note-card-meta { grid-column:2; grid-row:1; display:flex; align-items:flex-start; justify-content:flex-end; margin:0; line-height:1; padding-top:3px }
.note-category  { display:none }
.note-status { font-size:10px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:rgba(176,137,60,0.7); padding:0 }
.note-status.live { color:#27ae60 }
.note-status.illustrative { color:var(--gold) }
.note-fund      { grid-column:1; grid-row:1; font-size:20px; font-weight:700; color:var(--body-text); line-height:1.25; letter-spacing:-0.01em; margin-top:0; padding-right:0; overflow-wrap:anywhere }
.note-fund-sub  { grid-column:1 / -1; grid-row:2; font-size:14px; color:#131B38; margin-top:0; line-height:1.82; overflow-wrap:anywhere }
.note-card-body {
  padding:0 20px 12px; flex:1;
  display:flex; flex-direction:column; justify-content:center;
}
.note-divider   { display:none }
.note-data-row  { display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid var(--card-border) }
.note-data-row > span { min-width:0 }
.note-data-row:first-child { border-top:none }
.note-data-row:last-of-type { border-bottom:none }
.note-data-last { border-bottom:none!important }
.note-data-label { font-size:14px; color:#131B38; max-width:58%; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.note-data-val   { font-size:14px; font-weight:700; color:#131B38; text-align:right; max-width:42%; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.note-compass    { display:flex; justify-content:space-between; align-items:center; padding:10px 0 8px; gap:10px }
.note-compass-label {
  font-size:10px;
  color:var(--gold);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.18em;
}
.note-compass-val {
  font-size:10px;
  font-weight:700;
  color:var(--gold);
  letter-spacing:0.18em;
  text-transform:uppercase;
  white-space:nowrap;
}
.note-compass-val.buy,
.note-compass-val.subscribe,
.note-compass-val.pending,
.note-compass-val.invest {
  color:var(--gold);
}
.note-card.upcoming .note-compass-label { color:var(--gold)!important; font-size:10px; font-weight:700 }
.note-card.upcoming .note-data-label { color:var(--body-text) }
.note-card.upcoming .note-data-val { color:var(--body-text) }
.note-card.upcoming .note-compass-val { color:var(--gold)!important; font-size:10px; text-transform:uppercase; letter-spacing:0.18em }
.note-card-footer {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:12px 20px 16px;
  margin-top:auto;
}
.note-top-action {
  position:absolute;
  left:20px;
  top:auto;
  bottom:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}
.note-top-action.pending {
  font-size:10px;
  font-weight:700;
  letter-spacing:0.10em;
  text-transform:uppercase;
  color:var(--gold);
  background:transparent;
  padding:7px 12px;
  border:1px solid var(--gold);
}
.note-top-action {
  bottom:16px;
}
.note-dl-btn {
  display:inline-flex; align-items:center; gap:7px;
  font-size:10px; font-weight:700; letter-spacing:0.10em; text-transform:uppercase;
  color:#ffffff; background:var(--gold);
  padding:8px 16px;
  text-decoration:none; cursor:pointer;
  border:none; font-family:var(--f);
  transition:background 0.15s;
  white-space:nowrap;
}
.note-dl-btn:hover { background:var(--gold2); color:#ffffff }
.note-dl-btn svg { width:12px; height:12px; fill:currentColor; flex-shrink:0 }
.note-dl-btn.pending {
  background: transparent;
  border: 1px solid var(--upcoming-accent);
  color: var(--upcoming-accent);
  cursor:default; pointer-events:none; opacity:1;
}
/* ── UPCOMING COVERAGE CARD ─────────────────────────────────── */
.note-card.upcoming {
  border-style: solid;
  border-color: var(--card-border);
  opacity: 1;
  border-left:none;
}
.note-card.upcoming .note-status { color: var(--gold) }
.note-card.upcoming .note-fund { color: var(--body-text) }
.note-card.upcoming .note-fund-sub { color: #131B38 }
.note-card.upcoming .note-data-label { color: #131B38 }
.note-card.upcoming .note-data-val { color: #131B38 }
.note-card.upcoming .note-card-accent { background: var(--gold); opacity:1 }
.note-card.upcoming .note-card-accent { margin-top:0; margin-bottom:0 }
.note-card.upcoming .note-data-row { border-bottom-color: var(--card-border) }
.note-card.upcoming .note-card-body { border-top-color: var(--card-border); border-bottom-color: var(--card-border) }
.note-card.upcoming:hover {
  transform:translateY(-4px);
  border-color: var(--gold2);
}
.note-card.upcoming:hover .note-card-accent { background:var(--gold2) }
html[data-theme="dark"] .note-card.upcoming:hover {
  transform:translateY(-4px);
  border-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.22),
    0 8px 32px rgba(176,137,60,0.18),
    0 18px 48px rgba(0,0,0,0.38),
    0 3px 8px rgba(0,0,0,0.22);
}

/* ── DASHBOARD HUB ───────────────────────────────────────────── */
#page-dashboard .page-wrap { background:var(--section-a) }
html[data-theme="dark"] #page-dashboard .page-wrap { background:var(--section-b) }
.dashboard-hub { padding-top:72px; background:var(--section-a) }
html[data-theme="dark"] .dashboard-hub { background:var(--section-b) }
.dashboard-shell { display:block }
.dashboard-panel { background:var(--section-b); border:1px solid var(--card-border); border-left:4px solid var(--gold); box-shadow:0 4px 24px rgba(0,0,0,0.07),0 1px 4px rgba(0,0,0,0.04) }
.dashboard-side-head { padding:26px 24px 12px }
.dashboard-side-title { font-size:20px; font-weight:700; color:var(--body-text); letter-spacing:-0.015em; line-height:1.25; margin-bottom:8px }
.dashboard-side-sub,.dashboard-copy { color:#131B38 }
.dashboard-side-sub { font-size:14px; line-height:1.72 }
.dashboard-side-nav { display:grid; padding:14px 0 }
.dashboard-side-link { display:flex; align-items:center; gap:12px; padding:14px 24px; font-size:14px; font-weight:700; color:var(--body-text); text-decoration:none; border-left:3px solid transparent; cursor:pointer }
.dashboard-side-link.active,.dashboard-side-link:hover { color:var(--gold); border-left-color:var(--gold); background:rgba(176,137,60,0.06) }
.dashboard-side-icon { width:18px; height:18px; color:currentColor; flex:0 0 auto }
.dashboard-overview { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:28px; align-items:stretch; margin-bottom:34px }
.dashboard-panel { padding:34px 36px; transition:background .3s,border-color .25s cubic-bezier(.22,1,.36,1),box-shadow .25s cubic-bezier(.22,1,.36,1),transform .25s cubic-bezier(.22,1,.36,1) }
.dashboard-panel:hover { transform:translateY(-4px); border-color:var(--gold2); border-left-color:var(--gold2); box-shadow:0 0 0 1px rgba(176,137,60,.18),0 8px 32px rgba(176,137,60,.16),0 18px 48px rgba(0,0,0,.10),0 3px 8px rgba(0,0,0,.06) }
#dashboard-plans { display:flex; flex-direction:column }
.dashboard-kicker { font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:12px }
.dashboard-title { font-size:24px; font-weight:700; color:var(--body-text); line-height:1.22; letter-spacing:-.02em; margin:0 0 6px }
.dashboard-copy { font-size:14px; line-height:1.65; margin:0 }
.dashboard-membership-head { display:grid; gap:14px; margin-bottom:26px }
.dashboard-membership-title-row { display:flex; justify-content:space-between; align-items:flex-start; gap:22px }
.dashboard-membership-copy { max-width:720px }
.dashboard-plan-list,.dashboard-update-list { display:grid; gap:14px; margin-top:0 }
.dashboard-plan-list { grid-template-columns:1fr }
.dashboard-plan-pill,.dashboard-update { display:flex; align-items:center; justify-content:space-between; gap:16px; border:1px solid var(--card-border); background:var(--card-bg,#fff); padding:14px 16px }
.dashboard-plan-pill { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:22px 18px; min-height:104px }
.dashboard-plan-pill > span:first-child { display:grid; align-content:center }
.dashboard-plan-pill.is-active > span:first-child { align-content:start }
.dashboard-plan-pill { cursor:pointer; transition:background 0.2s,border-color 0.2s,color 0.2s,box-shadow 0.2s,transform 0.2s }
.dashboard-update { align-items:flex-start; justify-content:flex-start }
.dashboard-dot { width:8px; height:8px; border-radius:50%; background:var(--gold); margin-top:7px; flex:0 0 auto }
.dashboard-plan-name,.dashboard-update-title { font-size:14px; font-weight:700; color:var(--body-text); line-height:1.4 }
.dashboard-plan-detail { display:block; font-size:12px; font-weight:500; color:#131B38; line-height:1.5; margin-top:3px }
.dashboard-plan-segment { display:block; margin-top:3px; font-size:12px; font-weight:500; color:#131B38; line-height:1.5 }
.dashboard-plan-valid { display:block; margin-top:2px; font-size:12px; font-weight:500; color:#131B38; line-height:1.5 }
.dashboard-plan-meta { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); white-space:nowrap; text-align:right; align-self:center }
.dashboard-plan-meta.locked { color:#8f96aa }
.dashboard-plan-pill.is-active { border-left:3px solid var(--gold) }
.dashboard-plan-pill.is-active:hover { background:var(--card-bg,#ffffff); border-color:var(--gold2); border-left-color:var(--gold2); box-shadow:0 0 0 1px rgba(176,137,60,0.12),0 8px 22px rgba(176,137,60,0.08) }
.dashboard-plan-pill.is-locked { opacity:.82 }
.dashboard-plan-pill.is-locked:hover { opacity:1; border-color:var(--gold); box-shadow:0 0 0 1px rgba(176,137,60,0.08) }
.dashboard-update-text { font-size:14px; color:#131B38; line-height:1.72; margin-top:4px }
.dashboard-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:auto; padding-top:28px }
.dashboard-actions .btn-fill,.dashboard-actions .btn-ghost-gold { width:auto; min-width:180px }
.dashboard-section-head { margin:0 0 26px }
.dashboard-report-group { margin-bottom:52px }
.dashboard-report-group:last-child { margin-bottom:0 }
.dashboard-report-group,.dashboard-overview { scroll-margin-top:120px }
.dashboard-report-group.is-dashboard-hidden,.dashboard-jump-bar .is-dashboard-hidden { display:none !important }
.dashboard-report-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px }
.dashboard-report-grid .note-card.is-hidden { display:none }
.dashboard-report-pager { display:flex; align-items:center; justify-content:center; gap:10px; margin-top:22px }
.dashboard-access-badge { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); background:transparent; padding:0; white-space:nowrap }
.dashboard-position-card { margin-top:0 }
.dashboard-position-filter { display:inline-flex; flex-wrap:wrap; gap:8px; margin-top:10px; padding:0; border:0; background:transparent }
.dashboard-position-filter-btn { min-width:72px; border:1px solid var(--gold); background:transparent; color:var(--gold); padding:8px 12px; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; transition:background .2s,color .2s,border-color .2s,opacity .2s }
.dashboard-position-filter-btn[data-position-filter="open"] { border-color:#4F8A5B; color:#4F8A5B }
.dashboard-position-filter-btn[data-position-filter="closed"] { border-color:#A64B4B; color:#A64B4B }
.dashboard-position-filter-btn.active { border-color:var(--gold); background:var(--gold); color:#fff }
.dashboard-position-filter-btn[data-position-filter="open"].active { border-color:#4F8A5B; background:#4F8A5B; color:#fff }
.dashboard-position-filter-btn[data-position-filter="closed"].active { border-color:#A64B4B; background:#A64B4B; color:#fff }
.dashboard-position-filter-btn:hover { opacity:.82 }
.dashboard-position-list { display:grid; grid-template-rows:repeat(2,214px); gap:16px; margin-top:22px; min-height:444px }
.dashboard-position-pager { min-height:34px }
.dashboard-position-head { display:none }
.dashboard-position-head span { white-space:nowrap }
.dashboard-position-item { border:1px solid var(--card-border); border-left:3px solid var(--gold); background:var(--card-bg,#fff); padding:26px 26px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:28px; row-gap:16px; align-items:start; min-height:214px; height:214px; transition:background .2s,border-color .2s,box-shadow .2s }
.dashboard-position-item:hover { background:var(--card-bg,#ffffff); border-color:var(--gold2); border-left-color:var(--gold2); box-shadow:0 0 0 1px rgba(176,137,60,0.12),0 8px 22px rgba(176,137,60,0.08) }
.dashboard-position-item > * { min-width:0 }
.dashboard-position-item > *:nth-child(2)::before { content:'Recommended'; display:block }
.dashboard-position-item > *:nth-child(3)::before { content:'Last Update'; display:block }
.dashboard-position-item > *:nth-child(4)::before { content:'Entry Price'; display:block }
.dashboard-position-item > *:nth-child(5)::before { content:'Target Price'; display:block }
.dashboard-position-item > *:nth-child(6)::before { content:'Status'; display:block }
.dashboard-position-item > *:nth-child(7)::before { content:'Compass Reading'; display:block }
.dashboard-position-item > div:first-child { grid-column:1 / -1; padding-bottom:14px; border-bottom:1px solid var(--card-border) }
.dashboard-position-item > *:nth-child(2),
.dashboard-position-item > *:nth-child(4),
.dashboard-position-item > *:nth-child(6) { grid-row:2 }
.dashboard-position-item > *:nth-child(3),
.dashboard-position-item > *:nth-child(5),
.dashboard-position-item > *:nth-child(7) { grid-row:3 }
.dashboard-position-item > *:nth-child(2),
.dashboard-position-item > *:nth-child(3) { grid-column:1 }
.dashboard-position-item > *:nth-child(4),
.dashboard-position-item > *:nth-child(5) { grid-column:2 }
.dashboard-position-item > *:nth-child(6),
.dashboard-position-item > *:nth-child(7) { grid-column:3 }
.dashboard-position-item > *:nth-child(n+2) { display:grid; gap:6px; align-content:start }
.dashboard-position-item > *:nth-child(n+2)::before { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); line-height:1.25 }
.dashboard-position-item.is-hidden { display:none }
.dashboard-position-top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px }
.dashboard-position-name { font-size:14px; font-weight:700; color:var(--body-text); line-height:1.35 }
.dashboard-position-sub { display:block; margin-top:4px; font-size:12px; font-weight:500; color:#131B38; line-height:1.5 }
.dashboard-position-text { font-size:14px; color:#131B38; line-height:1.5 }
.dashboard-position-status { justify-self:start; font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#4F8A5B; white-space:nowrap }
.dashboard-position-status.buy { color:#4F8A5B }
.dashboard-position-status.sell,.dashboard-position-status.closed { color:#A64B4B }
.dashboard-locked-view {
  display:none;
  margin-bottom:34px;
}
.dashboard-locked-heading {
  margin:0 0 26px;
}
.dashboard-locked-card {
  background:var(--section-b);
  border:1px solid var(--card-border);
  border-left:4px solid var(--gold);
  box-shadow:0 4px 24px rgba(0,0,0,0.07),0 1px 4px rgba(0,0,0,0.04);
  padding:42px 44px;
  display:block;
  transition:background .3s,border-color .25s cubic-bezier(.22,1,.36,1),box-shadow .25s cubic-bezier(.22,1,.36,1),transform .25s cubic-bezier(.22,1,.36,1);
}
.dashboard-locked-card:hover {
  transform:translateY(-4px);
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:0 0 0 1px rgba(176,137,60,.18),0 8px 32px rgba(176,137,60,.16),0 18px 48px rgba(0,0,0,.10),0 3px 8px rgba(0,0,0,.06);
}
.dashboard-locked-main {
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.dashboard-locked-title {
  font-size:28px;
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.18;
  color:var(--body-text);
  margin:0 0 12px;
}
.dashboard-locked-copy {
  max-width:680px;
  margin:0;
  font-size:14px;
  line-height:1.75;
  color:#131B38;
}
.dashboard-locked-stats {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:26px;
}
.dashboard-locked-stat {
  border:1px solid var(--card-border);
  background:var(--card-bg,#fff);
  padding:16px 18px;
  min-height:92px;
  display:grid;
  align-content:center;
  transition:background .2s,border-color .2s,opacity .2s;
}
.dashboard-locked-stat:hover {
  opacity:.82;
}
.dashboard-locked-stat-value {
  font-size:24px;
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--body-text);
  line-height:1;
}
.dashboard-locked-stat-label {
  margin-top:10px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold);
  line-height:1.35;
}
.dashboard-locked-stat.is-open .dashboard-locked-stat-value,
.dashboard-locked-stat.is-open .dashboard-locked-stat-label {
  color:#4F8A5B;
}
.dashboard-locked-stat.is-open {
  border-color:rgba(79,138,91,0.55);
}
.dashboard-locked-stat.is-closed .dashboard-locked-stat-value,
.dashboard-locked-stat.is-closed .dashboard-locked-stat-label {
  color:#A64B4B;
}
.dashboard-locked-stat.is-closed {
  border-color:rgba(166,75,75,0.55);
}
.dashboard-locked-actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px;
}
.dashboard-locked-actions .btn-fill,
.dashboard-locked-actions .btn-ghost-gold { width:240px; box-sizing:border-box; justify-content:center }
body:not(.is-subscriber) #dashboard-subscriber-content { display:none; }
body:not(.is-subscriber) #dashboard-locked-view { display:block; }
#page-dashboard .note-compass-val.buy,
#page-dashboard .note-compass-val.subscribe { color:#4F8A5B !important }
.note-compass-val.buy { color:#4F8A5B !important }
#page-dashboard .note-compass-val.review,
#page-dashboard .note-compass-val.pending { color:var(--gold) !important }
.note-compass-val.hold,
#page-dashboard .note-compass-val.hold { color:#2F5F8F !important }
.note-compass-val.invest,
#page-dashboard .note-compass-val.invest,
#page-dashboard .note-compass-val.invest-via-sip { color:#4F8A5B !important }
.note-compass-val.sell { color:#A64B4B !important }
#page-dashboard .note-compass-val.sell,
#page-dashboard .note-compass-val.avoid { color:#A64B4B !important }
.note-compass-token.buy,
.note-compass-token.subscribe,
.note-compass-token.invest { color:#4F8A5B !important }
.note-compass-token.hold,
.note-compass-token.neutral { color:#2F5F8F !important }
.note-compass-token.sell,
.note-compass-token.avoid,
.note-compass-token.exit { color:#A64B4B !important }
html[data-theme="dark"] .dashboard-panel,html[data-theme="dark"] .dashboard-plan-pill,html[data-theme="dark"] .dashboard-update { background:#0d0d0d; border-color:var(--card-border) }
html[data-theme="dark"] .dashboard-locked-card,
html[data-theme="dark"] .dashboard-locked-stat { background:#0d0d0d; border-color:var(--card-border) }
html[data-theme="dark"] .dashboard-copy,html[data-theme="dark"] .dashboard-update-text,html[data-theme="dark"] .dashboard-side-sub,html[data-theme="dark"] .dashboard-plan-detail,html[data-theme="dark"] .dashboard-plan-segment,html[data-theme="dark"] .dashboard-plan-valid,html[data-theme="dark"] .dashboard-position-sub,html[data-theme="dark"] .dashboard-position-text,html[data-theme="dark"] .dashboard-locked-copy { color:var(--body-text) }
html[data-theme="dark"] .dashboard-panel,html[data-theme="dark"] .dashboard-plan-pill.is-active,html[data-theme="dark"] .dashboard-position-item { border-left-color:var(--gold) }
html[data-theme="dark"] .dashboard-locked-card { border-left-color:var(--gold) }
html[data-theme="dark"] .dashboard-plan-pill.is-active:hover,html[data-theme="dark"] .dashboard-plan-pill.is-locked:hover { background:#0d0d0d; border-color:var(--gold2); border-left-color:var(--gold2) }
html[data-theme="dark"] .dashboard-plan-meta.locked { color:rgba(255,255,255,.58) }
@media(max-width:1100px){.dashboard-shell{grid-template-columns:1fr}.dashboard-side-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-side-link{padding:13px 18px}}
@media(min-width:901px){#dashboard-plans .dashboard-plan-list{grid-template-rows:repeat(4,1fr);flex:1}#dashboard-plans .dashboard-plan-pill{min-height:0}}
@media(max-width:900px){.dashboard-overview{grid-template-columns:1fr}.dashboard-position-card{margin-top:0}}
@media(max-width:760px){.dashboard-plan-list{grid-template-columns:1fr}.dashboard-membership-title-row{display:grid;gap:14px}}
@media(max-width:760px){.dashboard-locked-card{padding:34px 28px}.dashboard-locked-title{font-size:24px}}
@media(max-width:640px){.dashboard-hub{padding-top:54px}.dashboard-shell{gap:22px}.dashboard-side-nav{grid-template-columns:1fr 1fr}.dashboard-side-head{padding:24px 22px 20px}.dashboard-side-link{font-size:14px;padding:12px 18px}.dashboard-panel{padding:28px 24px}.dashboard-title{font-size:24px}.dashboard-report-grid{grid-template-columns:1fr}.dashboard-plan-list{grid-template-rows:repeat(4,104px)}.dashboard-plan-pill{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;height:104px;min-height:104px;padding:18px 16px}.dashboard-plan-pill > span:first-child{min-width:0;display:grid;align-content:center}.dashboard-plan-pill.is-active > span:first-child{align-content:start}.dashboard-plan-meta{margin-left:0;text-align:right;white-space:nowrap;align-self:center}.dashboard-actions{justify-content:flex-start}.dashboard-actions .btn-fill,.dashboard-actions .btn-ghost-gold{width:auto;min-width:0}.dashboard-locked-card{padding:30px 24px}.dashboard-locked-copy{font-size:14px;line-height:1.68}.dashboard-locked-stats{grid-template-columns:1fr;gap:10px;margin-top:22px}.dashboard-locked-stat{min-height:78px;padding:14px 16px}.dashboard-locked-actions .btn-fill,.dashboard-locked-actions .btn-ghost-gold{min-width:0;width:auto}.dashboard-position-card{margin-top:22px}.dashboard-position-filter{margin-top:10px;gap:7px}.dashboard-position-filter-btn{min-width:66px;padding:8px 10px}.dashboard-position-head{display:none}.dashboard-position-list{margin-top:14px;gap:14px;grid-template-rows:repeat(2,260px);min-height:534px}.dashboard-position-item{grid-template-columns:1fr 1fr;column-gap:24px;row-gap:15px;padding:20px 18px;border:1px solid var(--card-border);border-left:3px solid var(--gold);background:var(--card-bg,#fff);min-height:260px;height:260px}.dashboard-position-item > div:first-child{grid-column:1 / -1;padding-bottom:13px;border-bottom:1px solid var(--card-border)}.dashboard-position-name{font-size:14px;line-height:1.35}.dashboard-position-sub{font-size:12px;margin-top:3px;line-height:1.45}.dashboard-position-text{font-size:14px;line-height:1.45}.dashboard-position-item > *:nth-child(n+2){display:grid;gap:6px;align-content:start;grid-column:auto;grid-row:auto}.dashboard-position-item > *:nth-child(n+2)::before{display:block;font-size:10px!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);line-height:1.25}.dashboard-position-status,.dashboard-position-item .note-compass-val{justify-self:start;font-size:10px;line-height:1.25}.dashboard-position-pager{margin-top:16px}}

/* ── SAMPLE REPORTS: BOTTOM CTA BAND (mirrors home-cta-band) ── */
.notes-cta {
  background: #ffffff;
  padding: 80px 56px;
  position: relative; overflow: hidden;
  border-top: 1px solid var(--rule-color);
  margin-top: 0;
}
html[data-theme="dark"] .notes-cta { background: #0d0d0d !important; background-color: #0d0d0d !important; }
html[data-theme="dark"] .notes .home-cta-band.notes-cta { background: #0d0d0d !important; background-color: #0d0d0d !important; }
.notes-cta-inner {
  position: relative; z-index: 1;
  max-width: 1240px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr auto; gap: 80px; align-items: center;
}
.notes-cta .home-cta-band-text { width:100%; max-width:560px }
.notes-cta-label {
  font-size:10px; font-weight:700; letter-spacing:0.26em; text-transform:uppercase;
  color:var(--gold); margin-bottom:10px;
}
.notes-cta-heading {
  font-size: clamp(26px, 3vw, 38px); font-weight:700; color:var(--navy);
  letter-spacing:-0.02em; line-height:1.15; margin-bottom:14px;
  width:100%;
}
html[data-theme="dark"] .notes-cta-heading { color: var(--body-text) }
.notes-cta-heading span { color:var(--gold) }
.notes-cta-text {
  font-size:16px; color:var(--body-text-2);
  line-height:1.75; margin:0; width:100%;
}
html[data-theme="dark"] .notes-cta-text { color: var(--body-text) }
.notes-cta-text + .notes-cta-text { margin-top:8px }
.notes-cta-actions {
  display:flex; flex-direction:column; gap:12px; flex-shrink:0;
}
.notes-cta-actions .btn-fill { width:240px; box-sizing:border-box; justify-content:center; color:#ffffff!important }
.notes-cta-actions .btn-ghost-gold { width:240px; box-sizing:border-box; justify-content:center }
html[data-theme="dark"] .note-card { background:#0d0d0d; box-shadow:0 4px 24px rgba(0,0,0,0.34), 0 1px 4px rgba(0,0,0,0.22) }
html[data-theme="dark"] .note-card-footer { background:#0d0d0d }
html[data-theme="dark"] .note-card.upcoming { background:#0d0d0d }
html[data-theme="dark"] .note-card { border-color:var(--rule-color) }
html[data-theme="dark"] .note-card .note-data-row { border-bottom-color:var(--rule-color) }
html[data-theme="dark"] .note-card .note-card-body { border-top-color:var(--rule-color); border-bottom-color:var(--rule-color) }
html[data-theme="dark"] .note-card .note-compass-label { color:var(--gold) }
html[data-theme="dark"] .note-card .note-data-label { color:var(--body-text) }
html[data-theme="dark"] .note-card .note-data-val { color:var(--body-text) }
html[data-theme="dark"] .note-card.upcoming .note-compass-label { color:var(--gold) }
html[data-theme="dark"] .note-card.upcoming .note-compass-val { color:var(--gold) }
html[data-theme="dark"] .note-card .note-fund-sub { color:var(--body-text) }

/* ── BLOG PAGE ──────────────────────────────────────────────── */
/* ══════════════════════════════════════════════════════════════
   BLOG — EDITORIAL OVERHAUL
══════════════════════════════════════════════════════════════ */
.blog { background:var(--section-a); transition:background 0.3s; padding-top:80px; padding-bottom:80px }
html[data-theme="dark"] .blog { background:var(--section-b) }
.blog { --blog-media-ar: 16 / 9; }

.blog-img {
  width:100%; height:100%;
  object-fit:cover; object-position:center; display:block;
}
.blog-img-auto { position:absolute; inset:0; }

/* ── BLOG FILTER BAR — matches Sample Reports "Jump to" ────── */
.blog-tabs {
  display:flex; align-items:center; gap:8px;
  margin-bottom:40px;
  position:sticky; top:72px; z-index:10;
  background:var(--section-a); padding:16px 0;
  border-bottom:1px solid var(--rule-color);
  transition:background 0.3s;
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  flex-wrap:nowrap;
}
html[data-theme="dark"] .blog-tabs { background:var(--section-b) }
.blog-tabs-label {
  font-size:10px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase;
  color:var(--body-text-3); margin-right:4px; white-space:nowrap; flex-shrink:0;
}
.blog-tab-btn {
  background:none; border:none; padding:6px 0 10px;
  font-family:var(--f); font-size:14px; font-weight:600; letter-spacing:0.04em;
  color:var(--body-text-3); cursor:pointer; margin-right:24px;
  transition:color 0.15s; position:relative; border-radius:0;
  white-space:nowrap; flex-shrink:0;
}
.blog-tab-btn::after {
  content:''; position:absolute; bottom:4px; left:0; right:0; height:2px;
  background:var(--gold); transform:scaleX(0) translateZ(0);
  transform-origin:left; transition:transform 0.18s ease; will-change:transform;
}
.blog-tab-btn.active { color:var(--body-text); font-weight:700 }
.blog-tab-btn.active::after { transform:scaleX(1) }
.blog-tab-btn:hover { color:var(--body-text) }
/* scroll buttons on the right */
.blog-tabs-scroll-btns {
  margin-left:auto; display:flex; gap:8px; flex-shrink:0; padding-left:8px;
}
.blog-scroll-btn {
  height:30px !important;
  padding:0 14px !important;
  font-size:10px !important;
  white-space:nowrap; flex-shrink:0;
}

/* ── FEATURED HERO ─────────────────────────────────────────── */
.blog-hero {
  display:grid; grid-template-columns:1.45fr 1fr;
  min-height:400px;
  margin-bottom:0;
  cursor:pointer;
  border:1px solid var(--card-border);
  border-left:4px solid var(--gold);
  box-shadow:0 4px 24px rgba(0,0,0,0.08), 0 1px 4px rgba(0,0,0,0.05);
  transition:box-shadow 0.25s cubic-bezier(0.22,1,0.36,1),
             border-color 0.2s,
             transform 0.25s cubic-bezier(0.22,1,0.36,1);
}
html[data-theme="dark"] .blog-hero {
  box-shadow:0 4px 28px rgba(0,0,0,0.32), 0 1px 6px rgba(0,0,0,0.18);
}
.blog-hero:hover {
  border-color:var(--gold2);
  transform:translateY(-2px);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.18),
    0 8px 32px rgba(176,137,60,0.16),
    0 20px 52px rgba(0,0,0,0.10);
}
html[data-theme="dark"] .blog-hero:hover {
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.22),
    0 8px 32px rgba(176,137,60,0.18),
    0 20px 52px rgba(0,0,0,0.40);
}
.blog-hero-imgwrap {
  position:relative; overflow:hidden; background:var(--navy);
}
.blog-hero-imgwrap img, .blog-hero-imgwrap .blog-media-placeholder {
  width:100%; height:100%; object-fit:cover; display:block;
}
.blog-hero:hover .blog-hero-imgwrap img,
.blog-hero:hover .blog-hero-imgwrap .blog-media-placeholder { filter:brightness(1.04) }
.blog-hero-imgwrap::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to right, transparent 55%, rgba(10,14,28,0.22));
  pointer-events:none;
}
html[data-theme="dark"] .blog-hero-imgwrap::after {
  background:linear-gradient(to right, transparent 55%, rgba(0,0,0,0.36));
}
.blog-hero-body {
  background:var(--card-bg);
  padding:32px 36px 24px;
  display:flex; flex-direction:column; justify-content:flex-start;
  height:100%;
  transition:background 0.3s;
}
.blog-hero .blog-card-meta {
  margin:0 !important;
  padding:0 0 14px !important;
  margin-left:0 !important;
  margin-right:0 !important;
  position:relative;
}
.blog-hero .blog-card-meta::before { display:none; }
.blog-hero-meta {
  font-size:10px; color:var(--body-text-3);
  display:flex; align-items:center; gap:8px; margin:0 0 16px;
  padding:0;
}
.blog-hero .blog-card-footer {
  margin-top:auto;
  padding:16px 0 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
html[data-theme="dark"] .blog-hero-body { background:var(--section-b) }
.blog-hero:hover .blog-hero-body { background:var(--section-a) }
html[data-theme="dark"] .blog-hero:hover .blog-hero-body { background:var(--card-bg) }
.blog-hero-eyebrow {
  font-size:10px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--gold); margin-bottom:16px;
  display:flex; align-items:center; gap:10px;
}
.blog-hero-eyebrow::after {
  content:''; flex:1; height:1px; background:rgba(176,137,60,0.28);
}
.blog-hero .blog-title {
  font-size:clamp(20px, 2.4vw, 28px); font-weight:700;
  color:var(--body-text); letter-spacing:-0.02em; line-height:1.25;
  margin:0 0 16px;
  max-width:760px;
}
.blog-hero .blog-excerpt {
  font-size:14px; color:#131B38; line-height:1.82; margin:0;
  max-width:720px;
}
.blog-hero-meta-dot { color:var(--rule-color) }
.blog-hero:hover .blog-read-btn { color:var(--gold2) }
.blog-hero:hover .blog-read-btn::after { transform:translateX(4px) }

/* ── POSTS GRID ────────────────────────────────────────────── */
/* ── POSTS GRID ────────────────────────────────────────────── */
.blog-grid-label {
  font-size:10px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--body-text-3); margin-bottom:20px;
  display:flex; align-items:center; gap:12px;
}
.blog-grid-label::after {
  content:''; flex:1; height:1px; background:var(--rule-color);
}
.blog-grid {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
  align-items:stretch;
  margin-bottom:32px;
}

/* ── BLOG CARD — enquiry-style shadow + gold glow ──────────── */
.blog-card {
  display:flex; flex-direction:column;
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-left:4px solid var(--gold);
  overflow:hidden;
  cursor:pointer;
  position:relative;
  height:100%;
  min-height:520px;
  box-shadow:0 4px 24px rgba(0,0,0,0.08), 0 1px 4px rgba(0,0,0,0.05);
  transition:transform 0.25s cubic-bezier(0.22,1,0.36,1),
             box-shadow 0.25s cubic-bezier(0.22,1,0.36,1),
             border-color 0.2s;
}
html[data-theme="dark"] .blog-card {
  background:var(--section-b);
  box-shadow:0 4px 28px rgba(0,0,0,0.32), 0 1px 6px rgba(0,0,0,0.18);
}
html[data-theme="dark"] .blog-title,
html[data-theme="dark"] .blog-excerpt,
html[data-theme="dark"] .blog-date,
html[data-theme="dark"] .blog-read-time { color:var(--body-text) }
.blog-card:hover {
  transform:translateY(-4px);
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.18),
    0 8px 32px rgba(176,137,60,0.18),
    0 18px 48px rgba(0,0,0,0.10),
    0 3px 8px rgba(0,0,0,0.06);
}
html[data-theme="dark"] .blog-card:hover {
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.22),
    0 8px 32px rgba(176,137,60,0.18),
    0 18px 48px rgba(0,0,0,0.38),
    0 3px 8px rgba(0,0,0,0.22);
}

/* image wrap — no zoom, shimmer only */
.blog-card-imgwrap {
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden; background:var(--navy);
  flex-shrink:0;
}
.blog-card-imgwrap img, .blog-card-imgwrap .blog-media-placeholder {
  width:100%; height:100%; object-fit:contain; object-position:center center; display:block;
  background:var(--navy);
}
/* shimmer overlay on hover */
.blog-card-imgwrap::after {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(115deg, transparent 40%, rgba(176,137,60,0.08) 60%, transparent 70%);
  opacity:0;
  transition:opacity 0.35s;
  pointer-events:none;
}
.blog-card:hover .blog-card-imgwrap::after { opacity:1 }

/* no cat-strip needed — left border is the accent */
.blog-card-cat-strip { display:none }

/* card body */
.blog-card-body {
  padding:20px 22px 22px;
  display:flex; flex-direction:column; flex:1;
}
.blog-card-meta {
  display:flex; align-items:center; gap:8px; margin:0 0 14px; flex-shrink:0;
  padding:0;
}
.blog-tag {
  font-size:10px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--gold);
}
.blog-date { font-size:10px; color:#798299; }
.blog-meta-sep { color:#798299; font-size:10px; line-height:1; }
.blog-title {
  font-size:16px; font-weight:700; color:#131B38;
  letter-spacing:-0.012em; line-height:1.35;
  margin:0 0 8px;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden;
}
.blog-card-body .blog-title,
.blog-hero .blog-title {
  margin-top:0;
}
.blog-excerpt {
  font-size:14px; color:#131B38; line-height:1.82; margin:0;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden;
}
.blog-card-footer {
  display:flex; align-items:center; justify-content:space-between;
  margin-top:auto; padding-top:18px; padding-bottom:0;
}
.blog-hero .blog-card-footer {
  justify-content:space-between;
}
.blog-read-time { font-size:10px; color:#798299 }
.blog-read-btn {
  display:inline-flex; align-items:center; gap:6px;
  font-size:10px; font-weight:700; letter-spacing:0.13em; text-transform:uppercase;
  color:var(--gold); background:transparent;
  padding:0; border:none; cursor:pointer;
  font-family:var(--f);
  transition:color 0.15s;
  appearance:none; -webkit-appearance:none;
}
.blog-read-btn::after {
  content:'→';
  font-size:12px;
  display:inline-block;
  transition:transform 0.2s cubic-bezier(0.22,1,0.36,1);
}
.blog-card:hover .blog-read-btn { color:var(--gold2) }
.blog-card:hover .blog-read-btn::after { transform:translateX(4px) }
.blog-actions {
  margin-top:16px;
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
}

/* Pagination */
.blog-pagination {
  display:flex; align-items:center; justify-content:center;
  gap:8px; flex-wrap:wrap; margin-top:8px; margin-bottom:0;
}
.blog-page-btn {
  display:inline-flex; align-items:center; justify-content:center;
  height:34px; min-width:34px; padding:0 10px;
  border:1px solid var(--card-border); background:transparent;
  color:var(--body-text); font-size:10px; font-weight:700;
  letter-spacing:0.12em; text-transform:uppercase;
  cursor:pointer; font-family:var(--f); transition:border-color 0.15s, color 0.15s;
}
.blog-page-btn:hover { border-color:var(--gold); color:var(--gold) }
.blog-page-btn.active { border-color:var(--gold); color:var(--gold) }
.blog-page-ellipsis { color:var(--body-text-3); padding:0 6px; font-weight:700 }

/* ── BLOG MEDIA PLACEHOLDER ────────────────────────────────── */
.blog-media-placeholder {
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  padding:16px; background:var(--navy);
  color:rgba(255,255,255,0.82);
  font-size:10px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
  text-align:center; line-height:1.5; overflow:hidden;
}
.blog-media-text {
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3;
  overflow:hidden; max-width:26ch;
}
html[data-theme="dark"] .blog-media-placeholder { background:#0a0a0a; color:rgba(255,255,255,0.78) }
html[data-contrast="high"] .blog-media-placeholder { background:#000000; color:#ffffff }

/* ── COMMUNITY BAND ────────────────────────────────────────── */
.blog-community-band {
  background:var(--section-a);
  padding:48px 56px 52px;
  display:block;
  position:relative;
  transition:background 0.3s;
  border-top:1px solid var(--rule-color);
}
html[data-theme="dark"] .blog-community-band { background:var(--section-b) }
html[data-contrast="high"] .blog-community-band { background:transparent }
.blog-community-band::before { display:none }
.blog-comm-inner-wrap {
  max-width:1240px; margin:0 auto;
}
.blog-comm-head {
  margin-bottom:32px !important;
}
.blog-comm-section-title {
  font-size:32px; font-weight:700; color:var(--body-text);
  letter-spacing:-0.025em; line-height:1;
  position:relative; display:inline-block;
  padding-bottom:var(--ra-underline-pad);
  white-space:nowrap;
}
.blog-comm-section-title::after {
  content:''; position:absolute; left:0; right:0; bottom:0;
  height:var(--ra-underline-h); background:var(--gold);
}
.blog-comm-inner {
  display:grid; grid-template-columns:1fr 1fr; gap:28px;
  align-items:stretch;
}
.blog-comm-col {
  padding:32px 36px 32px;
  display:flex; flex-direction:column; gap:0;
  border:1px solid var(--card-border);
  border-left:4px solid var(--gold);
  background:var(--card-bg);
  box-shadow:0 2px 12px rgba(0,0,0,0.05);
  transition:transform 0.25s cubic-bezier(0.22,1,0.36,1),
             box-shadow 0.25s cubic-bezier(0.22,1,0.36,1),
             border-color 0.2s;
  cursor:default;
  min-width:0; overflow:hidden;
}
html[data-theme="dark"] .blog-comm-col {
  background:var(--section-b);
  box-shadow:0 2px 12px rgba(0,0,0,0.18);
}
.blog-comm-col:hover {
  transform:translateY(-4px);
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.18),
    0 8px 32px rgba(176,137,60,0.18),
    0 18px 48px rgba(0,0,0,0.10),
    0 3px 8px rgba(0,0,0,0.06);
}
html[data-theme="dark"] .blog-comm-col:hover {
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.22),
    0 8px 32px rgba(176,137,60,0.18),
    0 18px 48px rgba(0,0,0,0.38),
    0 3px 8px rgba(0,0,0,0.22);
}
.blog-comm-col + .blog-comm-col {
  border-left:4px solid var(--gold);
}
.blog-comm-eyebrow {
  font-size:10px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--gold); margin-bottom:12px;
}
.blog-comm-title {
  font-size:clamp(18px,2vw,22px); font-weight:700;
  color:var(--body-text); letter-spacing:-0.02em; line-height:1.2;
  margin:0 0 14px;
}
.blog-comm-text {
  font-size:14px; color:var(--body-text-2);
  line-height:1.78; margin:0 0 24px; flex:1;
}
.blog-comm-actions {
  display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:auto; padding-top:0;
}
.blog-comm-actions .btn-fill {
  color:#ffffff!important;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:44px; padding:0 20px; line-height:1;
  background:var(--gold); flex-shrink:0;
  white-space:nowrap; min-width:0; max-width:100%; box-sizing:border-box;
}
.blog-comm-actions .btn-fill:hover { background:var(--gold2) }
.blog-comm-actions .social-icon { width:24px; height:24px; flex-shrink:0; }

/* ── BLOG POST MODAL ───────────────────────────────────────── */
.blog-modal {
  position:fixed; inset:0; z-index:260;
  background:rgba(0,0,0,0.62);
  display:none; padding:44px 24px; overflow:hidden;
}
.blog-modal.open { display:flex; align-items:center; justify-content:center }
.blog-modal-card {
  width:100%; max-width:760px; margin:0 auto;
  max-height:calc(100vh - 88px);
  display:flex; flex-direction:column;
  background:var(--card-bg);
  border-top:3px solid var(--gold);
  overflow:hidden;
}
html[data-theme="dark"] .blog-modal-card { background:var(--card-bg) }
html[data-contrast="high"] .blog-modal-card { background:var(--card-bg); outline:1px solid rgba(255,255,255,0.5) }
.blog-modal-media {
  position:relative; width:100%; height:260px;
  overflow:hidden; background:var(--navy);
  flex-shrink:0;
}
.blog-modal-media .blog-media-placeholder { height:260px; min-height:0 }
.blog-modal-head {
  padding:24px 28px 16px;
  display:flex; align-items:flex-start; justify-content:space-between; gap:14px;
}
.blog-modal-head h2 {
  font-size:20px; font-weight:700; color:var(--body-text);
  letter-spacing:-0.015em; line-height:1.3; margin:0;
}
.blog-modal-close {
  width:34px; height:34px; flex-shrink:0;
  border:1px solid var(--card-border);
  background:transparent; color:var(--body-text);
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  font-size:18px; line-height:1; transition:border-color 0.15s;
}
.blog-modal-close:hover { border-color:var(--gold) }
.blog-modal-body { padding:0 28px 28px; overflow:auto }
.blog-modal-meta { font-size:10px; color:var(--body-text-3); margin-bottom:16px; display:flex; gap:8px; align-items:center }
.blog-modal-body p {
  font-size:16px; color:#131B38;
  line-height:1.88; margin:0 0 16px;
}
.blog-modal-body p:last-child { margin-bottom:0 }

/* ── BLOG POST PAGE ─────────────────────────────────────────── */
.post { background:var(--section-a); transition:background 0.3s }
html[data-theme="dark"] .post { background:var(--section-b) }
.post .section-inner { max-width:920px; }
.post-hero {
  width:100%;
  margin:0 auto 20px;
}
.post-article {
  width:100%;
  margin:0 auto;
}
.post-title-under {
  font-size:26px; font-weight:700; color:var(--body-text);
  letter-spacing:-0.01em; margin:16px 0 10px;
  padding-bottom:14px; border-bottom:1px solid var(--rule-color);
}
.post-back {
  display:inline-flex; align-items:center; gap:10px;
  border:none;
  background:transparent;
  height:auto;
  padding:0;
  font-size:10px; font-weight:700;
  letter-spacing:0.12em; text-transform:uppercase;
  color:#798299;
  cursor:pointer;
  font-family:var(--f);
  margin-bottom:14px;
}
.post-back:hover { color:var(--body-text) }
.post-media { position:relative; aspect-ratio:16 / 9; overflow:hidden; background:var(--navy) }
.post-meta {
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  padding:0;
  margin:0 0 16px;
}
.post-meta .blog-tag { font-size:10px; letter-spacing:0.18em }
.post-meta .blog-date { font-size:10px }
.post-body { padding:0 }
.post-body p {
  font-size:16px; color:#131B38;
  line-height:1.78; margin:0 0 16px; text-align:left;
  letter-spacing:0;
}
.post-body p:last-child { margin-bottom:0 }


@media(max-width:640px){
  .blog-hero { grid-template-columns:1fr; min-height:auto; margin-bottom:28px; align-self:stretch }
  .blog-hero-imgwrap { aspect-ratio:16/9; min-height:200px }
  .blog-hero-body { padding:24px 20px 20px }
  .blog-hero .blog-card-footer { margin-left:-20px; margin-right:-20px; padding-left:20px; padding-right:20px; }
  .blog-grid { grid-template-columns:1fr }
  .blog-tabs { top:76px; padding:12px 0; }
  .blog-tabs-label { font-size:10px }
  .blog-tab-btn { font-size:12px; margin-right:16px; padding:4px 0 8px; }
  .blog-scroll-btn { display:none !important }
  .blog { padding-bottom:56px }
  .blog-community-band { padding:36px 20px 48px }
  .blog-comm-inner { grid-template-columns:1fr; gap:16px }
  .blog-comm-col { padding:28px 24px; overflow:hidden }
  .blog-comm-col + .blog-comm-col { border-left:4px solid var(--gold) }
  .blog-comm-actions { flex-wrap:wrap; gap:10px }
  .blog-comm-actions .btn-fill { flex-shrink:0; height:44px; padding:0 20px }
  .blog-comm-head { margin-bottom:24px !important }
  .blog-comm-section-title { font-size:24px }
  .blog-modal{ padding:22px 14px }
  .blog-modal-card{ max-height:calc(100vh - 44px) }
  .blog-modal-media{ height:180px }
  .blog-modal-media .blog-media-placeholder{ height:180px }
  .blog-modal-head { padding:18px 18px 12px }
  .blog-modal-body { padding:0 18px 20px }
}
@media(min-width:641px) and (max-width:900px){
  .blog-grid { grid-template-columns:repeat(2,1fr) }
  .blog-hero { grid-template-columns:1fr; margin-bottom:32px; align-self:stretch }
  .blog-hero-imgwrap { aspect-ratio:16/9; min-height:260px }
  .blog-hero-body { padding:28px 28px 24px }
  .blog-hero .blog-card-footer { margin-left:-28px; margin-right:-28px; padding-left:28px; padding-right:28px; }
  .blog { padding-bottom:56px }
  .blog-community-band { padding:40px 32px 48px }
  .blog-comm-inner { grid-template-columns:1fr; gap:16px }
  .blog-comm-col { padding:32px 28px }
  .blog-comm-col + .blog-comm-col { border-left:4px solid var(--gold) }
  .blog-comm-actions { flex-wrap:wrap }
  .blog-comm-section-title { font-size:28px }
}
@media(min-width:901px) and (max-width:1100px){
  .blog-grid { grid-template-columns:repeat(2,1fr) }
  .blog-hero { grid-template-columns:1.2fr 1fr; min-height:360px }
}

/* ── ABOUT / ANALYST ────────────────────────────────────────── */
.analyst { background:var(--section-a); transition:background 0.3s }
.analyst-grid { display:grid; grid-template-columns:272px 1fr; gap:64px; align-items:start }
.analyst-portrait { background:var(--navy); overflow:hidden }
html[data-theme="dark"] .analyst-portrait { background:#0a0a0a; border:1px solid rgba(176,137,60,0.12) }
.analyst-portrait-top  { background:var(--gold); height:3px }
.analyst-portrait-body { padding:32px 26px; text-align:center }
.analyst-avatar-ring   { width:72px; height:72px; border-radius:50%; border:1px solid rgba(176,137,60,0.35); margin:0 auto 16px; display:flex; align-items:center; justify-content:center }
.analyst-avatar-ring svg { width:30px; height:30px }
.analyst-name        { font-size:16px; font-weight:700; color:#ffffff; margin-bottom:3px }
.analyst-designation { font-size:10px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); margin-bottom:22px }
.analyst-reg         { padding:11px 0; text-align:left; border-bottom:1px solid rgba(255,255,255,0.05) }
.analyst-reg:last-of-type { border-bottom:none }
.analyst-reg-label   { font-size:10px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:rgba(176,137,60,0.5); margin-bottom:3px }
.analyst-reg-val     { font-size:12px; font-weight:700; color:#ffffff }
.analyst-right h3    { font-size:26px; font-weight:700; color:var(--body-text); letter-spacing:-0.01em; margin-bottom:20px; padding-bottom:14px; border-bottom:1px solid var(--rule-color) }
.analyst-right p     { font-size:14px; color:var(--body-text-2); line-height:1.88; margin-bottom:16px; text-align:left }
.creds-grid          { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--mgray); margin-top:30px }
.cred-cell           { background:var(--card-bg); padding:18px 20px; transition:background 0.3s }
.cred-cell-label     { font-size:10px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); margin-bottom:4px }
.cred-cell-val       { font-size:14px; font-weight:700; color:var(--body-text) }

/* ── CONTACT PAGE ───────────────────────────────────────────── */
.contact { background:var(--section-a); transition:background 0.35s; flex:1 }
html[data-theme="dark"] .contact { background:var(--section-b) }
.contact-top-head { margin-bottom:32px }
.contact-top-grid { display:grid; grid-template-columns:320px 1fr; gap:80px; align-items:start }
.contact-top-left { display:flex; flex-direction:column }
.contact-top-right { display:flex; flex-direction:column }
.contact-top-right .contact-detail { align-items:center }
.contact-top-right .contact-icon { margin-top:0 }
.contact-top-right .contact-detail:first-child { padding-top:0 }
.contact-form-wide { margin-top:52px }
.contact-form-card-wrap { max-width:100% }
.contact-analyst-card {
  border:1px solid var(--card-border); border-left:4px solid var(--gold);
  padding:28px 28px 28px 28px;
  background:#E4E4E4; margin-bottom:28px;
}
.contact-analyst-name  { font-size:20px; font-weight:700; color:var(--body-text); letter-spacing:-0.01em; margin-bottom:5px }
.contact-analyst-title { font-size:12px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); margin-bottom:22px }
.contact-analyst-regs  { display:flex; flex-direction:column; gap:14px }
.contact-analyst-reg   { display:flex; align-items:baseline; gap:0 }
.contact-analyst-reg-label { font-size:10px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--body-text-3); white-space:nowrap }
.contact-analyst-reg-val   { font-size:14px; font-weight:700; color:var(--body-text); margin-left:7px }
.contact-left { padding-top:4px; display:flex; flex-direction:column; gap:28px }
.contact-intro-heading{
  font-size: clamp(22px,2.2vw,30px); font-weight:700; color:var(--body-text);
  letter-spacing:-0.025em; line-height:1.35; margin:0 0 20px;
}
.contact-intro-emph { font-weight:800 }
.contact-intro-heading span { color:var(--gold) }
.contact-intro-sub { font-size:14px; color:var(--body-text); line-height:1.82; margin:0 0 0 }
.contact-intro-rows { display:flex; flex-direction:column; gap:0 }
.contact-intro-row{
  display:grid; grid-template-columns:36px 1fr; gap:20px;
  padding:28px 0; border-bottom:1px solid var(--rule-color); align-items:start;
}
.contact-intro-row:first-child { padding-top:0 }
.contact-intro-row:last-child { border-bottom:none; padding-bottom:0 }
.contact-intro-row-num{
  font-size:22px; font-weight:700; color:var(--gold);
  letter-spacing:-0.03em; line-height:1.2;
}
.contact-intro-title { font-size:16px; font-weight:700; color:var(--body-text); letter-spacing:-0.01em; margin-bottom:7px; line-height:1.2 }
.contact-intro-desc  { font-size:14px; color:var(--body-text-3); line-height:1.82; margin:0 }
.contact-details-stack { display:flex; flex-direction:column; flex:1; justify-content:flex-start }
.contact-left h3    { font-size:32px; font-weight:700; color:var(--body-text); letter-spacing:-0.02em; margin-bottom:12px; line-height:1.1 }
.contact-left p     { font-size:14px; color:var(--body-text-2); line-height:1.85; margin-bottom:36px }
.contact-detail     { display:flex; align-items:center; gap:20px; padding:24px 0; border-bottom:1px solid var(--rule-color) }
.contact-detail:first-of-type { border-top:none }
.contact-detail:last-of-type { border-bottom:none }
.contact-icon       { width:26px; display:flex; align-items:center; justify-content:center; flex-shrink:0 }
.contact-icon svg   { width:24px; height:24px; fill:var(--gold) }
.contact-detail-label { font-size:12px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold); margin-bottom:5px }
.contact-detail-val   { font-size:16px; font-weight:700; color:var(--body-text); line-height:1.5 }
.contact-address { text-align:left; white-space:normal; max-width:280px }
.contact-form       {
  background:var(--card-bg,#ffffff);
  border:1px solid var(--card-border);
  border-left:4px solid var(--gold);
  border-radius:2px;
  padding:40px 44px;
  display:flex; flex-direction:column;
  box-shadow:0 4px 24px rgba(0,0,0,0.07), 0 1px 4px rgba(0,0,0,0.04);
  transition:background 0.3s, border-color 0.2s, box-shadow 0.25s cubic-bezier(0.22,1,0.36,1), transform 0.25s cubic-bezier(0.22,1,0.36,1);
}
html[data-theme="dark"] .contact-analyst-card { background:var(--card-bg) }
html[data-theme="dark"] .contact-form {
  background:#0d0d0d;
  box-shadow:0 4px 32px rgba(0,0,0,0.32), 0 1px 6px rgba(0,0,0,0.18);
  border-color:var(--rule-color);
  border-left-color:var(--gold2);
}
.contact-form:hover {
  transform:translateY(-4px);
  border-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.18),
    0 8px 32px rgba(176,137,60,0.16),
    0 18px 48px rgba(0,0,0,0.10),
    0 3px 8px rgba(0,0,0,0.06);
}
html[data-theme="dark"] .contact-form:hover {
  transform:translateY(-4px);
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.22),
    0 8px 32px rgba(176,137,60,0.18),
    0 18px 48px rgba(0,0,0,0.40),
    0 3px 8px rgba(0,0,0,0.22);
}
.contact-form-title { font-size:24px; font-weight:700; color:var(--body-text); margin-bottom:6px; letter-spacing:-0.02em }
.contact-form-sub   { font-size:14px; color:#131B38; margin-bottom:40px; line-height:1.65 }
html[data-theme="dark"] .contact-form-sub { color:var(--body-text) }
.form-group  { margin-bottom:28px; position:relative }
.form-label  { display:block; font-size:10px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); margin-bottom:8px }
.form-input,.form-select,.form-textarea {
  width:100%; background:transparent; border:1px solid #E4E4E4;
  padding:12px 14px; font-family:var(--f); font-size:16px; color:var(--body-text);
  outline:none; border-radius:0; -webkit-appearance:none; transition:border-color 0.25s; box-sizing:border-box;
}
.form-input::placeholder,
.form-textarea::placeholder { color:#798299; font-size:14px }
.form-select { color:#798299; }
html[data-theme="dark"] .form-input::placeholder,
html[data-theme="dark"] .form-textarea::placeholder,
html[data-theme="dark"] .form-select { color:#798299 }
html[data-theme="dark"] .form-input,
html[data-theme="dark"] .form-select,
html[data-theme="dark"] .form-textarea {
  background:var(--form-field-bg);
  border-color:rgba(176,137,60,0.14);
}
html[data-theme="dark"] .form-input::placeholder,
html[data-theme="dark"] .form-textarea::placeholder {
  color:rgba(216,220,232,0.40);
}
.form-input:focus,.form-select:focus,.form-textarea:focus { border-color:var(--gold) }
.form-select { color:var(--body-text); cursor:pointer }
.form-select option { background:var(--section-b) }
.form-textarea { height:88px; resize:none; min-height:88px }
.contact-form .form-group { flex-shrink:0 }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:0 48px }
.agreement-scroll {
  max-height:340px;
  overflow:auto;
  border:1px solid #E4E4E4;
  padding:18px 18px 20px;
  font-size:15px;
  line-height:1.72;
  color:var(--body-text);
  background:transparent;
}
.agreement-scroll h4 {
  margin:0 0 10px;
  font-size:15px;
  font-weight:700;
  line-height:1.45;
  color:var(--body-text);
}
.agreement-scroll h5 {
  margin:14px 0 8px;
  font-size:14px;
  font-weight:700;
  line-height:1.45;
  color:var(--body-text);
}
.agreement-scroll p {
  margin:0 0 12px;
}
.agreement-scroll p:last-child {
  margin-bottom:0;
}
.agreement-scroll ul {
  margin:0 0 12px;
  padding-left:0;
  list-style:none;
  display:grid;
  gap:6px;
}
.agreement-scroll li {
  position:relative;
  padding-left:16px;
}
.agreement-scroll li::before {
  content:"";
  position:absolute;
  left:0;
  top:0.72em;
  width:5px;
  height:5px;
  background:var(--gold);
  border-radius:50%;
  transform:translateY(-50%);
}
.form-checklist {
  display:grid;
  gap:16px;
}
.form-check {
  display:grid;
  grid-template-columns:18px minmax(0, 1fr);
  gap:12px;
  align-items:start;
}
.form-check input[type="checkbox"] {
  width:18px;
  height:18px;
  margin:3px 0 0;
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  border:1px solid var(--gold);
  border-radius:0 !important;
  box-shadow:none;
  display:grid;
  place-content:center;
  cursor:pointer;
}
.form-check input[type="checkbox"]::before {
  content:"";
  width:5px;
  height:9px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(45deg) scale(0);
  transition:transform 0.12s ease-in-out;
  margin-top:-1px;
}
.form-check-text {
  line-height:1.55;
}
.form-check input[type="checkbox"]:checked::before {
  transform:rotate(45deg) scale(1);
}
.form-check input[type="checkbox"]:checked {
  background:var(--gold);
  border-color:var(--gold);
}
.form-check input[type="checkbox"]:focus-visible {
  outline:1px solid var(--gold);
  outline-offset:2px;
}
.form-check-text {
  font-size:15px;
  line-height:1.7;
  color:var(--body-text);
}
.required-note {
  color:var(--gold);
  font-weight:700;
}
.captcha-box {
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid #E4E4E4;
  padding:14px 16px;
  min-height:58px;
}
.captcha-box input[type="checkbox"] {
  width:18px;
  height:18px;
  margin:0;
  accent-color:var(--gold);
  border-radius:0;
}
.captcha-box span {
  font-size:15px;
  color:var(--body-text);
}
html[data-theme="dark"] .agreement-scroll,
html[data-theme="dark"] .captcha-box {
  background:var(--form-field-bg);
  border-color:rgba(176,137,60,0.14);
}
html[data-theme="dark"] .form-check-text,
html[data-theme="dark"] .captcha-box span {
  color:var(--body-text);
}
.form-submit {
  align-self:flex-start; background:var(--gold); color:#ffffff; border:none;
  padding:14px 40px; font-family:var(--f); font-size:10px; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase; cursor:pointer; margin-top:12px;
  transition:background 0.2s, transform 0.15s;
  display:inline-flex; align-items:center; gap:10px;
}
.form-submit:hover { background:var(--gold2); transform:translateY(-1px) }

/* ── GRIEVANCE REDRESSAL ───────────────────────────────────── */
.grievance-section {
  background:var(--section-a);
  transition:background 0.3s;
  flex:0 0 auto;
  padding-bottom:0;
}
html[data-theme="dark"] .grievance-section { background:var(--section-b) }
.grievance-card {
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-left:4px solid var(--gold);
  box-shadow:0 4px 24px rgba(0,0,0,0.07), 0 1px 4px rgba(0,0,0,0.04);
  overflow:hidden;
  transition:transform 0.25s cubic-bezier(0.22,1,0.36,1),
             border-color 0.2s,
             box-shadow 0.25s cubic-bezier(0.22,1,0.36,1);
}
html[data-theme="dark"] .grievance-card {
  background:#0d0d0d;
  border-color:var(--rule-color);
  border-left-color:var(--gold);
  box-shadow:0 4px 32px rgba(0,0,0,0.32), 0 1px 6px rgba(0,0,0,0.18);
}
.grievance-card:hover {
  transform:translateY(-4px);
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.18),
    0 8px 32px rgba(176,137,60,0.16),
    0 18px 48px rgba(0,0,0,0.10),
    0 3px 8px rgba(0,0,0,0.06);
}
html[data-theme="dark"] .grievance-card:hover {
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.22),
    0 8px 32px rgba(176,137,60,0.18),
    0 18px 48px rgba(0,0,0,0.40),
    0 3px 8px rgba(0,0,0,0.22);
}
.grievance-table-wrap {
  width:100%;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}
.grievance-table {
  width:100%;
  min-width:0;
  border-collapse:collapse;
  table-layout:fixed;
  color:var(--body-text);
  font-size:13px;
  line-height:1.6;
}
.grievance-table col:nth-child(1) { width:16% }
.grievance-table col:nth-child(2) { width:15% }
.grievance-table col:nth-child(3) { width:20% }
.grievance-table col:nth-child(4) { width:15% }
.grievance-table col:nth-child(5) { width:18% }
.grievance-table col:nth-child(6) { width:16% }
.grievance-table th,
.grievance-table td {
  padding:16px 14px;
  text-align:left;
  vertical-align:middle;
  border-bottom:1px solid var(--card-border);
  transition:background 0.2s, color 0.2s;
}
html[data-theme="dark"] .grievance-table th,
html[data-theme="dark"] .grievance-table td {
  border-bottom-color:var(--rule-color);
}
.grievance-table th {
  font-size:10px;
  font-weight:700;
  letter-spacing:0.09em;
  text-transform:uppercase;
  color:var(--gold);
  background:var(--section-b);
  white-space:nowrap;
  line-height:1.35;
}
html[data-theme="dark"] .grievance-table th { background:#000000 }
.grievance-table tr:last-child td { border-bottom:none }
.grievance-table td:first-child {
  font-weight:700;
  color:var(--body-text);
}
.grievance-table th:nth-child(1),
.grievance-table td:nth-child(1),
.grievance-table th:nth-child(2),
.grievance-table td:nth-child(2),
.grievance-table th:nth-child(4),
.grievance-table td:nth-child(4),
.grievance-table th:nth-child(6),
.grievance-table td:nth-child(6) {
  white-space:normal;
}
.grievance-table th:nth-child(3),
.grievance-table td:nth-child(3) {
  white-space:normal;
}
.grievance-table a {
  color:inherit;
  text-decoration:none;
}
.grievance-table a:hover {
  color:var(--gold);
}
.grievance-muted {
  color:var(--body-text-3);
  letter-spacing:0.04em;
}
.grievance-address-line {
  display:block;
}
.grievance-note {
  margin:80px calc(50% - 50vw) 0;
  padding:0;
  border-top:1px solid var(--rule-color);
  position:relative;
  box-sizing:border-box;
}
.grievance-note::before {
  display:none;
}
.grievance-note-cta {
  padding:80px 56px;
  background:transparent;
  overflow:visible;
}
html[data-theme="dark"] .grievance-note-cta {
  background:transparent;
}
.grievance-note-cta .home-cta-band-inner {
  max-width:1240px;
  gap:80px;
  align-items:center;
}
.grievance-note-card {
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-left:4px solid var(--gold);
  padding:30px 34px;
  box-shadow:0 4px 18px rgba(0,0,0,0.05);
}
html[data-theme="dark"] .grievance-note-card {
  background:#0d0d0d;
  border-color:var(--rule-color);
  border-left-color:var(--gold);
}
.grievance-note-title {
  font-size:16px;
  font-weight:700;
  color:var(--body-text);
  letter-spacing:-0.01em;
  margin-bottom:12px;
}
.grievance-note-text {
  font-size:16px;
  color:var(--body-text-2);
  line-height:1.75;
  margin:0 0 14px;
}
.grievance-note-text:last-child {
  margin-bottom:0;
}
.grievance-note-text a {
  color:var(--gold);
  text-decoration:none;
  font-weight:700;
}
.grievance-note-text a:hover {
  color:var(--gold2);
}
.audit-disclosure {
  max-width:1240px;
  margin:0 0 28px;
  font-size:16px;
  font-weight:400;
  line-height:1.82;
  letter-spacing:0;
  color:#131B38;
}
html[data-theme="dark"] .audit-disclosure {
  color:var(--body-text-2);
}
.audit-table col:nth-child(1) {
  width:16%;
}
.audit-table col:nth-child(2) {
  width:30%;
}
.audit-table col:nth-child(3) {
  width:34%;
}
.audit-table col:nth-child(4) {
  width:20%;
}
.audit-table .audit-report-link,
.audit-table .audit-report-link:link,
.audit-table .audit-report-link:visited,
.audit-table .audit-report-link:active,
.audit-table .audit-report-link:focus {
  color:var(--gold) !important;
  text-decoration:none;
  font-weight:600;
}
.audit-table .audit-report-link:hover {
  color:var(--gold2) !important;
}
.complaints-section {
  padding-bottom:80px;
}
.complaints-block {
  margin-bottom:28px;
}
.complaints-block:last-child {
  margin-bottom:0;
}
.complaints-card .grievance-table-wrap {
  overflow-x:auto;
}
.complaints-subhead {
  font-size:18px;
  font-weight:700;
  color:var(--body-text);
  letter-spacing:-0.015em;
  line-height:1.3;
  margin:0 0 18px;
}
.complaints-month-table {
  width:100%;
  min-width:0;
  table-layout:fixed;
}
.complaints-month-table col:nth-child(1) { width:6%; }
.complaints-month-table col:nth-child(2) { width:15%; }
.complaints-month-table col:nth-child(3) { width:18%; }
.complaints-month-table col:nth-child(4) { width:9%; }
.complaints-month-table col:nth-child(5) { width:9%; }
.complaints-month-table col:nth-child(6) { width:10%; }
.complaints-month-table col:nth-child(7) { width:17%; }
.complaints-month-table col:nth-child(8) { width:16%; }
.complaints-trend-table {
  width:100%;
  min-width:960px;
  table-layout:fixed;
}
.complaints-trend-table col:nth-child(1) { width:8%; }
.complaints-trend-table col:nth-child(2) { width:18%; }
.complaints-trend-table col:nth-child(3) { width:32%; }
.complaints-trend-table col:nth-child(4),
.complaints-trend-table col:nth-child(5),
.complaints-trend-table col:nth-child(6) { width:14%; }
.complaints-table th,
.complaints-table td {
  padding:16px 14px;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  font-size:13px;
  line-height:1.6;
}
.complaints-table th {
  font-size:10px;
  letter-spacing:0.09em;
  line-height:1.35;
  vertical-align:middle;
}
.complaints-table th .label-line {
  display:block;
  white-space:nowrap;
}
.complaints-table th:nth-child(n+3),
.complaints-table td:nth-child(n+3),
.complaints-table th:first-child,
.complaints-table td:first-child {
  text-align:center;
}
.complaints-table th:nth-child(2),
.complaints-table td:nth-child(2) {
  text-align:left;
}
.complaints-table tbody tr td[colspan] {
  text-align:left;
}
.complaints-total-label {
  font-weight:700;
  color:var(--body-text);
}
.complaints-total-blank {
  color:transparent!important;
}
.complaints-month-table th:nth-child(3),
.complaints-month-table th:nth-child(7),
.complaints-month-table th:nth-child(8) {
  line-height:1.25;
}
.complaints-note-stack {
  display:grid;
  gap:10px;
  margin:18px 0 0;
  max-width:1240px;
}
.complaints-note {
  font-size:16px;
  font-weight:400;
  line-height:1.78;
  color:#131B38;
  margin:0;
}
html[data-theme="dark"] .complaints-note {
  color:var(--body-text-2);
}
html[data-contrast="high"] .complaints-note,
html[data-contrast="high"] .complaints-subhead {
  color:#ffffff!important;
}
#page-audit .audit-section {
  padding-bottom:80px;
}
@media(max-width:640px){
  #page-complaints .page-header-title {
    font-size:34px;
    line-height:1.12;
  }
  #page-complaints .page-header-sub {
    font-size:15px;
    line-height:1.7;
  }
  #page-audit .audit-section {
    padding-bottom:56px;
  }
  #page-audit .audit-table {
    width:760px;
    min-width:760px;
  }
  .complaints-section {
    padding-bottom:56px;
  }
  .complaints-block {
    margin-bottom:20px;
  }
  .complaints-subhead {
    font-size:18px;
    line-height:1.35;
    margin-bottom:16px;
  }
  .complaints-note {
    font-size:15px;
    line-height:1.72;
  }
  .complaints-table th { letter-spacing:0.045em; }
}
@media(max-width:900px){
  .complaints-month-table {
    width:1240px;
    min-width:1240px;
  }
  .complaints-trend-table {
    width:960px;
    min-width:960px;
  }
}
.charter-section {
  background:var(--section-a);
  transition:background 0.3s;
  flex:0 0 auto;
}
html[data-theme="dark"] .charter-section { background:var(--section-b) }
.charter-stack {
  display:grid;
  gap:20px;
  width:100%;
  max-width:1240px;
  margin:0 auto;
}
#page-investor-charter .section-inner,
#page-mitc .section-inner,
#page-complaints .section-inner,
#page-grievance .section-inner,
#page-audit .section-inner,
#page-disclaimer-page .section-inner,
#page-refund-policy .section-inner,
#page-terms .section-inner,
#page-privacy-policy .section-inner,
#page-payment-methods .section-inner,
#page-pmla-policy .section-inner,
#page-internal-policy .section-inner,
#page-code-of-conduct .section-inner,
#page-accessibility-statement .section-inner,
#page-cybersecurity-policy .section-inner,
#page-ra-agreement .section-inner {
  max-width:1240px;
  width:100%;
}
#page-refund-policy .charter-stack {
  max-width:1240px;
}
#page-investor-charter .charter-stack {
  gap:20px !important;
}
#page-refund-policy .charter-card p {
  margin-bottom:14px;
}
.charter-card {
  background:transparent;
  border:0;
  padding:0;
  box-shadow:none;
}
.charter-card:first-child {
  padding-top:0;
}
.charter-card:last-child {
  padding-bottom:0;
}
html[data-theme="dark"] .charter-card {
  background:transparent;
}
.charter-card h2 {
  font-size:22px;
  font-weight:700;
  color:var(--body-text);
  letter-spacing:-0.02em;
  line-height:1.3;
  margin:0 0 12px;
}
.charter-card h3 {
  font-size:16px;
  font-weight:700;
  color:var(--body-text);
  margin:16px 0 8px;
  line-height:1.35;
}
.pdf-embed-shell {
  width:100%;
  border:1px solid rgba(0,7,45,0.1);
  background:#fff;
  box-shadow:0 16px 36px rgba(0,7,45,0.08);
  overflow:hidden;
}
.pdf-embed-frame {
  display:block;
  width:100%;
  height:920px;
  border:0;
  background:#fff;
}
html[data-theme="dark"] .pdf-embed-shell {
  border-color:rgba(255,255,255,0.14);
  background:#101731;
  box-shadow:0 18px 38px rgba(0,0,0,0.34);
}
html[data-theme="dark"] .pdf-embed-frame {
  background:#101731;
}
@media (max-width: 767px) {
  .pdf-embed-frame {
    height:72vh;
    min-height:560px;
  }
}
.charter-card p,
.charter-card li {
  font-size:16px;
  font-weight:400;
  letter-spacing:0;
  color:#131B38;
  line-height:1.75;
}
.charter-card p { margin:0 0 8px }
.charter-card ul,
.charter-card ol {
  margin:0 0 12px;
  padding-left:20px;
  display:grid;
  gap:6px;
}
.legal-bullet-list {
  list-style:none !important;
  padding-left:0 !important;
  margin-left:0 !important;
  gap:10px;
}
.legal-bullet-list li {
  position:relative;
  padding-left:18px;
  list-style:none !important;
  display:block;
}
.legal-bullet-list li::before {
  content:"•";
  position:absolute;
  left:0;
  top:0.06em;
  color:var(--gold);
  font-size:18px;
  line-height:1.1;
}
.charter-card ul:last-child,
.charter-card ol:last-child {
  margin-bottom:0;
}
.charter-card ul {
  list-style-type:disc;
}
.charter-card .charter-roman {
  list-style-type:disc;
  gap:16px;
  margin:0 0 18px;
}
.charter-card .charter-hollow {
  list-style-type:circle;
  padding-left:34px;
}
.charter-card .charter-hollow > li {
  padding-left:4px;
}
.charter-card .charter-roman > li {
  padding-left:4px;
}
.charter-card li::marker {
  color:var(--gold);
  font-weight:700;
  font-size:1.08em;
}
.charter-card li > ul,
.charter-card li > ol {
  margin-top:6px;
  gap:4px;
  list-style-type:circle;
}
.charter-card li > p {
  margin:6px 0 0;
}
html[data-theme="dark"] .charter-card p,
html[data-theme="dark"] .charter-card li {
  color:var(--body-text-2);
}
.charter-card a {
  color:var(--gold);
  text-decoration:none;
  font-weight:700;
}
.charter-card a:hover { color:var(--gold2) }
.conduct-stack {
  display:grid;
  gap:18px;
}
.conduct-item {
  display:grid;
  gap:6px;
}
.conduct-item strong {
  display:block;
  font-size:16px;
  font-weight:700;
  color:var(--body-text);
  line-height:1.35;
}
.conduct-item p {
  margin:0;
}
.grievance-help-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  margin-top:28px;
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-left:4px solid var(--gold);
  box-shadow:0 4px 18px rgba(0,0,0,0.05);
}
html[data-theme="dark"] .grievance-help-grid {
  background:#0d0d0d;
  border-color:var(--rule-color);
  border-left-color:var(--gold);
}
.grievance-help-card {
  display:grid;
  grid-template-columns:84px minmax(180px, 0.4fr) minmax(0,1fr);
  gap:22px;
  align-items:center;
  padding:22px 28px;
  border-bottom:1px solid var(--card-border);
}
html[data-theme="dark"] .grievance-help-card {
  border-bottom-color:var(--rule-color);
}
.grievance-help-card:last-child {
  border-bottom:none;
}
.grievance-help-kicker {
  font-size:10px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:0;
  white-space:nowrap;
}
.grievance-help-title {
  font-size:16px;
  font-weight:700;
  color:var(--body-text);
  letter-spacing:-0.01em;
  line-height:1.25;
  margin-bottom:0;
}
.grievance-help-text {
  font-size:14px;
  color:var(--body-text-2);
  line-height:1.75;
  margin:0;
}
.mitc-contact-table-wrap {
  margin-top:0;
  margin-bottom:0;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.mitc-contact-card {
  margin-top:18px;
  margin-bottom:18px;
  overflow:hidden;
}
.mitc-contact-table {
  width:100%;
  min-width:0;
  table-layout:fixed;
}
.mitc-contact-table col:nth-child(1) { width:16% }
.mitc-contact-table col:nth-child(2) { width:15% }
.mitc-contact-table col:nth-child(3) { width:20% }
.mitc-contact-table col:nth-child(4) { width:15% }
.mitc-contact-table col:nth-child(5) { width:18% }
.mitc-contact-table col:nth-child(6) { width:16% }
@media(max-width:640px){
  #page-grievance .page-header-title {
    font-size:34px;
    line-height:1.12;
  }
  #page-grievance .page-header-sub {
    font-size:15px;
    line-height:1.7;
  }
  .grievance-section {
    padding:56px 20px 0;
  }
  .grievance-section .section-inner {
    width:100%;
  }
  .grievance-card { overflow:hidden }
  .grievance-table-wrap { overflow-x:auto }
  .grievance-table { width:1120px; min-width:1120px; font-size:13px; line-height:1.6 }
  .grievance-table th,
  .grievance-table td { display:table-cell; width:auto; padding:16px 14px; border-bottom:1px solid var(--card-border) }
  .grievance-table th {
    display:table-cell;
    width:auto;
    padding:16px 14px;
    border-bottom:1px solid var(--card-border);
    font-size:10px;
    letter-spacing:0.075em;
  }
  html[data-theme="dark"] .grievance-table th,
  html[data-theme="dark"] .grievance-table td { border-bottom-color:var(--rule-color) }
  .grievance-table thead { display:table-header-group }
  .grievance-table tbody { display:table-row-group }
  .grievance-table tr { display:table-row }
  .grievance-table colgroup { display:table-column-group }
  .grievance-table td::before { content:none }
  .grievance-table tr:last-child td { border-bottom:none }
  .mitc-contact-card { margin-top:16px; margin-bottom:16px; overflow:hidden; }
  .mitc-contact-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .mitc-contact-table { width:1120px; min-width:1120px }
  .complaints-month-table { width:1240px; min-width:1240px }
  .complaints-trend-table { width:960px; min-width:960px }
  .complaints-table th,
  .complaints-table td { padding:16px 14px }
  .grievance-help-grid { margin-top:22px }
  .grievance-help-card { grid-template-columns:1fr; gap:8px; align-items:start; padding:22px 22px }
  .grievance-help-kicker { margin-bottom:2px }
  .grievance-note { margin:56px calc(50% - 50vw) 0 !important; padding:0 !important }
  .grievance-note-cta { padding:56px 20px !important }
  .grievance-note-cta .home-cta-band-inner { grid-template-columns:1fr; gap:32px }
  .grievance-note-cta .home-cta-band-actions .btn-fill,
  .grievance-note-cta .home-cta-band-actions .btn-ghost-gold { width:260px; max-width:100% }
  .grievance-note-card { padding:24px 22px }
  #page-grievance .grievance-section { padding-bottom:0 !important }
  #grievance-footer-slot { margin-top:0 !important; padding-top:0 !important }
  .agreement-scroll { max-height:320px; padding:16px 16px 18px; font-size:15px; }
  .agreement-scroll .mitc-contact-card { margin-top:14px; margin-bottom:14px; }
  .agreement-scroll .grievance-card { overflow:hidden; }
  .agreement-scroll .grievance-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .form-check { grid-template-columns:18px minmax(0,1fr); gap:10px; }
  .form-check-text,
  .captcha-box span { font-size:15px; line-height:1.72; }
  .charter-section { padding:56px 20px }
  .charter-stack { gap:20px }
  .charter-card { padding:0 }
  .charter-card h2 { font-size:20px; margin-bottom:12px }
  .charter-card h3 { font-size:16px; margin:16px 0 6px }
  .charter-card p,
  .charter-card li { font-size:15px; line-height:1.72 }
  .charter-card ul,
  .charter-card ol { padding-left:18px }
  .conduct-stack { gap:16px }
  .conduct-item strong { font-size:16px }
  .grievance-table,
  .complaints-table,
  .audit-table,
  .mitc-contact-table { font-size:13px; line-height:1.6 }
  .audit-table th,
  .mitc-contact-table th,
  .grievance-table th,
  .complaints-table th { font-size:10px; letter-spacing:0.075em; }
  .audit-table td,
  .mitc-contact-table td,
  .grievance-table td,
  .complaints-table td { font-size:13px; line-height:1.6; }
  .audit-disclosure,
  .complaints-note,
  .grievance-note-text { font-size:15px; line-height:1.72 }
  #page-mitc .about-sec-head {
    align-items:flex-start;
  }
  #page-mitc .about-sec-head-title {
    white-space:normal;
    line-height:1.18 !important;
  }
}
@media(min-width:641px) and (max-width:980px){
  .grievance-help-card { grid-template-columns:78px minmax(160px, 0.45fr) minmax(0,1fr); gap:18px; padding:22px 24px }
}
html[data-theme="dark"] .contact-form-title { color:var(--body-text) }

@media(max-width:980px){
  .contact-top-grid { grid-template-columns:1fr; gap:40px }
  .contact-form-wide { margin-top:36px }
  .form-row { grid-template-columns:1fr }
  .footer-analyst { flex-wrap:wrap; gap:12px 0; justify-content:flex-start; padding:14px 0 }
  .footer-analyst-item { width:calc(50% - 1px); padding:8px 0 }
  .footer-analyst-divider { display:none }
  .footer-analyst-cert { width:100%; padding:8px 0 }
}
@media(max-width:600px){
  .footer-analyst-item { width:100% }
}

/* ── CONTACT HERO ───────────────────────────────────────────── */
.contact-hero {
  background:var(--hero-bg);
  padding:64px 56px 60px;
  position:relative; overflow:hidden;
  border-bottom:1px solid rgba(176,137,60,0.18);
}
.contact-hero-grid {
  position:absolute; inset:0;
  background-image:radial-gradient(circle,rgba(176,137,60,0.09) 1px,transparent 1px);
  background-size:32px 32px; pointer-events:none; opacity:0.3;
}
html[data-theme="dark"] .contact-hero-grid { display:none }
.contact-hero-compass {
  position:absolute; right:-80px; top:50%;
  transform:translateY(-50%);
  width:420px; height:420px;
  pointer-events:none; opacity:0.10;
}
.contact-hero-compass svg {
  width:100%; height:100%;
  animation:compassSpin 60s linear infinite;
  transform-origin:center;
  will-change:transform;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.contact-hero-inner {
  max-width:1240px; margin:0 auto;
  position:relative; z-index:1;
}
.contact-hero-eyebrow {
  display:flex; align-items:center; gap:14px;
  margin-bottom:22px; animation:fadeUp 0.5s 0.05s both;
}
.contact-hero-eyebrow-line {
  display:inline-block; width:36px; height:1px;
  background:var(--gold); opacity:0.7;
}
.contact-hero-eyebrow span:last-child {
  font-size:10px; font-weight:700; letter-spacing:0.26em;
  text-transform:uppercase; color:var(--gold);
}
.contact-hero-h1 {
  font-size:clamp(38px,4.4vw,64px); font-weight:700;
  color:#ffffff; line-height:1.15; letter-spacing:-0.03em;
  margin-bottom:18px; animation:fadeUp 0.55s 0.12s both;
}
.contact-hero-gold { color:var(--gold); display:block }
.contact-hero-body {
  font-size:16px; color:rgba(255,255,255,0.62);
  max-width:600px; line-height:1.85;
  margin-bottom:30px; animation:fadeUp 0.55s 0.20s both;
}
.contact-hero-chips {
  display:flex; flex-wrap:wrap; gap:10px;
  animation:fadeUp 0.55s 0.28s both;
}
.contact-hero-chip {
  display:inline-flex; align-items:center; gap:8px;
  border:1px solid rgba(176,137,60,0.30);
  padding:7px 14px;
  font-size:12px; font-weight:700; letter-spacing:0.08em;
  text-transform:uppercase; color:rgba(255,255,255,0.72);
}
.contact-hero-chip-icon { width:14px; height:14px; display:flex; align-items:center; justify-content:center; flex-shrink:0 }
.contact-hero-chip-icon svg { width:14px; height:14px; fill:var(--gold) }

/* ── LOGIN MODAL ─────────────────────────────────────────────── */
#page-login {
  min-height: 100vh;
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(6, 10, 18, 0.68);
  backdrop-filter: blur(10px);
  animation: none !important;
  transform: none !important;
}
#page-login.active { display: flex !important; }
.login-modal {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(calc(100vw - 48px), 960px);
  background: var(--nav-bg);
  border: 1px solid rgba(176, 137, 60, 0.22);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.46);
  overflow: hidden;
  border-radius: 0;
  max-height: calc(100vh - 48px);
  overflow-y: auto;
}
#page-login.login-animating .login-modal {
  animation: loginModalRise 0.32s cubic-bezier(0.2, 0.85, 0.25, 1) both;
}
@keyframes loginModalSink {
  from {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    filter: blur(0);
  }
  to {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.965);
    filter: blur(2px);
  }
}
#page-login.login-closing .login-modal {
  animation: loginModalSink 0.22s cubic-bezier(0.4, 0, 0.2, 1) both;
}
@keyframes loginModalRise {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.96);
    filter: blur(2px);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    filter: blur(0);
  }
}
.login-modal::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top left, rgba(176,137,60,0.18), transparent 34%),
    radial-gradient(circle at bottom right, rgba(255,255,255,0.08), transparent 32%);
  pointer-events: none;
}
.login-modal-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(360px, 0.92fr) minmax(380px, 1fr);
  min-height: 520px;
}
.login-modal-brand {
  position: relative;
  padding: 52px 52px 44px;
  background: var(--nav-bg);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
  overflow: hidden;
}
.login-modal-brand::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.login-modal-brand > * {
  position: relative;
  z-index: 1;
}
.login-modal-top-bar {
  position: absolute;
  top: 52px;
  left: 52px;
  right: auto;
  width: auto;
  display: flex; align-items: center; justify-content: flex-start; gap: 10px;
  z-index: 3;
}
.login-modal-nav-btns {
  display: flex; align-items: center; gap: 8px; flex-shrink: 0;
}
.login-modal-mobile-eyebrow {
  display: none;
}
.login-modal-close:focus {
  outline: none;
}
.login-modal-close:focus-visible {
  outline: none;
}
.login-modal-close {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 20px; width: 20px; height: 20px; border-radius: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: opacity 0.2s, color 0.2s;
  padding: 0;
  color: rgba(255,255,255,0.75);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  position: relative;
  z-index: 4;
  touch-action: manipulation;
}
.login-modal-close svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  fill: none;
}
.login-modal-close:hover {
  opacity: 0.7;
  color: #ffffff;
}
.login-modal-brand-main {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  flex: 1;
  gap: 16px;
  min-height: 0;
}
.login-modal-hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 0;
  flex: 0 1 auto;
  max-width: 42ch;
  margin: 0;
}
.login-modal-hero-eyebrow {
  font-size: 10px; font-weight: 700; letter-spacing: 0.26em;
  text-transform: uppercase; color: var(--gold); margin-bottom: 10px;
}
.login-modal-hero-title {
  font-size: 48px; font-weight: 700;
  color: #ffffff; line-height: 1.05; letter-spacing: 0; margin: 0;
}
.login-modal-hero-sub {
  font-size: 16px; color: #FFFFFFB8; line-height: 1.78; max-width: 40ch; margin: 14px 0 0;
}
.login-modal-trust {
  display: none;
}
.login-modal-form {
  background: var(--section-b);
  padding: 48px 42px;
  display: flex;
  align-items: center;
  justify-content: center;
}
html[data-theme="dark"] .login-modal {
  background: var(--body-bg);
  border-color: rgba(176,137,60,0.28);
  box-shadow: 0 28px 90px rgba(0,0,0,0.72);
}
html[data-theme="dark"] .login-modal-brand { background: var(--nav-bg); }
html[data-theme="dark"] .login-modal-brand,
html[data-theme="dark"] .login-modal-brand * {
  color: #ffffff;
}
html[data-theme="dark"] .login-modal-brand .login-modal-hero-eyebrow,
html[data-theme="dark"] .login-modal-brand .login-modal-trust-key,
html[data-theme="dark"] .login-modal-brand .login-modal-trust-pill {
  color: var(--gold);
}
html[data-theme="dark"] .login-modal-brand .login-modal-trust-val {
  color: #ffffff;
}
html[data-theme="dark"] .login-modal-form { background: var(--body-bg) !important; }
html[data-theme="dark"] .login-modal::before {
  background: none;
}
html[data-theme="dark"] .login-form-title { color: var(--body-text); }
html[data-theme="dark"] .login-form-sub { color: #FFFFFFB8; }
html[data-theme="dark"] .login-field-label { color: var(--gold) !important; }
html[data-theme="dark"] .login-secure-note { color: var(--gold) !important; }
html[data-theme="dark"] .login-modal-mobile-eyebrow { color: var(--gold) !important; }
html[data-theme="dark"] .login-field-input {
  background: var(--form-field-bg);
  border-color: var(--rule-color);
  color: var(--body-text);
}
html[data-theme="dark"] .login-field-input::placeholder { color: rgba(216,220,232,0.42); }
html[data-theme="dark"] .login-pw-toggle { color: var(--body-text-3); }
html[data-theme="dark"] .login-forgot a,
html[data-theme="dark"] .login-card-foot-legal a,
html[data-theme="dark"] .login-card-foot-tag { color: var(--gold2); }
html[data-theme="dark"] .login-card-foot-legal,
html[data-theme="dark"] .login-card-foot-label {
  color: var(--body-text-2);
}
html[data-theme="dark"] .login-submit {
  background: var(--gold);
  color: #ffffff;
}
html[data-theme="dark"] .login-submit:hover { background: var(--gold2); color:#ffffff; }
html[data-theme="dark"] .login-modal-close {
  color: rgba(255,255,255,0.75);
}
html[data-theme="dark"] .login-modal-close:hover {
  color: #ffffff;
}
html[data-theme="dark"] .login-modal-brand {
  background: #080808 !important;
}
.login-card {
  width: min(100%, 400px);
  background: var(--card-bg,#ffffff);
  border: 1px solid var(--card-border);
  border-left: 4px solid var(--gold);
  border-radius: 2px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.07), 0 1px 4px rgba(0,0,0,0.04);
  position: relative;
  overflow: hidden;
  padding: 32px 28px 28px;
  transition: background 0.3s, border-color 0.25s, box-shadow 0.25s cubic-bezier(0.22,1,0.36,1), transform 0.25s cubic-bezier(0.22,1,0.36,1);
}
.login-card:hover {
  transform: translateY(-4px);
  border-color: var(--gold2);
  border-left-color: var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.18),
    0 8px 32px rgba(176,137,60,0.16),
    0 18px 48px rgba(0,0,0,0.10),
    0 3px 8px rgba(0,0,0,0.06);
}
html[data-theme="dark"] .login-card {
  background: #0d0d0d !important;
  border-color: var(--rule-color) !important;
  border-left-color: var(--gold2) !important;
  box-shadow: 0 4px 32px rgba(0,0,0,0.32), 0 1px 6px rgba(0,0,0,0.18);
}
html[data-theme="dark"] .login-card:hover {
  border-color: var(--gold2) !important;
  border-left-color: var(--gold2) !important;
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.22),
    0 8px 32px rgba(176,137,60,0.18),
    0 18px 48px rgba(0,0,0,0.40),
    0 3px 8px rgba(0,0,0,0.22);
}
.login-card-header {
  margin-bottom: 22px;
}
.login-secure-note {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 10px; font-weight: 700; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--gold); margin-bottom: 12px;
}
.login-secure-note svg { width: 13px; height: 13px; flex-shrink: 0; }
.login-form-title {
  font-size: 20px; font-weight: 700; line-height: 1.24; letter-spacing: -0.01em;
  color: var(--navy);
}
.login-form-sub {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.82;
  color: #131B38;
}
.login-form-fields {
  display: grid;
  gap: 14px;
}
.login-field-group {
  position: relative;
}
.login-field-label {
  display: block;
  font-size: 10px; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--gold); margin-bottom: 8px;
}
.login-field-input {
  width: 100%; height: 54px;
  border: 1px solid rgba(16, 24, 40, 0.16);
  background: rgba(255,255,255,0.96);
  color: var(--navy);
  padding: 0 48px 0 16px;
  border-radius: 0;
  font-family: var(--f);
  font-size: 16px;
}
.login-pw-toggle {
  position: absolute;
  right: 10px;
  top: auto;
  bottom: 15px;
  transform: none;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none; background: transparent; cursor: pointer; color: var(--body-text-2);
}
.login-pw-toggle svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.login-forgot {
  margin-top: 12px;
  font-size: 14px;
}
.login-forgot a {
  color: var(--gold);
  text-decoration: none;
}
.login-forgot a:hover { text-decoration: underline; }
.login-message {
  display: none;
  margin-top: 12px;
  padding: 11px 12px;
  border: 1px solid rgba(166, 75, 75, 0.28);
  background: rgba(166, 75, 75, 0.06);
  color: #A64B4B;
  font-size: 12px;
  line-height: 1.5;
}
.login-message.is-success {
  border-color: rgba(79, 138, 91, 0.28);
  background: rgba(79, 138, 91, 0.08);
  color: #4F8A5B;
}
.login-message.show { display: block; }
.login-submit {
  width: 100%;
  margin-top: 18px;
  height: 54px;
  border-radius: 0;
  border: 1.5px solid var(--gold);
  background: var(--gold);
  color: #ffffff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.15s;
}
.login-submit:hover {
  background: var(--gold2);
  border-color: var(--gold2);
  color: #ffffff;
  transform: translateY(-1px);
}
.login-card-foot {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.login-card-foot-legal {
  font-size: 14px;
  line-height: 1.78;
  color: #131B38;
}
.login-card-foot-legal a { color: var(--gold); }
.login-card-foot-top {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.login-card-foot-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #131B38;
}
.login-card-foot-tag {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
  text-decoration: none;
}
@media(max-width: 900px) {
  .login-modal {
    width: min(calc(100vw - 28px), 720px);
    max-height: calc(100vh - 28px);
  }
  .login-modal-inner {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .login-modal-brand {
    padding: 34px 32px 28px;
    gap: 14px;
  }
  .login-modal-top-bar {
    top: 34px;
    left: 32px;
    gap: 12px;
  }
  .login-modal-brand-main {
    gap: 14px;
  }
  .login-modal-hero {
    min-height: 0;
    flex: none;
    max-width: 36ch;
  }
  .login-modal-hero-title {
    font-size: 30px;
  }
  .login-modal-hero-sub {
    font-size: 16px;
    line-height: 1.78;
    max-width: 40ch;
  }
  .login-modal-form {
    padding: 30px 28px 32px;
  }
  .login-card {
    width: min(100%, 520px);
    padding: 26px 24px 22px;
  }
  .login-card-header {
    margin-bottom: 18px;
  }
  .login-form-title {
    font-size: 24px;
  }
}
@media(max-width: 640px) {
  #page-login { padding: 10px; }
  .login-modal {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
  }
  .login-modal-inner {
    display: flex;
    flex-direction: column;
  }
  .login-modal-brand,
  .login-modal-form {
    padding: 22px 16px 18px;
  }
  .login-modal-brand {
    gap: 0;
    min-height: 206px;
    flex: 0 0 206px;
    justify-content: flex-start;
    padding: 40px 20px 32px;
  }
  .login-modal-top-bar {
    position: absolute;
    top: 36px;
    left: 20px;
    right: 20px;
    width: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  .login-modal-mobile-eyebrow {
    display: none;
  }
  .login-modal-hero-eyebrow {
    display: block;
    font-size: 10px;
    line-height: 1;
    margin-bottom: 10px;
  }
  .login-modal-nav-btns {
    justify-self: end;
  }
  .login-modal-close {
    position: relative;
    right: auto;
    top: auto;
    transform: none;
    min-width: 18px;
    width: 18px;
    height: 18px;
    padding: 0;
  }
  .login-modal-close svg {
    width: 18px;
    height: 18px;
    stroke-width: 2.35;
  }
  .login-modal-brand-main {
    gap: 0;
    justify-content: flex-start;
    margin-top: 0;
    padding-top: 0;
  }
  .login-modal-hero {
    max-width: none;
  }
  .login-modal-hero-title {
    font-size: 42px;
    line-height: 1.05;
    margin-bottom: 0;
    padding: 0;
  }
  .login-modal-hero-sub {
    font-size: 16px;
    line-height: 1.78;
    margin-top: 14px;
    max-width: none;
  }
  .login-modal-trust {
    display: none;
  }
  .login-card {
    width: 100%;
    padding: 22px 18px 22px;
  }
  .login-card-header {
    margin-bottom: 12px;
  }
  .login-secure-note {
    font-size: 10px;
    letter-spacing: 0.16em;
  }
  .login-form-fields {
    gap: 10px;
  }
  .login-field-label {
    font-size: 10px;
  }
  .login-field-input {
    height: 48px;
    font-size: 16px;
    padding-right: 44px;
  }
  .login-pw-toggle {
    top: auto;
    bottom: 13px;
    transform: none;
    width: 22px;
    height: 22px;
  }
  .login-pw-toggle svg {
    width: 16px;
    height: 16px;
  }
  .login-forgot {
    margin-top: 10px;
    font-size: 12px;
  }
  .login-submit {
    height: 46px;
    font-size: 12px;
    margin-top: 16px;
  }
  .login-card-foot {
    margin-top: 14px;
    gap: 14px;
  }
  .login-card-foot-top {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    white-space: nowrap;
  }
  .login-card-foot-legal,
  .login-card-foot-label,
  .login-card-foot-tag {
    font-size: 10px;
  }
  .login-card-foot-label,
  .login-card-foot-tag {
    letter-spacing: 0.12em;
  }
}
@media(max-width: 380px) {
  .login-modal-brand,
  .login-modal-form {
    padding: 18px 16px 16px;
  }
  .login-modal-brand {
    min-height: 206px;
    flex-basis: 206px;
    padding: 40px 16px 30px;
  }
  .login-modal-top-bar {
    top: 36px;
    left: 16px;
    right: 16px;
  }
  .login-modal-brand-main {
    margin-top: 0;
  }
  .login-modal-hero-eyebrow {
    font-size: 10px;
    letter-spacing: 0.22em;
    margin-bottom: 10px;
  }
  .login-modal-hero-title {
    font-size: 36px;
  }
  .login-modal-hero-sub { font-size: 16px; line-height: 1.78; margin-top: 14px; }
  .login-card-foot-legal,
  .login-card-foot-label,
  .login-card-foot-tag {
    font-size: 10px;
  }
  .login-card-foot-top {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    white-space: nowrap;
  }
  .login-card {
    padding: 20px 16px 20px;
  }
}

/* ── DISCLAIMER + FOOTER ────────────────────────────────────── */
/* READABILITY NOTE: Footer text must remain legible on dark background.
   Minimum opacity for body text: 0.55. Links: 0.5. Bottom bar: 0.45.
   Font sizes: brand name 15px, col titles 10px, links 13.5px, bottom 12px. */
.disclaimer { display:none }

.disclaimer-inner { max-width:1240px; margin:0 auto; font-size:12px; color:var(--body-text-3); line-height:1.8 }
.disclaimer-inner strong { color:var(--body-text); font-weight:700 }
footer { background:var(--nav-bg); border-top:none; padding:72px 56px 0; transition:background 0.3s; position:relative }
.footer-inner { max-width:1240px; margin:0 auto }
.footer-top {
  display:grid;
  grid-template-columns:minmax(300px, 1.42fr) minmax(138px, 0.96fr) minmax(176px, 1.08fr) minmax(190px, 1.12fr) minmax(196px, 1.04fr);
  column-gap:28px;
  row-gap:20px;
  padding-bottom:40px;
  margin-bottom:0;
  align-items:start;
}
.footer-top > div { min-width:0; }
.footer-top > div:not(.footer-brand-col) { display:flex; flex-direction:column; }
.footer-brand-col { display:flex; flex-direction:column; gap:0 }
.footer-brand-logo-wrap { display:flex; align-items:center; gap:9px; margin-bottom:18px }
.footer-brand-img { display:block; width:44px; height:44px; object-fit:contain; background:transparent; mix-blend-mode:screen; filter:brightness(1.05) contrast(1.05); flex-shrink:0 }
.footer-brand-text { display:flex; flex-direction:column; gap:0; min-width:0; align-items:stretch; width:fit-content; max-width:260px; padding-top:0 }
.footer-brand-name { font-size:17px; font-weight:700; color:var(--nav-text-h); letter-spacing:0.158em; line-height:1; white-space:nowrap; margin:0; display:block; padding:0 }
.footer-brand-name::after { display:none }
.footer-brand-sub  { font-size:7.35px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--nav-text-h); line-height:1; white-space:nowrap; margin:0; display:block; text-align:left; padding:0 }
.footer-brand-desc { color:#FFFFFFB8; margin-bottom:0; max-width:300px; line-height:1.8; margin-top:0 }
.footer-brand-text .nav-gold-rule { width:99.2%; height:1px; margin:5px 0 6px; opacity:0.92 }
.footer-col-title  { font-size:10px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; padding-bottom:0; border-bottom:none }
.footer-col-title-sub { margin-top:18px; margin-bottom:14px; }
.footer-links      { list-style:none }
.footer-links{
    margin: 0px !important;
}
.footer-links      { min-width:0; }
.footer-links li   { margin-bottom:14px; font-size:14px; color:#FFFFFFB8 }
.footer-links li:last-child { margin-bottom:0 }
.footer-links a    { font-size:14px; color:#FFFFFFB8; text-decoration:none; transition:color 0.2s, padding-left 0.2s; cursor:pointer; display:inline-block }
.footer-links a:hover { color:var(--gold); padding-left:4px }
.footer-socials { margin-top:24px }
.footer-socials-title {
  font-size:10px;
  font-weight:700;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:18px;
}
.footer-social-links {
  display:grid;
  grid-template-columns:repeat(4, 34px);
  row-gap:12px;
  column-gap:12px;
  align-items:center;
  justify-items:center;
  justify-content:start;
}
.footer-social-link {
  width:34px; height:34px;
  display:inline-flex; align-items:center; justify-content:center;
  border:none;
  color:#FFFFFFB8;
  text-decoration:none;
  transition:border-color 0.2s, color 0.2s, transform 0.2s;
  flex-shrink:0;
  line-height:0;
}
.footer-social-link img {
  width:24px;
  height:24px;
  display:block;
  object-fit:contain;
  filter:brightness(0) saturate(100%) invert(77%) sepia(6%) saturate(221%) hue-rotate(177deg) brightness(92%) contrast(88%);
  transition:filter 0.2s;
}
.footer-social-link[aria-label="Facebook"] img,
.footer-social-link[aria-label="LinkedIn"] img { width:25px; height:25px; }
.footer-social-link[aria-label="YouTube"] img { width:25px; height:25px; }
.footer-social-link[aria-label="Instagram"] img,
.footer-social-link[aria-label="Threads"] img,
.footer-social-link[aria-label="X"] img,
.footer-social-link[aria-label="WhatsApp"] img,
.footer-social-link[aria-label="Telegram"] img { width:24px; height:24px; }
.footer-social-link .social-icon {
  width:26px;
  height:26px;
  color:inherit;
}
.footer-social-link .si-substack { width:28px; height:28px; }
.footer-social-link:hover { color:var(--gold); transform:translateY(-1px) }
.footer-social-link:hover img { filter:brightness(0) saturate(100%) invert(61%) sepia(41%) saturate(539%) hue-rotate(357deg) brightness(94%) contrast(90%) }
.footer-disclaimer {
  font-size:12px; color:#FFFFFFB8; line-height:1.9;
  padding:26px 0; margin:0;
  border-top:1px solid #FFFFFF1A;
}
.footer-disclaimer strong { color:#FFFFFFB8; font-weight:700 }
.footer-analyst {
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 0; border-top:1px solid #FFFFFF1A;
}
.footer-inner > .footer-analyst {
  display:block;
  padding:18px 0 0;
  border-top:1px solid #FFFFFF1A;
}
.footer-inner > .footer-analyst::before {
  content:"RESEARCH ANALYST DETAILS";
  display:block;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.26em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 16px;
}
.footer-analyst-item {
  display:block;
  padding:0 0 10px;
  white-space:normal;
}
.footer-analyst-key { font-size:12px; font-weight:700; color:#FFFFFFB8; letter-spacing:0.01em }
.footer-analyst-val { font-size:12px; color:#FFFFFFB8; font-weight:400 }
.footer-analyst-divider { display:none }
.footer-analyst-cert {
  display:inline-block;
  color:var(--gold);
  font-size:12px;
  text-decoration:none;
  letter-spacing:0.01em;
  margin-top:2px;
}
.footer-analyst-cert:hover { opacity:0.8 }
.footer-analyst-val a {
  color:#FFFFFFB8;
  text-decoration:none;
}
.footer-analyst-val a:hover {
  opacity:0.8;
}
.footer-link-gold {
  color:var(--gold) !important;
}
.footer-link-gold:hover {
  opacity:0.8;
}
.footer-strip-block {
  padding:22px 0 0;
  border-top:none;
}
.footer-strip-title {
  font-size:10px;
  font-weight:700;
  letter-spacing:0.26em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 16px;
}
.footer-analyst.footer-analyst-inline {
  display:block;
  padding:0;
  border-top:none;
}
.footer-detail-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.22fr) minmax(0, 1fr) minmax(0, 1.08fr);
  gap:44px;
  padding:36px 0;
  border-top:1px solid #FFFFFF1A;
}
.footer-detail-col{ min-width:0; }
.footer-detail-col{ display:flex; flex-direction:column; }
.footer-detail-list{
  display:flex;
  flex-direction:column;
  gap:14px;
  color:#FFFFFFB8;
}
.footer-detail-line{
  display:flex;
  flex-wrap:nowrap;
  align-items:flex-start;
  gap:6px;
  color:#FFFFFFB8;
}
.footer-detail-line .footer-analyst-key{
  flex:0 0 auto;
}
.footer-detail-line .footer-analyst-val{
  flex:1 1 auto;
  min-width:0;
}
.footer-link-stack{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  line-height:1.4;
}
.footer-detail-col-ra .footer-detail-line{ gap:8px; }
.footer-detail-grid .footer-strip-title{ margin:0 0 16px; }
.footer-detail-grid .footer-analyst,
.footer-detail-grid .footer-strip-block,
.footer-detail-grid .footer-analyst.footer-analyst-inline{
  display:block;
  padding:0;
  border-top:none;
}
.footer-detail-grid .footer-analyst::before{ display:none; content:none; }
.footer-detail-grid .footer-analyst-item,
.footer-detail-grid .footer-analyst-inline .footer-analyst-item,
.footer-detail-grid .footer-analyst-inline .footer-analyst-item-wide{
  display:contents;
  padding:0;
}
.footer-detail-grid .footer-analyst-divider,
.footer-detail-grid .footer-analyst-inline .footer-analyst-divider{
  display:none;
}
.footer-detail-grid .footer-analyst-cert{
  margin-top:2px;
  margin-bottom:0;
  align-self:flex-start;
}
.footer-bottom     {
  display:flex; justify-content:space-between; align-items:center;
  font-size:12px; color:#FFFFFFB8;
  padding:18px 0 26px;
  border-top:1px solid #FFFFFF1A;
  flex-wrap:wrap; gap:10px;
}
.footer-bottom strong { color:var(--gold); font-weight:700 }
.footer-bottom-reg { color:var(--gold); font-size:12px; font-weight:600; letter-spacing:0.02em }
.footer-bottom-reg strong { color:var(--gold); font-weight:700 }

/* ── SEBI REGISTRATION BLOCK ───────────────────────────────── */
.footer-sebi-block {
  padding:18px 0 20px;
  margin:0;
  border-top:1px solid #FFFFFF1A;
}
.footer-sebi-block + .footer-sebi-block {
  border-top:1px solid #FFFFFF12;
  padding-top:18px;
}
.footer-sebi-header {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:14px; gap:16px;
}
.footer-sebi-title {
  font-size:10px; font-weight:700; letter-spacing:0.26em; text-transform:uppercase;
  color:var(--gold);
}
.footer-sebi-link {
  display:inline-flex; align-items:center; gap:4px;
  font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
  color:#FFFFFFB8; text-decoration:none; white-space:nowrap;
  transition:color 0.2s;
}
.footer-sebi-link:hover { color:var(--gold) }
.footer-sebi-link::after { content:'↗'; font-size:10px }
.footer-sebi-fields {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:0;
  align-items:start;
  border-top:1px solid #FFFFFF12;
  border-bottom:1px solid #FFFFFF12;
}
.footer-sebi-item {
  display:flex; flex-direction:column; gap:4px;
  padding:14px 0;
  min-width:0;
  border-top:1px solid #FFFFFF10;
}
.footer-sebi-item:nth-child(-n + 2) {
  border-top:none;
}
.footer-sebi-item:nth-child(odd) {
  padding-right:24px;
}
.footer-sebi-item:nth-child(even) {
  padding-left:24px;
  border-left:1px solid #FFFFFF12;
}
.footer-sebi-divider {
  display:none;
}
.footer-sebi-key {
  font-size:10px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--gold);
}
.footer-sebi-val {
  font-size:12px; color:rgba(255,255,255,0.82); font-weight:600; line-height:1.55; white-space:nowrap;
}
.footer-sebi-val.footer-sebi-val-wrap {
  white-space:normal;
  line-height:1.5;
  max-width:100%;
}
.footer-sebi-val a {
  color:rgba(255,255,255,0.82);
  text-decoration:none;
  transition:color 0.2s;
}
.footer-sebi-val a:hover {
  color:var(--gold);
}
@media(max-width:640px){
  .footer-sebi-fields{
    grid-template-columns:1fr;
    gap:0;
  }
  .footer-sebi-divider{ display:none }
  .footer-sebi-item{
    min-width:100%;
    padding:12px 0;
  }
  .footer-sebi-item:nth-child(-n + 2) {
    border-top:1px solid #FFFFFF10;
  }
  .footer-sebi-item:first-child {
    border-top:none;
  }
  .footer-sebi-item:nth-child(odd),
  .footer-sebi-item:nth-child(even) {
    padding-left:0;
    padding-right:0;
    border-left:none;
  }
  .footer-sebi-block { padding:16px 0 18px }
  .footer-sebi-block + .footer-sebi-block { padding-top:16px }
  .footer-sebi-header{ margin-bottom:12px }
  .footer-sebi-val.footer-sebi-val-wrap { line-height:1.6 }
}

/* ── FAQ PAGE ───────────────────────────────────────────────── */
.faq-sec-white {
  background:#ffffff; padding:80px 56px; transition:background 0.3s;
}
html[data-theme="dark"] .faq-sec-white { background:var(--section-b) }
.faq-sec-dark {
  background:var(--section-dark); padding:80px 56px; transition:background 0.3s;
}
.faq-sec-inner { max-width:1240px; margin:0 auto }
.faq-sec-head { margin-bottom:32px }
.faq-sec-head .about-sec-head { margin-bottom:0 }
.faq-sec-dark .about-sec-head-light .about-sec-head-line { background:var(--nav-border) }
.faq-2col {
  display:grid; grid-template-columns:300px 1fr; gap:80px; align-items:start;
}
.faq-2col-left { padding-top:0; margin-top:0 }
.faq-lead-heading {
  font-size:clamp(20px,2vw,28px); font-weight:700; color:var(--body-text);
  letter-spacing:-0.025em; line-height:1.35; margin:0 0 16px; padding-top:0;
}
html[data-theme="dark"] .faq-lead-heading { color:var(--body-text) }
.faq-lead-heading span { color:var(--gold) }
.faq-lead-sub { font-size:14px; color:var(--body-text-2); line-height:1.82 }
.faq-list { display:flex; flex-direction:column; gap:0 }
.faq-item {
  padding:24px 0;
  border-top:1px solid var(--rule-color);
}
.faq-item:first-child { border-top:none; padding-top:0 }
.faq-item-num {
  display:grid; grid-template-columns:36px 1fr; gap:16px; align-items:center;
}
.faq-item-n {
  font-size:22px; font-weight:700; color:var(--gold);
  letter-spacing:-0.03em; line-height:1.2; flex-shrink:0;
}
.faq-q {
  font-size:16px; font-weight:700; color:var(--body-text);
  letter-spacing:-0.01em; line-height:1.2; margin-bottom:8px;
}
.faq-a { font-size:14px; color:var(--body-text-3); line-height:1.82; margin:0 }
/* dark section grid */
.faq-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:0;
  border:1px solid rgba(255,255,255,0.07); border-right:none; border-bottom:none;
}
.faq-grid-item {
  padding:36px 32px;
  border-right:1px solid rgba(255,255,255,0.07);
  border-bottom:1px solid rgba(255,255,255,0.07);
  position:relative; overflow:hidden;
}
.faq-grid-item::after { content:''; position:absolute; top:0; left:0; width:100%; height:2px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform 0.3s ease }
.faq-grid-item:hover::after { transform:scaleX(1) }
.faq-grid-num {
  font-size:12px; font-weight:700; letter-spacing:0.18em; color:var(--gold);
  margin-bottom:14px; opacity:0.75;
}
.faq-grid-q {
  font-size:16px; font-weight:700; color:rgba(255,255,255,0.88);
  letter-spacing:-0.01em; line-height:1.25; margin-bottom:10px;
}
.faq-grid-a {
  font-size:14px; color:rgba(255,255,255,0.52); line-height:1.82;
}
@media(max-width:900px){
  .faq-2col{ grid-template-columns:1fr; gap:36px }
  .faq-grid{ grid-template-columns:1fr }
}
@media(max-width:640px){
  .faq-sec-white,.faq-sec-dark{ padding:56px 20px }
  .faq-item{ padding:20px 0 }
  .faq-q{ font-size:14px }
  .faq-grid-item{ padding:24px 20px }
}

/* ── FAQ: SERVICE ROWS ──────────────────────────────────────── */
.faq-svc-row {
  display:grid; grid-template-columns:260px 1fr; gap:64px; align-items:start;
  padding:56px 0;
}
.faq-svc-row:first-of-type { padding-top:0 }
.faq-sec-head + .faq-svc-row { padding-top:0 }
.faq-svc-left {
  align-self:start;
}
.faq-svc-name {
  font-size:clamp(20px,2vw,28px); font-weight:700; color:var(--body-text);
  letter-spacing:-0.025em; line-height:1.35; margin:0 0 16px; padding-top:0;
}
.faq-svc-name span { color:var(--gold) }
.faq-svc-desc {
  font-size:14px; color:var(--body-text-2); line-height:1.82; margin-bottom:22px;
}
.faq-svc-link {
  display:inline-flex; align-items:center;
  font-size:12px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--gold); background:none; border:none; cursor:pointer; padding:0;
  font-family:var(--f); transition:opacity 0.15s;
}
.faq-svc-link:hover { opacity:0.7 }
.faq-svc-right {
  display:flex; flex-direction:column; gap:0;
}
.faq-svc-points { display:flex; flex-direction:column; gap:0 }
.faq-svc-point-num {
  display:grid; grid-template-columns:36px 1fr; gap:16px;
  padding:24px 0; border-bottom:1px solid var(--rule-color);
  align-items:center;
}
.faq-svc-point-num:first-child { padding-top:0 }
.faq-svc-point-num:last-child { border-bottom:none; padding-bottom:0 }
.faq-svc-point-n {
  font-size:22px; font-weight:700; color:var(--gold);
  letter-spacing:-0.03em; line-height:1.2; flex-shrink:0;
}
.faq-svc-point-title {
  font-size:16px; font-weight:700; color:var(--body-text);
  letter-spacing:-0.01em; line-height:1.2; margin-bottom:8px;
}
.faq-svc-point-desc { font-size:14px; color:var(--body-text-3); line-height:1.82; margin:0 }
.faq-svc-divider {
  height:1px; background:var(--rule-color); margin:0;
}
@media(max-width:900px){
  .faq-svc-row{ grid-template-columns:1fr; gap:36px }
  .faq-svc-left{ position:static }
}
@media(max-width:640px){
  .faq-svc-row{ padding:40px 0 }
  .faq-svc-name{ font-size:22px }
}

@keyframes fadeUp { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
@-webkit-keyframes ticker { from{-webkit-transform:translateX(0)} to{-webkit-transform:translateX(-50%)} }
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── HOME PAGE: WHY US — asymmetric 2-col stat layout ───────── */
.home-why {
  background: #ffffff;
  padding: 80px 56px;
  transition: background 0.3s;
}
.home-why-section-head {
  max-width: 1240px; margin: 0 auto 32px;
}
.home-why-inner-wrap {
  max-width: 1240px; margin: 0 auto;
  display: grid; grid-template-columns: 320px 1fr; gap: 80px; align-items: start;
}
.home-why-left { padding-top:0; margin-top:0 }
.home-why-left .u-rule { display:block; width:32px; height:4px; background:var(--gold); margin:10px 0 18px }
.home-why-heading {
  font-size: clamp(18px,1.7vw,22px); font-weight:700; color:var(--body-text);
  letter-spacing:-0.025em; line-height:1.35; margin:0 0 20px;
}
.home-why-heading span { color:var(--gold) }
.home-why-intro { font-size:14px; color:#131B38; line-height:1.82 }
.home-why-right { display:flex; flex-direction:column; gap:0; }
.home-why-row {
  display:grid; grid-template-columns:36px 1fr; gap:20px;
  padding:24px 0; border-bottom:1px solid var(--rule-color); align-items:center;
}
.home-why-row:first-child { padding-top:0 }
.home-why-row:last-child { border-bottom:none; padding-bottom:0; }
.home-why-row-num {
  font-size:22px; font-weight:700; color:var(--gold);
  letter-spacing:-0.03em; line-height:1.2;
  flex-shrink:0;
}
.home-why-title { font-size:16px; font-weight:700; color:var(--body-text); letter-spacing:-0.01em; margin-bottom:7px; line-height:1.2 }
.home-why-desc  { font-size:14px; color:#131B38; line-height:1.82; margin:0 }
/* hide old grid classes */
.home-why-grid { display:none }
.home-why-card { display:none }
.home-why-icon { display:none }

/* ── HOME PAGE: WHAT WE COVER — horizontal rows, white ───────── */
.home-cover {
  background: #ffffff;
  padding: 80px 56px;
  border-top: 1px solid var(--rule-color);
  transition: background 0.3s;
}
html[data-theme="dark"] .home-cover { background: var(--section-b) }
html[data-theme="dark"] .home-why { background: var(--section-b) }
.home-cover-head {
  max-width: 1240px; margin: 0 auto;
  padding: 0 0 32px;
  display: block;
}
.home-cover-head .about-sec-head {
  margin-bottom: 0;
}
.home-cover-head .u-rule {
  display:block;
  width:32px;
  height:4px;
  background:var(--gold);
  margin:10px 0 18px;
}
.home-cover-head-title {
  font-size: 32px; font-weight:700; color:var(--body-text);
  letter-spacing:-0.025em; line-height:1.1; margin:0;
}
.home-cover-head-sub {
  font-size:14px; color:var(--body-text-3); max-width:280px; line-height:1.72; text-align:right; flex-shrink:0;
}
.home-cover-grid { max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr 1fr; gap:0; }
.home-cover-card {
  padding: 0 40px 0;
  position:relative;
  display:flex; flex-direction:column; gap:0;
  transition: border-color 0.22s;
}
/* Inset vertical divider — starts and ends with card padding, never runs to edge */
.home-cover-card:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--rule-color);
}
.home-cover-card:first-child { padding-left: 0; }
.home-cover-card:last-child { padding-right: 0; }
.home-cover-card::before {
  display:none;
}
.home-cover-card::before { display:none; }
.home-cover-eyebrow {
  font-size:10px; font-weight:700; letter-spacing:0.2em;
  text-transform:uppercase; color:var(--gold); margin-bottom:14px; display:block;
}
.home-cover-card-top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:32px;
}
.home-cover-num {
  font-size:22px;
  font-weight:700;
  color:var(--gold);
  letter-spacing:-0.03em;
  line-height:1;
  display:block;
  margin-top:-1px;
}
.home-cover-title {
  font-size:22px; font-weight:700; color:var(--body-text);
  letter-spacing:-0.02em; line-height:1.24; margin:0 0 16px;
}
.home-cover-desc {
  font-size:14px; color:var(--body-text-2); line-height:1.82; flex:1; margin-bottom: 30px;
}
html[data-theme="dark"] .home-cover-desc { color: var(--body-text-2); }
.home-cover-link {
  display:inline-flex; align-items:center; gap:6px; align-self:flex-start;
  font-size:10px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold);
  background:none; border:none; padding:0;
  font-family:var(--f); cursor:pointer; transition:gap 0.2s, color 0.2s; margin-top:auto;
}
.home-cover-link:hover { gap:10px; color:var(--gold2) }
.home-cover-link svg { width:14px; height:14px; flex-shrink:0; }

/* ── HOME PAGE: HOW IT WORKS — 2-col, vertical timeline ─────── */
.home-how {
  background: #ffffff;
  padding: 80px 56px;
  border-top: 1px solid var(--rule-color);
  transition: background 0.3s;
}
html[data-theme="dark"] .home-how { background: var(--section-a) }
.home-how-left { padding-top:0; margin-top:0 }
.home-how-section-head {
  max-width: 1240px; margin: 0 auto 32px;
}
.home-how-inner {
  max-width: 1240px; margin: 0 auto;
  display: grid; grid-template-columns: 300px 1fr; gap: 80px; align-items: start;
}
.home-how-left .u-rule { display:block; width:32px; height:4px; background:var(--gold); margin:10px 0 18px }
.home-how-heading {
  font-size: clamp(20px,2vw,28px); font-weight:700; color:var(--body-text);
  letter-spacing:-0.025em; line-height:1.35; margin:0 0 20px;
}
.home-how-heading span { color:var(--gold) }
.home-how-left-title {
  font-size:32px; font-weight:700; color:var(--body-text);
  letter-spacing:-0.025em; line-height:1.1; margin:0 0 18px;
}
.home-how-left-sub { font-size:14px; color:#131B38; line-height:1.82 }
.home-how-grid {
  display:flex; flex-direction:column; gap:0;
}
.home-how-step {
  display:grid; grid-template-columns:36px 1fr; gap:20px;
  padding:24px 0;
  border-bottom:1px solid var(--rule-color);
  align-items:center;
}
.home-how-step:first-child { padding-top:0; }
.home-how-step:last-child { padding-bottom:0; }
.home-how-step:last-child { border-bottom:none; }
.home-how-step-num {
  width:36px; flex-shrink:0;
  color:var(--gold);
  font-size:22px; font-weight:700; letter-spacing:-0.03em;
  display:flex; align-items:center; justify-content:center;
  padding-top:0; line-height:1.2;
  position:relative;
  min-height:36px;
}
/* no connector lines */
.home-how-step:not(:last-child) .home-how-step-num::after { display:none }
html[data-theme="dark"] .home-how-step-num { color:var(--gold) }
.home-how-step-content { }
.home-how-title { font-size:16px; font-weight:700; color:var(--body-text); letter-spacing:-0.01em; line-height:1.2; margin-bottom:8px }
.home-how-desc  { font-size:14px; color:#131B38; line-height:1.82 }
/* Step rule: full-width divider line above each step except the first */
.home-how-step-rule {
  grid-column: 1 / -1;
  height: 1px;
  background: var(--rule-color);
  margin-bottom: 0;
  opacity: 0.85;
}
html[data-contrast="high"] .home-how-step-rule {
  opacity: 1!important;
  background: rgba(255,255,255,0.65)!important;
}
/* hide all old timeline/dot elements */
.home-how-ghost { display:none }
.home-how-step-label { display:none }
.home-how-step-num-wrap { display:none }
.home-how-step-circle { display:none }
.home-how-num { display:none }
.home-how-arrow { display:none }
.home-how-step-dot { display:none }
.home-how-step-dot-num { display:none }
@media(max-width:900px) {
  .hero { min-height:100svh; overscroll-behavior-y: none }
  .hero-h1 { font-size:56px }
  .home-why-inner-wrap { grid-template-columns:1fr; gap:40px }
  .home-why-section-head { margin-bottom:32px }
  .home-how-section-head { margin-bottom:32px }
  .home-cover { padding:56px 32px 56px }
  .home-cover-head { padding:56px 0 32px }
  .home-cover-head-sub { text-align:left; max-width:100% }
  .home-cover-grid { grid-template-columns:1fr }
  .home-cover-card { padding:36px 0 }
  .home-cover-card:first-child { padding-left:0; padding-top:0 }
  .home-cover-card:last-child { padding-right:0; padding-bottom:0 }
  /* Switch to horizontal dividers when stacked */
  .home-cover-card:not(:last-child)::after { top:auto; bottom:0; left:0; right:0; width:100%; height:1px }
  .home-how-inner { grid-template-columns:1fr; gap:36px }
}
@media(max-width:640px) {
  .notes-section-head-title,
  .about-sec-head-title {
    font-size:28px;
    line-height:1.05;
  }
  .about-intro-band {
    padding:56px 20px 32px;
  }
  .about-intro-band-inner {
    grid-template-columns:1fr;
    gap:20px;
  }
  .about-intro-copy {
    padding-right:0;
  }
  .about-intro-heading {
    font-size:36px;
    line-height:1.05;
    margin:4px 0 14px;
  }
  .about-intro-text {
    font-size:16px;
    line-height:1.82;
    margin-bottom:0;
  }
  .about-intro-panel {
    grid-template-columns:1fr 1fr;
  }
  .about-intro-stat {
    min-height:92px;
    padding:22px 18px;
  }
  .about-intro-stat-val {
    font-size:22px;
  }
  .home-why { padding:56px 20px }
  .home-cover { padding:0 20px 56px }
  .home-cover-card { padding:28px 0 }
  .home-cover-card:first-child { padding-top:0 }
  .home-cover-card:last-child { padding-bottom:0 }
  .home-how { padding:56px 20px }
  .about-overview { padding:56px 20px }
  .about-philosophy-wrap { padding:56px 20px }
  .about-audience { padding:56px 20px }
  .about-analyst-wrap { padding:56px 20px }
  .about-philosophy-band { padding:40px 20px }
  .about-overview .section-inner,
  .about-philosophy-wrap .section-inner,
  .about-audience .section-inner,
  .about-analyst-wrap .section-inner {
    width:100%;
    margin-left:0;
    margin-right:0;
    padding-left:0;
    padding-right:0;
  }
  .about-overview-wrap,
  .about-philosophy,
  .about-audience-wrap,
  .about-analyst-grid {
    width:100%;
    margin-left:0;
    margin-right:0;
    justify-items:start;
  }
  .about-overview-wrap .home-why-left,
  .about-overview-right,
  .about-phil-left,
  .about-phil-right,
  .about-audience-card,
  .about-analyst-card,
  .about-analyst-copy {
    width:100%;
    text-align:left;
  }
  .about-philosophy-band-q {
    padding:4px 46px 8px;
    font-size:20px;
    line-height:1.52;
  }
  .about-philosophy-band-q::before,
  .about-philosophy-band-q::after {
    font-size:34px;
    line-height:1;
  }
  .about-philosophy-band-q::before {
    left:8px;
    top:-2px;
  }
  .about-philosophy-band-q::after {
    right:8px;
    top:auto;
    bottom:-12px;
  }
  .about-philosophy-band-inner {
    max-width:1240px;
  }
}

/* ── HOME PAGE: QUOTE BAND ─────────────────────────────────── */
.home-quote-band {
  background: var(--navy);
  padding: 40px 56px;
  transition: background 0.3s;
}
html[data-theme="dark"] .home-quote-band { background: var(--section-dark) }
html[data-contrast="high"] .home-quote-band { background: #000000; border-top: 1px solid rgba(255,255,255,0.45); border-bottom: 1px solid rgba(255,255,255,0.45) }
html[data-contrast="high"] .home-cta-band h2 { color: #ffffff }
.home-quote-inner { max-width: 1240px; margin: 0 auto; }
.home-quote-body {
  display:flex; flex-direction:column; gap:10px;
  border-left: 3px solid var(--gold); padding-left: 28px; max-width: 760px;
}
.home-quote-mark { display:none }
.home-quote-text {
  font-size: clamp(18px, 1.8vw, 22px); font-weight:700;
  color: rgba(255,255,255,0.88); line-height: 1.5; letter-spacing: -0.01em;
  font-style: italic; margin:0;
}
.home-quote-text em { font-style: normal; color: var(--gold) }
.home-quote-attr {
  font-size: 10px; font-weight: 700; letter-spacing: 0.22em;
  text-transform: uppercase; color: rgba(255,255,255,0.35);
}
.home-quote-attr strong { color: rgba(255,255,255,0.58) }

/* ── HOME PAGE: SEBI CTA BAND ───────────────────────────────── */
.home-cta-band {
  background: #ffffff;
  padding: 80px 56px;
  position: relative; overflow: hidden;
}
html[data-theme="dark"] .home-cta-band { background: var(--section-a); }
.home-cta-band-grid { display:none }
.home-cta-band-inner {
  position: relative; z-index: 1;
  max-width: 1240px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr auto; gap: 80px; align-items: center;
}
.home-cta-band-text { display:flex; flex-direction:column; gap:0; width:100%; max-width:560px }
.home-cta-band h2 {
  font-size: clamp(26px, 3vw, 38px) !important; font-weight: 700; color: var(--navy);
  letter-spacing: -0.02em; margin-bottom: 14px; line-height: 1.15;
  max-width:560px;
  width:100%;
}
html[data-theme="dark"] .home-cta-band h2 { color: var(--body-text) }
.home-cta-band h2 span { color: var(--gold) }
.home-cta-band p {
  font-size: 16px; color: var(--body-text-2); line-height: 1.75;
  margin: 0; max-width:560px; width:100%;
}
.home-cta-band-actions {
  display: flex; flex-direction: column; gap: 12px; flex-shrink: 0;
}
.home-cta-band-actions .btn-fill,
.home-cta-band-actions .btn-ghost-gold { width: 240px; box-sizing: border-box; justify-content:center }
.home-cta-sebi {
  font-size: 10px; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--body-text-3);
  margin-top: 24px;
}
.home-cta-sebi strong { color: var(--gold) }

/* ── RESPONSIVE: HOME SECTIONS ──────────────────────────────── */
@media(max-width:640px) {
  .home-teaser { padding: 56px 20px }  .home-teaser-grid { grid-template-columns: 1fr }
  .home-quote-band { padding: 40px 20px }
  .home-quote-inner { grid-template-columns:1fr; gap:24px }
  .home-quote-img { width:100px; height:100px }
  .home-cta-band { padding: 56px 20px }
  .home-cta-band-inner { grid-template-columns:1fr; gap:32px }
  .home-cta-band-actions .btn-fill, .home-cta-band-actions .btn-ghost-gold { width:260px; box-sizing:border-box }
  .notes-cta { padding: 56px 20px }
  .notes-cta-inner { grid-template-columns:1fr; gap:32px }
  .notes-cta-actions .btn-fill, .notes-cta-actions .btn-ghost-gold { width:260px; box-sizing:border-box }
}

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media(max-width:1000px){
  .nav{border-bottom:1px solid #FFFFFF1A !important}
  .nav-links{display:none}
  .nav-hamburger{display:flex; order:3}
  .nav-drawer{display:block}
  .footer-top{grid-template-columns:repeat(3, minmax(0, 1fr));gap:28px 24px;padding-bottom:28px}
  .footer-brand-col{grid-column:1/-1}
  .footer-detail-grid{grid-template-columns:1fr 1fr;gap:30px 24px}
  .footer-detail-grid .footer-detail-col:last-child{grid-column:1/-1}
  .nav-login-mobile{order:1}
  .a11y-btn{order:2}
}
@media(min-width:641px) and (max-width:1000px){
  .nav{padding:0 28px}
  .nav-right{gap:8px}
  .theme-icon-btn{display:none}
  .a11y-btn{display:flex; order:2; margin-left:2px}
  .nav-login-mobile{
    display:inline-flex;
    order:1;
    height:34px;
    padding:0 15px;
    margin-left:8px;
    margin-right:4px;
    font-size:10px;
    text-transform:uppercase;
  }
  .nav-hamburger{order:3; margin-left:4px}
  .nav-hamburger{color:var(--nav-text)}
  .nav-hamburger:hover{color:var(--nav-text-h)}
  .nav-hamburger.open{color:#ffffff}
  .nav-drawer{
    display:block;
    top:72px;
    padding:0 40px;
    background:var(--nav-bg);
    border-top:none;
    border-bottom:none;
    box-shadow:none;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:max-height 0.32s ease, padding 0.32s ease, opacity 0.18s ease, visibility 0s linear 0.32s;
  }
  .nav-drawer.open{
    max-height:390px;
    padding:12px 40px 12px;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    overflow:hidden;
    display:block;
    transition:max-height 0.32s ease, padding 0.32s ease, opacity 0.18s ease, visibility 0s;
  }
  .nav-drawer a{
    display:flex;
    align-items:center;
    min-height:38px;
    padding:0 4px;
    border:0;
    border-bottom:1px solid #FFFFFF1A;
    background:transparent !important;
    background-color:transparent !important;
    color:#FFFFFFB8;
    font-size:16px;
    font-weight:600;
    letter-spacing:0.015em;
    text-transform:none;
  }
  .nav-drawer a:last-of-type{
    border-bottom:none;
  }
  .nav-drawer a.nav-cta{
    background:var(--gold)!important;
    color:#ffffff!important;
    border:none!important;
  }
  html[data-theme="dark"] .nav-drawer{
    background:#000000;
    border-bottom:none;
    box-shadow:none;
  }
  html[data-theme="dark"] .nav-drawer a{
    color:#FFFFFFB8;
    border-bottom-color:#FFFFFF1A;
  }
  html[data-theme="dark"] .nav-drawer a:hover,
  html[data-theme="dark"] .nav-drawer a.nav-active{
    color:var(--nav-text-h);
    background:transparent !important;
    background-color:transparent !important;
  }
  .nav-drawer a:hover,
  .nav-drawer a.nav-active{
    color:var(--nav-text-h);
    background:transparent !important;
    background-color:transparent !important;
  }
}
@media(max-width:640px){
  .hero-h1{font-size:36px; line-height:1.12; margin-bottom:16px}
  .hero{padding:0 24px; min-height:100svh; justify-content:space-between}
  .hero-inner{padding:56px 0 32px; justify-content:center}
  .hero-body{font-size:16px; margin-bottom:28px}
  .hero-actions{flex-direction:column; align-items:flex-start; gap:10px}
  .hero-actions .btn-fill, .hero-actions .btn-ghost-gold{width:260px; box-sizing:border-box}
  .hero-cred{margin-bottom:16px}
  .section-title{font-size:26px}
  .services-grid,.fw-grid,.notes-grid{grid-template-columns:1fr}
  .fw-item{ border-right:none; border-bottom:1px solid var(--nav-border) }
  .fw-item:last-child{ border-bottom:none }
  .footer-top{grid-template-columns:1fr}
  .creds-grid{grid-template-columns:1fr}
  .hero-strip-item:nth-child(n+3){display:none}
  .hero-compass{width:340px;height:340px;right:-120px;opacity:0.13}
  .nav-logo,
  .footer-brand-logo-wrap{gap:9px}
  .nav-logo-img,
  .footer-brand-img{width:44px;height:44px}
  .nav-brand-wrap,
  .footer-brand-text{gap:0;align-items:stretch;padding-top:0;max-width:calc(100vw - 220px)}
  .nav-brand{font-size:15px;letter-spacing:0.135em;margin-right:0}
  .footer-brand-name{font-size:15px;letter-spacing:0.145em;margin-right:0}
  .nav-brand-wrap .nav-gold-rule{height:1px;margin:4px 0 5px;width:99.25%;background:#B0893C !important;opacity:1;position:relative;z-index:2;flex:0 0 auto}
  .footer-brand-text .nav-gold-rule{height:1px;margin:4px 0 5px;width:99.25%}
  .nav-sub,
  .footer-brand-sub{font-size:6.4px;letter-spacing:0.105em;margin-right:0;text-align:left}
  .footer-brand-sub{font-size:7px;letter-spacing:0.078em}
  .footer-brand-logo-wrap{margin-bottom:16px}
  .section{padding:56px 20px}
  .nav{padding:0 16px}
  .disclaimer,footer{padding-left:20px;padding-right:20px}
  footer{padding-top:58px}
  .footer-top{grid-template-columns:1fr 1fr;gap:28px 24px;padding-bottom:24px}
  .footer-brand-col{grid-column:1/-1}
  .footer-brand-desc{max-width:100%}
  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:0;
    padding:0;
    text-align:left;
  }
  .footer-bottom > span:first-child{
    width:100%;
    padding:18px 0;
    line-height:1.35;
    display:flex;
    align-items:center;
    justify-content:flex-start;
  }
  .footer-bottom > span + span{
    width:100%;
    padding:0 0 18px;
    line-height:1.35;
  }
  .footer-socials { margin-top:20px }
  .footer-socials-title { margin-bottom:18px }
  .footer-social-links {
    display:grid;
    grid-template-columns:repeat(3, 36px);
    row-gap:12px;
    column-gap:18px;
    justify-items:center;
    justify-content:start;
  }
  .footer-social-link {
    width:36px;
    height:36px;
  }
  .footer-social-link i { font-size:18px }
  .footer-disclaimer{
    padding:26px 0;
    line-height:1.9;
  }
  .footer-analyst{
    padding:16px 0;
  }
  .footer-inner > .footer-analyst::before{
    margin-bottom:10px;
  }
  .footer-strip-block{
    padding:22px 0 0;
  }
  .footer-strip-title{
    margin-bottom:12px;
  }
  .footer-analyst.footer-analyst-inline{
    padding:0;
  }
  .footer-analyst-inline .footer-analyst-item,
  .footer-analyst-inline .footer-analyst-item-wide{
    padding:8px 0;
  }
  .footer-detail-grid{
    grid-template-columns:1fr;
    gap:22px;
    padding:24px 0;
  }
  .footer-detail-grid .footer-strip-title{
    margin-bottom:12px;
  }
  .footer-detail-list{
    gap:12px;
  }
  .footer-detail-line{
    flex-wrap:wrap;
    gap:6px 6px;
  }
  /* login panel responsive handled by .login-panel-right media query */
  .page-header{padding:40px 20px 32px}
  /* Mobile nav: scale down proportionally so tagline stays visible without crowding icons */
  .nav-inner{height:76px}
  .nav{border-bottom:1px solid #FFFFFF1A !important}
  html[data-theme="dark"] .nav,
  html[data-theme="dark"] footer,
  html[data-theme="dark"] .nav-drawer{
    background:#000000 !important;
  }
  .page-wrap{padding-top:76px}
  .nav-logo-img{display:block;width:44px;height:44px;pointer-events:none;user-select:none;-webkit-user-drag:none}
  .nav-brand{font-size:15px;letter-spacing:0.145em;margin-right:0}
  .nav-sub{font-size:7px;letter-spacing:0.078em;margin-right:0}
  .nav-brand-wrap{gap:0;max-width:calc(100vw - 220px);align-items:stretch}
  .nav-brand-wrap .nav-gold-rule{background:#B0893C !important;opacity:1;position:relative;z-index:2;flex:0 0 auto}
  .nav-logo{gap:8px}
  .nav-right{gap:5px}
  .nav-login-mobile{display:inline-flex; order:1; height:32px; padding:0 12px; margin-left:8px; margin-right:4px; font-size:10px; text-transform:uppercase}
  .theme-icon-btn{display:none}
  .a11y-btn{
    display:flex;
    order:2;
    width:32px;
    height:32px;
    margin-left:4px;
    margin-top:0;
    flex-shrink:0;
    color:var(--nav-text);
  }
  .a11y-btn.is-open{color:#ffffff}
  .appearance-icon-img{width:22px;height:22px;margin-left:4px}
  .nav-hamburger{order:3; margin-left:4px}
  .nav-drawer{
    display:block;
    position:fixed;
    top:76px;
    left:0;
    right:0;
    z-index:240;
    padding:0 18px;
    background:var(--nav-bg);
    border-top:none;
    border-bottom:none;
    box-shadow:none;
    overflow:hidden;
    box-sizing:border-box;
    max-height:0;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:max-height 0.28s ease, padding 0.28s ease, opacity 0.18s ease, visibility 0s linear 0.28s;
    overscroll-behavior:contain;
  }
  .nav-drawer.open{
    max-height:382px;
    padding:10px 18px 10px;
    overflow:hidden;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:max-height 0.28s ease, padding 0.28s ease, opacity 0.18s ease, visibility 0s;
  }
  .nav-drawer a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:44px;
    padding:0 4px;
    border:0;
    background:transparent !important;
    background-color:transparent !important;
    -webkit-tap-highlight-color:transparent;
    color:#FFFFFFB8;
    font-size:16px;
    font-weight:700;
    letter-spacing:0.008em;
    text-transform:none;
    border-bottom:1px solid #FFFFFF1A;
  }
  html[data-theme="dark"] .nav-drawer{
    background:#000000;
    border-bottom:none;
  }
  html[data-theme="dark"] .nav-drawer a{
    color:#FFFFFFB8;
    border-bottom-color:var(--rule-color);
  }
  html[data-theme="dark"] .nav-drawer a:hover,
  html[data-theme="dark"] .nav-drawer a.nav-active{
    color:var(--nav-text-h);
    background:transparent;
  }
  .nav-drawer a:last-of-type{
    border-bottom:none;
  }
  .nav-drawer a::after{
    content:none;
  }
  .nav-drawer a:hover,
  .nav-drawer a.nav-active{
    color:var(--nav-text-h);
    background:rgba(255,255,255,0.04);
  }
  .page-wrap{padding-top:77px}
  .nav-drawer{top:77px}
  /* Notes filter bar (mobile alignment) */
  .notes-filter-bar{display:flex;flex-wrap:nowrap;align-items:baseline;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;top:76px}
  .notes-filter-label{margin-right:0;flex:0 0 auto;white-space:nowrap;font-size:10px;letter-spacing:0.2em;line-height:1}
  .notes-filter-btn{margin-right:12px;display:inline-flex;align-items:baseline;padding:6px 0 10px;font-size:10px;letter-spacing:0.03em;line-height:1}
  .notes-filter-btn:last-of-type{margin-right:0}
  .notes-filter-btn::after{bottom:2px;height:2px}

  /* Blog page: feature & list wraps */
  #blog-feature-wrap { overflow:visible; padding-bottom:4px }
  #blog-list-wrap { margin-top:40px }

  /* Services page: proper square cards on mobile */
  .svc-offering-strip{padding:32px 16px}
  .svc-offering-inner{grid-template-columns:1fr;gap:16px}
  .svc-offering-item{padding:24px 20px;min-width:0}
  .svc-offering-num{font-size:10px;white-space:normal;overflow-wrap:anywhere}
  .svc-offering-title{font-size:16px}
  .svc-offering-desc{font-size:14px;overflow-wrap:anywhere}
  .svc-compass-bar{padding:40px 20px}
  /* Compass grid: 1-column vertical on mobile */
  .svc-compass-grid{grid-template-columns:1fr}
  .svc-compass-item{border-right:none;border-bottom:1px solid rgba(176,137,60,0.08);padding:22px 16px}
  .svc-compass-item:last-child{border-bottom:none}
  .svc-compass-num{font-size:32px}
  /* Compass header: stack title + para on mobile */
  .svc-compass-header-row{flex-direction:column!important}
  .svc-compass-header-desc{max-width:100%!important;padding-top:0!important}
}

/* ── ABOUT PAGE V9 ENHANCEMENTS ──────────────────────────────── */
.about-hero {
  background: var(--hero-bg);
  position: relative; overflow: hidden;
  padding: 80px 56px 72px;
  border-bottom: 1px solid var(--nav-border);
}
.about-hero-grid {
  position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(176,137,60,0.08) 1px,transparent 1px);
  background-size:28px 28px;pointer-events:none;opacity:0.4;
}
.about-hero-glow {
  position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 60% at 30% 50%,rgba(0,20,80,0.7) 0%,transparent 70%);
  pointer-events:none;
}
.about-hero-inner {
  max-width:1240px;margin:0 auto;position:relative;z-index:1;
  display:grid;grid-template-columns:1fr 380px;gap:80px;align-items:center;
}
.about-hero-eyebrow {
  display:flex;align-items:center;gap:12px;margin-bottom:20px;
}
.about-hero-eyebrow-line {
  width:28px;height:2px;background:var(--gold);flex-shrink:0;
}
.about-hero-eyebrow span {
  font-size:10px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--gold);
}
.about-hero-h1 {
  font-size:46px;font-weight:700;color:#ffffff;line-height:1.1;
  letter-spacing:-0.02em;margin-bottom:20px;
}
.about-hero-h1 span { color:var(--gold) }
.about-hero-p {
  font-size:14px;color:#131B38;line-height:1.82;max-width:580px;
  margin-bottom:32px;
}
.about-hero-badges {
  display:flex;gap:12px;flex-wrap:wrap;
}
.about-hero-badge {
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 16px;
  border:1px solid rgba(176,137,60,0.3);
  font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
  color:rgba(255,255,255,0.7);
}
.about-hero-badge svg {
  width:14px;height:14px;fill:var(--gold);flex-shrink:0;
}
.about-stat-box {
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(176,137,60,0.18);
  padding:36px 32px;
  display:grid;grid-template-columns:1fr 1fr;gap:2px;
  align-self:center;
}
.about-stat {
  padding:24px 20px;border-bottom:1px solid rgba(176,137,60,0.1);border-right:1px solid rgba(176,137,60,0.1);
}
.about-stat:nth-child(even){border-right:none}
.about-stat:nth-last-child(-n+2){border-bottom:none}
.about-stat-val {
  font-size:28px;font-weight:700;color:var(--gold);letter-spacing:-0.01em;line-height:1;margin-bottom:7px;
}
.about-stat-lbl {
  font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
  color:rgba(255,255,255,0.4);line-height:1.3;
}

/* About philosophy section */
.about-philosophy {
  display:grid;
  grid-template-columns:1.05fr 0.95fr;
  gap:48px;
  align-items:start;
}
.about-phil-left,
.about-phil-right {
  min-width:0;
}
.about-philosophy-summary {
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-bottom:22px;
}
.about-phil-left h2 {
  font-size:30px;
  font-weight:700;
  color:var(--body-text);
  letter-spacing:-0.02em;
  margin-bottom:0;
  line-height:1.12;
}
.about-phil-left h2 span { color:var(--gold) }
.about-phil-left p {
  font-size:14px;
  color:#131B38;
  line-height:1.82;
  margin-bottom:16px;
  text-align:left;
}
.about-philosophy-band {
  background:var(--navy);
  padding:46px 56px;
  margin:0;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  box-sizing:border-box;
}
html[data-theme="dark"] .about-philosophy-band { background:var(--section-dark); }
.about-philosophy-band-inner {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  max-width:980px;
  margin:0 auto;
  text-align:center;
}
.about-philosophy-band-q {
  font-size:clamp(20px, 2.25vw, 28px);
  font-weight:700;
  font-style:italic;
  line-height:1.45;
  color:#ffffff;
  margin:0;
  letter-spacing:-0.02em;
  position:relative;
  padding:0 78px;
  text-align:center;
}
.about-philosophy-band-q::before,
.about-philosophy-band-q::after {
  position:absolute;
  top:-4px;
  font-family:Georgia, "Times New Roman", serif;
  font-size:72px;
  line-height:1;
  color:rgba(176,137,60,0.5);
}
.about-philosophy-band-q::before {
  content:'“';
  left:0;
}
.about-philosophy-band-q::after {
  content:'”';
  right:0;
}
.about-philosophy-band-attr {
  font-size:10px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--gold);
}
.about-overview-wrap {
  display:grid;
  grid-template-columns:320px 1fr;
  gap:80px;
  align-items:start;
}
.about-overview-wrap .home-why-left {
  max-width:none;
}
.about-overview-wrap .home-why-heading {
  font-size: clamp(20px,2vw,28px);
  line-height:1.35;
  margin-bottom:20px;
}
.about-overview-wrap .home-why-intro {
  font-size:14px;
  line-height:1.82;
  max-width:none;
}
.about-overview-wrap .home-why-intro + .home-why-intro {
  margin-top:18px;
}
.about-overview-right {
  padding-left:0;
}
.about-overview-points {
  display:flex;
  flex-direction:column;
  gap:0;
}
.about-overview-point {
  display:grid;
  grid-template-columns:36px 1fr;
  gap:20px;
  padding:24px 0;
  border-top:1px solid var(--rule-color);
  align-items:center;
}
.about-overview-point:first-child {
  border-top:none;
  padding-top:0;
}
.about-overview-point-num {
  font-size:22px;
  font-weight:700;
  color:var(--gold);
  letter-spacing:-0.03em;
  line-height:1.2;
  flex-shrink:0;
  padding-top:0;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
}
.about-overview-point-body {
  min-width:0;
}
.about-overview-point-title {
  font-size:16px;
  font-weight:700;
  color:var(--body-text);
  letter-spacing:-0.01em;
  margin:0 0 7px;
  line-height:1.2;
}
.about-overview-point-text {
  font-size:14px;
  line-height:1.82;
  color:#131B38;
  margin:0;
}
.about-phil-left > p:last-child { margin-bottom:0; }
.about-phil-right {
  padding-top:2px;
}
.about-phil-right .about-sec-head {
  margin-bottom:18px;
}
.about-philosophy-summary h2 {
  font-size:30px;
  font-weight:700;
  color:var(--body-text);
  letter-spacing:-0.02em;
  line-height:1.12;
  margin:0 0 10px;
  max-width:540px;
}
.about-philosophy-summary h2 span { color:var(--gold); }
.about-principles-grid { display:flex; flex-direction:column; gap:0; }
.about-principle {
  display:grid;
  grid-template-columns:36px 1fr;
  gap:20px;
  padding:24px 0;
  border-top:1px solid var(--rule-color);
  align-items:center;
}
.about-principle:hover {
  transform:none;
  box-shadow:none;
}
.about-principle:first-child { padding-top:0; border-top:none; }
.about-principle-num {
  width:36px;
  min-width:36px;
  padding-top:0;
  font-size:22px;
  font-weight:700;
  color:var(--gold);
  letter-spacing:-0.03em;
  line-height:1.2;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
}
.about-principle-body h4 {
  font-size:16px;
  font-weight:700;
  color:var(--body-text);
  letter-spacing:-0.01em;
  margin-bottom:7px;
}
.about-principle-body p {
  font-size:14px;
  color:#131B38;
  line-height:1.82;
  text-align:left;
  margin-bottom:0;
}
.about-principle:last-child { padding-bottom:0; }
.about-audience-wrap {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border:1px solid #FFFFFF1A;
  background:var(--section-dark);
  overflow:visible;
  isolation:isolate;
}
.about-audience {
  background:var(--navy);
  color:#ffffff;
}
html[data-theme="dark"] .about-audience { background:var(--section-dark); }
.about-audience .about-sec-head-title { color:#ffffff; }
.about-audience .about-sec-head-line { background:var(--nav-border); }
.about-audience-card {
  background:var(--section-dark);
  border-right:1px solid #FFFFFF1A;
  padding:38px 30px;
  position:relative;
  overflow:hidden;
  z-index:0;
  transition:transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}
.about-audience-card:hover {
  transform:translateY(-2px);
  z-index:2;
  background:rgba(255,255,255,0.02);
  box-shadow:inset 0 0 0 1px rgba(176,137,60,0.16), 0 10px 20px rgba(0,0,0,0.14);
}
@media (hover:none) {
  .fw-item,
  .about-audience-card {
    transform:none !important;
    box-shadow:none !important;
    background:transparent !important;
  }
}
.about-audience-card:last-child {
  border-right:none;
}
.about-audience-card h4 {
  font-size:10px;
  font-weight:700;
  color:var(--gold);
  letter-spacing:0.18em;
  line-height:1;
  text-transform:uppercase;
  margin:18px 0 12px;
  max-width:200px;
}
.about-audience-icon-slot {
  width:40px;
  height:40px;
  margin-bottom:20px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.about-audience-icon-slot::before {
  content:'';
  width:40px;
  height:4px;
  background:var(--gold);
  border-radius:0;
  opacity:0.95;
}
.about-audience-card p {
  font-size:var(--ra-type-body);
  line-height:var(--ra-type-body-lh);
  color:#FFFFFFB8;
  margin:0;
}
@media(min-width:901px) {
  .about-philosophy {
    align-items:stretch;
  }
}
@media(max-width:900px) {
  .about-overview-wrap { grid-template-columns:1fr; gap:40px; }
  .about-overview-right {
    border-left:none;
    padding-left:0;
    border-top:none;
    padding-top:0;
  }
  .about-philosophy {
    grid-template-columns:1fr;
    gap:40px;
  }
  .about-phil-right {
    padding-top:0;
  }
  .about-analyst-grid {
    grid-template-columns:1fr;
    gap:40px;
  }
  .about-analyst-copy {
    max-width:none;
  }
  .about-audience-wrap { grid-template-columns:1fr; }
  .about-audience-card {
    padding:38px 30px;
    border-right:none;
    border-top:1px solid #FFFFFF1A;
  }
  .about-audience-card:first-child { border-top:none; }
}
@media(max-width:640px) {
  .about-overview { padding:56px 20px 56px }
  .about-philosophy-wrap { padding:56px 20px 56px }
  .about-audience { padding:56px 20px 56px }
  .about-analyst-wrap { padding:56px 20px 56px }
  .about-overview .section-inner,
  .about-philosophy-wrap .section-inner,
  .about-audience .section-inner,
  .about-analyst-wrap .section-inner {
    padding-left:0;
    padding-right:0;
  }
  .about-overview-wrap { gap:40px; }
  .about-overview-right {
    padding-top:0;
  }
  .about-overview-points {
    margin-top:0;
  }
  .about-overview-point:first-child {
    padding-top:0;
    border-top:none;
  }
  .about-philosophy {
    gap:40px;
  }
  .about-philosophy-summary {
    gap:14px;
    margin-bottom:22px;
  }
  .about-philosophy-summary h2 {
    font-size:clamp(20px,2vw,28px);
    line-height:1.35;
  }
  .about-principle {
    padding:24px 0;
    gap:20px;
  }
  .about-principle-num {
    width:36px;
    min-width:36px;
    font-size:22px;
  }
  .about-principle-body h4 {
    font-size:14px;
    margin-bottom:6px;
  }
  .about-principle-body p {
    font-size:14px;
    line-height:1.82;
  }
  .about-audience-wrap { gap:0; }
  .about-audience-card {
    padding:36px 20px;
    border-right:none;
    border-top:1px solid #FFFFFF1A;
  }
  .about-audience-card:first-child { border-top:none; }
  .about-audience-card h4 { max-width:none; }
  .about-audience-icon-slot { width:36px; height:36px; margin-bottom:16px; }
  .about-audience-icon-slot::before { width:38px; }
  .about-audience-card p { line-height:1.82; }
  .about-analyst-grid { grid-template-columns:1fr; gap:40px; }
  .about-analyst-card { padding:28px 20px; }
  .about-analyst-name { font-size:18px; }
  .about-analyst-copy p { line-height:1.82; }
  .about-philosophy-band { padding:40px 20px; }
  .about-philosophy-band-q {
    padding:6px 30px 12px;
    font-size:18px;
    line-height:1.56;
  }
  .about-philosophy-band-q::before,
  .about-philosophy-band-q::after {
    font-size:24px;
    line-height:1;
  }
  .about-philosophy-band-q::before {
    left:2px;
    top:0;
  }
  .about-philosophy-band-q::after {
    right:2px;
    top:auto;
    bottom:-6px;
  }
  .about-overview-point,
  .about-principle {
    gap:20px;
    align-items:center;
  }
  .about-overview-point-num,
  .about-principle-num {
    width:36px;
    min-width:36px;
    font-size:22px;
    padding-top:0;
  }
}

.about-principles-wrap {
  background:var(--section-a);
  padding:80px 56px;
  border-bottom:1px solid var(--rule-color);
}
@media(max-width:640px) {
  .about-overview { padding:56px 20px !important; }
  .about-philosophy-wrap { padding:56px 20px !important; }
  .about-audience { padding:56px 20px !important; }
  .about-analyst-wrap { padding:56px 20px !important; }
  .about-overview .section-inner,
  .about-philosophy-wrap .section-inner,
  .about-audience .section-inner,
  .about-analyst-wrap .section-inner {
    padding-left:0 !important;
    padding-right:0 !important;
  }
}
/* Analyst section v9 */
.analyst-v9-grid {
  display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:40px;align-items:stretch;
}
.analyst-v9-card {
  background:var(--section-b);
  border:1px solid var(--card-border);
  border-left:3px solid var(--gold);
  overflow:hidden;
  display:flex;flex-direction:column;
}
html[data-theme="dark"] .analyst-v9-card {
  background:var(--card-bg);border-color:var(--card-border);border-left-color:var(--gold);
}
html[data-contrast="high"] .analyst-v9-card {
  background:var(--card-bg);border-color:rgba(255,255,255,0.55);border-width:2px;border-left-width:3px;border-left-color:var(--gold);
}
.analyst-v9-card-top {
  padding:24px 24px 20px;
  border-bottom:1px solid var(--card-border);
}
.analyst-v9-name {
  font-size:20px;font-weight:700;color:var(--body-text);letter-spacing:-0.01em;margin-bottom:6px;
}
.analyst-v9-desg {
  font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--gold);
}
.analyst-v9-regs {
  padding:20px 24px;
  display:flex;flex-direction:column;gap:16px;
  flex:1;justify-content:flex-start;
}
.analyst-v9-reg {
  display:flex;flex-direction:column;gap:4px;
}
.analyst-v9-reg-lbl {
  font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--body-text-3);
}
.analyst-v9-reg-val {
  font-size:14px;font-weight:700;color:var(--body-text);
}
html[data-theme="dark"] .analyst-v9-reg-lbl { color:var(--body-text-3) }
html[data-theme="dark"] .analyst-v9-reg-val { color:var(--body-text) }
html[data-theme="dark"] .analyst-v9-name { color:var(--body-text) }
html[data-contrast="high"] .analyst-v9-reg-lbl { color:var(--gold) }
html[data-contrast="high"] .analyst-v9-reg-val { color:#ffffff }
html[data-contrast="high"] .analyst-v9-name { color:#ffffff }
.analyst-v9-right {
  display:flex;flex-direction:column;
}
.analyst-v9-right p {
  font-size:14px;color:var(--body-text-2);line-height:1.88;margin-bottom:18px;
  text-align:left;
  max-width:720px;
}
.analyst-v9-right > p:first-of-type {
  margin-top:-6px;
}
.analyst-v9-right > p:last-of-type {
  margin-bottom:0;
}
.analyst-v9-cert {
  background:var(--section-b);
  border:1px solid var(--rule-color);
  border-left:4px solid var(--gold);
  padding:16px 20px;
  margin-top:28px;
}
html[data-theme="dark"] .analyst-v9-cert { background:var(--card-bg) }
html[data-contrast="high"] .analyst-v9-cert { background:var(--card-bg);border-color:rgba(255,255,255,0.65);border-left-color:var(--gold) }
.analyst-v9-cert-label {
  font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--gold);margin-bottom:8px;
}
.analyst-v9-cert p {
  font-size:14px;color:var(--body-text-2);line-height:1.75;font-style:italic;margin:0;
}

/* Creds grid v9 */
.about-creds-row {
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border:1px solid var(--rule-color);margin-top:0;
}
.about-cred-cell {
  padding:24px 22px;border-right:1px solid var(--rule-color);
}
.about-cred-cell:last-child {border-right:none}
.about-cred-cell-label {
  font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--body-text-3);margin-bottom:8px;
}
.about-cred-cell-val {
  font-size:14px;font-weight:700;color:var(--body-text);line-height:1.3;
}
html[data-theme="dark"] .about-creds-row { border-color:var(--rule-color) }
html[data-theme="dark"] .about-cred-cell { border-color:var(--rule-color) }

/* Compass section on about */
.about-compass-section {
  background:var(--section-dark);
  padding:64px 56px;
  border-top:1px solid var(--nav-border);
  border-bottom:1px solid var(--nav-border);
}
.about-compass-inner {
  max-width:1240px;margin:0 auto;
}
.about-compass-grid {
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:rgba(176,137,60,0.15);
  margin-top:0;
}
.about-compass-card {
  background:var(--section-dark);
  padding:32px 28px;
}
.about-compass-num {
  font-size:38px;font-weight:700;color:rgba(176,137,60,0.62);letter-spacing:-0.03em;
  line-height:1;margin-bottom:16px;
}
html[data-theme="dark"] .about-compass-num { color:rgba(176,137,60,0.75) }
html[data-contrast="high"] .about-compass-num { color:rgba(255,212,0,0.8) }
.about-compass-title {
  font-size:14px;font-weight:700;color:#ffffff;margin-bottom:10px;letter-spacing:0.01em;
}
.about-compass-desc {
  font-size:14px;color:rgba(255,255,255,0.65);line-height:1.8;
}

/* Regulatory strip */
.about-reg-strip {
  background:var(--section-b);
  padding:40px 56px;
  border-bottom:1px solid var(--rule-color);
}
html[data-theme="dark"] .about-reg-strip {background:var(--card-bg)}
.about-reg-strip-inner {
  max-width:1240px;margin:0 auto;
  display:flex;align-items:center;gap:48px;flex-wrap:wrap;
}
.about-reg-item {
  display:flex;flex-direction:column;gap:4px;
}
.about-reg-item-lbl {
  font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--body-text-3);
}
.about-reg-item-val {
  font-size:14px;font-weight:700;color:var(--body-text);
}
.about-reg-divider {
  width:1px;height:40px;background:var(--rule-color);flex-shrink:0;
}
.about-reg-disclaimer {
  flex:1;min-width:280px;
  font-size:12px;color:var(--body-text-3);line-height:1.75;
}

/* ── ABOUT PAGE: REPORTS-STYLE SECTION HEADINGS ──────────────────── */
/* Mirrors .notes-section-head from the Sample Reports page exactly   */
.about-sec-head {
  margin:0 0 var(--ra-underline-mb);
  display:flex; align-items:flex-end; gap:18px;
}
.about-sec-head-title { white-space:nowrap; flex-shrink:0; }
.about-sec-head-line {
  flex:1; height:1px; background:var(--rule-color);
  opacity:0.9; margin-bottom:2px;
}
/* Light variant for dark-background sections */
.about-sec-head-light .about-sec-head-title {
  color:rgba(255,255,255,0.88);
}
.about-sec-head-light .about-sec-head-line {
  background:rgba(176,137,60,0.18);
}
.framework .about-sec-head-light .about-sec-head-line {
  background:#FFFFFF1A;
}

/* ── ABOUT PAGE: IDENTITY HERO (replaces generic page-header) ─────── */
.about-intro-band {
  background:var(--section-a);
  border-bottom:1px solid var(--rule-color);
  padding:56px 56px 36px;
}
.about-intro-band-inner {
  max-width:1240px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,360px);
  gap:36px;
  align-items:stretch;
}
.about-intro-copy { padding-right:8px; }
.about-intro-heading {
  font-size:34px;
  line-height:1.08;
  letter-spacing:-0.03em;
  color:var(--body-text);
  margin:4px 0 18px;
}
.about-intro-text {
  font-size:16px;
  line-height:1.9;
  color:var(--body-text-2);
  margin:0 0 16px;
}
.about-intro-panel {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:var(--rule-color);
  align-self:start;
}
.about-intro-stat {
  background:var(--card-bg);
  padding:26px 22px;
  min-height:118px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.about-intro-stat-val {
  font-size:24px;
  font-weight:700;
  color:var(--gold);
  letter-spacing:-0.02em;
  line-height:1;
  margin-bottom:8px;
}
.about-intro-stat-lbl {
  font-size:10px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--body-text-3);
}
.about-values-strip {
  background:var(--section-b);
  border-bottom:1px solid var(--rule-color);
  padding:0 56px;
}
.about-values-grid {
  max-width:1240px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border-left:1px solid var(--rule-color);
}
.about-value-card {
  padding:28px 30px;
  border-right:1px solid var(--rule-color);
  border-top:1px solid var(--rule-color);
  background:var(--card-bg);
}
.about-value-num {
  font-size:36px;
  font-weight:700;
  color:rgba(176,137,60,0.22);
  line-height:1;
  margin-bottom:14px;
}
.about-value-title {
  font-size:12px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  margin-bottom:10px;
  color:var(--body-text);
}
.about-value-desc {
  font-size:14px;
  line-height:1.78;
  color:var(--body-text-3);
}
.about-overview {
  background:var(--section-a);
  padding:80px 56px;
}
.about-overview-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.about-philosophy-wrap { padding:80px 56px; border-bottom:1px solid var(--rule-color); background:var(--section-b); }
.about-audience { padding:80px 56px; border-bottom:1px solid var(--rule-color); }
.about-philosophy,
.about-analyst-grid {
  position:relative;
}
.about-philosophy::after,
.about-audience .section-inner::after,
.about-analyst-grid::after {
  display:none;
}
.about-quote-card {
  border:1px solid var(--card-border);
  border-left:4px solid var(--gold);
  background:var(--section-b);
  padding:24px 22px;
  margin-bottom:22px;
}
.about-quote-card p {
  font-size:22px;
  font-style:italic;
  line-height:1.55;
  color:var(--body-text);
  margin:0 0 10px;
}
.about-quote-card-attr {
  font-size:10px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--gold);
}
.about-analyst-wrap { padding:80px 56px; border-bottom:1px solid var(--rule-color); background:var(--section-b); }
.about-analyst-grid {
  display:grid;
  grid-template-columns:320px 1fr;
  gap:80px;
  align-items:stretch;
}
.about-analyst-card {
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-left:4px solid var(--gold);
  padding:32px 28px;
  box-shadow:0 4px 24px rgba(0,0,0,0.07), 0 1px 4px rgba(0,0,0,0.04);
  position:relative;
  overflow:hidden;
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  transition:transform 0.25s cubic-bezier(0.22,1,0.36,1),
             border-color 0.2s,
             box-shadow 0.25s cubic-bezier(0.22,1,0.36,1);
}
html[data-theme="dark"] .about-analyst-card {
  background:var(--card-bg);
  border-color:var(--card-border);
  border-left-color:var(--gold);
  box-shadow:0 4px 32px rgba(0,0,0,0.32), 0 1px 6px rgba(0,0,0,0.18);
}
.about-analyst-card:hover {
  transform:translateY(-4px);
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.18),
    0 8px 32px rgba(176,137,60,0.16),
    0 18px 48px rgba(0,0,0,0.10),
    0 3px 8px rgba(0,0,0,0.06);
}
html[data-theme="dark"] .about-analyst-card:hover {
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.22),
    0 8px 32px rgba(176,137,60,0.18),
    0 18px 48px rgba(0,0,0,0.40),
    0 3px 8px rgba(0,0,0,0.22);
}
.about-analyst-name {
  font-size:20px;
  font-weight:700;
  color:var(--body-text);
  letter-spacing:-0.01em;
  line-height:1.25;
  margin-bottom:6px;
}
.about-analyst-desg {
  font-size:10px;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--gold);
  line-height:1.5;
  margin-bottom:34px;
}
.about-analyst-meta {
  display:grid;
  gap:0;
  margin-top:0;
}
.about-analyst-meta-item {
  padding:18px 0;
  border-top:1px solid var(--rule-color);
}
.about-analyst-meta-item:first-child {
  padding-top:0;
  border-top:none;
}
.about-analyst-meta-item:last-child {
  padding-bottom:0;
}
.about-analyst-meta-lbl {
  display:block;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--body-text-3);
  margin-bottom:6px;
  line-height:1.45;
}
.about-analyst-meta-val {
  display:block;
  font-size:14px;
  font-weight:600;
  color:var(--body-text);
  line-height:1.55;
}
.about-analyst-copy p {
  font-size:14px;
  line-height:1.82;
  color:#131B38;
  margin-bottom:18px;
  max-width:none;
}
.about-analyst-copy p:last-child { margin-bottom:0; }

/* Final About spacing pass: keep About aligned with Home section rhythm. */
.about-overview,
.about-philosophy-wrap,
.about-audience,
.about-analyst-wrap {
  padding:80px 56px;
}
.about-overview-wrap,
.about-analyst-grid {
  grid-template-columns:320px 1fr;
  gap:80px;
}
.about-philosophy {
  grid-template-columns:320px 1fr;
  gap:80px;
}
.about-overview-point {
  padding:24px 0;
}
.about-principle {
  padding:24px 0;
}
.about-audience-card {
  padding:38px 30px;
}

@media(max-width:900px) {
  .about-overview-wrap,
  .about-philosophy,
  .about-analyst-grid {
    grid-template-columns:1fr;
    gap:40px;
  }
  .about-overview-right {
    border-top:none;
    padding-top:0;
  }
  .about-audience-wrap {
    grid-template-columns:1fr;
  }
  .about-audience-card {
    border-right:none;
    border-top:1px solid #FFFFFF1A;
    padding:38px 30px;
  }
  .about-audience-card:first-child {
    border-top:none;
  }
}

@media(max-width:640px) {
  .about-overview,
  .about-philosophy-wrap,
  .about-audience,
  .about-analyst-wrap {
    padding:56px 20px !important;
  }
  .about-overview .section-inner,
  .about-philosophy-wrap .section-inner,
  .about-audience .section-inner,
  .about-analyst-wrap .section-inner {
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .about-overview-wrap,
  .about-philosophy,
  .about-analyst-grid {
    gap:40px;
  }
  .about-overview-point,
  .about-principle {
    padding:24px 0;
    gap:20px;
    align-items:center;
  }
  .about-overview-point:first-child,
  .about-principle:first-child {
    padding-top:0;
  }
  .about-overview-point:last-child,
  .about-principle:last-child {
    padding-bottom:0;
  }
  .about-overview-point-num,
  .about-principle-num {
    width:36px;
    min-width:36px;
    font-size:22px;
    padding-top:0;
  }
  .about-audience-card {
    padding:38px 30px;
  }
  .about-audience-icon-slot {
    width:40px;
    height:40px;
    margin-bottom:20px;
  }
  .about-audience-icon-slot::before {
    width:40px;
  }
  .about-analyst-grid {
    gap:32px;
  }
  .about-analyst-card {
    padding:32px 28px;
  }
  .about-philosophy-band {
    padding:40px 20px;
  }
}

/* Sitewide readable copy scale. Keep labels/buttons small, lift paragraph text. */
.about-body p,
.svc-desc,
.fw-desc,
.analyst-right p,
.contact-intro-sub,
.contact-intro-desc,
.contact-left p,
.faq-lead-sub,
.faq-a,
.faq-svc-lead,
.faq-svc-point-desc,
.home-why-intro,
.home-why-desc,
.home-cover-head-sub,
.home-cover-desc,
.home-how-left-sub,
.home-how-desc,
.home-cta-band p,
.notes-cta p,
.about-hero-p,
.about-overview-wrap .home-why-intro,
.about-overview-point-text,
.about-phil-left p,
.about-principle-body p,
.about-audience-card p,
.about-analyst-copy p,
.about-value-desc,
.about-identity-p,
.about-diff-desc,
.pricing-disclaimer {
  font-size:16px;
  line-height:1.82;
}
.about-identity {
  background:var(--hero-bg);
  position:relative; overflow:hidden;
  padding:72px 56px 64px;
  border-bottom:1px solid var(--nav-border);
}
.about-identity-grid-bg {
  position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(176,137,60,0.08) 1px,transparent 1px);
  background-size:28px 28px;pointer-events:none;opacity:0.35;
}
.about-identity-glow {
  position:absolute;inset:0;
  background:radial-gradient(ellipse 65% 55% at 20% 50%,rgba(0,20,80,0.72) 0%,transparent 68%);
  pointer-events:none;
}
.about-identity-inner {
  max-width:1240px;margin:0 auto;position:relative;z-index:1;
  display:grid;grid-template-columns:1fr 360px;gap:72px;align-items:center;
}
.about-identity-eyebrow {
  display:flex;align-items:center;gap:12px;margin-bottom:22px;
}
.about-identity-eyebrow-line {
  width:28px;height:2px;background:var(--gold);flex-shrink:0;
}
.about-identity-eyebrow span {
  font-size:10px;font-weight:700;letter-spacing:0.24em;text-transform:uppercase;
  color:var(--gold);
}
.about-identity-h1 {
  font-size:44px;font-weight:700;color:#ffffff;line-height:1.1;
  letter-spacing:-0.02em;margin-bottom:18px;
}
.about-identity-h1 span { color:var(--gold) }
.about-identity-p {
  font-size:16px;color:rgba(255,255,255,0.58);line-height:1.85;max-width:560px;
  margin-bottom:32px;
}
.about-identity-badges {
  display:flex;gap:10px;flex-wrap:wrap;
}
.about-identity-badge {
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 14px;
  border:1px solid rgba(176,137,60,0.28);
  font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
  color:rgba(255,255,255,0.65);
}
.about-identity-badge svg {
  width:13px;height:13px;fill:var(--gold);flex-shrink:0;
}
/* Stat panel on the right */
.about-identity-stats {
  background:rgba(255,255,255,0.025);
  border:1px solid rgba(176,137,60,0.16);
  display:grid;grid-template-columns:1fr 1fr;gap:0;
}
.about-identity-stat {
  padding:22px 20px;
  border-bottom:1px solid rgba(176,137,60,0.09);
  border-right:1px solid rgba(176,137,60,0.09);
}
.about-identity-stat:nth-child(even){border-right:none}
.about-identity-stat:nth-last-child(-n+2){border-bottom:none}
.about-identity-stat-val {
  font-size:26px;font-weight:700;color:var(--gold);
  letter-spacing:-0.02em;line-height:1;margin-bottom:7px;
}
.about-identity-stat-lbl {
  font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
  color:rgba(255,255,255,0.35);line-height:1.35;
}

/* ── ABOUT PAGE: DIFFERENTIATOR STRIP ─────────────────────────────── */
.about-diff-strip {
  background:var(--section-b);
  border-top:1px solid var(--rule-color);
  border-bottom:1px solid var(--rule-color);
  padding:36px 56px;
  transition:background 0.3s;
}
html[data-theme="dark"] .about-diff-strip { background:var(--card-bg) }
.about-diff-inner {
  max-width:1240px;margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-left:1px solid var(--rule-color);
}
.about-diff-item {
  padding:28px 32px;
  border-right:1px solid var(--rule-color);
}
.about-diff-num {
  font-size:38px;font-weight:700;
  color:rgba(176,137,60,0.18);letter-spacing:-0.03em;
  line-height:1;margin-bottom:14px;
}
html[data-theme="dark"] .about-diff-num { color:rgba(176,137,60,0.22) }
.about-diff-title {
  font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--body-text);margin-bottom:10px;padding-bottom:10px;
  border-bottom:1px solid var(--rule-color);
}
.about-diff-title::before {
  content:''; display:block; width:20px; height:2px;
  background:var(--gold); margin-bottom:10px;
}
.about-diff-desc {
  font-size:14px;color:var(--body-text-3);line-height:1.78;
}


/* ── TABLET: keep contact analyst card pinned to content height ── */
@media(min-width:641px) and (max-width:1000px) {
  .contact-top-grid     { align-items:start }
  /* Services offering: 2-col on tablet */
  .svc-offering-strip { padding:40px 32px }
  .svc-offering-inner { grid-template-columns:repeat(2,1fr); gap:18px }
}

@media(max-width:640px) {
  .contact-top-grid {grid-template-columns:1fr;gap:40px}
  .analyst-v9-grid {grid-template-columns:1fr;gap:32px}
  .about-analyst-grid { grid-template-columns:1fr; gap:24px }
  .about-analyst { padding-top: 4px }
}

/* ── SERVICES PAGE V2 ────────────────────────────────────────── */
/* What We Offer strip */
.svc-offering-strip {
  background:var(--section-b);
  border-top:1px solid var(--rule-color);
  border-bottom:1px solid var(--rule-color);
  padding:48px 56px;
  transition:background 0.3s;
}
html[data-theme="dark"] .svc-offering-strip { background:var(--card-bg) }
.svc-offering-inner {
  max-width:1240px; margin:0 auto;
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
}
.svc-offering-item {
  padding:32px 28px;
  border:1px solid var(--rule-color);
  border-top:3px solid var(--gold);
  background:var(--card-bg);
  position:relative;
  display:flex; flex-direction:column;
  transition:box-shadow 0.2s, border-top-color 0.2s;
}
html[data-theme="dark"] .svc-offering-item { background:var(--card-bg) }
.svc-offering-item:hover { box-shadow:0 4px 20px rgba(176,137,60,0.1); border-top-color:var(--gold2) }
.svc-offering-num {
  font-size:12px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--gold); margin-bottom:14px;
}
.svc-offering-title {
  font-size:18px; font-weight:700; color:var(--body-text);
  margin-bottom:12px; letter-spacing:-0.01em; line-height:1.25;
}
.svc-offering-desc {
  font-size:14px; color:var(--body-text-3); line-height:1.82; flex:1;
}
.svc-offering-tag {
  display:inline-block; margin-top:22px; align-self:flex-start;
  font-size:10px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--gold); background:rgba(176,137,60,0.08);
  border:1px solid rgba(176,137,60,0.22); padding:5px 12px;
}

/* Compass bar (horizontal breakdown on services) */
.svc-compass-bar {
  background:var(--section-dark);
  padding:48px 56px;
  border-top:1px solid rgba(176,137,60,0.08);
  border-bottom:1px solid rgba(176,137,60,0.08);
  transition:background 0.3s;
}
.svc-compass-inner {
  max-width:1240px; margin:0 auto;
}
.svc-compass-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  border:1px solid rgba(176,137,60,0.1);
  margin-top:32px;
}
.svc-compass-item {
  padding:30px 26px;
  border-right:1px solid rgba(176,137,60,0.08);
  position:relative; overflow:hidden;
}
.svc-compass-item::after {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:var(--gold); transform:scaleX(0); transform-origin:left;
  transition:transform 0.3s ease;
}
.svc-compass-item:hover::after { transform:scaleX(1) }
.svc-compass-item:last-child { border-right:none }
.svc-compass-num {
  font-size:42px; font-weight:700; color:rgba(176,137,60,0.28);
  line-height:1; margin-bottom:16px; letter-spacing:-0.04em;
}
.svc-compass-label {
  font-size:10px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase;
  color:var(--gold); margin-bottom:10px;
}
.svc-compass-desc {
  font-size:14px; color:rgba(255,255,255,0.42); line-height:1.78;
}

/* ── PRICING SECTION ─────────────────────────────────────────── */
.pricing { background:#ffffff; padding:80px 56px 0; transition:background 0.3s }
html[data-theme="dark"] .pricing { background:var(--section-b) }
.pricing-inner { max-width:1240px; margin:0 auto }
.pricing-intro {
  width:100vw;
  margin:0 calc(50% - 50vw) 80px;
  padding:0 56px 80px;
  border-bottom:1px solid var(--rule-color);
  box-sizing:border-box;
}

/* Toggle */
.pricing-ctrl-row {
  display:flex; align-items:center; justify-content:center; gap:0;
  flex-wrap:wrap; row-gap:10px; margin-bottom:36px;
}
.pricing-toggle-label {
  font-size:10px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--body-text-3); cursor:pointer; transition:color 0.2s;
  padding:0 10px; white-space:nowrap; line-height:34px;
}
.pricing-toggle-label.active { color:var(--body-text) }
.pricing-toggle-track {
  position:relative; width:34px; height:18px;
  background:var(--mgray); border:1px solid var(--card-border);
  cursor:pointer; flex-shrink:0; transition:background 0.2s;
  border-radius:0; touch-action:manipulation;
}
.pricing-toggle-track.annual { background:var(--gold) }
.pricing-toggle-knob {
  position:absolute; top:2px; left:2px;
  width:12px; height:12px; background:#ffffff;
  transition:transform 0.22s ease; border-radius:0;
}
.pricing-toggle-track.annual .pricing-toggle-knob { transform:translateX(16px) }
.pricing-save-pill {
  font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
  color:#ffffff; background:var(--gold); padding:2px 6px;
  opacity:0; transform:translateY(3px); transition:opacity 0.2s, transform 0.2s;
  margin-left:6px; white-space:nowrap; align-self:center;
}
.pricing-toggle-track.annual ~ .pricing-save-pill { opacity:1; transform:translateY(0) }
.pricing-ctrl-sep {
  width:1px; height:22px; background:var(--card-border);
  margin:0 16px; flex-shrink:0; align-self:center;
}
.pricing-coupon-label-inline {
  font-size:10px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--body-text-3); white-space:nowrap; margin-right:8px;
  flex-shrink:0; align-self:center;
}
.pricing-coupon-group {
  display:flex; align-items:stretch; flex-shrink:0;
  opacity:0.28; pointer-events:none;
  transition:opacity 0.22s, border-color 0.15s;
  border:1px solid var(--card-border);
}
.pricing-coupon-group.enabled { opacity:1; pointer-events:auto; border-color:var(--gold) }
.pricing-coupon-group:focus-within { border-color:var(--gold) }
.pricing-coupon-input {
  height:34px;
  border:none;
  background:var(--form-field-bg,#E8E8E8);
  padding:0 11px;
  font-family:var(--f); font-size:12px; font-weight:700;
  letter-spacing:0.09em; text-transform:uppercase;
  color:var(--body-text); outline:none; width:120px; min-width:0;
  transition:border-color 0.2s;
}
.pricing-coupon-input::placeholder {
  font-weight:400; letter-spacing:0.03em; text-transform:none;
  color:var(--body-text-3);
}
.pricing-coupon-input:focus { outline:none }
html[data-theme="dark"] .pricing-coupon-input { background:var(--card-bg) }
.pricing-coupon-btn {
  height:34px;
  border:none;
  border-left:1px solid var(--card-border);
  background:transparent;
  padding:0 13px;
  font-family:var(--f);
  font-size:10px;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--gold);
  cursor:pointer;
  white-space:nowrap;
  flex-shrink:0;
  transition:background 0.15s, border-color 0.15s;
}
.pricing-coupon-group.enabled .pricing-coupon-btn { border-left-color:var(--gold) }
.pricing-coupon-btn:hover { background:transparent }
.pricing-coupon-msg-wrap {
  flex-basis:100%; text-align:center; margin-top:5px; min-height:16px;
}
.pricing-coupon-msg {
  font-size:12px; line-height:1.5; color:var(--body-text-3);
}
.pricing-coupon-msg.ok { color:#27ae60; font-weight:700 }
.pricing-coupon-msg.err { color:#c0392b; font-weight:700 }
html[data-contrast="high"] .pricing-coupon-input {
  background:#000; border-color:rgba(255,255,255,0.45); color:#fff;
}
html[data-contrast="high"] .pricing-coupon-btn { border-color:var(--gold); color:var(--gold) }

/* ── PRICING: SELECTABLE PLANS LAYOUT ─────────────────────────── */
.pricing-layout {
  display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:40px; align-items:start;
}
.pricing-plans { grid-column:1; grid-row:1; }
.pricing-summary { grid-column:2; grid-row:1; width:100%; min-width:0; justify-self:end; align-self:start; }

/* Plan cards grid — 2-column for the 4 individual plans */
.pricing-plans {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px;
  align-items:stretch;
  background:transparent;
  border:none;
}

/* IPO strip (above grid) */
.pricing-ipo-strip { margin-bottom:22px }

	/* All Access spans full width */
	.pricing-card.all-access { grid-column:1 / -1 }
	.pcard-v2-full { grid-column:1 / -1 }

/* ── Individual plan card — HDFC bank-statement style ── */
.pricing-card {
  display:flex; flex-direction:column; align-items:stretch;
  position:relative; overflow:hidden;
  background:var(--section-b);
  border:1px solid var(--card-border);
  cursor:pointer;
  transition:background 0.3s, border-color 0.25s, box-shadow 0.2s;
  user-select:none; -webkit-user-select:none;
  box-shadow:0 4px 24px rgba(0,0,0,0.07), 0 1px 4px rgba(0,0,0,0.04);
}
html[data-theme="dark"] .pricing-card { background:#0f0f0f; box-shadow:0 4px 24px rgba(0,0,0,0.34), 0 1px 4px rgba(0,0,0,0.22) }
.pricing-card::before {
  content:'';
  position:absolute;
  top:-1px; bottom:-1px; left:-1px;
  width:4px;
  background:var(--gold);
}
.pricing-card:hover {
  border-color:var(--gold2);
  box-shadow:0 8px 32px rgba(176,137,60,0.13), 0 2px 8px rgba(0,0,0,0.08);
  background:var(--section-b);
}
.pricing-card.selected {
  border-color:var(--gold);
  background:var(--section-b);
  box-shadow:0 8px 32px rgba(176,137,60,0.13), 0 2px 8px rgba(0,0,0,0.08);
}
html[data-theme="dark"] .pricing-card:hover,
html[data-theme="dark"] .pricing-card.selected { background:#0f0f0f }
html[data-theme="dark"] .pricing-card::before {
  background:var(--gold);
}

/* Checkbox */
.pricing-check-col { display:none }
.pricing-checkbox {
  width:16px; height:16px; border:1.5px solid var(--gold);
  border-radius:0;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; transition:border-color 0.15s, background 0.15s; background:transparent;
}
.pricing-card.selected .pricing-checkbox { border-color:var(--gold); background:var(--gold) }
.pricing-checkbox svg { width:10px; height:10px; fill:#ffffff; display:none }
.pricing-card.selected .pricing-checkbox svg { display:block }

/* Card body */
.pricing-card-body { display:flex; flex-direction:column; flex:1; min-width:0 }

/* Header row: plan name + cap badge + checkbox */
.pricing-plan-row {
  display:flex; flex-direction:row; align-items:center; justify-content:space-between;
  gap:8px; padding:16px 20px 12px;
  border-bottom:1px solid var(--card-border);
}
.pricing-plan-row-left { display:flex; flex-direction:row; align-items:center; gap:10px; flex:1; min-width:0; flex-wrap:wrap }
.pricing-tier-name {
  font-size:12px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--body-text); line-height:1;
}
.pricing-card.selected .pricing-tier-name { color:var(--gold) }
.pricing-cap-label {
  font-size:10px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--gold); background:transparent;
  padding:2px 7px; border:1px solid var(--gold); line-height:1.5;
  display:inline-block; align-self:flex-start;
}
.pricing-card.selected .pricing-cap-label { color:var(--gold); border-color:var(--gold); }

/* Tagline */
.pricing-tagline {
  font-size:12px; color:var(--body-text-3); line-height:1.65;
  padding:10px 20px 0; margin:0;
}

/* Features — clean label rows like a bank statement */
.pricing-features {
  display:flex; flex-direction:column; gap:0;
  padding:8px 20px 14px; flex:1;
}
.pricing-feature {
  display:flex; align-items:center; gap:8px;
  font-size:12px; color:var(--body-text-2); line-height:1.3;
  padding:5px 0; border-bottom:1px solid var(--card-border);
}
.pricing-feature:last-child { border-bottom:none; padding-bottom:0 }
.pricing-feature-icon { flex-shrink:0; width:12px; height:12px; display:flex; align-items:center; justify-content:center }
.pricing-feature-icon svg { width:12px; height:12px; fill:var(--gold) }
.pricing-feature strong { color:var(--body-text); font-weight:700 }

/* Price footer — flat, no background change */
.pricing-price-col {
  padding:12px 20px;
  border-top:1px solid var(--card-border);
  display:flex; flex-direction:row; align-items:center; justify-content:space-between;
  gap:10px; flex-shrink:0;
  background:transparent; transition:none;
}
.pricing-price-row { display:flex; align-items:baseline; gap:1px }
.pricing-currency { font-size:12px; font-weight:700; color:var(--body-text); line-height:1 }
.pricing-amount { font-size:24px; font-weight:700; color:var(--body-text); letter-spacing:-0.03em; line-height:1 }
.pricing-card.selected .pricing-amount { color:var(--gold) }
.pricing-period { font-size:12px; color:var(--body-text-3); font-weight:400; margin-left:3px; white-space:nowrap; align-self:flex-end; padding-bottom:1px }
.pricing-annual-eq { font-size:10px; color:var(--gold); font-weight:700; white-space:nowrap; line-height:1.4 }

/* Single dropdown selector (replaces price + term buttons) */
.pricing-plan-select {
  width:100%;
  height:38px;
  padding:0 12px;
  background:#ffffff;
  border:1px solid var(--card-border);
  box-shadow:none;
  font-family:var(--f);
  font-size:12px;
  font-weight:600;
  color:var(--body-text);
  letter-spacing:0.01em;
  outline:none;
  border-radius:0;
  -webkit-appearance:none;
  appearance:none;
}
.pricing-plan-select.has-selection {
  border-color:var(--gold);
}
.pricing-plan-select:focus { border-color:var(--gold) }
html[data-theme="dark"] .pricing-plan-select { background:var(--card-bg) }

/* Annual savings badge shown below dropdown when 12M is selected */
.pricing-ann-badge { display:none !important; }
.pricing-plan-select.annual-selected { color: var(--gold); font-weight:700; }

/* ── PLAN CARD V2 — Axis Edge redesign ───────────────────────── */
.pcard-v2 {
  display:flex; flex-direction:column;
  position:relative;
  min-width:0;
  height:100%;
  background:#ffffff;
  border:1px solid var(--card-border);
  border-left:4px solid var(--gold);
  cursor:pointer;
  transition:box-shadow 0.25s cubic-bezier(0.22,1,0.36,1),
             border-color 0.2s,
             transform 0.25s cubic-bezier(0.22,1,0.36,1);
  user-select:none; -webkit-user-select:none;
  padding:0;
  box-shadow:0 4px 24px rgba(0,0,0,0.07), 0 1px 4px rgba(0,0,0,0.04);
}
html[data-theme="dark"] .pcard-v2 {
  background:#0f0f0f;
  border-left-color:var(--gold);
  box-shadow:0 4px 32px rgba(0,0,0,0.32), 0 1px 6px rgba(0,0,0,0.18);
}
html[data-theme="dark"] .pcard-v2,
html[data-theme="dark"] .pcard-v2:hover,
html[data-theme="dark"] .pcard-v2.selected {
  border-left-color:var(--gold);
}

/* Investor type tags */
.pcard-v2-investor-tags {
  display:flex; flex-wrap:wrap; gap:6px;
}
.pcard-v2-itag {
  font-size:10px; font-weight:600; letter-spacing:0.06em;
  text-transform:uppercase; color:var(--body-text-2);
  background:var(--section-b); border:1px solid var(--card-border);
  padding:4px 9px; line-height:1; white-space:nowrap;
}
.pcard-v2.selected .pcard-v2-itag {
  border-color:rgba(176,137,60,0.35); color:var(--body-text);
}

/* Header area */
.pcard-v2-head {
  position:relative;
  padding:22px 22px 16px 22px;
  display:flex; flex-direction:column; gap:8px;
  min-width:0;
}
.pcard-v2-title-row {
  display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
  min-width:0;
}
.pcard-v2-title-stack {
  display:flex;
  flex-direction:column;
  gap:0;
  min-width:0;
  flex:1 1 auto;
}
.pcard-v2-title {
  font-size:var(--ra-type-card-heading) !important;
  font-weight:700; color:var(--body-text);
  letter-spacing:-0.01em; line-height:1.24; margin:0;
  transition:color 0.2s;
  min-width:0;
}
.pcard-v2-kicker {
  font-size:10px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--gold);
  line-height:1;
}
.pcard-v2-title-right {
  position:static;
  display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-shrink:0; padding-top:2px;
  min-width:0;
}
.pcard-v2-title-right .pcard-v2-kicker {
  min-width:0;
  overflow-wrap:anywhere;
}
.pcard-v2-tagline {
  font-size:14px; color:#131B38; line-height:1.72; margin:0;
}
html[data-theme="dark"] .pcard-v2-tagline { color:var(--body-text) }

/* Divider rule */
.pcard-v2-rule {
  display:none;
}

/* Stats row */
.pcard-v2-stats {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:0; padding:0; flex-shrink:0;
}
.pcard-v2-stat {
  display:flex; flex-direction:column; align-items:flex-start; gap:5px;
  padding:14px 16px;
  border-right:1px solid var(--card-border);
}
.pcard-v2-stat:last-child { border-right:none }
.pcard-v2-stat-val {
  font-size:16px; font-weight:700; color:var(--body-text);
  letter-spacing:-0.02em; line-height:1; transition:color 0.2s;
}
.pcard-v2-stat-label {
  font-size:10px; font-weight:600; letter-spacing:0.10em;
  text-transform:uppercase; color:var(--body-text-3); line-height:1;
}

/* Features */
.pcard-v2-feats {
  display:flex; flex-direction:column;
  padding:0 20px 12px; flex:1;
}
.pcard-v2-feat {
  display:flex; align-items:center; gap:8px;
  font-size:14px; color:#131B38; line-height:1.4;
  padding:10px 0; border-bottom:1px solid var(--card-border);
}
.pcard-v2-feat:last-child { border-bottom:none }
.pcard-v2-feat-dot {
  width:5px; height:5px; border-radius:50%;
  background:var(--gold); flex-shrink:0; opacity:0.6;
  transition:opacity 0.2s;
}
.pcard-v2.selected .pcard-v2-feat-dot { opacity:1 }
.pcard-v2-feat strong { color:var(--body-text); font-weight:700 }

/* Price footer */
.pcard-v2-foot {
  padding:11px 22px 13px;
  display:flex; align-items:flex-end; justify-content:space-between; gap:12px;
  flex-shrink:0;
}
.pcard-v2-price { display:flex; flex-direction:column; gap:2px; padding-bottom:1px; }
.pcard-v2-price-row { display:flex; align-items:baseline; gap:2px; }
.pcard-v2-currency {
  font-size:12px; font-weight:700; color:var(--body-text); line-height:1;
  transition:color 0.2s;
}
.pcard-v2-amount {
  font-size:26px; font-weight:700; color:var(--body-text);
  letter-spacing:-0.04em; line-height:1; transition:color 0.2s;
}
.pcard-v2-period {
  font-size:10px; color:#131B38; font-weight:400;
  margin-left:2px; align-self:flex-end; padding-bottom:1px;
}
/* Select dropdown */
.pcard-v2-select-wrap {
  display:flex; flex-direction:column; align-items:flex-end; gap:4px; flex-shrink:0;
}
.pcard-v2-select {
  box-sizing:border-box;
  height:36px; padding:0 30px 0 12px;
  background-color:var(--card-bg);
  border:1px solid var(--card-border);
  font-family:var(--f); font-size:12px; font-weight:600; line-height:1;
  color:var(--body-text); letter-spacing:0.01em;
  outline:none; border-radius:0; cursor:pointer;
  -webkit-appearance:none; appearance:none;
  background-image:url("");
  background-repeat:no-repeat; background-position:right 11px center;
  transition:border-color 0.15s; min-width:164px;
}
.pcard-v2-select:focus { border-color:var(--card-border); box-shadow:none }
.pcard-v2-select.has-selection { border-color:var(--gold); color:var(--gold); font-weight:700;
  background-image:url("");
}
.pcard-v2-select option[value=""] {
  color:var(--body-text-2);
}
html[data-theme="dark"] .pcard-v2-select option[value=""] {
  color:var(--body-text-2);
}
html[data-theme="dark"] .pcard-v2-select { background-color:var(--card-bg); border-color:rgba(255,255,255,0.12) }
html[data-theme="dark"] .pcard-v2-select.has-selection { background-color:var(--card-bg) }

/* Hover & selected */
.pcard-v2:hover {
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  transform:translateY(-2px);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.18),
    0 8px 32px rgba(176,137,60,0.16),
    0 18px 48px rgba(0,0,0,0.10),
    0 3px 8px rgba(0,0,0,0.06);
}
.pcard-v2.selected {
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:0 0 0 1px rgba(176,137,60,0.18), 0 8px 32px rgba(176,137,60,0.16), 0 20px 52px rgba(0,0,0,0.10);
  background:#ffffff;
  transform:translateY(-2px);
}
html[data-theme="dark"] .pcard-v2.selected {
  background:#0f0f0f;
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.22),
    0 8px 32px rgba(176,137,60,0.18),
    0 20px 52px rgba(0,0,0,0.40);
}
html[data-theme="dark"] .pcard-v2:hover {
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.22),
    0 8px 32px rgba(176,137,60,0.18),
    0 18px 48px rgba(0,0,0,0.38),
    0 3px 8px rgba(0,0,0,0.22);
}

/* Checkbox */
.pcard-v2 .pricing-checkbox {
  display:flex; width:18px; height:18px;
  border:1.5px solid var(--gold);
  border-radius:0; flex-shrink:0;
  align-items:center; justify-content:center;
  transition:border-color 0.15s, background 0.15s; background:transparent;
}
.pcard-v2.selected .pricing-checkbox { border-color:var(--gold); background:var(--gold); }
.pcard-v2 .pricing-checkbox svg { width:11px; height:11px; fill:#fff; display:none }
.pcard-v2.selected .pricing-checkbox svg { display:block }

/* Inline checkbox in plan-row */
.pricing-plan-row .pricing-checkbox { display:flex; flex-shrink:0 }

/* IPO strip */
.pricing-ipo-strip {
  margin-bottom:30px;
  border:1px solid var(--card-border);
  border-left:4px solid var(--gold);
  background:var(--card-bg);
  transition:transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
  box-shadow:0 4px 24px rgba(0,0,0,0.07), 0 1px 4px rgba(0,0,0,0.04);
}
.pricing-ipo-strip:hover {
  transform:translateY(-4px);
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.18),
    0 8px 32px rgba(176,137,60,0.16),
    0 18px 48px rgba(0,0,0,0.10),
    0 3px 8px rgba(0,0,0,0.06);
}
html[data-theme="dark"] .pricing-ipo-strip:hover {
  transform:translateY(-4px);
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.22),
    0 8px 32px rgba(176,137,60,0.18),
    0 18px 48px rgba(0,0,0,0.38),
    0 3px 8px rgba(0,0,0,0.22);
}
html[data-theme="dark"] .pricing-ipo-strip {
  background:#0f0f0f;
  border-left-color:var(--gold);
  box-shadow:0 4px 28px rgba(0,0,0,0.34), 0 1px 6px rgba(0,0,0,0.18);
}
.pricing-ipo-strip-inner {
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:20px 24px;
}
.pricing-ipo-strip-left {
  display:flex; align-items:center; gap:16px; min-width:0;
}
.pricing-ipo-strip-star {
  width:18px; height:18px; fill:var(--gold); flex-shrink:0; display:block;
}
.pricing-ipo-strip-text {
  display:flex; flex-direction:column; gap:3px; min-width:0;
}
.pricing-ipo-strip-title {
  font-size:14px; font-weight:700; color:var(--body-text); letter-spacing:0.01em; line-height:1;
}
.pricing-ipo-strip-sub {
  font-size:12px; color:var(--body-text-2); line-height:1.55;
}
.pricing-ipo-strip-badge {
  flex-shrink:0;
  display:inline-flex; align-items:center;
  background:transparent; color:var(--gold);
  border:1px solid var(--gold);
  font-size:10px; font-weight:700; letter-spacing:0.16em;
  text-transform:uppercase; line-height:1;
  padding:7px 14px; white-space:nowrap;
}

/* ── SUMMARY (cart) PANEL — always right, never stacks ── */
.pricing-summary {
  position:sticky; top:80px;
  background:var(--card-bg,#ffffff); border:1px solid var(--card-border);
  border-left:4px solid var(--gold);
  border-radius:2px;
  display:flex; flex-direction:column;
  box-shadow:0 4px 24px rgba(0,0,0,0.07), 0 1px 4px rgba(0,0,0,0.04);
  transition:background 0.3s, border-color 0.25s cubic-bezier(0.22,1,0.36,1), box-shadow 0.25s cubic-bezier(0.22,1,0.36,1), transform 0.25s cubic-bezier(0.22,1,0.36,1);
  will-change:transform, box-shadow;
}
.pricing-summary:hover {
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.18),
    0 8px 32px rgba(176,137,60,0.16),
    0 18px 48px rgba(0,0,0,0.10),
    0 3px 8px rgba(0,0,0,0.06);
  transform:translateY(-4px);
}
html[data-theme="dark"] .pricing-summary {
  background:#0d0d0d;
  border-left-color:var(--gold);
  box-shadow:0 4px 32px rgba(0,0,0,0.32), 0 1px 6px rgba(0,0,0,0.18);
}
html[data-theme="dark"] .pricing-summary:hover {
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.22),
    0 8px 32px rgba(176,137,60,0.18),
    0 18px 48px rgba(0,0,0,0.38),
    0 3px 8px rgba(0,0,0,0.22);
  transform:translateY(-4px);
}
.pricing-summary-head {
  padding:26px 24px 10px;
}
.pricing-summary-title {
  font-size:24px; font-weight:700; letter-spacing:-0.02em;
  color:#131B38; margin-bottom:6px; line-height:1.22;
}
.pricing-summary-billing {
  font-size:14px; font-weight:400; letter-spacing:0; text-transform:none;
  color:#131B38; line-height:1.65;
}
html[data-theme="dark"] .pricing-summary-billing { color:var(--body-text-2) }
.pricing-summary-lines {
  position:relative;
  padding:8px 24px 14px; min-height:48px;
  display:flex; flex-direction:column; gap:0;
}
.pricing-summary-lines::after,
.pricing-summary-total-row::after,
.pricing-summary-discount-row::after,
.payable-row::after {
  content:'';
  position:absolute;
  left:24px;
  right:24px;
  bottom:0;
  height:1px;
  background:var(--card-border);
}
.pricing-summary-empty {
  font-size:14px; color:#131B38; font-style:italic; padding:6px 0; line-height:1.6; opacity:0.68;
}
.pricing-summary-line {
  display:flex; justify-content:space-between; align-items:flex-start; gap:14px;
  padding:10px 0;
  border-bottom:1px solid var(--card-border);
  font-size:14px; color:#131B38;
}
.pricing-summary-line:last-child { border-bottom:none }
.pricing-summary-line-name { flex:1; min-width:0; padding-right:0; line-height:1.45 }
.pricing-summary-line-price { font-weight:700; color:#131B38; white-space:nowrap; font-size:14px; line-height:1.45 }
.pricing-summary-line-rate,
.pricing-summary-line-period {
  font-size:10px;
  font-weight:400;
  color:var(--body-text-3);
}
.pricing-summary-line.bundle-line .pricing-summary-line-name { color:var(--gold) }
.pricing-summary-line.ipo-line {
  font-size:12px; color:#131B38; border-bottom:none; padding:10px 0 0; opacity:0.78;
}
.pricing-summary-line.ipo-line .pricing-summary-line-price { color:var(--gold); font-weight:700; font-size:12px }
html[data-theme="dark"] .pricing-summary-title,
html[data-theme="dark"] .pricing-summary-line-price,
html[data-theme="dark"] .pricing-summary-total-amt,
html[data-theme="dark"] .pricing-summary-subtotal-amt,
html[data-theme="dark"] .payable-label,
html[data-theme="dark"] .pricing-coupon-input {
  color:var(--body-text);
}
html[data-theme="dark"] .pricing-summary-total-amt .tot-per,
html[data-theme="dark"] .pricing-summary-coupon-label,
html[data-theme="dark"] .pricing-coupon-msg {
  color:var(--body-text-3);
  opacity:1;
}
.pricing-summary-total-row {
  position:relative;
  padding:18px 24px;
  display:flex; justify-content:space-between; align-items:center;
}
.pricing-summary-total-label {
  font-size:12px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--body-text-3);
}
/* Amount Payable row — bolder */
.payable-row {
  position:relative;
}
.payable-label { color:#131B38 !important; font-size:12px !important; }
.payable-row .pricing-summary-total-amt { color:var(--gold) }
.pricing-summary-total-amt {
  font-size:24px; font-weight:700; color:#131B38; letter-spacing:-0.03em;
  display:flex; align-items:baseline; gap:2px;
}
.pricing-summary-total-amt .tot-curr { font-size:16px }
.pricing-summary-total-amt .tot-per { font-size:12px; font-weight:400; color:#131B38; opacity:0.62 }
.pricing-summary-savings {
  font-size:12px; color:var(--gold); font-weight:700;
  padding:10px 24px 12px; display:none; line-height:1.45;
}
/* Discount row */
.pricing-summary-discount-row {
  position:relative;
  display:flex; justify-content:space-between; align-items:center;
  padding:13px 24px;
  background:transparent;
}
.pricing-summary-discount-label {
  font-size:12px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--gold);
}
.pricing-summary-discount-amt {
  font-size:14px; font-weight:700; color:var(--gold); white-space:nowrap;
}
.pricing-summary-subtotal-amt {
  font-size:16px; font-weight:700; color:#131B38;
  display:flex; align-items:baseline; gap:1px;
}
/* Coupon inside summary */
.pricing-summary-coupon {
  position:relative;
  padding:16px 24px 18px;
}
.pricing-summary-coupon-label {
  font-size:10px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
  color:#131B38;
  opacity:0.68;
  margin-bottom:8px;
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pricing-coupon-group {
  display:flex; gap:0;
  opacity:0.38; pointer-events:none;
  transition:opacity 0.2s, border-color 0.15s;
  border:1px solid var(--card-border);
}
.pricing-coupon-group.enabled { opacity:1; pointer-events:auto; border-color:var(--gold) }
.pricing-coupon-group:focus-within { border-color:var(--gold) }
.pricing-coupon-input {
  flex:1; min-width:0;
  height:34px; padding:0 10px;
  background:var(--section-a);
  border:none;
  font-family:var(--f); font-size:12px; color:#131B38;
  letter-spacing:0.05em; text-transform:uppercase; outline:none;
  transition:border-color 0.18s;
}
html[data-theme="dark"] .pricing-coupon-input { background:var(--mgray) }
.pricing-coupon-input::placeholder { text-transform:none; letter-spacing:0; color:#131B38; opacity:0.55; font-size:12px }
.pricing-coupon-input:focus { outline:none }
.pricing-coupon-btn {
  height:34px; padding:0 12px; flex-shrink:0;
  background:transparent;
  border:none;
  border-left:1px solid var(--card-border);
  font-family:var(--f); font-size:10px; font-weight:700; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--gold); cursor:pointer;
  transition:border-color 0.15s, background 0.15s; white-space:nowrap;
}
.pricing-coupon-group.enabled .pricing-coupon-btn { border-left-color:var(--gold) }
.pricing-coupon-btn:hover { background:transparent }
.pricing-coupon-msg-wrap { min-height:17px; margin-top:7px }
.pricing-coupon-msg { display:block; text-align:left; font-size:12px; color:#131B38; opacity:0.68; line-height:1.45 }
.pricing-coupon-msg.ok  { color:#2e9e60 }
.pricing-coupon-msg.err { color:#c0392b }
/* CTA */
.pricing-summary-cta { padding:20px 0 28px; }
.pricing-summary-cta .btn-fill {
  display:block; width:calc(100% - 48px); max-width:100%; margin:0 24px;
  height:40px; padding:0 24px; color:#ffffff; font-size:10px; font-weight:700; letter-spacing:0.13em;
  text-transform:uppercase; white-space:nowrap; text-align:center;
  border:1px solid var(--gold); box-shadow:none; line-height:40px; cursor:pointer; box-sizing:border-box;
}
.pricing-summary-cta .btn-fill[data-empty="true"] {
  opacity:0.4; cursor:not-allowed; pointer-events:none;
}
.pricing-disclaimer {
  margin-top:20px; padding:12px 16px;
  background:var(--section-b); border:1px solid var(--card-border);
  border-left:3px solid rgba(176,137,60,0.35);
  font-size:12px; color:var(--body-text-3); line-height:1.78;
}
html[data-theme="dark"] .pricing-disclaimer { background:var(--card-bg) }
html[data-contrast="high"] .pricing-disclaimer { background:var(--card-bg); border-color:rgba(255,255,255,0.45); border-left-color:var(--gold) }
html[data-theme="dark"] .pricing-summary-head,
html[data-theme="dark"] .pricing-summary-lines,
html[data-theme="dark"] .pricing-summary-line,
html[data-theme="dark"] .pricing-summary-total-row,
html[data-theme="dark"] .payable-row,
html[data-theme="dark"] .pricing-summary-discount-row,
html[data-theme="dark"] .pricing-summary-coupon,
html[data-theme="dark"] .pricing-coupon-group,
html[data-theme="dark"] .pricing-disclaimer {
  border-color:var(--rule-color);
}
html[data-theme="dark"] .pricing-coupon-btn {
  border-left-color:var(--rule-color);
}
html[data-theme="dark"] .pricing-coupon-group.enabled .pricing-coupon-btn {
  border-left-color:var(--gold);
}
.pricing-compare {
  margin-top:18px;
  background:var(--card-bg,#ffffff);
  border:1px solid var(--card-border);
  border-left:4px solid var(--gold);
  border-radius:2px;
  box-shadow:0 4px 24px rgba(0,0,0,0.07), 0 1px 4px rgba(0,0,0,0.04);
  overflow:hidden;
  transition:background 0.3s, border-color 0.25s cubic-bezier(0.22,1,0.36,1), box-shadow 0.25s cubic-bezier(0.22,1,0.36,1), transform 0.25s cubic-bezier(0.22,1,0.36,1);
  will-change:transform, box-shadow;
}
.pricing-compare:hover {
  transform:translateY(-4px);
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.18),
    0 8px 32px rgba(176,137,60,0.16),
    0 18px 48px rgba(0,0,0,0.10),
    0 3px 8px rgba(0,0,0,0.06);
}
.pricing-compare-section-head {
  width:100vw;
  margin:80px calc(50% - 50vw) 32px;
  padding:80px 56px 0;
  border-top:1px solid var(--rule-color);
  box-sizing:border-box;
}
.pricing-compare-section-head .about-sec-head {
  max-width:1240px;
  margin:0 auto;
}
.pricing-compare-head {
  padding:40px 44px 28px;
  border-bottom:1px solid var(--card-border);
}
.pricing-compare-head:empty {
  display:none;
}
.pricing-compare-title {
  font-size:24px;
  font-weight:700;
  color:var(--body-text);
  letter-spacing:-0.02em;
  line-height:1.22;
  margin-bottom:6px;
}
.pricing-compare-note {
  max-width:560px;
  font-size:14px;
  color:#131B38;
  line-height:1.65;
  margin:6px 0 0;
}
html[data-theme="dark"] .pricing-compare-note { color:var(--body-text) }
.pricing-compare-scroll {
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.pricing-compare-table {
  width:100%;
  min-width:860px;
  border-collapse:collapse;
  table-layout:fixed;
}
.pricing-compare-table thead th:first-child,
.pricing-compare-table tbody th {
  width:190px;
}
.pricing-compare-table thead th:not(:first-child),
.pricing-compare-table td {
  width:calc((100% - 190px) / 5);
}
.pricing-compare-table th,
.pricing-compare-table td {
  padding:18px 20px;
  border-bottom:1px solid var(--card-border);
  border-right:1px solid var(--card-border);
  text-align:left;
  vertical-align:middle;
}
.pricing-compare-table th:last-child,
.pricing-compare-table td:last-child { border-right:none }
.pricing-compare-table tr:last-child td { border-bottom:none }
.pricing-compare-table thead th {
  font-size:10px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--gold);
  background:transparent;
  white-space:nowrap;
  line-height:1.3;
}
.pricing-compare-table tbody th {
  font-size:10px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--gold);
  background:transparent;
  line-height:1.35;
}
.pricing-compare-table td {
  font-size:14px;
  color:var(--body-text-2);
  line-height:1.65;
  overflow-wrap:anywhere;
}
.pricing-compare-table thead th:first-child,
.pricing-compare-table tbody th {
  position:sticky;
  left:0;
  z-index:2;
  background:var(--card-bg,#ffffff);
  box-shadow:none;
}
.pricing-compare-table thead th:first-child {
  z-index:3;
  color:var(--gold);
  background:var(--card-bg,#ffffff);
  box-shadow:none;
}
.pricing-compare-table thead th:first-child::after,
.pricing-compare-table tbody th::after {
  content:none;
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:1px;
  background:var(--card-border);
  pointer-events:none;
}
.pricing-compare-table strong {
  color:var(--body-text);
  font-weight:700;
}
.pricing-compare-yes {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
}
.pricing-compare-yes::before {
  content:'';
  width:12px;
  height:7px;
  border-left:2.4px solid var(--gold);
  border-bottom:2.4px solid var(--gold);
  transform:rotate(-45deg) translate(1px,-1px);
}
html[data-theme="dark"] .pricing-compare {
  background:#0d0d0d;
  box-shadow:0 4px 32px rgba(0,0,0,0.32), 0 1px 6px rgba(0,0,0,0.18);
  border-color:var(--card-border);
  border-left-color:var(--gold);
}
html[data-theme="dark"] .pricing-compare:hover {
  transform:translateY(-4px);
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:
    0 0 0 1px rgba(176,137,60,0.22),
    0 8px 32px rgba(176,137,60,0.18),
    0 18px 48px rgba(0,0,0,0.40),
    0 3px 8px rgba(0,0,0,0.22);
}
html[data-theme="dark"] .pricing-compare-table thead th {
  color:var(--gold);
  background:transparent;
}
html[data-theme="dark"] .pricing-compare-table tbody th {
  color:var(--gold);
  background:#0d0d0d;
  box-shadow:0.5px 0 0 var(--rule-color);
}
html[data-theme="dark"] .pricing-compare-table thead th:first-child {
  color:var(--gold);
  background:#0d0d0d;
  box-shadow:0.5px 0 0 var(--rule-color);
}
html[data-theme="dark"] .pricing-compare-table td {
  color:var(--body-text-2);
}
html[data-theme="dark"] .pricing-compare-table th,
html[data-theme="dark"] .pricing-compare-table td {
  border-color:var(--rule-color);
}
html[data-theme="dark"] .pricing-compare-head {
  border-bottom-color:var(--rule-color);
}
html[data-contrast="high"] .pricing-compare {
  background:var(--card-bg);
  border-color:rgba(255,255,255,0.35);
  border-left-color:var(--gold);
}
html[data-contrast="high"] .pricing-compare:hover {
  border-color:var(--gold)!important;
  border-left-color:var(--gold)!important;
  box-shadow:none!important;
}
.pricing-help-cta {
  margin:80px calc(50% - 50vw) 0;
  border-top:1px solid var(--rule-color);
}

/* Summary stays right on most sizes; stacks below on tablet/mobile */
@media(max-width:1280px){
  .pcard-v2-foot {
    flex-direction:row !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:10px !important;
  }
  .pcard-v2-price {
    width:auto !important;
    flex:0 0 auto !important;
    min-width:0;
  }
  .pcard-v2-select-wrap {
    width:220px !important;
    max-width:46% !important;
    flex:0 0 220px !important;
    min-width:0 !important;
    align-items:flex-end !important;
    margin-left:18px;
  }
  .pcard-v2-select {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding-left:10px;
    padding-right:24px;
    text-overflow:ellipsis;
  }
}
@media(max-width:1100px){
  .pricing-layout {
    grid-template-columns:1fr;
    gap:28px;
  }
  .pricing-plans {
    grid-column:auto;
    grid-row:auto;
  }
  .pricing-summary {
    grid-column:auto;
    grid-row:auto;
    position:static;
    width:100%;
    max-width:100%;
    justify-self:stretch;
  }
}
@media(max-width:960px){
  .pricing-layout { grid-template-columns:1fr; gap:28px }
}
@media(max-width:768px){
  /* Stack summary below plan cards on tablet/mobile */
  .pricing-layout { grid-template-columns:1fr; gap:28px }
  .pricing-plans { grid-column:auto; grid-row:auto }
  .pricing-summary { grid-column:auto; grid-row:auto; position:static; width:100%; max-width:100%; justify-self:stretch }
  .pricing-compare-head { align-items:flex-start; flex-direction:column }
  .pcard-v2-head { padding:20px 18px 14px 18px }
  .pcard-v2-title-row { gap:10px }
  .pcard-v2-title-stack { gap:0 }
  .pcard-v2-kicker { font-size:10px; letter-spacing:0.14em }
  .pcard-v2-title { font-size:var(--ra-type-card-heading) !important; line-height:1.24 }
  .pcard-v2-title-right { padding-top:1px }
  .pcard-v2-tagline { font-size:14px; line-height:1.7 }
  .pcard-v2-feats { padding:8px 18px 12px }
  .pcard-v2-feat { font-size:14px; line-height:1.4; padding:10px 0; gap:8px }
  .pcard-v2-foot { padding:11px 18px 12px }
  .pcard-v2-currency { font-size:12px }
  .pcard-v2-amount { font-size:24px }
  .pcard-v2-period { font-size:10px }
  .pcard-v2-select { font-size:10px; height:34px; min-width:0 }
  .pcard-v2-foot {
    gap:10px;
    flex-wrap:nowrap;
    align-items:flex-end;
  }
  .pcard-v2-select-wrap {
    flex:1 1 0;
    width:auto;
    min-width:0;
    align-items:flex-end;
  }
  .pcard-v2-select {
    width:100%;
    min-width:0;
    padding:0 32px 0 12px;
    background-position:right 8px center;
  }
}
@media(max-width:640px){
  .pricing { padding:48px 16px 0 }
  .pricing-intro {
    margin:0 calc(50% - 50vw) 48px;
    padding:0 16px 48px;
  }
  .pricing-amount { font-size:22px }
  /* Single-column plan cards on mobile */
  .pricing-plans { grid-template-columns:1fr; gap:18px }
  .pricing-card.all-access { grid-column:auto }
  .pricing-compare { margin-top:16px }
  .pricing-compare-section-head {
    margin:56px calc(50% - 50vw) 28px;
    padding:56px 16px 0;
  }
  .pricing-compare-head { padding:28px 24px 20px }
  .pricing-compare-head:empty { display:none }
  .pricing-compare-title { font-size:22px }
  .pricing-compare-note { font-size:16px; line-height:1.82 }
  .pricing-compare-table { min-width:780px }
  .pricing-compare-table thead th:first-child,
  .pricing-compare-table tbody th {
    width:172px;
  }
  .pricing-compare-table thead th:not(:first-child),
  .pricing-compare-table td {
    width:calc((100% - 172px) / 5);
  }
  .pricing-compare-table th,
  .pricing-compare-table td {
    padding:16px 14px;
    border-bottom:1px solid var(--card-border);
    border-right:1px solid var(--card-border);
  }
  .pricing-compare-table th {
    padding:16px 14px;
    border-bottom:1px solid var(--card-border);
    border-right:1px solid var(--card-border);
  }
  .pricing-compare-table thead th,
  .pricing-compare-table tbody th {
    font-size:10px;
    letter-spacing:0.09em;
    line-height:1.35;
    white-space:nowrap;
  }
  .pricing-compare-table td {
    font-size:13px;
    line-height:1.6;
  }
  .pricing-compare-table thead th:first-child,
  .pricing-compare-table tbody th {
    box-shadow:none;
  }
  html[data-theme="dark"] .pricing-compare-table thead th:first-child,
  html[data-theme="dark"] .pricing-compare-table tbody th {
    box-shadow:none;
  }
  .pricing-compare-table thead th:first-child::after,
  .pricing-compare-table tbody th::after {
    content:none;
    background:var(--card-border);
  }
  html[data-theme="dark"] .pricing-compare-table thead th:first-child::after,
  html[data-theme="dark"] .pricing-compare-table tbody th::after {
    content:none;
    background:var(--rule-color);
  }
  .pricing-help-cta {
    margin:56px calc(50% - 50vw) 0;
  }
  .pricing-summary-head { padding:22px 20px 16px }
  .pricing-summary-title { font-size:22px; line-height:1.24; letter-spacing:-0.01em; margin-bottom:6px }
  .pricing-summary-billing { font-size:14px; line-height:1.65 }
  .pricing-summary-lines { padding:10px 20px }
  .pricing-summary-total-row,
  .pricing-summary-discount-row,
  .pricing-summary-coupon { padding-left:20px; padding-right:20px }
  .pricing-summary-cta { padding:16px 0 24px }
  .pricing-summary-cta .btn-fill {
    width:calc(100% - 40px);
    margin:0 20px;
    padding:0 14px;
  }
  .pcard-v2-head { padding:18px 16px 13px 16px }
  .pcard-v2-title-row { gap:8px }
  .pcard-v2-title-stack { gap:0 }
  .pcard-v2-kicker { font-size:10px }
  .pcard-v2-title { font-size:var(--ra-type-card-heading) !important; line-height:1.24 }
  .pcard-v2-tagline { font-size:12px; line-height:1.7 }
  .pcard-v2-feats { padding:8px 16px 12px }
  .pcard-v2-feat { font-size:14px; line-height:1.4; padding:10px 0; gap:8px }
  .pcard-v2-foot { padding:10px 16px 12px; gap:16px }
  .pcard-v2-currency { font-size:12px }
  .pcard-v2-amount { font-size:24px }
  .pcard-v2-period { font-size:10px }
  .pcard-v2-foot {
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:flex-end;
  }
  .pcard-v2-select-wrap {
    flex:0 0 204px !important;
    width:204px !important;
    max-width:204px !important;
    min-width:0;
    margin-left:24px;
  }
  .pcard-v2-select {
    width:100%;
    min-width:0;
    font-size:10px;
    padding:0 24px 0 10px;
    background-position:right 6px center;
  }
}
@media(max-width:520px){
  .pricing { padding:36px 14px 0 }
  .pricing-intro {
    margin:0 calc(50% - 50vw) 40px;
    padding:0 14px 40px;
  }
  .pcard-v2-select-wrap {
    flex-basis:188px !important;
    width:188px !important;
    max-width:188px !important;
    margin-left:18px;
  }
}
@media(max-width:380px){
  .pcard-v2-select-wrap {
    flex-basis:172px !important;
    width:172px !important;
    max-width:172px !important;
    margin-left:14px;
  }
}
html[data-contrast="high"] .pricing-card { border-color:rgba(255,255,255,0.35) }
html[data-contrast="high"] .pricing-card::before { background:var(--gold) }
	html[data-contrast="high"] .pricing-card.selected { border-color:var(--gold) }
	html[data-contrast="high"] .pricing-card.selected::before { background:var(--gold) }
html[data-contrast="high"] .pricing-summary { border-color:rgba(255,255,255,0.3); border-left-color:var(--gold) }

/* Final sitewide readable copy scale.
   Kept near the stylesheet end so later page-specific blocks do not shrink paragraph text. */
.about-body p,
.svc-desc,
.svc-offering-desc,
.svc-compass-desc,
.fw-desc,
.analyst-right p,
.analyst-v9-right p,
.analyst-v9-cert p,
.contact-intro-sub,
.contact-intro-desc,
.contact-left p,
.contact-form-sub,
.pricing-compare-note,
.pricing-summary-billing,
.faq-lead-sub,
.faq-a,
.faq-grid-a,
.faq-svc-desc,
.faq-svc-lead,
.faq-svc-point-desc,
.home-why-intro,
.home-why-desc,
.home-cover-head-sub,
.home-cover-desc,
.home-how-left-sub,
.home-how-desc,
.home-cta-band p,
.notes-cta-text,
.notes-cta p,
.blog-hero .blog-excerpt,
.blog-excerpt,
.blog-comm-text,
.blog-modal-body p,
.post-body p,
.pcard-v2-tagline,
.pricing-tagline,
.pricing-disclaimer,
.about-hero-p,
.about-overview-wrap .home-why-intro,
.about-overview-point-text,
.about-phil-left p,
.about-principle-body p,
.about-audience-card p,
.about-analyst-copy p,
.about-value-desc,
.about-identity-p,
.about-compass-desc,
.about-reg-disclaimer,
.about-diff-desc {
  font-size:16px;
  line-height:1.82;
}

@media(max-width:640px) {
  .about-body p,
  .svc-desc,
  .svc-offering-desc,
  .svc-compass-desc,
  .fw-desc,
  .analyst-right p,
  .analyst-v9-right p,
  .analyst-v9-cert p,
  .contact-intro-sub,
  .contact-intro-desc,
  .contact-left p,
  .contact-form-sub,
  .faq-lead-sub,
  .faq-a,
  .faq-grid-a,
  .faq-svc-desc,
  .faq-svc-lead,
  .faq-svc-point-desc,
  .home-why-intro,
  .home-why-desc,
  .home-cover-head-sub,
  .home-cover-desc,
  .home-how-left-sub,
  .home-how-desc,
  .home-cta-band p,
  .notes-cta-text,
  .notes-cta p,
  .blog-hero .blog-excerpt,
  .blog-excerpt,
  .blog-comm-text,
  .blog-modal-body p,
  .post-body p,
  .pcard-v2-tagline,
  .pricing-tagline,
  .pricing-disclaimer,
  .about-hero-p,
  .about-overview-wrap .home-why-intro,
  .about-overview-point-text,
  .about-phil-left p,
  .about-principle-body p,
  .about-audience-card p,
  .about-analyst-copy p,
  .about-value-desc,
  .about-identity-p,
  .about-compass-desc,
  .about-reg-disclaimer,
  .about-diff-desc {
    font-size:16px;
    line-height:1.82;
  }
}

@media(max-width:640px) {
  .dashboard-title,
  .pricing-compare-title {
    font-size:var(--ra-type-card-heading) !important;
    line-height:1.24;
    letter-spacing:-0.01em;
    margin-bottom:6px;
  }
  .dashboard-copy,
  .pricing-compare-note {
    font-size:16px;
    line-height:1.82;
  }
}

/* Final About responsive rhythm: match the modern Home/Contact gutters. */
@media(max-width:900px) {
  :root {
    --ra-type-section-title: 30px;
    --ra-type-section-sub: 24px;
  }

  .about-overview,
  .about-philosophy-wrap,
  .about-audience,
  .about-analyst-wrap {
    padding:64px 24px !important;
  }
  .about-overview .section-inner,
  .about-philosophy-wrap .section-inner,
  .about-audience .section-inner,
  .about-analyst-wrap .section-inner {
    width:100%;
    max-width:none;
    margin-left:0;
    margin-right:0;
    padding-left:0;
    padding-right:0;
  }

  .about-sec-head-title,
  .notes-section-head-title,
  .blog-comm-section-title {
    display:inline-block !important;
    white-space:normal !important;
    flex:0 1 auto !important;
    min-width:0 !important;
    max-width:calc(100vw - 128px) !important;
    overflow-wrap:break-word;
    width:fit-content;
    width:-webkit-fit-content;
  }
}

@media(max-width:640px) {
  .about-overview,
  .about-philosophy-wrap,
  .about-audience,
  .about-analyst-wrap {
    padding:56px 20px !important;
  }
  .about-overview-wrap,
  .about-philosophy,
  .about-analyst-grid {
    gap:40px;
  }
}

/* Final typography hierarchy: heading -> subheading -> paragraph. */
:root {
  --ra-type-page-title: 48px;
  --ra-type-page-sub: 17px;
  --ra-type-section-title: 36px;
  --ra-type-section-sub: 24px;
  --ra-type-card-heading: 20px;
  --ra-type-feature-title: 17px;
  --ra-type-body: 15px;
  --ra-type-body-lh: 1.82;
}

.page-header-title {
  font-size: var(--ra-type-page-title);
  line-height: 1.05;
  letter-spacing: 0;
}

.page-header-sub,
.hero-body,
.contact-hero-body {
  font-size: var(--ra-type-page-sub);
  line-height: 1.78;
}

.notes-section-head-title,
.about-sec-head-title,
.about-sec-head-lg .about-sec-head-title,
.blog-comm-section-title {
  font-size: var(--ra-type-section-title) !important;
  line-height: 1;
  letter-spacing: 0;
}

.home-how-heading,
.contact-intro-heading,
.faq-lead-heading,
.faq-svc-lead,
.about-overview-wrap .home-why-heading,
.about-philosophy-summary h2,
.blog-hero .blog-title {
  font-size: var(--ra-type-section-sub);
  line-height: 1.3;
  letter-spacing: 0;
}

.home-cover-head-title,
.home-how-left-title,
.contact-left h3,
.about-intro-heading,
.post-title-under {
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: 0;
}

.home-why-title,
.home-how-title,
.contact-intro-title,
.faq-q,
.faq-svc-point-title,
.about-overview-point-title,
.about-principle-body h4,
.pcard-v2-stat-val,
.svc-offering-title,
.home-cover-title,
.contact-analyst-name,
.about-analyst-name {
  font-size: var(--ra-type-feature-title);
  line-height: 1.28;
  letter-spacing: 0;
}

.blog-title,
.blog-comm-title,
.contact-form-title,
.pricing-summary-title,
.note-fund,
.pcard-v2-title,
.analyst-right h3 {
  font-size: var(--ra-type-card-heading) !important;
  line-height: 1.24;
  letter-spacing: -0.01em;
}

.home-cover-head-sub,
.blog-hero .blog-excerpt,
.blog-excerpt,
.blog-comm-text,
.post-body p,
.contact-intro-sub,
.contact-intro-desc,
.contact-left p,
.faq-lead-sub,
.faq-a,
.faq-grid-a,
.faq-svc-desc,
.faq-svc-point-desc,
.home-why-intro,
.home-why-desc,
.home-cover-desc,
.home-how-left-sub,
.home-how-desc,
.svc-desc,
.svc-offering-desc,
.svc-compass-desc,
.fw-desc,
.about-overview-wrap .home-why-intro,
.about-overview-point-text,
.about-phil-left p,
.about-principle-body p,
.about-audience-card p,
.about-analyst-copy p,
.about-value-desc,
.about-intro-text,
.about-diff-desc,
.about-compass-desc,
.about-reg-disclaimer,
.analyst-right p,
.analyst-v9-right p,
.analyst-v9-cert p,
.pcard-v2-tagline,
.pricing-tagline,
.pricing-disclaimer,
.home-cta-band p,
.notes-cta-text,
.notes-cta p,
.footer-brand-desc {
  font-size: var(--ra-type-body);
  line-height: var(--ra-type-body-lh);
  letter-spacing: 0;
}

@media(max-width:640px) {
  :root {
    --ra-type-page-title: 42px;
    --ra-type-page-sub: 16px;
    --ra-type-section-title: 32px;
    --ra-type-section-sub: 24px;
    --ra-type-card-heading: 18px;
    --ra-type-feature-title: 16px;
  }

  .home-cover-head-title,
  .home-how-left-title,
  .contact-left h3,
  .about-intro-heading,
  .post-title-under {
    font-size: 30px;
  }

  .about-sec-head,
  .notes-section-head,
  .blog-comm-head {
    align-items:flex-end;
    gap:16px;
  }

  .about-sec-head-title,
  .notes-section-head-title,
  .blog-comm-section-title {
    display:inline-block !important;
    white-space:normal !important;
    flex:0 1 auto !important;
    min-width:0 !important;
    max-width:calc(100vw - 96px) !important;
    overflow-wrap:break-word;
    line-height:1.18 !important;
  }

  .about-sec-head-line,
  .notes-section-head-line {
    min-width:34px;
  }

  .page-header-sub,
  .hero-body,
  .contact-hero-body {
    line-height: 1.74;
  }
}

/* Final card heading/subtext normalization for dashboard, enquiry, compare, and cart cards. */
.contact-form-title,
.dashboard-title,
.pricing-compare-title,
.pricing-summary-title {
  font-size:24px !important;
  line-height:1.22;
  letter-spacing:-0.02em;
  margin-bottom:6px;
}
.contact-form-sub,
.dashboard-copy,
.pricing-compare-note,
.pricing-summary-billing {
  font-size:14px !important;
  line-height:1.65;
}

@media(max-width:640px) {
  .contact-form-title,
  .dashboard-title,
  .pricing-compare-title,
  .pricing-summary-title {
    font-size:22px !important;
    line-height:1.24;
    letter-spacing:-0.01em;
    margin-bottom:6px;
  }
  .contact-form-sub,
  .dashboard-copy,
  .pricing-compare-note,
  .pricing-summary-billing {
    font-size:14px !important;
    line-height:1.65;
  }
  .home-why-heading,
  .home-how-heading,
  .about-overview-wrap .home-why-heading,
  .about-philosophy-summary h2 {
    font-size:21px !important;
    line-height:1.34;
    letter-spacing:-0.02em;
  }
}

/* Final dark-mode color pass: Contact is the base across the site. */
html[data-theme="dark"] body {
  background:var(--body-bg);
  color:var(--body-text);
}

html[data-theme="dark"] .home-why,
html[data-theme="dark"] .home-how,
html[data-theme="dark"] .home-cta-band,
html[data-theme="dark"] .about-overview,
html[data-theme="dark"] .about-philosophy-wrap,
html[data-theme="dark"] .about-analyst-wrap,
html[data-theme="dark"] .faq-sec-white,
html[data-theme="dark"] .contact,
html[data-theme="dark"] .pricing,
html[data-theme="dark"] .post,
html[data-theme="dark"] .login-modal-form {
  background:var(--section-b);
}

html[data-theme="dark"] .notes-cta,
html[data-theme="dark"] .notes .home-cta-band.notes-cta,
html[data-theme="dark"] .note-card,
html[data-theme="dark"] .note-card-footer,
html[data-theme="dark"] .note-card.upcoming,
html[data-theme="dark"] .blog-card,
html[data-theme="dark"] .blog-hero-body,
html[data-theme="dark"] .blog-comm-col,
html[data-theme="dark"] .contact-form,
html[data-theme="dark"] .contact-analyst-card,
html[data-theme="dark"] .pricing-card,
html[data-theme="dark"] .pricing-card:hover,
html[data-theme="dark"] .pricing-card.selected,
html[data-theme="dark"] .pcard-v2,
html[data-theme="dark"] .pcard-v2.selected,
html[data-theme="dark"] .pricing-ipo-strip,
html[data-theme="dark"] .pricing-summary,
html[data-theme="dark"] .pricing-disclaimer,
html[data-theme="dark"] .analyst-v9-card,
html[data-theme="dark"] .analyst-v9-cert,
html[data-theme="dark"] .about-reg-strip,
html[data-theme="dark"] .about-diff-strip,
html[data-theme="dark"] .svc-offering-strip,
html[data-theme="dark"] .svc-offering-item {
  background:var(--card-bg) !important;
}

html[data-theme="dark"] .note-card,
html[data-theme="dark"] .blog-card,
html[data-theme="dark"] .blog-hero,
html[data-theme="dark"] .blog-comm-col,
html[data-theme="dark"] .contact-form,
html[data-theme="dark"] .contact-analyst-card,
html[data-theme="dark"] .pricing-card,
html[data-theme="dark"] .pcard-v2,
html[data-theme="dark"] .pricing-ipo-strip,
html[data-theme="dark"] .pricing-summary,
html[data-theme="dark"] .pricing-disclaimer,
html[data-theme="dark"] .analyst-v9-card,
html[data-theme="dark"] .analyst-v9-cert {
  border-color:var(--card-border);
}

html[data-theme="dark"] .contact-form {
  border-left-color:var(--gold) !important;
}

html[data-theme="dark"] .contact-form:hover {
  border-left-color:var(--gold2) !important;
}

html[data-theme="dark"] .pcard-v2 {
  border-left-color:var(--gold) !important;
}

html[data-theme="dark"] .pcard-v2:hover,
html[data-theme="dark"] .pcard-v2.selected {
  border-left-color:var(--gold2) !important;
}

html[data-theme="dark"] .pricing-ipo-strip,
html[data-theme="dark"] .pricing-summary {
  border-left-color:var(--gold) !important;
}

html[data-theme="dark"] .pricing-ipo-strip:hover,
html[data-theme="dark"] .pricing-summary:hover {
  border-left-color:var(--gold2) !important;
}

html[data-theme="dark"] .note-card .note-card-accent {
  background:var(--gold);
}

html[data-theme="dark"] .note-card:hover .note-card-accent {
  background:var(--gold2);
}

html[data-theme="dark"] .note-card.upcoming {
  border-style:solid;
  border-color:var(--card-border);
  border-left:none;
  opacity:1;
}

html[data-theme="dark"] .note-card.upcoming .note-card-accent {
  background:var(--gold);
}

html[data-theme="dark"] .note-card .note-card-accent {
  margin-top:0;
  margin-bottom:0;
}

html[data-theme="dark"] .blog-media-placeholder,
html[data-theme="dark"] .analyst-portrait {
  background:var(--section-dark);
  border-color:rgba(176,137,60,0.12);
}

html[data-theme="dark"] .blog-excerpt,
html[data-theme="dark"] .blog-hero .blog-excerpt,
html[data-theme="dark"] .blog-comm-text,
html[data-theme="dark"] .notes-cta-text,
html[data-theme="dark"] .contact-form-sub,
html[data-theme="dark"] .pcard-v2-tagline,
html[data-theme="dark"] .pricing-tagline,
html[data-theme="dark"] .pricing-feature,
html[data-theme="dark"] .pcard-v2-feat,
html[data-theme="dark"] .pricing-summary-line,
html[data-theme="dark"] .pricing-summary-billing,
html[data-theme="dark"] .pricing-disclaimer,
html[data-theme="dark"] .home-why-intro,
html[data-theme="dark"] .home-why-desc,
html[data-theme="dark"] .home-cover-desc,
html[data-theme="dark"] .home-how-left-sub,
html[data-theme="dark"] .home-how-desc,
html[data-theme="dark"] .home-cta-band p,
html[data-theme="dark"] .about-overview-wrap .home-why-intro,
html[data-theme="dark"] .about-overview-point-text,
html[data-theme="dark"] .about-phil-left p,
html[data-theme="dark"] .about-principle-body p,
html[data-theme="dark"] .about-audience-card p,
html[data-theme="dark"] .about-analyst-copy p,
html[data-theme="dark"] .about-value-desc,
html[data-theme="dark"] .about-intro-text,
html[data-theme="dark"] .about-diff-desc,
html[data-theme="dark"] .about-compass-desc,
html[data-theme="dark"] .about-reg-disclaimer,
html[data-theme="dark"] .analyst-v9-right p,
html[data-theme="dark"] .analyst-v9-cert p,
html[data-theme="dark"] .svc-desc,
html[data-theme="dark"] .svc-offering-desc,
html[data-theme="dark"] .svc-compass-desc,
html[data-theme="dark"] .fw-desc,
html[data-theme="dark"] .faq-a,
html[data-theme="dark"] .faq-grid-a,
html[data-theme="dark"] .faq-lead-sub,
html[data-theme="dark"] .faq-svc-desc,
html[data-theme="dark"] .faq-svc-point-desc,
html[data-theme="dark"] .footer-brand-desc {
  color:var(--body-text-2);
}

html[data-theme="dark"] .fw-compass-col svg circle[fill="#00072D"] {
  fill:#000000 !important;
}

html[data-theme="dark"] .fw-compass-col svg polygon[fill="#00072D"] {
  fill:#000000 !important;
}

html[data-theme="dark"] .fw-compass-col svg line[stroke="#00072D"] {
  stroke:#000000 !important;
}

html[data-theme="dark"] .blog-date,
html[data-theme="dark"] .blog-read-time,
html[data-theme="dark"] .note-card .note-fund-sub,
html[data-theme="dark"] .pricing-period,
html[data-theme="dark"] .pricing-summary-empty,
html[data-theme="dark"] .pricing-summary-total-label,
html[data-theme="dark"] .contact-analyst-reg-label,
html[data-theme="dark"] .about-analyst-meta-lbl,
html[data-theme="dark"] .analyst-v9-reg-lbl {
  color:var(--body-text-3);
}

html[data-theme="dark"] .form-input,
html[data-theme="dark"] .form-select,
html[data-theme="dark"] .form-textarea,
html[data-theme="dark"] .login-field-input,
html[data-theme="dark"] .pricing-plan-select,
html[data-theme="dark"] .pcard-v2-select,
html[data-theme="dark"] .pricing-coupon-input {
  background:var(--form-field-bg);
  border-color:rgba(176,137,60,0.14);
  color:var(--body-text);
}

html[data-theme="dark"] .form-input:focus,
html[data-theme="dark"] .form-select:focus,
html[data-theme="dark"] .form-textarea:focus,
html[data-theme="dark"] .login-field-input:focus,
html[data-theme="dark"] .pricing-plan-select:focus,
html[data-theme="dark"] .pcard-v2-select:focus,
html[data-theme="dark"] .pricing-coupon-input:focus {
  border-color:rgba(176,137,60,0.42);
  box-shadow:0 0 0 3px rgba(176,137,60,0.08);
}

html[data-theme="dark"] .form-input::placeholder,
html[data-theme="dark"] .form-textarea::placeholder,
html[data-theme="dark"] .login-field-input::placeholder,
html[data-theme="dark"] .pricing-coupon-input::placeholder {
  color:rgba(216,220,232,0.40);
}

html[data-theme="dark"] .section-rule,
html[data-theme="dark"] .about-sec-head-line,
html[data-theme="dark"] .notes-section-head-line,
html[data-theme="dark"] .blog-comm-section-line {
  background:var(--rule-color);
}

/* Final high-contrast cleanup: only remap gold accents to yellow, while
   keeping neutral dividers readable and card copy out of the blue palette. */
html[data-contrast="high"] .contact,
html[data-contrast="high"] .notes,
html[data-contrast="high"] .reports,
html[data-contrast="high"] .pricing,
html[data-contrast="high"] footer {
  background:#000000!important;
}

html[data-contrast="high"] .ticker {
  background:var(--gold)!important;
}

html[data-contrast="high"] .ticker-item {
  color:#000000!important;
  border-right-color:rgba(0,0,0,0.45)!important;
}

html[data-contrast="high"] .framework {
  border-top:1px solid rgba(255,255,255,0.65)!important;
}

html[data-contrast="high"] .fw-body {
  background:#000000!important;
  border-color:rgba(255,255,255,0.65)!important;
}

html[data-contrast="high"] .fw-compass-col {
  background:#000000!important;
  border-right-color:rgba(255,255,255,0.65)!important;
}

html[data-contrast="high"] .fw-info-divider,
html[data-contrast="high"] .fw-dot.active {
  background:var(--gold)!important;
}

html[data-contrast="high"] .fw-info-letter {
  color:var(--gold)!important;
  background:transparent!important;
}

html[data-contrast="high"] .fw-dot {
  background:rgba(255,212,0,0.35)!important;
}

html[data-contrast="high"] #fw-svg circle[fill="#00072D"],
html[data-contrast="high"] #fw-svg .fw-seg:not([fill="#FFD400"]) {
  fill:#000000!important;
}

html[data-contrast="high"] #fw-svg circle[stroke="#B0893C"],
html[data-contrast="high"] #fw-svg .fw-seg {
  stroke:var(--gold)!important;
}

html[data-contrast="high"] #fw-svg polygon[fill="#B0893C"] {
  fill:var(--gold)!important;
}

html[data-contrast="high"] #fw-svg line[stroke="#00072D"] {
  stroke:#000000!important;
}

html[data-contrast="high"] .section-rule,
html[data-contrast="high"] .about-sec-head-line,
html[data-contrast="high"] .notes-section-head-line,
html[data-contrast="high"] .blog-comm-section-line,
html[data-contrast="high"] .framework .about-sec-head-line {
  height:1px!important;
  background:rgba(255,255,255,0.65)!important;
  opacity:1!important;
}

html[data-contrast="high"] .home-why-row,
html[data-contrast="high"] .home-how-step,
html[data-contrast="high"] .fw-grid,
html[data-contrast="high"] .fw-item,
html[data-contrast="high"] .note-data-row,
html[data-contrast="high"] .pricing-summary-line,
html[data-contrast="high"] .contact-detail {
  border-width:1px!important;
  border-color:rgba(255,255,255,0.65)!important;
}

/* fw dividers visible in high-contrast mode */
html[data-contrast="high"] .fw-grid,
html[data-contrast="high"] .fw-item {
  border-color:rgba(255,255,255,0.65)!important;
}

html[data-contrast="high"] footer {
  border-top:1px solid rgba(255,255,255,0.65)!important;
}

html[data-contrast="high"] .footer-analyst,
html[data-contrast="high"] .footer-disclaimer,
html[data-contrast="high"] .footer-bottom {
  border-top-color:rgba(255,255,255,0.35)!important;
}

html[data-contrast="high"] .footer-analyst-divider {
  background:rgba(255,255,255,0.35)!important;
}

html[data-contrast="high"] .note-card-accent,
html[data-contrast="high"] .note-card.upcoming .note-card-accent,
html[data-contrast="high"] .pricing-card::before,
html[data-contrast="high"] .pricing-card.selected::before {
  background:var(--gold)!important;
}

html[data-contrast="high"] .home-cover-card:not(:last-child)::after {
  background:rgba(255,255,255,0.65)!important;
}

html[data-contrast="high"] .pcard-v2,
html[data-contrast="high"] .pcard-v2:hover,
html[data-contrast="high"] .pcard-v2.selected,
html[data-contrast="high"] .pricing-ipo-strip,
html[data-contrast="high"] .pricing-ipo-strip:hover,
html[data-contrast="high"] .pricing-summary,
html[data-contrast="high"] .pricing-summary:hover,
html[data-contrast="high"] .pricing-disclaimer,
html[data-contrast="high"] .contact-form,
html[data-contrast="high"] .contact-form:hover,
html[data-contrast="high"] .contact-analyst-card,
html[data-contrast="high"] .about-pullquote,
html[data-contrast="high"] .analyst-v9-card,
html[data-contrast="high"] .analyst-v9-cert {
  border-left-color:var(--gold)!important;
}

html[data-contrast="high"] .note-card,
html[data-contrast="high"] .note-card:hover,
html[data-contrast="high"] .note-card.upcoming,
html[data-contrast="high"] .pcard-v2,
html[data-contrast="high"] .pcard-v2:hover,
html[data-contrast="high"] .pcard-v2.selected,
html[data-contrast="high"] .pricing-card,
html[data-contrast="high"] .pricing-card:hover,
html[data-contrast="high"] .pricing-card.selected,
html[data-contrast="high"] .pricing-ipo-strip,
html[data-contrast="high"] .pricing-summary,
html[data-contrast="high"] .contact-form,
html[data-contrast="high"] .contact-form:hover,
html[data-contrast="high"] .contact-analyst-card {
  background:#000000!important;
  border-color:rgba(255,255,255,0.65)!important;
  box-shadow:none!important;
}

html[data-contrast="high"] .a11y-panel,
html[data-contrast="high"] .a11y-panel:hover,
html[data-contrast="high"] .ask-axis-panel,
html[data-contrast="high"] .ask-axis-panel:hover {
  border-left-color:var(--gold)!important;
}

html[data-contrast="high"] .pcard-v2,
html[data-contrast="high"] .pcard-v2:hover,
html[data-contrast="high"] .pcard-v2.selected,
html[data-contrast="high"] .pricing-ipo-strip,
html[data-contrast="high"] .pricing-ipo-strip:hover,
html[data-contrast="high"] .pricing-summary,
html[data-contrast="high"] .pricing-summary:hover,
html[data-contrast="high"] .pricing-disclaimer,
html[data-contrast="high"] .contact-form,
html[data-contrast="high"] .contact-form:hover,
html[data-contrast="high"] .contact-analyst-card {
  border-left-color:var(--gold)!important;
}

html[data-contrast="high"] .note-fund,
html[data-contrast="high"] .pricing-tier-name,
html[data-contrast="high"] .pricing-amount,
html[data-contrast="high"] .pricing-currency,
html[data-contrast="high"] .pcard-v2-title,
html[data-contrast="high"] .pcard-v2-stat-val,
html[data-contrast="high"] .pcard-v2-currency,
html[data-contrast="high"] .pcard-v2-amount,
html[data-contrast="high"] .pricing-summary-title,
html[data-contrast="high"] .pricing-summary-line-price,
html[data-contrast="high"] .pricing-summary-subtotal-amt,
html[data-contrast="high"] .contact-intro-heading,
html[data-contrast="high"] .contact-intro-title,
html[data-contrast="high"] .contact-detail-val,
html[data-contrast="high"] .contact-form-title,
html[data-contrast="high"] .contact-analyst-name,
html[data-contrast="high"] .contact-analyst-reg-val {
  color:#ffffff!important;
}

html[data-contrast="high"] .note-fund-sub,
html[data-contrast="high"] .note-data-label,
html[data-contrast="high"] .note-data-val,
html[data-contrast="high"] .pricing-tagline,
html[data-contrast="high"] .pricing-feature,
html[data-contrast="high"] .pricing-period,
html[data-contrast="high"] .pricing-summary-empty,
html[data-contrast="high"] .pricing-summary-line,
html[data-contrast="high"] .pricing-summary-billing,
html[data-contrast="high"] .pricing-summary-total-label,
html[data-contrast="high"] .pricing-summary-coupon-label,
html[data-contrast="high"] .pricing-coupon-msg,
html[data-contrast="high"] .pcard-v2-tagline,
html[data-contrast="high"] .pcard-v2-feat,
html[data-contrast="high"] .pcard-v2-period,
html[data-contrast="high"] .pcard-v2-stat-label,
html[data-contrast="high"] .contact-intro-sub,
html[data-contrast="high"] .contact-intro-desc,
html[data-contrast="high"] .contact-form-sub,
html[data-contrast="high"] .contact-analyst-reg-label,
html[data-contrast="high"] .footer-brand-desc,
html[data-contrast="high"] .footer-links a,
html[data-contrast="high"] .footer-links li,
html[data-contrast="high"] .footer-analyst-key,
html[data-contrast="high"] .footer-analyst-val,
html[data-contrast="high"] .footer-disclaimer,
html[data-contrast="high"] .footer-disclaimer strong,
html[data-contrast="high"] .footer-bottom {
  color:rgba(255,255,255,0.88)!important;
}

html[data-contrast="high"] .note-status,
html[data-contrast="high"] .note-status.illustrative,
html[data-contrast="high"] .note-status.live,
html[data-contrast="high"] .note-compass-label,
html[data-contrast="high"] .note-compass-val,
html[data-contrast="high"] .note-card.upcoming .note-status,
html[data-contrast="high"] .note-card.upcoming .note-compass-label,
html[data-contrast="high"] .note-card.upcoming .note-compass-val,
html[data-contrast="high"] .pcard-v2-kicker,
html[data-contrast="high"] .pcard-v2-select.has-selection,
html[data-contrast="high"] .pricing-card.selected .pricing-tier-name,
html[data-contrast="high"] .pricing-card.selected .pricing-amount,
html[data-contrast="high"] .pricing-annual-eq,
html[data-contrast="high"] .pricing-summary-line.bundle-line .pricing-summary-line-name,
html[data-contrast="high"] .pricing-summary-line.ipo-line .pricing-summary-line-price,
html[data-contrast="high"] .pricing-summary-total-amt,
html[data-contrast="high"] .pricing-summary-savings,
html[data-contrast="high"] .pricing-summary-discount-label,
html[data-contrast="high"] .pricing-summary-discount-amt,
html[data-contrast="high"] .contact-intro-heading span,
html[data-contrast="high"] .contact-intro-row-num,
html[data-contrast="high"] .contact-icon svg,
html[data-contrast="high"] .contact-detail-label,
html[data-contrast="high"] .contact-analyst-title,
html[data-contrast="high"] .form-label,
html[data-contrast="high"] .nav-gold-rule,
html[data-contrast="high"] .footer-col-title,
html[data-contrast="high"] .footer-analyst-cert,
html[data-contrast="high"] .footer-bottom-reg {
  color:var(--gold)!important;
  fill:var(--gold)!important;
  stroke:var(--gold)!important;
}

html[data-contrast="high"] .nav-gold-rule {
  background:var(--gold)!important;
}

html[data-contrast="high"] .contact-detail-label,
html[data-contrast="high"] .form-label {
  background:transparent!important;
}

html[data-contrast="high"] .btn-fill,
html[data-contrast="high"] .form-submit,
html[data-contrast="high"] .note-dl-btn,
html[data-contrast="high"] .pricing-save-pill,
html[data-contrast="high"] .pricing-cap-label,
html[data-contrast="high"] .pcard-v2-itag,
html[data-contrast="high"] .pricing-ipo-strip-badge,
html[data-contrast="high"] .ask-axis-toggle,
html[data-contrast="high"] .ask-axis-send,
html[data-contrast="high"] .a11y-chip.active,
html[data-contrast="high"] .a11y-theme-btn.active {
  background:var(--gold)!important;
  border-color:var(--gold)!important;
  color:#000000!important;
}

html[data-contrast="high"] .btn-ghost-gold,
html[data-contrast="high"] .note-dl-btn.pending,
html[data-contrast="high"] .pricing-coupon-btn {
  background:transparent!important;
  border-color:var(--gold)!important;
  color:var(--gold)!important;
}

html[data-contrast="high"] .form-input,
html[data-contrast="high"] .form-select,
html[data-contrast="high"] .form-textarea,
html[data-contrast="high"] .pricing-plan-select,
html[data-contrast="high"] .pcard-v2-select,
html[data-contrast="high"] .pricing-coupon-input {
  background:#000000!important;
  border-color:rgba(255,255,255,0.65)!important;
  color:#ffffff!important;
}

html[data-contrast="high"] .form-input::placeholder,
html[data-contrast="high"] .form-textarea::placeholder,
html[data-contrast="high"] .pricing-coupon-input::placeholder {
  color:rgba(255,255,255,0.62)!important;
}

html[data-contrast="high"] .section-rule,
html[data-contrast="high"] .about-sec-head-line,
html[data-contrast="high"] .notes-section-head-line,
html[data-contrast="high"] .blog-comm-section-line,
html[data-contrast="high"] .framework .about-sec-head-line,
html[data-contrast="high"] .home-cover-card:not(:last-child)::after,
html[data-contrast="high"] .fw-info-divider,
html[data-contrast="high"] .about-reg-divider,
html[data-contrast="high"] .footer-analyst-divider,
html[data-contrast="high"] .pricing-compare-mobile-scroll::before {
  background:var(--contrast-divider)!important;
}

html[data-contrast="high"] .nav,
html[data-contrast="high"] .nav-drawer,
html[data-contrast="high"] .nav-drawer a,
html[data-contrast="high"] .ticker,
html[data-contrast="high"] .framework,
html[data-contrast="high"] .fw-body,
html[data-contrast="high"] .fw-compass-col,
html[data-contrast="high"] .fw-info-col,
html[data-contrast="high"] .home-quote-band,
html[data-contrast="high"] .home-cover,
html[data-contrast="high"] .home-cover-card,
html[data-contrast="high"] .home-how,
html[data-contrast="high"] .home-why-row,
html[data-contrast="high"] .home-how-step,
html[data-contrast="high"] .home-how-step-rule,
html[data-contrast="high"] .home-cover-card:not(:last-child)::after,
html[data-contrast="high"] .faq-item,
html[data-contrast="high"] .faq-svc-row,
html[data-contrast="high"] .faq-svc-point-num,
html[data-contrast="high"] .note-data-row,
html[data-contrast="high"] .note-card-footer,
html[data-contrast="high"] .blog-card-body,
html[data-contrast="high"] .contact-detail,
html[data-contrast="high"] .pricing-card,
html[data-contrast="high"] .pricing-feature,
html[data-contrast="high"] .pricing-summary-line,
html[data-contrast="high"] .pricing-compare,
html[data-contrast="high"] .pricing-compare-table th,
html[data-contrast="high"] .pricing-compare-table td,
html[data-contrast="high"] .pcard-v2-feat,
html[data-contrast="high"] .grievance-card,
html[data-contrast="high"] .grievance-table th,
html[data-contrast="high"] .grievance-table td,
html[data-contrast="high"] .footer-analyst,
html[data-contrast="high"] .footer-disclaimer,
html[data-contrast="high"] .footer-bottom,
html[data-contrast="high"] footer {
  border-color:var(--contrast-divider)!important;
}

html[data-contrast="high"] .footer-links a:hover,
html[data-contrast="high"] .footer-sebi-link:hover,
html[data-contrast="high"] .footer-analyst-cert:hover,
html[data-contrast="high"] .footer-social-link:hover {
  color:var(--gold)!important;
  opacity:1;
}

html[data-contrast="high"] .footer-social-link:hover img {
  filter:brightness(0) saturate(100%) invert(87%) sepia(97%) saturate(1280%) hue-rotate(359deg) brightness(104%) contrast(106%)!important;
  transition:none!important;
}

html[data-contrast="high"] .footer-social-link:hover .social-icon {
  color:var(--gold)!important;
}

html[data-contrast="high"] .footer-social-link img {
  transition:none!important;
}

html[data-contrast="high"] .btn-ghost-gold:hover,
html[data-contrast="high"] .note-dl-btn.pending:hover,
html[data-contrast="high"] .pricing-coupon-btn:hover,
html[data-contrast="high"] .blog-scroll-btn:hover,
html[data-contrast="high"] .nav-drawer-a11y-chip:hover,
html[data-contrast="high"] .nav-drawer-appearance-btn:hover {
  background:var(--gold)!important;
  border-color:var(--gold)!important;
  color:#000000!important;
}

html[data-contrast="high"] .btn-ghost-gold:hover *,
html[data-contrast="high"] .note-dl-btn.pending:hover *,
html[data-contrast="high"] .pricing-coupon-btn:hover * {
  color:#000000!important;
  fill:#000000!important;
  stroke:#000000!important;
}

html[data-contrast="high"] .charter-section,
html[data-contrast="high"] .grievance-section,
html[data-contrast="high"] .audit-section,
html[data-contrast="high"] .charter-card,
html[data-contrast="high"] .grievance-card,
html[data-contrast="high"] .audit-card {
  background:#000000!important;
  color:#ffffff!important;
}

html[data-contrast="high"] .charter-card p,
html[data-contrast="high"] .charter-card li,
html[data-contrast="high"] .audit-disclosure,
html[data-contrast="high"] .grievance-table td,
html[data-contrast="high"] .grievance-table a,
html[data-contrast="high"] .grievance-muted {
  color:rgba(255,255,255,0.88)!important;
}

html[data-contrast="high"] .charter-card h2,
html[data-contrast="high"] .charter-card h3,
html[data-contrast="high"] .grievance-table th {
  color:#ffffff!important;
}

html[data-contrast="high"] .pricing-card::before,
html[data-contrast="high"] .pricing-card.selected::before,
html[data-contrast="high"] .note-card-accent,
html[data-contrast="high"] .note-card.upcoming .note-card-accent,
html[data-contrast="high"] .svc-title::before,
html[data-contrast="high"] .home-cover-head .u-rule,
html[data-contrast="high"] .home-why-left .u-rule,
html[data-contrast="high"] .blog-comm-col + .blog-comm-col,
html[data-contrast="high"] .about-philosophy-band-q,
html[data-contrast="high"] .about-pullquote,
html[data-contrast="high"] .contact-form,
html[data-contrast="high"] .contact-form:hover,
html[data-contrast="high"] .contact-form-card-wrap,
html[data-contrast="high"] .contact-analyst-card,
html[data-contrast="high"] .grievance-card,
html[data-contrast="high"] .grievance-card:hover,
html[data-contrast="high"] .audit-card,
html[data-contrast="high"] .dashboard-panel,
html[data-contrast="high"] .dashboard-panel:hover,
html[data-contrast="high"] .dashboard-plan-pill.is-active,
html[data-contrast="high"] .dashboard-plan-pill.is-active:hover,
html[data-contrast="high"] .dashboard-position-item,
html[data-contrast="high"] .dashboard-position-item:hover,
html[data-contrast="high"] .dashboard-locked-card,
html[data-contrast="high"] .analyst-v9-card,
html[data-contrast="high"] .analyst-v9-cert,
html[data-contrast="high"] .pcard-v2,
html[data-contrast="high"] .pcard-v2:hover,
html[data-contrast="high"] .pcard-v2.selected,
html[data-contrast="high"] .pricing-ipo-strip,
html[data-contrast="high"] .pricing-ipo-strip:hover,
html[data-contrast="high"] .pricing-summary,
html[data-contrast="high"] .pricing-summary:hover,
html[data-contrast="high"] .pricing-compare,
html[data-contrast="high"] .pricing-compare:hover,
html[data-contrast="high"] .pricing-disclaimer {
  border-left-color:var(--gold)!important;
}

html[data-contrast="high"] .note-card:hover,
html[data-contrast="high"] .pcard-v2:hover,
html[data-contrast="high"] .pcard-v2.selected:hover,
html[data-contrast="high"] .pricing-card:hover,
html[data-contrast="high"] .pricing-card.selected:hover,
html[data-contrast="high"] .pricing-ipo-strip:hover,
html[data-contrast="high"] .pricing-summary:hover,
html[data-contrast="high"] .pricing-compare:hover,
html[data-contrast="high"] .contact-form:hover,
html[data-contrast="high"] .grievance-card:hover,
html[data-contrast="high"] .dashboard-panel:hover,
html[data-contrast="high"] .dashboard-plan-pill.is-active:hover,
html[data-contrast="high"] .dashboard-position-item:hover,
html[data-contrast="high"] .svc-card:hover,
html[data-contrast="high"] .blog-card:hover,
html[data-contrast="high"] .login-card:hover {
  border-color:var(--gold)!important;
  border-left-color:var(--gold)!important;
}

html[data-contrast="high"] .pricing-card::before,
html[data-contrast="high"] .pricing-card.selected::before,
html[data-contrast="high"] .note-card-accent,
html[data-contrast="high"] .note-card.upcoming .note-card-accent,
html[data-contrast="high"] .svc-title::before,
html[data-contrast="high"] .home-cover-head .u-rule,
html[data-contrast="high"] .home-why-left .u-rule {
  background:var(--gold)!important;
}

html[data-contrast="high"] #page-dashboard,
html[data-contrast="high"] #page-dashboard .page-wrap,
html[data-contrast="high"] .dashboard-hub,
html[data-contrast="high"] .dashboard-panel,
html[data-contrast="high"] .dashboard-plan-pill,
html[data-contrast="high"] .dashboard-update,
html[data-contrast="high"] .dashboard-position-item,
html[data-contrast="high"] .dashboard-locked-card,
html[data-contrast="high"] .dashboard-locked-stat,
html[data-contrast="high"] #page-dashboard .note-card,
html[data-contrast="high"] #page-dashboard .note-card-inner,
html[data-contrast="high"] #page-dashboard .note-card-footer {
  background:#000000!important;
  color:#ffffff!important;
  box-shadow:none!important;
}

html[data-contrast="high"] .dashboard-panel,
html[data-contrast="high"] .dashboard-plan-pill,
html[data-contrast="high"] .dashboard-update,
html[data-contrast="high"] .dashboard-position-item,
html[data-contrast="high"] .dashboard-locked-card,
html[data-contrast="high"] .dashboard-locked-stat,
html[data-contrast="high"] #page-dashboard .note-card,
html[data-contrast="high"] #page-dashboard .note-card-footer,
html[data-contrast="high"] #page-dashboard .note-data-row,
html[data-contrast="high"] #page-dashboard .dashboard-position-item > div:first-child {
  border-color:var(--contrast-divider)!important;
}

html[data-contrast="high"] .dashboard-panel,
html[data-contrast="high"] .dashboard-panel:hover,
html[data-contrast="high"] .dashboard-plan-pill.is-active,
html[data-contrast="high"] .dashboard-plan-pill.is-active:hover,
html[data-contrast="high"] .dashboard-position-item,
html[data-contrast="high"] .dashboard-position-item:hover,
html[data-contrast="high"] .dashboard-locked-card,
html[data-contrast="high"] .dashboard-locked-card:hover,
html[data-contrast="high"] #page-dashboard .note-card:hover {
  border-left-color:var(--gold)!important;
}

html[data-contrast="high"] .dashboard-panel:hover,
html[data-contrast="high"] .dashboard-plan-pill:hover,
html[data-contrast="high"] .dashboard-plan-pill.is-active:hover,
html[data-contrast="high"] .dashboard-position-item:hover,
html[data-contrast="high"] .dashboard-locked-card:hover,
html[data-contrast="high"] .dashboard-locked-stat:hover,
html[data-contrast="high"] #page-dashboard .note-card:hover {
  border-color:var(--gold)!important;
  box-shadow:none!important;
}

html[data-contrast="high"] .dashboard-title,
html[data-contrast="high"] .dashboard-side-title,
html[data-contrast="high"] .dashboard-plan-name,
html[data-contrast="high"] .dashboard-update-title,
html[data-contrast="high"] .dashboard-position-name,
html[data-contrast="high"] .dashboard-locked-title,
html[data-contrast="high"] .dashboard-locked-stat-value,
html[data-contrast="high"] #page-dashboard .note-fund,
html[data-contrast="high"] #page-dashboard .note-data-val {
  color:#ffffff!important;
}

html[data-contrast="high"] .dashboard-copy,
html[data-contrast="high"] .dashboard-side-sub,
html[data-contrast="high"] .dashboard-membership-copy,
html[data-contrast="high"] .dashboard-plan-detail,
html[data-contrast="high"] .dashboard-plan-segment,
html[data-contrast="high"] .dashboard-plan-valid,
html[data-contrast="high"] .dashboard-update-text,
html[data-contrast="high"] .dashboard-position-sub,
html[data-contrast="high"] .dashboard-position-text,
html[data-contrast="high"] .dashboard-locked-copy,
html[data-contrast="high"] #page-dashboard .note-fund-sub,
html[data-contrast="high"] #page-dashboard .note-data-label {
  color:rgba(255,255,255,0.88)!important;
}

html[data-contrast="high"] .dashboard-kicker,
html[data-contrast="high"] .dashboard-access-badge,
html[data-contrast="high"] .dashboard-plan-meta,
html[data-contrast="high"] .dashboard-position-item > *:nth-child(n+2)::before,
html[data-contrast="high"] .dashboard-locked-stat-label,
html[data-contrast="high"] #page-dashboard .note-compass-label {
  color:var(--gold)!important;
}

html[data-contrast="high"] .dashboard-plan-meta.locked {
  color:rgba(255,255,255,0.68)!important;
}

html[data-contrast="high"] .dashboard-side-link {
  color:rgba(255,255,255,0.88)!important;
  border-left-color:transparent!important;
}

html[data-contrast="high"] .dashboard-side-link.active,
html[data-contrast="high"] .dashboard-side-link:hover {
  color:var(--gold)!important;
  border-left-color:var(--gold)!important;
  background:rgba(255,212,0,0.12)!important;
}

html[data-contrast="high"] .dashboard-position-filter-btn,
html[data-contrast="high"] .dashboard-position-filter-btn[data-position-filter="open"],
html[data-contrast="high"] .dashboard-position-filter-btn[data-position-filter="closed"] {
  background:transparent!important;
  border-color:var(--gold)!important;
  color:var(--gold)!important;
}

html[data-contrast="high"] .dashboard-position-filter-btn.active,
html[data-contrast="high"] .dashboard-position-filter-btn[data-position-filter="open"].active,
html[data-contrast="high"] .dashboard-position-filter-btn[data-position-filter="closed"].active,
html[data-contrast="high"] .dashboard-position-filter-btn:hover {
  background:var(--gold)!important;
  border-color:var(--gold)!important;
  color:#000000!important;
  opacity:1!important;
}

html[data-contrast="high"] .dashboard-position-status,
html[data-contrast="high"] .dashboard-position-status.buy,
html[data-contrast="high"] .dashboard-position-status.sell,
html[data-contrast="high"] .dashboard-position-status.closed,
html[data-contrast="high"] #page-dashboard .note-compass-val,
html[data-contrast="high"] #page-dashboard .note-compass-val.buy,
html[data-contrast="high"] #page-dashboard .note-compass-val.subscribe,
html[data-contrast="high"] #page-dashboard .note-compass-val.review,
html[data-contrast="high"] #page-dashboard .note-compass-val.pending,
html[data-contrast="high"] #page-dashboard .note-compass-val.hold,
html[data-contrast="high"] #page-dashboard .note-compass-val.invest,
html[data-contrast="high"] #page-dashboard .note-compass-val.invest-via-sip,
html[data-contrast="high"] #page-dashboard .note-compass-val.sell,
html[data-contrast="high"] #page-dashboard .note-compass-val.avoid {
  color:var(--gold)!important;
}

html[data-contrast="high"] .note-compass-val.buy,
html[data-contrast="high"] .note-compass-val.subscribe,
html[data-contrast="high"] .note-compass-val.invest,
html[data-contrast="high"] .note-compass-val.invest-via-sip,
html[data-contrast="high"] .note-compass-token.buy,
html[data-contrast="high"] .note-compass-token.subscribe,
html[data-contrast="high"] .note-compass-token.invest,
html[data-contrast="high"] #page-dashboard .note-compass-val.buy,
html[data-contrast="high"] #page-dashboard .note-compass-val.subscribe,
html[data-contrast="high"] #page-dashboard .note-compass-val.invest,
html[data-contrast="high"] #page-dashboard .note-compass-val.invest-via-sip,
html[data-contrast="high"] .dashboard-position-status,
html[data-contrast="high"] .dashboard-position-status.buy {
  color:#00E676!important;
}

html[data-contrast="high"] .note-compass-val.hold,
html[data-contrast="high"] .note-compass-val.neutral,
html[data-contrast="high"] .note-compass-token.hold,
html[data-contrast="high"] .note-compass-token.neutral,
html[data-contrast="high"] #page-dashboard .note-compass-val.hold,
html[data-contrast="high"] #page-dashboard .note-compass-val.neutral {
  color:#40C4FF!important;
}

html[data-contrast="high"] .note-compass-val.sell,
html[data-contrast="high"] .note-compass-val.avoid,
html[data-contrast="high"] .note-compass-val.exit,
html[data-contrast="high"] .note-compass-token.sell,
html[data-contrast="high"] .note-compass-token.avoid,
html[data-contrast="high"] .note-compass-token.exit,
html[data-contrast="high"] #page-dashboard .note-compass-val.sell,
html[data-contrast="high"] #page-dashboard .note-compass-val.avoid,
html[data-contrast="high"] #page-dashboard .note-compass-val.exit,
html[data-contrast="high"] .dashboard-position-status.sell,
html[data-contrast="high"] .dashboard-position-status.closed {
  color:#FF5252!important;
}

/* Final light-mode color pass: headings stay navy, card/body copy moves to #191919. */
html:not([data-theme="dark"]):not([data-contrast="high"]) .svc-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) .svc-offering-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) .svc-compass-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) .fw-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) .faq-a,
html:not([data-theme="dark"]):not([data-contrast="high"]) .faq-grid-a,
html:not([data-theme="dark"]):not([data-contrast="high"]) .faq-lead-sub,
html:not([data-theme="dark"]):not([data-contrast="high"]) .faq-svc-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) .faq-svc-lead,
html:not([data-theme="dark"]):not([data-contrast="high"]) .faq-svc-point-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) .home-why-intro,
html:not([data-theme="dark"]):not([data-contrast="high"]) .home-why-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) .home-cover-head-sub,
html:not([data-theme="dark"]):not([data-contrast="high"]) .home-cover-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) .home-how-left-sub,
html:not([data-theme="dark"]):not([data-contrast="high"]) .home-how-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) .home-cta-band p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .about-body p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .about-overview-point-text,
html:not([data-theme="dark"]):not([data-contrast="high"]) .about-phil-left p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .about-principle-body p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .about-audience-card p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .about-analyst-copy p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .about-value-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) .about-identity-p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .about-diff-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) .about-reg-disclaimer,
html:not([data-theme="dark"]):not([data-contrast="high"]) .analyst-right p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .analyst-v9-right p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .analyst-v9-cert p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .note-fund-sub,
html:not([data-theme="dark"]):not([data-contrast="high"]) .note-data-label,
html:not([data-theme="dark"]):not([data-contrast="high"]) .note-data-val,
html:not([data-theme="dark"]):not([data-contrast="high"]) .note-card.upcoming .note-fund-sub,
html:not([data-theme="dark"]):not([data-contrast="high"]) .note-card.upcoming .note-data-label,
html:not([data-theme="dark"]):not([data-contrast="high"]) .note-card.upcoming .note-data-val,
html:not([data-theme="dark"]):not([data-contrast="high"]) .notes-cta-text,
html:not([data-theme="dark"]):not([data-contrast="high"]) .notes-cta p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .blog-hero .blog-excerpt,
html:not([data-theme="dark"]):not([data-contrast="high"]) .blog-excerpt,
html:not([data-theme="dark"]):not([data-contrast="high"]) .blog-comm-text,
html:not([data-theme="dark"]):not([data-contrast="high"]) .blog-modal-body p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .post-body p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .contact-intro-sub,
html:not([data-theme="dark"]):not([data-contrast="high"]) .contact-intro-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) .contact-left p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .contact-form-sub,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-tagline,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-feature,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-period,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-disclaimer,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pcard-v2-tagline,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pcard-v2-feat,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pcard-v2-period,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-ipo-strip-sub,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-summary-billing,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-summary-empty,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-summary-line,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-summary-line.ipo-line,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-summary-line-rate,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-summary-line-period,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-summary-line.ipo-line .pricing-summary-line-name,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-summary-total-amt .tot-per,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-coupon-input,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-coupon-input::placeholder,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-coupon-msg,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-compare-note,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-copy,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-side-sub,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-plan-detail,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-plan-segment,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-plan-valid,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-update-text,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-position-sub,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-position-text,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-locked-copy,
html:not([data-theme="dark"]):not([data-contrast="high"]) .complaints-note,
html:not([data-theme="dark"]):not([data-contrast="high"]) .audit-disclosure,
html:not([data-theme="dark"]):not([data-contrast="high"]) .note-fund-meta {
  color:#191919;
}

html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-summary-line.ipo-line {
  opacity:1;
}

html:not([data-theme="dark"]):not([data-contrast="high"]) .section-title,
html:not([data-theme="dark"]):not([data-contrast="high"]) .svc-title,
html:not([data-theme="dark"]):not([data-contrast="high"]) .home-why-title,
html:not([data-theme="dark"]):not([data-contrast="high"]) .home-how-title,
html:not([data-theme="dark"]):not([data-contrast="high"]) .note-fund,
html:not([data-theme="dark"]):not([data-contrast="high"]) .blog-title,
html:not([data-theme="dark"]):not([data-contrast="high"]) .blog-card-title,
html:not([data-theme="dark"]):not([data-contrast="high"]) .contact-form-title,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pcard-v2-title,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-summary-title,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-summary-line-price,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-summary-line.ipo-line .pricing-summary-line-price,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-summary-total-amt,
html:not([data-theme="dark"]):not([data-contrast="high"]) .pricing-summary-subtotal-amt,
html:not([data-theme="dark"]):not([data-contrast="high"]) .payable-label,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-title,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-side-title,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-plan-name,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-update-title,
html:not([data-theme="dark"]):not([data-contrast="high"]) .dashboard-position-name {
  color:#00072d;
}

html:not([data-theme="dark"]):not([data-contrast="high"]) .about-hero-p,
html:not([data-theme="dark"]):not([data-contrast="high"]) .page-header-sub,
html:not([data-theme="dark"]):not([data-contrast="high"]) footer .footer-brand-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) footer .footer-analyst-val,
html:not([data-theme="dark"]):not([data-contrast="high"]) footer .footer-analyst-key,
html:not([data-theme="dark"]):not([data-contrast="high"]) .framework .about-compass-desc,
html:not([data-theme="dark"]):not([data-contrast="high"]) .framework .compass-left-text {
  color:rgba(255,255,255,0.82);
}


/* ── SOCIAL ICONS (MASK) ───────────────────────────────── */
.social-icon {
  width:20px; height:20px;
  display:inline-block;
  background-color: currentColor;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:center; mask-position:center;
  -webkit-mask-size:contain; mask-size:contain;
  flex:0 0 auto;
}
.si-substack { -webkit-mask-image:url(''); mask-image:url(''); }
.si-whatsapp { -webkit-mask-image:url(''); mask-image:url(''); }
.si-telegram { -webkit-mask-image:url(''); mask-image:url(''); }



.ask-axis {
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:1600;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
}
.ask-axis-toggle {
  display:inline-flex;
  align-items:center;
  gap:10px;
  height:46px;
  padding:0 18px;
  border:1px solid var(--gold);
  background:var(--gold);
  color:#ffffff;
  font-family:var(--f);
  font-size:10px;
  font-weight:700;
  letter-spacing:0.13em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(0,0,0,0.16);
  transition:background 0.2s,border-color 0.2s,box-shadow 0.2s;
}
.ask-axis-toggle:hover {
  background:var(--gold2);
  border-color:var(--gold2);
}
.ask-axis-toggle svg {
  width:15px;
  height:15px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  flex-shrink:0;
}
.ask-axis-panel {
  width:min(360px, calc(100vw - 28px));
  border:1px solid var(--card-border);
  border-left:4px solid var(--gold);
  background:#ffffff;
  box-shadow:0 0 0 1px rgba(176,137,60,0.18), 0 8px 32px rgba(176,137,60,0.16), 0 20px 52px rgba(0,0,0,0.10);
  overflow:hidden;
  transform-origin:bottom right;
  opacity:0;
  transform:translateY(10px) scale(0.985);
  pointer-events:none;
  transition:opacity 0.16s ease, transform 0.18s cubic-bezier(0.22,1,0.36,1), border-color 0.2s, box-shadow 0.2s, border-left-color 0.2s;
}
.ask-axis-panel.is-open,
.ask-axis-panel.is-closing {
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
.ask-axis-panel.is-closing {
  opacity:0;
  transform:translateY(10px) scale(0.985);
  pointer-events:none;
}
.ask-axis-panel:hover {
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:0 0 0 1px rgba(176,137,60,0.20), 0 10px 34px rgba(176,137,60,0.16), 0 22px 54px rgba(0,0,0,0.12);
}
.ask-axis-panel[hidden] { display:none !important; }
.ask-axis-head {
  position:relative;
  padding:18px 18px 10px;
  border-bottom:none;
}
.ask-axis-close {
  position:absolute;
  top:18px;
  right:18px;
  width:26px;
  height:26px;
  border:0;
  background:transparent;
  color:var(--body-text);
  font-family:var(--f);
  font-size:22px;
  line-height:1;
  cursor:pointer;
  padding:0;
}
.ask-axis-close:hover { opacity:0.75; }
.ask-axis-close:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.ask-axis-eyebrow { display:none; }
.ask-axis-title {
  font-size:22px;
  font-weight:700;
  color:var(--body-text);
  letter-spacing:0;
  line-height:1.18;
  margin:0 32px 8px 0;
}
.ask-axis-sub {
  font-size:14px;
  line-height:1.7;
  color:#131B38;
  margin:0;
}
.ask-axis-body {
  padding:16px 18px 18px;
}
.ask-axis-chat {
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:12px;
  max-height:212px;
  overflow:auto;
  padding-right:2px;
}
.ask-axis-options {
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:12px;
}
.ask-axis-option {
  width:100%;
  min-height:42px;
  padding:10px 12px;
  border:1px solid var(--card-border);
  border-left:3px solid var(--gold);
  background:var(--section-a);
  color:#131B38;
  font-family:var(--f);
  font-size:12px;
  font-weight:700;
  letter-spacing:0;
  line-height:1.45;
  text-align:left;
  cursor:pointer;
  transition:background 0.2s,border-color 0.2s,color 0.2s,box-shadow 0.2s;
}
.ask-axis-option:hover {
  background:#ffffff;
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  color:var(--body-text);
  box-shadow:0 0 0 1px rgba(176,137,60,0.12), 0 8px 22px rgba(176,137,60,0.08);
}
.ask-axis-msg {
  max-width:88%;
  font-size:12px;
  line-height:1.65;
  padding:9px 11px;
  border:1px solid var(--card-border);
}
.ask-axis-msg.user {
  align-self:flex-end;
  background:var(--gold);
  border-color:var(--gold);
  color:#ffffff;
}
.ask-axis-msg.bot {
  align-self:flex-start;
  background:var(--section-a);
  color:#131B38;
}
.ask-axis-form {
  display:flex;
  gap:10px;
}
.ask-axis-input {
  flex:1;
  min-width:0;
  height:40px;
  padding:0 12px;
  border:1px solid var(--card-border);
  background:#ffffff;
  color:var(--body-text);
  font-family:var(--f);
  font-size:14px;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  -webkit-text-security:none;
  outline:none;
  border-radius:0;
}
.ask-axis-input::placeholder {
  font-size:14px;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  color:var(--body-text-3);
}
.ask-axis-input:focus {
  border-color:var(--gold);
}
.ask-axis-send {
  height:40px;
  padding:0 16px;
  border:1px solid var(--gold);
  background:var(--gold);
  color:#ffffff;
  font-family:var(--f);
  font-size:10px;
  font-weight:700;
  letter-spacing:0.13em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background 0.2s,border-color 0.2s;
}
.ask-axis-send:hover {
  background:var(--gold2);
  border-color:var(--gold2);
}
html:not([data-theme="dark"]):not([data-contrast="high"]) .ask-axis-sub,
html:not([data-theme="dark"]):not([data-contrast="high"]) .ask-axis-option,
html:not([data-theme="dark"]):not([data-contrast="high"]) .ask-axis-msg.bot {
  color:#191919;
}
html:not([data-theme="dark"]):not([data-contrast="high"]) .ask-axis-title {
  color:#00072d;
}
html[data-theme="dark"] .ask-axis-panel {
  background:var(--card-bg);
  border-color:var(--card-border);
  border-left-color:var(--gold);
  box-shadow:0 0 0 1px rgba(176,137,60,0.22), 0 8px 32px rgba(176,137,60,0.18), 0 20px 52px rgba(0,0,0,0.40);
}
html[data-theme="dark"] .ask-axis-panel:hover {
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:0 0 0 1px rgba(176,137,60,0.24), 0 10px 34px rgba(176,137,60,0.18), 0 22px 56px rgba(0,0,0,0.42);
}
html[data-theme="dark"] .ask-axis-sub,
html[data-theme="dark"] .ask-axis-msg.bot {
  color:var(--body-text);
}
html[data-theme="dark"] .ask-axis-close {
  color:var(--body-text);
}
html[data-theme="dark"] .ask-axis-msg.bot {
  background:var(--section-b);
}
html[data-theme="dark"] .ask-axis-option {
  background:var(--section-b);
  color:var(--body-text);
  border-color:var(--card-border);
  border-left-color:var(--gold);
}
html[data-theme="dark"] .ask-axis-option:hover {
  background:var(--card-bg);
  color:var(--body-text);
  border-color:var(--gold2);
  border-left-color:var(--gold2);
  box-shadow:0 0 0 1px rgba(176,137,60,0.16), 0 8px 24px rgba(176,137,60,0.10);
}
html[data-theme="dark"] .ask-axis-input {
  background:var(--card-bg);
  color:var(--body-text);
}
html[data-contrast="high"] .ask-axis-panel,
html[data-contrast="high"] .ask-axis-panel:hover {
  border-left-color:var(--gold)!important;
}
html[data-contrast="high"] .ask-axis-option,
html[data-contrast="high"] .ask-axis-option:hover {
  border-left-color:var(--gold)!important;
}
@media (max-width:640px) {
  .ask-axis {
    right:14px;
    bottom:14px;
    left:14px;
    align-items:stretch;
  }
  .ask-axis-toggle {
    align-self:flex-end;
  }
  .ask-axis-panel {
    width:100%;
  }
  .ask-axis-head {
    padding:18px 16px 10px;
  }
  .ask-axis-body {
    padding:14px 16px 16px;
  }
  .ask-axis-option {
    min-height:44px;
    padding:11px 12px;
    font-size:12px;
    line-height:1.45;
  }
  .ask-axis-send {
    width:auto;
    flex:0 0 auto;
  }
}

.grievance-table.mitc-contact-table{
    margin-bottom: 0px !important;
}


/*PMLA*/

/* ── CSS VARIABLES (matches site theme) ─────────────────────── */
:root {
    --navy:   #00072D;
    --gold:   #B0893C;
    --gold2:  #C8A05A;
    --white:  #FFFFFF;
    --f:      'DM Sans', sans-serif;
    --body-bg:     #ffffff;
    --body-text:   #00072D;
    --body-text-2: #191919;
    --body-text-3: rgba(0,7,45,0.56);
    --section-a:   #ffffff;
    --section-b:   #ffffff;
    --section-dark:#00072D;
    --card-border: #E4E4E4;
    --nav-bg:      #00072D;
    --nav-border:  rgba(255,255,255,0.07);
    --ra-underline-h:   5px;
    --ra-underline-pad: 14px;
}

/* ── PAGE HEADER ────────────────────────────────────────────── */
.ra-page-header {
    background: var(--nav-bg);
    padding: 52px 56px 44px;
    border-bottom: 1px solid var(--nav-border);
    position: relative;
    overflow: hidden;
}
.ra-page-header-grid {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(176,137,60,0.09) 1px, transparent 1px);
    background-size: 32px 32px;
    pointer-events: none;
    opacity: 0.3;
}
.ra-page-header-inner {
    max-width: 1240px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.ra-page-header-eyebrow {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 10px;
}
.ra-page-header-title {
    font-size: 48px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: -0.025em;
    line-height: 1.05;
    margin: 0;
    padding: 0;
}
.ra-page-header-sub {
    font-size: 16px;
    color: rgba(255,255,255,0.78);
    margin-top: 14px;
    line-height: 1.78;
}

/* ── CONTENT SECTION ────────────────────────────────────────── */
.ra-charter-section {
    background: var(--section-a);
    padding: 80px 56px;
}
.ra-section-inner {
    max-width: 1240px;
    margin: 0 auto;
}
.ra-sec-head {
    margin-bottom: 32px;
    display: flex;
    align-items: flex-end;
    gap: 18px;
}
.ra-sec-head-title {
    font-size: 36px;
    font-weight: 700;
    color: var(--body-text);
    letter-spacing: -0.025em;
    line-height: 1;
    position: relative;
    display: inline-block;
    padding-bottom: var(--ra-underline-pad);
}
.ra-sec-head-title::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: var(--ra-underline-h);
    background: var(--gold);
}
.ra-sec-head-line {
    display: block;
    flex: 1;
    height: 1px;
    background: var(--nav-border);
    opacity: 1;
    margin-bottom: 2px;
}

/* ── PDF EMBED ──────────────────────────────────────────────── */
.ra-pdf-embed-shell {
    width: 100%;
    border: 1px solid rgba(0,7,45,0.1);
    background: #fff;
    box-shadow: 0 16px 36px rgba(0,7,45,0.08);
    overflow: hidden;
}
.ra-pdf-embed-frame {
    display: block;
    width: 100%;
    height: clamp(640px, 78vh, 920px);
    border: 0;
    background: #fff;
}

/* ── NO-PDF NOTICE ──────────────────────────────────────────── */
.ra-pdf-notice {
    padding: 48px 40px;
    text-align: center;
    border: 2px dashed var(--card-border);
    border-radius: 4px;
    color: var(--body-text-3);
    font-size: 15px;
    line-height: 1.7;
}
.ra-pdf-notice strong {
    display: block;
    font-size: 17px;
    color: var(--body-text);
    margin-bottom: 8px;
}
.ra-pdf-notice a {
    color: var(--gold);
    text-decoration: none;
    font-weight: 600;
}
.ra-pdf-notice a:hover { text-decoration: underline; }

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .ra-charter-section { padding: 64px 40px; }
    .ra-page-header { padding: 44px 40px 36px; }
    .ra-pdf-embed-frame { height: clamp(560px, 74vh, 820px); }
}
@media (max-width: 767px) {
    .ra-charter-section { padding: 48px 20px; }
    .ra-page-header { padding: 36px 20px 28px; }
    .ra-page-header-title { font-size: 32px; }
    .ra-sec-head-title { font-size: 32px !important; }
    .ra-page-header-title{
        font-size:32px !important;}
    .ra-pdf-embed-frame { height: 68vh; min-height: 440px; }
    .ra-page-header-sub{margin-bottom:0px !important;}
    
}

/*privacy policy */


/* ─── Page Wrap ─────────────────────────────────────────────── */
.ra-page-wrap {
  padding-top: 72px;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--hero-bg);
}

/* ─── Page Header (dark banner) ─────────────────────────────── */
.ra-page-header {
  background: var(--nav-bg);
  padding: 52px 56px 44px;
  border-bottom: 1px solid var(--nav-border);
  position: relative;
  overflow: hidden;
}
.ra-page-header-grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(176,137,60,0.09) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
  opacity: 0.3;
}
.ra-page-header-inner {
  max-width: 1240px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.ra-page-header-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.ra-page-header-title {
  font-size: 48px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.025em;
  line-height: 1.05;
  margin: 0;
  padding: 0;
}
.ra-page-header-sub {
  font-size: 16px;
  color: rgba(255,255,255,0.78);
  margin-top: 14px;
  line-height: 1.78;
}

/* ─── Charter Section (content area) ────────────────────────── */
.ra-charter-section {
  background: var(--section-a);
  transition: background 0.3s;
  flex: 0 0 auto;
  padding: 80px 56px;
}
.ra-section-inner {
  max-width: 1240px;
  width: 100%;
  margin: 0 auto;
}

/* ─── Section Heading ────────────────────────────────────────── */
.ra-sec-head {
  margin: 0 0 var(--ra-underline-mb);
  display: flex;
  align-items: flex-end;
  gap: 18px;
  margin-bottom: 32px;
}
.ra-sec-head-title {
  font-size: 36px;
  font-weight: 700;
  color: var(--body-text);
  letter-spacing: -0.025em;
  line-height: 1;
  position: relative;
  display: inline-block;
  padding-bottom: var(--ra-underline-pad);
  white-space: nowrap;
  flex-shrink: 0;
}
.ra-sec-head-title::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--ra-underline-h);
  background: var(--gold);
}
.ra-sec-head-line {
  flex: 1;
  height: 1px;
  background: var(--rule-color);
  opacity: 0.9;
  margin-bottom: 2px;
}

/* ─── Charter Stack (cards grid) ─────────────────────────────── */
.ra-charter-stack {
  display: grid;
  gap: 20px;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
}

/* ─── Charter Card ───────────────────────────────────────────── */
.ra-charter-card {
  background: transparent;
  border: 0;
  padding: 0;
  box-shadow: none;
}
.ra-charter-card:first-child { padding-top: 0; }
.ra-charter-card:last-child  { padding-bottom: 0; }

.ra-charter-card h2 {
  font-size: 22px;
  font-weight: 700;
  color: var(--body-text);
  letter-spacing: -0.02em;
  line-height: 1.3;
  margin: 0 0 12px;
}
.ra-charter-card h3 {
  font-size: 16px;
  font-weight: 700;
  color: var(--body-text);
  margin: 16px 0 8px;
  line-height: 1.35;
}
.ra-charter-card p,
.ra-charter-card li {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;
  color: #131B38;
  line-height: 1.75;
}
.ra-charter-card p { margin: 0 0 8px; }

.ra-charter-card ul,
.ra-charter-card ol {
  margin: 0 0 12px;
  padding-left: 20px;
  display: grid;
  gap: 6px;
}
.ra-charter-card ul:last-child,
.ra-charter-card ol:last-child { margin-bottom: 0; }
.ra-charter-card ul { list-style-type: disc; }

.ra-charter-card li::marker {
  color: var(--gold);
  font-weight: 400;
  font-size: 1em;
}
.ra-charter-card a {
  color: var(--gold);
  text-decoration: none;
  font-weight: 700;
}
.ra-charter-card a:hover { color: var(--gold2); }
.charter-card li::marker {
    color: var(--gold);
    font-weight: 400;
    font-size: 1em;
}
/* ─── Legal Bullet List ─────────────────────────────────────── */
ul.ra-legal-list,
ol.ra-legal-list {
  padding-left: 20px !important;
  margin-left: 0 !important;
  gap: 10px;
}
ul.ra-legal-list  { list-style-type: disc !important; }
ol.ra-legal-list  { list-style-type: decimal !important; }
ul.ra-legal-list li,
ol.ra-legal-list li {
  padding-left: 4px;
  list-style: inherit !important;
  display: list-item;
}
ul.ra-legal-list li::before,
ol.ra-legal-list li::before { content: none !important; }

/* ─── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .ra-page-header      { padding: 44px 32px 36px; }
  .ra-charter-section  { padding: 64px 32px; }
}
@media (max-width: 640px) {
  .ra-page-header         { padding: 36px 20px 28px; }
  .ra-page-header-title   { font-size: 34px; line-height: 1.12; }
  .ra-page-header-sub     { font-size: 15px; line-height: 1.7; }
  .ra-charter-section     { padding: 56px 20px; }
  .ra-charter-stack       { gap: 20px; }
  .ra-charter-card        { padding: 0; }
  .ra-charter-card h2     { font-size: 20px; margin-bottom: 12px; }
  .ra-charter-card h3     { font-size: 16px; margin: 16px 0 6px; }
  .ra-charter-card p,
  .ra-charter-card li     { font-size: 15px; line-height: 1.72; }
  .ra-charter-card ul,
  .ra-charter-card ol     { padding-left: 18px; }
  .ra-sec-head-title      { font-size: 28px; white-space: normal; line-height: 1.18; }
  .page-id-106 .charter-stack{
    display: inline-block !important;
}
.page-id-38 .charter-stack , .page-id-17 .charter-stack , .page-id-21 .charter-stack , .page-id-19 .charter-stack ,.page-id-25 .charter-stack {

    display: inline-block !important;
}
    
}

.grievance-table.audit-table{
    margin-bottom: 0px !important;
}
table{
    margin-bottom: 0px !important;
}
.page-id-68  .ra-charter-stack{
    gap:30px !important;
}
@media(min-width:1024px){
    h2{
    font-size: 22px !important;
}
.ra-page-header-sub{
    margin-bottom: 0px !important;
}
}
@media(max-width:768px){
    .page-header-title{
        font-size: 40px !important;
    }
}
.srfm-block-label,.srfm-block-legend{
    letter-spacing: 0.12em !important;
    font-size: 10px !important;
    color: #b0893c !important;
    font-weight: 700 !important;
}

#srfm-submit-btn{
    align-self: flex-start;
    background: #b0893c !important;
    color: #ffffff;
    border-radius:  0px !important;
    border: 0px !important;
    padding: 14px 40px;
    font-family: Dm Sans !important;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    cursor: pointer;
    margin-top: 12px;
    transition: background 0.2s, transform 0.15s;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
/*.razorpay-container,*/
/*.razorpay-backdrop {*/
/*    width: 100vw !important;*/
/*    height: 100vh !important;*/
/*    top: 0 !important;*/
/*    left: 0 !important;*/
/*}*/

/*.razorpay-checkout-frame {*/
/*    width: 100% !important;*/
/*    height: 100% !important;*/
/*}*/
