/*
Theme Name:        RAHC Ariade Child
Theme URI:         https://ananyoo.com/ariade-accessible-wordpress-theme/
Template:          ariade
Version:           2.3.23
Requires at least: 6.6
Requires PHP:      7.4

Author:            Shivaji Mitra
Author URI:        https://ananyoo.com
Description:       Child theme of Ariade for S Harish Chandan, SEBI Registered Research Analyst (raharishchandan.com). Carries the site's dark navy design system, header, footer and homepage template. Built to WCAG 2.2 Level AA by M/S. Anblik.

License:           GPL-3.0-or-later
License URI:       https://www.gnu.org/licenses/gpl-3.0-standalone.html

Text Domain:       rahc-child
Tags:              accessibility-ready, block-patterns, custom-colors, full-site-editing, responsive-layout, translation-ready, wide-blocks
*/

/* ==========================================================================
   RAHC Ariade Child
   --------------------------------------------------------------------------
   The Ariade parent loads its section stylesheets conditionally, keyed on
   its own class names. Every class here is prefixed rahc- so none of the
   parent modules are triggered and none of its brand colours leak in.
   Only the parent's always-on theme.css loads, and the few global rules it
   carries (body, headings, links, tables) are re-declared below.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Tokens
   -------------------------------------------------------------------------- */

:root {
	--rahc-bg:            #0f172a;
	--rahc-surface:       #1e293b;
	--rahc-line:          #1e293b;
	--rahc-line-strong:   #334155;

	--rahc-text:          #f1f5f9;
	--rahc-text-soft:     #cbd5e1;
	--rahc-text-muted:    #94a3b8;
	--rahc-text-faint:    #8B9AB3;
	--rahc-text-bright:   #ffffff;

	--rahc-accent:        #3b82f6;
	--rahc-accent-light:  #60a5fa;
	--rahc-accent-pale:   #bfdbfe;
	--rahc-accent-btn:    #2563eb;
	--rahc-accent-hover:  #1d4ed8;
	--rahc-accent-deep:   #1e3a8a;
	--rahc-accent-800:    #1e40af;
	--rahc-accent-950:    #172554;

	--rahc-positive:      #34d399;
	--rahc-negative:      #fb7185;

	--rahc-tint:          rgba(37, 99, 235, 0.10);
	--rahc-tint-strong:   rgba(37, 99, 235, 0.20);
	--rahc-edge:          rgba(59, 130, 246, 0.30);
	--rahc-edge-strong:   rgba(59, 130, 246, 0.40);

	--rahc-radius-sm:     0.25rem;
	--rahc-radius:        0.5rem;
	--rahc-radius-lg:     0.75rem;
	--rahc-radius-xl:     1rem;
	--rahc-radius-pill:   9999px;

	--rahc-shadow:        0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);
	--rahc-shadow-lg:     0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);
	--rahc-shadow-xl:     0 25px 50px -12px rgba(0, 0, 0, .5);

	color-scheme: dark;
}

/* --------------------------------------------------------------------------
   2. Global base. Re-declares the handful of unscoped rules the parent's
      theme.css sets, so the dark palette wins without !important.
   -------------------------------------------------------------------------- */

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
	}
}

body,
body.wp-site-blocks,
.editor-styles-wrapper {
	background-color: var(--rahc-bg);
	color: var(--rahc-text);
	font-family: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body h1, body h2, body h3, body h4, body h5, body h6 {
	color: var(--rahc-text-bright);
	font-family: inherit;
}

body p {
	color: inherit;
}

body a {
	color: var(--rahc-accent-light);
}

body a:hover {
	color: var(--rahc-accent-light);
	text-decoration: underline;
}

::selection {
	background: var(--rahc-accent-btn);
	color: #ffffff;
}

/* --------------------------------------------------------------------------
   3. Focus visibility. WCAG 2.4.7 and 2.4.13.
      #3b82f6 on #0f172a measures 5.3:1, well past the 3:1 minimum for a
      non-text indicator. Overrides the blank child's yellow default.
   -------------------------------------------------------------------------- */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
	outline: 4px solid var(--rahc-accent) !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 6px rgba(59, 130, 246, .4) !important;
	border-radius: 2px;
}

/* --------------------------------------------------------------------------
   4. Utilities
   -------------------------------------------------------------------------- */

.rahc-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.rahc-container {
	width: 100%;
	max-width: 80rem;
	margin-inline: auto;
	padding-inline: 1rem;
}

@media (min-width: 640px) {
	.rahc-container { padding-inline: 1.5rem; }
}

@media (min-width: 1024px) {
	.rahc-container { padding-inline: 2rem; }
}

/* WordPress prints its own skip link for block themes. We brand that one
   rather than adding a second, so there is exactly one bypass link in the
   tab order. WCAG 2.4.1 Bypass Blocks. */

.wp-site-blocks a.skip-link.screen-reader-text:focus,
a.skip-link.screen-reader-text:focus {
	position: absolute !important;
	top: 0;
	left: 0;
	z-index: 100000;
	width: auto;
	height: auto;
	clip: auto;
	clip-path: none;
	margin: 0;
	padding: 10px 20px;
	background: var(--rahc-accent-deep);
	color: #ffffff;
	font-size: .875rem;
	font-weight: 700;
	text-decoration: none;
}

.admin-bar a.skip-link.screen-reader-text:focus { top: 32px; }

@media screen and (max-width: 782px) {
	.admin-bar a.skip-link.screen-reader-text:focus { top: 46px; }
}

/* --------------------------------------------------------------------------
   5. Regulatory and accessibility top bar
   -------------------------------------------------------------------------- */

.rahc-topbar {
	background: var(--rahc-accent-950);
	border-bottom: 1px solid var(--rahc-accent-deep);
	padding: .625rem 1rem;
	font-size: .75rem;
	line-height: 1rem;
	color: var(--rahc-accent-pale);
}

.rahc-topbar__inner {
	max-width: 80rem;
	margin-inline: auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.rahc-topbar__reg {
	display: inline-flex;
	align-items: center;
	font-weight: 500;
}

.rahc-topbar__reg svg {
	width: 1rem;
	height: 1rem;
	margin-right: .375rem;
	color: var(--rahc-accent-light);
	flex-shrink: 0;
}

.rahc-a11y {
	display: flex;
	align-items: center;
	gap: .75rem;
}

.rahc-a11y__label {
	font-weight: 600;
	color: var(--rahc-text-soft);
}

.rahc-a11y__btn {
	background: var(--rahc-accent-deep);
	color: #ffffff;
	padding: .25rem .625rem;
	border: 1px solid var(--rahc-accent-hover);
	border-radius: var(--rahc-radius-sm);
	font: inherit;
	font-size: .75rem;
	font-weight: 500;
	line-height: 1.25;
	cursor: pointer;
	transition: background-color .15s ease;
}

.rahc-a11y__btn:hover {
	background: var(--rahc-accent-800);
}

.rahc-a11y__btn[aria-pressed="true"] {
	background: #ffffff;
	color: var(--rahc-accent-950);
	border-color: #ffffff;
}

/* --------------------------------------------------------------------------
   6. Header
   -------------------------------------------------------------------------- */

.rahc-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(15, 23, 42, .95);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--rahc-line);
}

.rahc-header__inner {
	max-width: 80rem;
	margin-inline: auto;
	padding-inline: 1rem;
	min-height: 5rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

@media (min-width: 640px) { .rahc-header__inner { padding-inline: 1.5rem; } }
@media (min-width: 1024px) { .rahc-header__inner { padding-inline: 2rem; } }

.rahc-brand {
	display: flex;
	align-items: center;
	gap: .875rem;
	flex-wrap: nowrap;
}

.rahc-brand__mark.wp-block-site-logo {
	margin: 0;
	flex-shrink: 0;
}

.rahc-brand__mark.wp-block-site-logo a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: .25rem;
	border-radius: var(--rahc-radius-lg);
	background: var(--rahc-tint);
	border: 1px solid var(--rahc-edge);
	transition: border-color .15s ease;
	text-decoration: none;
}

.rahc-brand__mark.wp-block-site-logo a:hover {
	border-color: var(--rahc-accent-light);
}

.rahc-brand__mark.wp-block-site-logo img {
	display: block;
	width: 2rem;
	height: 2rem;
	max-width: none;
	object-fit: contain;
}

.rahc-brand__text {
	display: block;
}

.rahc-brand__name {
	display: block;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: -.025em;
	line-height: 1.2;
	color: var(--rahc-text-bright);
	transition: color .15s ease;
}

@media (min-width: 640px) { .rahc-brand__name { font-size: 1.125rem; } }

.rahc-brand__tag {
	display: block;
	margin-top: .125rem;
	font-size: .625rem;
	font-weight: 600;
	letter-spacing: .1em;
	color: var(--rahc-accent-light);
}

/* Navigation. Uses the core navigation block so the menu stays editable and
   keeps the block's built in keyboard and aria handling. */

.rahc-nav {
	font-size: .875rem;
}

.rahc-nav .wp-block-navigation__container {
	gap: .25rem;
}

@media (min-width: 1280px) {
	.rahc-nav .wp-block-navigation__container { gap: .75rem; }
}

.rahc-nav .wp-block-navigation-item__content {
	padding: .5rem .75rem;
	border-radius: .375rem;
	font-weight: 500;
	color: var(--rahc-text-soft);
	text-decoration: none;
	transition: color .15s ease, background-color .15s ease;
}

.rahc-nav .wp-block-navigation-item__content:hover {
	color: var(--rahc-text-bright);
	background: var(--rahc-surface);
	text-decoration: none;
}

.rahc-nav .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--rahc-text-bright);
	background: var(--rahc-surface);
}

/* Last item renders as the Client Portal call to action. */
.rahc-nav .wp-block-navigation__container > .wp-block-navigation-item:last-child > .wp-block-navigation-item__content {
	background: var(--rahc-accent-btn);
	color: #ffffff;
	font-weight: 700;
	padding: .5rem 1rem;
	box-shadow: var(--rahc-shadow);
}

.rahc-nav .wp-block-navigation__container > .wp-block-navigation-item:last-child > .wp-block-navigation-item__content:hover {
	background: var(--rahc-accent-hover);
}

.rahc-nav .wp-block-navigation__responsive-container-open,
nav.rahc-nav.wp-block-navigation .wp-block-navigation__responsive-container-close {
	color: var(--rahc-text-soft);
	padding: .5rem;
	border-radius: .375rem;
}

.rahc-nav .wp-block-navigation__responsive-container-open:hover {
	color: var(--rahc-text-bright);
	background: var(--rahc-surface);
}

.rahc-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--rahc-surface);
	color: var(--rahc-text);
	padding: 1.5rem 1rem 2rem;
}

.rahc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 1rem;
	padding: .5rem .75rem;
	color: #e2e8f0;
}

/* --------------------------------------------------------------------------
   7. Buttons
   -------------------------------------------------------------------------- */

.rahc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	padding: .875rem 1.5rem;
	border-radius: var(--rahc-radius-lg);
	font-size: 1rem;
	line-height: 1.25;
	text-decoration: none;
	transition: background-color .15s ease, border-color .15s ease;
}

.rahc-btn:hover { text-decoration: none; }

.rahc-btn--primary {
	background: var(--rahc-accent-btn);
	color: #ffffff;
	font-weight: 700;
	box-shadow: var(--rahc-shadow-lg);
}

.rahc-btn--primary:hover {
	background: var(--rahc-accent-hover);
	color: #ffffff;
}

.rahc-btn--secondary {
	background: var(--rahc-surface);
	color: #ffffff;
	font-weight: 600;
	border: 1px solid var(--rahc-line-strong);
}

.rahc-btn--secondary:hover {
	background: var(--rahc-line-strong);
	color: #ffffff;
}

.rahc-btn svg {
	width: 1.25rem;
	height: 1.25rem;
	flex-shrink: 0;
}

/* --------------------------------------------------------------------------
   8. Section scaffolding
   -------------------------------------------------------------------------- */

.rahc-section {
	padding-block: 5rem;
	border-top: 1px solid var(--rahc-line);
}

.rahc-section--plain  { background: var(--rahc-bg); }
.rahc-section--tinted { background: rgba(15, 23, 42, .4); }

.rahc-section__head {
	max-width: 48rem;
	margin-inline: auto;
	margin-bottom: 4rem;
	text-align: center;
}

.rahc-eyebrow {
	display: block;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--rahc-accent-light);
}

.rahc-section__title {
	margin: .5rem 0 0;
	font-size: 1.875rem;
	font-weight: 800;
	letter-spacing: -.025em;
	color: var(--rahc-text-bright);
}

@media (min-width: 640px) { .rahc-section__title { font-size: 2.25rem; } }

.rahc-section__lead {
	margin-top: 1rem;
	font-size: 1.125rem;
	color: var(--rahc-text-soft);
}

/* --------------------------------------------------------------------------
   9. Hero
   -------------------------------------------------------------------------- */

.rahc-hero {
	position: relative;
	overflow: hidden;
	padding-block: 3rem 5rem;
	background: linear-gradient(to bottom, var(--rahc-bg), var(--rahc-surface), var(--rahc-bg));
}

@media (min-width: 1024px) {
	.rahc-hero { padding-block: 5rem 7rem; }
}

.rahc-hero__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	align-items: center;
}

@media (min-width: 1024px) {
	.rahc-hero__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
	.rahc-hero__main { grid-column: span 7 / span 7; }
	.rahc-hero__aside { grid-column: span 5 / span 5; }
}

.rahc-hero__main > * + * { margin-top: 1.5rem; }

.rahc-pill {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .375rem 1rem;
	border-radius: var(--rahc-radius-pill);
	background: var(--rahc-tint);
	border: 1px solid var(--rahc-edge);
	font-size: .75rem;
	font-weight: 600;
	color: var(--rahc-accent-light);
}

@media (min-width: 640px) { .rahc-pill { font-size: .875rem; } }

.rahc-pill__dot {
	width: .625rem;
	height: .625rem;
	border-radius: var(--rahc-radius-pill);
	background: var(--rahc-accent);
	flex-shrink: 0;
}

.rahc-hero__title {
	margin: 0;
	font-size: 2.25rem;
	font-weight: 800;
	letter-spacing: -.025em;
	line-height: 1.1;
	color: var(--rahc-text-bright);
}

@media (min-width: 640px)  { .rahc-hero__title { font-size: 3rem; } }
@media (min-width: 1024px) { .rahc-hero__title { font-size: 3.75rem; } }

.rahc-hero__title em {
	font-style: normal;
	color: var(--rahc-accent);
}

.rahc-hero__lead {
	margin: 0;
	font-size: 1.125rem;
	line-height: 1.625;
	color: var(--rahc-text-soft);
}

@media (min-width: 640px) { .rahc-hero__lead { font-size: 1.25rem; } }

.rahc-facts {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

@media (min-width: 640px) {
	.rahc-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.rahc-fact {
	padding: 1rem;
	border-radius: var(--rahc-radius-lg);
	background: rgba(15, 23, 42, .8);
	border: 1px solid var(--rahc-line);
	box-shadow: 0 1px 2px rgba(0, 0, 0, .25);
}

.rahc-fact__label {
	margin: 0;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--rahc-accent-light);
}

.rahc-fact__value {
	margin: .25rem 0 0;
	font-size: .875rem;
	font-weight: 700;
	color: var(--rahc-text-bright);
}

.rahc-fact__value--mono {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.rahc-fact__note {
	margin: .125rem 0 0;
	font-size: .75rem;
	color: var(--rahc-text-muted);
}

.rahc-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

/* Analyst summary card */

.rahc-analyst {
	position: relative;
	padding: 1.5rem;
	border-radius: var(--rahc-radius-xl);
	background: var(--rahc-surface);
	border: 1px solid var(--rahc-line);
	box-shadow: var(--rahc-shadow-xl);
}

@media (min-width: 640px) { .rahc-analyst { padding: 2rem; } }

.rahc-analyst__flag {
	position: absolute;
	top: -.75rem;
	right: -.75rem;
	padding: .25rem .75rem;
	border-radius: var(--rahc-radius-pill);
	background: var(--rahc-accent-btn);
	color: #ffffff;
	font-size: .75rem;
	font-weight: 800;
	text-transform: uppercase;
	box-shadow: var(--rahc-shadow);
}

.rahc-analyst__id {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.rahc-analyst__avatar {
	width: 4rem;
	height: 4rem;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--rahc-radius-pill);
	background: var(--rahc-accent-deep);
	border: 2px solid var(--rahc-accent);
	font-size: 1.5rem;
	font-weight: 700;
	color: #ffffff;
}

.rahc-analyst__name {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--rahc-text-bright);
}

.rahc-analyst__role {
	margin: 0;
	font-size: .875rem;
	color: var(--rahc-text-soft);
}

.rahc-analyst__reg {
	margin: 0;
	font-size: .75rem;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	color: var(--rahc-accent-light);
}

.rahc-analyst__rows {
	border-top: 1px solid var(--rahc-line);
	padding-top: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.rahc-analyst__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	font-size: .875rem;
}

.rahc-analyst__row dt { color: var(--rahc-text-muted); }

.rahc-analyst__row dd {
	margin: 0;
	text-align: right;
	font-weight: 500;
	color: #e2e8f0;
}

.rahc-analyst__row dd a { color: var(--rahc-accent-light); }

.rahc-analyst__row dd.is-mono {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .75rem;
	color: var(--rahc-accent-light);
}

.rahc-notice {
	margin-top: 1.5rem;
	padding: 1rem;
	border-radius: var(--rahc-radius-lg);
	background: rgba(15, 23, 42, .8);
	border: 1px solid var(--rahc-line);
	font-size: .75rem;
	line-height: 1.625;
	color: var(--rahc-text-muted);
}

.rahc-notice strong {
	display: block;
	margin-bottom: .25rem;
	color: var(--rahc-accent-light);
}

/* --------------------------------------------------------------------------
   10. Card grids
   -------------------------------------------------------------------------- */

.rahc-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}

@media (min-width: 768px) {
	.rahc-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rahc-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
	.rahc-grid--lg3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.rahc-panel {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 1.5rem;
	border-radius: var(--rahc-radius-xl);
	background: var(--rahc-surface);
	border: 1px solid var(--rahc-line);
	transition: border-color .15s ease;
}

@media (min-width: 640px) { .rahc-panel--roomy { padding: 2rem; } }

.rahc-panel--hoverable:hover { border-color: rgba(59, 130, 246, .5); }
.rahc-panel--featured { border-color: var(--rahc-edge-strong); box-shadow: var(--rahc-shadow-lg); }

.rahc-panel__icon {
	width: 3rem;
	height: 3rem;
	margin-bottom: 1.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--rahc-radius-lg);
	background: var(--rahc-tint);
	border: 1px solid var(--rahc-edge);
	font-size: 1.25rem;
	color: var(--rahc-accent-light);
}

.rahc-panel__icon--sm {
	width: 2.5rem;
	height: 2.5rem;
	margin-bottom: 0;
	border: 0;
	border-radius: var(--rahc-radius);
	background: var(--rahc-tint-strong);
}

.rahc-panel__title {
	margin: 0 0 .75rem;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--rahc-text-bright);
}

.rahc-panel__text {
	margin: 0 0 1.5rem;
	font-size: .875rem;
	line-height: 1.625;
	color: var(--rahc-text-soft);
}

.rahc-panel__foot {
	border-top: 1px solid var(--rahc-line);
	padding-top: 1rem;
}

.rahc-tag {
	display: inline-block;
	padding: .25rem .75rem;
	border-radius: var(--rahc-radius-pill);
	background: var(--rahc-tint);
	font-size: .75rem;
	font-weight: 600;
	color: var(--rahc-accent-light);
}

.rahc-level {
	position: absolute;
	top: 1rem;
	right: 1rem;
	padding: .25rem .625rem;
	border-radius: var(--rahc-radius-sm);
	font-size: .75rem;
	font-weight: 800;
	background: var(--rahc-line-strong);
	color: var(--rahc-text-soft);
}

.rahc-level--current {
	background: var(--rahc-accent-btn);
	color: #ffffff;
}

/* Statement banner (statutory warning) */

.rahc-statement {
	margin-top: 3rem;
	padding: 1.5rem;
	border-radius: var(--rahc-radius-xl);
	background: var(--rahc-bg);
	border: 1px solid var(--rahc-edge-strong);
	font-size: .75rem;
	line-height: 1.625;
	color: var(--rahc-text-soft);
}

@media (min-width: 640px) { .rahc-statement { font-size: .875rem; } }

.rahc-statement strong {
	display: block;
	margin-bottom: .25rem;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--rahc-accent-light);
}

/* --------------------------------------------------------------------------
   11. Charter lists. Real list markers, coloured with ::marker, so screen
       readers announce one bullet per item instead of two.
   -------------------------------------------------------------------------- */

.rahc-listcard__title {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin: 0 0 1rem;
	font-size: 1.125rem;
	font-weight: 700;
}

.rahc-listcard__title svg {
	width: 1.25rem;
	height: 1.25rem;
	flex-shrink: 0;
}

.rahc-listcard--do   .rahc-listcard__title { color: var(--rahc-positive); }
.rahc-listcard--dont .rahc-listcard__title { color: var(--rahc-negative); }
.rahc-listcard--right .rahc-listcard__title { color: var(--rahc-accent-light); }

.rahc-list {
	margin: 0;
	padding-left: 1.25rem;
	list-style: disc;
	font-size: .875rem;
	line-height: 1.6;
	color: var(--rahc-text-soft);
}

.rahc-list li + li { margin-top: .75rem; }

.rahc-list li::marker {
	color: var(--rahc-accent-light);
	font-size: 1.1em;
}

/* --------------------------------------------------------------------------
   12. Contact and detail rows
   -------------------------------------------------------------------------- */

.rahc-panel__lead {
	margin: 0 0 1rem;
	font-size: .875rem;
	font-weight: 600;
	color: var(--rahc-accent-light);
}

.rahc-details {
	border-top: 1px solid var(--rahc-line);
	padding-top: 1rem;
	font-size: .875rem;
	line-height: 1.6;
	color: var(--rahc-text-soft);
}

.rahc-details > * + * { margin-top: .5rem; }
.rahc-details p { margin: 0; }
.rahc-details a { color: var(--rahc-accent-light); }
.rahc-details .rahc-details__note {
	margin-top: .5rem;
	font-size: .75rem;
	color: var(--rahc-text-muted);
}

/* --------------------------------------------------------------------------
   13. Disclosure table
   -------------------------------------------------------------------------- */

.rahc-tablewrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.rahc-table {
	width: 100%;
	border-collapse: collapse;
	font-size: .875rem;
	text-align: left;
}

.rahc-table caption,
.rahc-table figcaption,
.rahc-table .wp-element-caption {
	caption-side: top;
	text-align: left;
	font-size: .75rem;
	line-height: 1.6;
	color: var(--rahc-text-muted);
	padding-bottom: 1rem;
}

.rahc-table thead tr {
	background: var(--rahc-bg);
	color: #e2e8f0;
	border-bottom: 1px solid var(--rahc-line);
}

.rahc-table th,
.rahc-table td {
	padding: .75rem;
	vertical-align: top;
}

.rahc-table th { font-weight: 600; }

.rahc-table tbody {
	color: var(--rahc-text-soft);
}

.rahc-table tbody tr + tr { border-top: 1px solid var(--rahc-line); }

.rahc-table tbody th[scope="row"] { font-weight: 600; color: var(--rahc-text-soft); }

/* --------------------------------------------------------------------------
   14. Footer
   -------------------------------------------------------------------------- */

.rahc-footer {
	background: var(--rahc-bg);
	border-top: 1px solid var(--rahc-line);
	padding-block: 3rem;
	font-size: .875rem;
	line-height: 1.625;
	color: var(--rahc-text-muted);
	text-align: center;
}

.rahc-footer__inner {
	text-align: center;
}

/* The block layout sets margin-block-start: 0 on siblings, and a logical
   property beats a physical one later in the cascade, so margin-top alone
   silently cancelled. Both are set, at higher specificity than the layout
   rule. 1rem matches the original design's space-y-4. */
.rahc-footer .rahc-footer__inner > * + * {
	margin-block-start: 1rem;
	margin-top: 1rem;
}

.rahc-footer p {
	margin-inline: auto;
	margin-block-end: 0;
}

.rahc-footer__legal {
	max-width: 56rem;
	font-size: .75rem;
	line-height: 1.625;
	color: var(--rahc-text-faint);
}

.rahc-footer__meta {
	padding-top: 1rem;
	border-top: 1px solid var(--rahc-line);
	font-size: .75rem;
	color: var(--rahc-text-faint);
}

.rahc-footer a { color: var(--rahc-accent-light); }

/* --------------------------------------------------------------------------
   15. Inner pages: page head and long-form prose
   -------------------------------------------------------------------------- */

.rahc-pagehead {
	position: relative;
	overflow: hidden;
	text-align: center;
	padding-block: 5rem 3.5rem;
	background: linear-gradient(180deg, var(--rahc-surface) 0%, var(--rahc-surface) 45%, var(--rahc-bg) 100%);
}

/* The section that follows drops its own top rule. The gradient already ends
   the band, and keeping both produced two lines 24px apart. */
.rahc-pagehead + .rahc-section {
	border-top: 0;
	padding-top: 2.5rem;
}

@media (min-width: 1024px) {
	.rahc-pagehead { padding-block: 6rem 3rem; }
}

/* Candlestick texture, vertically centred in the band with a clear gap in
   the middle for the title.

   The out of focus layer is baked into the SVG tile with feGaussianBlur
   rather than applied as a live CSS filter, so the browser rasterises it once
   and there is no filter cost while scrolling.

   The horizontal mask has four transitions: it fades in from the left edge,
   fades out into the centre gap, fades back in, and fades out at the right
   edge. The title is capped to the gap width, so it can never grow into the
   pattern, at any text size or page name length.

   Values are fixed lengths at desktop, where the viewport is predictable, and
   proportional below 1280px, because a 520px gap on a 390px phone would be
   the entire strip.

   Presentational only: a pseudo element with pointer-events none, so it never
   enters the accessibility tree and needs no alternative text. */
.rahc-pagehead {
	--rahc-gap: 90%;
	--rahc-soft: 5%;
	--rahc-fade: 16px;
	--rahc-title-max: 90%;
}

@media (min-width: 768px) {
	.rahc-pagehead {
		--rahc-gap: 70%;
		--rahc-soft: 8%;
		--rahc-fade: 70px;
		--rahc-title-max: 36rem;
	}
}

@media (min-width: 1280px) {
	.rahc-pagehead {
		--rahc-gap: 700px;
		--rahc-soft: 120px;
		--rahc-fade: 170px;
		--rahc-title-max: 40rem;
	}
}

.rahc-pagehead::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	height: 170px;
	z-index: 0;
	opacity: .7;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='170'%3E%3Cdefs%3E%3Cfilter id='b' x='-15%' y='-15%' width='130%' height='130%'%3E%3CfeGaussianBlur stdDeviation='7'/%3E%3C/filter%3E%3C/defs%3E%3Cg opacity='0.7'%3E%3Cg filter='url(%23b)' opacity='0.75' transform='translate(0,148) scale(1,1.12) translate(0,-148)'%3E%3Cg fill='%233b82f6' fill-opacity='0.5'%3E%3Crect x='14' y='86' width='12' height='46' rx='1'/%3E%3Crect x='54' y='64' width='12' height='62' rx='1'/%3E%3Crect x='94' y='100' width='12' height='38' rx='1'/%3E%3Crect x='134' y='52' width='12' height='68' rx='1'/%3E%3Crect x='174' y='78' width='12' height='52' rx='1'/%3E%3Crect x='214' y='38' width='12' height='74' rx='1'/%3E%3Crect x='254' y='72' width='12' height='56' rx='1'/%3E%3Crect x='294' y='96' width='12' height='40' rx='1'/%3E%3Crect x='334' y='50' width='12' height='68' rx='1'/%3E%3Crect x='374' y='82' width='12' height='49' rx='1'/%3E%3Crect x='414' y='42' width='12' height='72' rx='1'/%3E%3Crect x='454' y='90' width='12' height='44' rx='1'/%3E%3Crect x='494' y='60' width='12' height='64' rx='1'/%3E%3Crect x='534' y='104' width='12' height='36' rx='1'/%3E%3Crect x='574' y='68' width='12' height='59' rx='1'/%3E%3C/g%3E%3C/g%3E%3Cg stroke='%2360a5fa' stroke-opacity='0.55' stroke-width='1.5'%3E%3Cline x1='20' y1='70' x2='20' y2='142'/%3E%3Cline x1='60' y1='48' x2='60' y2='138'/%3E%3Cline x1='100' y1='84' x2='100' y2='147'/%3E%3Cline x1='140' y1='36' x2='140' y2='132'/%3E%3Cline x1='180' y1='62' x2='180' y2='141'/%3E%3Cline x1='220' y1='22' x2='220' y2='126'/%3E%3Cline x1='260' y1='56' x2='260' y2='140'/%3E%3Cline x1='300' y1='80' x2='300' y2='146'/%3E%3Cline x1='340' y1='34' x2='340' y2='131'/%3E%3Cline x1='380' y1='66' x2='380' y2='142'/%3E%3Cline x1='420' y1='26' x2='420' y2='128'/%3E%3Cline x1='460' y1='74' x2='460' y2='145'/%3E%3Cline x1='500' y1='44' x2='500' y2='137'/%3E%3Cline x1='540' y1='88' x2='540' y2='148'/%3E%3Cline x1='580' y1='52' x2='580' y2='139'/%3E%3C/g%3E%3Cg fill='%233b82f6' fill-opacity='0.3'%3E%3Crect x='14' y='86' width='12' height='46' rx='1'/%3E%3Crect x='54' y='64' width='12' height='62' rx='1'/%3E%3Crect x='94' y='100' width='12' height='38' rx='1'/%3E%3Crect x='134' y='52' width='12' height='68' rx='1'/%3E%3Crect x='174' y='78' width='12' height='52' rx='1'/%3E%3Crect x='214' y='38' width='12' height='74' rx='1'/%3E%3Crect x='254' y='72' width='12' height='56' rx='1'/%3E%3Crect x='294' y='96' width='12' height='40' rx='1'/%3E%3Crect x='334' y='50' width='12' height='68' rx='1'/%3E%3Crect x='374' y='82' width='12' height='49' rx='1'/%3E%3Crect x='414' y='42' width='12' height='72' rx='1'/%3E%3Crect x='454' y='90' width='12' height='44' rx='1'/%3E%3Crect x='494' y='60' width='12' height='64' rx='1'/%3E%3Crect x='534' y='104' width='12' height='36' rx='1'/%3E%3Crect x='574' y='68' width='12' height='59' rx='1'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-position: left bottom;
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--rahc-fade), #000 calc(50% - var(--rahc-gap) / 2 - var(--rahc-soft)), transparent calc(50% - var(--rahc-gap) / 2), transparent calc(50% + var(--rahc-gap) / 2), #000 calc(50% + var(--rahc-gap) / 2 + var(--rahc-soft)), #000 calc(100% - var(--rahc-fade)), transparent 100%);
	mask-image: linear-gradient(to right, transparent 0, #000 var(--rahc-fade), #000 calc(50% - var(--rahc-gap) / 2 - var(--rahc-soft)), transparent calc(50% - var(--rahc-gap) / 2), transparent calc(50% + var(--rahc-gap) / 2), #000 calc(50% + var(--rahc-gap) / 2 + var(--rahc-soft)), #000 calc(100% - var(--rahc-fade)), transparent 100%);
}

.rahc-pagehead > * {
	position: relative;
	z-index: 1;
}

.rahc-pagehead .rahc-eyebrow {
	text-align: center;
}

.rahc-pagehead__title em {
	font-style: normal;
	color: var(--rahc-accent);
}

.rahc-pagehead__title {
	margin: .5rem auto 0;
	max-width: var(--rahc-title-max);
	font-size: 2.25rem;
	font-weight: 800;
	letter-spacing: -.025em;
	line-height: 1.1;
	text-align: center;
	color: var(--rahc-text-bright);
}

@media (min-width: 640px)  { .rahc-pagehead__title { font-size: 3rem; } }
@media (min-width: 1024px) { .rahc-pagehead__title { font-size: 3.75rem; } }

.rahc-pagehead__lead {
	margin: 1.25rem auto 0;
	max-width: 44rem;
	font-size: 1.0625rem;
	line-height: 1.6;
	text-align: center;
	color: var(--rahc-text-soft);
}

.rahc-pagehead__lead .wp-block-post-excerpt__excerpt { margin: 0; }

@media (min-width: 640px) {
	.rahc-pagehead__lead { font-size: 1.1875rem; }
}

/* Long-form content. Regulatory pages are mostly headings, paragraphs and
   lists, so the rules below cover exactly that rather than trying to style
   every block. Measure is capped for readability (WCAG 1.4.8). */

.rahc-prose {
	max-width: 64rem;
	margin-inline: auto;
	padding: 1.5rem;
	border-radius: var(--rahc-radius-xl);
	background: var(--rahc-surface);
	border: 1px solid var(--rahc-line);
	font-size: 1rem;
	line-height: 1.7;
	color: var(--rahc-text-soft);
}

@media (min-width: 640px)  { .rahc-prose { padding: 2rem; } }
@media (min-width: 1024px) { .rahc-prose { padding: 2.5rem 3rem; } }

/* The post content block wraps everything in .entry-content, so the blocks
   that need spacing are grandchildren of .rahc-prose, not children. A direct
   child selector only matches that wrapper, which is why paragraphs ran
   together. The block layout also sets margin-block-start: 0 on siblings and
   a logical property beats a physical one later in the cascade, so both are
   set here. */
.rahc-prose > * + *,
.rahc-prose .entry-content > * + * {
	margin-block-start: 1.25rem;
	margin-top: 1.25rem;
}

.rahc-prose > *,
.rahc-prose .entry-content > * {
	margin-block-end: 0;
	margin-bottom: 0;
}

.rahc-prose > h2,
.rahc-prose .entry-content > h2 {
	margin-block-start: 3rem;
	margin-top: 3rem;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--rahc-text-bright);
}

.rahc-prose > h3,
.rahc-prose .entry-content > h3 {
	margin-block-start: 2.25rem;
	margin-top: 2.25rem;
	padding: .625rem 1rem;
	background: rgba(37, 99, 235, .16);
	border-left: 3px solid var(--rahc-accent);
	border-radius: 0;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--rahc-text-bright);
}

.rahc-prose > h4,
.rahc-prose .entry-content > h4 {
	margin-block-start: 1.75rem;
	margin-top: 1.75rem;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--rahc-accent-light);
}

.rahc-prose > :first-child,
.rahc-prose .entry-content > :first-child {
	margin-block-start: 0;
	margin-top: 0;
}

.rahc-prose strong { color: var(--rahc-text); }

.rahc-prose a {
	color: var(--rahc-accent-light);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.rahc-prose ul,
.rahc-prose ol {
	padding-left: 1.5rem;
}

.rahc-prose li + li { margin-top: .6rem; }
.rahc-prose ul li::marker { color: var(--rahc-accent-light); }
.rahc-prose ol li::marker { color: var(--rahc-accent-light); font-weight: 600; }

/* Blockquote moved off the left accent bar, which now belongs to H3 alone. */
.rahc-prose blockquote {
	margin: 0;
	padding: 1.25rem 1.5rem;
	background: var(--rahc-bg);
	border: 1px solid var(--rahc-line-strong);
	border-radius: var(--rahc-radius);
	color: var(--rahc-text-soft);
}

.rahc-prose .wp-block-table { overflow-x: auto; }

.rahc-prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: .9375rem;
}

.rahc-prose th,
.rahc-prose td {
	padding: .75rem;
	border: 1px solid var(--rahc-line-strong);
	text-align: left;
	vertical-align: top;
}

.rahc-prose thead th {
	background: var(--rahc-bg);
	color: var(--rahc-text-bright);
	font-weight: 600;
}

.rahc-prose figcaption {
	margin-top: .5rem;
	font-size: .8125rem;
	color: var(--rahc-text-muted);
}

.rahc-prose hr {
	border: 0;
	border-top: 1px solid var(--rahc-line-strong);
	margin-block: 2.5rem;
}

.rahc-prose img { max-width: 100%; height: auto; }


/* H2 with an icon tile, the same treatment as the Vision and Mission cards on
   the homepage. The tile is aria-hidden in the markup, so a screen reader
   announces only the heading text. */
.rahc-prose .rahc-h2 {
	display: flex;
	align-items: center;
	gap: .875rem;
}

.rahc-prose .rahc-h2__ic {
	flex: 0 0 auto;
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--rahc-radius);
	background: var(--rahc-tint-strong);
	color: var(--rahc-accent-light);
}

.rahc-prose .rahc-h2__ic svg {
	width: 1.25rem;
	height: 1.25rem;
}

@media (max-width: 480px) {
	.rahc-prose .rahc-h2 { align-items: flex-start; }
	.rahc-prose .rahc-h2__ic { width: 2rem; height: 2rem; margin-top: .125rem; }
	.rahc-prose .rahc-h2__ic svg { width: 1rem; height: 1rem; }
}


/* Intro note, a short opening paragraph set apart from the body. */
.rahc-prose .rahc-intro {
	position: relative;
	margin: 0 0 1.75rem;
	padding: 1rem 3rem;
	background: rgba(52, 211, 153, .10);
	border: 1px solid rgba(52, 211, 153, .45);
	border-radius: var(--rahc-radius);
	text-align: center;
	color: var(--rahc-text);
}

.rahc-prose .rahc-intro::before {
	content: "";
	position: absolute;
	left: 1.125rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.375rem;
	height: 1.375rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2334d399' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7.5 3.5v5.2c0 4.6-3.2 8.6-7.5 9.3-4.3-.7-7.5-4.7-7.5-9.3V6.5z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (max-width: 560px) {
	.rahc-prose .rahc-intro { padding: 2.75rem 1.25rem 1rem; }
	.rahc-prose .rahc-intro::before { left: 50%; top: 1rem; transform: translateX(-50%); }
}

/* Lists. The native marker is replaced with an icon, so role="list" is put
   back in PHP: removing list-style also removes list semantics in Safari. */
.rahc-prose ul.rahc-ul,
.rahc-prose ol.rahc-ol {
	list-style: none;
	margin-block: 1.25rem 0;
	margin-inline: 0;
	padding-left: 1.5rem;
}

.rahc-prose ul.rahc-ul li {
	position: relative;
	padding-left: 2.125rem;
}

.rahc-prose ul.rahc-ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .28em;
	width: 1.25rem;
	height: 1.25rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2334d399' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8.5 12.5l2.5 2.5 4.5-5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.rahc-prose ul.rahc-ul--x li::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fb7185' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9 9l6 6M15 9l-6 6'/%3E%3C/svg%3E");
}

.rahc-prose ol.rahc-ol {
	counter-reset: rahc-item;
}

.rahc-prose ol.rahc-ol li {
	position: relative;
	padding-left: 2.625rem;
	counter-increment: rahc-item;
}

.rahc-prose ol.rahc-ol li::before {
	content: counter(rahc-item);
	position: absolute;
	left: 0;
	top: .1em;
	width: 1.625rem;
	height: 1.625rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--rahc-tint-strong);
	color: var(--rahc-accent-light);
	font-size: .8125rem;
	font-weight: 600;
	line-height: 1;
}

/* A numbered Don'ts list keeps its numbers but takes the warning tint, so it
   never reads as a list of approved actions. */
.rahc-prose ol.rahc-ol--x li::before {
	background: rgba(251, 113, 133, .18);
	color: var(--rahc-negative);
}



/* Whatever follows a heading needs clear air, and it has to outrank the list
   rule above, which carries two classes and an element in its selector. */
.rahc-prose .entry-content > h2 + *,
.rahc-prose .entry-content > h3 + *,
.rahc-prose .entry-content > h4 + *,
.rahc-prose > h2 + *,
.rahc-prose > h3 + *,
.rahc-prose > h4 + * {
	margin-block-start: 1.5rem;
	margin-top: 1.5rem;
}

.rahc-prose .entry-content > h2,
.rahc-prose .entry-content > h3,
.rahc-prose .entry-content > h4 {
	margin-block-end: 0;
}


/* Payment routes. The validated UPI handle leads, the gateway is offered
   beside it as a convenience rather than as the primary route. */
.rahc-prose .rahc-pay {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr;
	margin-block-start: 1.5rem;
}

@media (min-width: 720px) {
	.rahc-prose .rahc-pay { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.rahc-prose .rahc-pay__card { display: flex; gap: 1rem; padding: 1.75rem; background: var(--rahc-bg); border: 1px solid var(--rahc-line-strong); border-radius: var(--rahc-radius-lg); }
.rahc-prose .rahc-pay__ic { flex: 0 0 auto; width: 2.5rem; height: 2.5rem; display: flex; align-items: center; justify-content: center; border-radius: .625rem; }
.rahc-prose .rahc-pay__ic svg { width: 1.3125rem; height: 1.3125rem; }
.rahc-prose .rahc-pay__ic--upi { background: rgba(52, 211, 153, .16); color: var(--rahc-positive); }
.rahc-prose .rahc-pay__ic--card { background: var(--rahc-tint-strong); color: var(--rahc-accent-light); }
.rahc-prose .rahc-pay__label { margin: 0 0 .375rem; font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--rahc-accent-light); }
.rahc-prose .rahc-pay__label--upi { color: var(--rahc-positive); }
.rahc-prose .rahc-pay__value { margin: 0 0 1.125rem; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 1rem; font-weight: 700; color: var(--rahc-text-bright); word-break: break-all; }
.rahc-prose .rahc-pay__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .5rem 1rem; border: 1px solid var(--rahc-line-strong); border-radius: var(--rahc-radius); background: transparent; color: var(--rahc-text); font: inherit; font-size: .8125rem; font-weight: 600; cursor: pointer; }
.rahc-prose .rahc-pay__btn:hover { border-color: var(--rahc-accent-light); color: var(--rahc-accent-light); }
.rahc-prose .rahc-pay__note { margin: 1.25rem 0 0; font-size: .8125rem; line-height: 1.55; color: var(--rahc-text-muted); }
.rahc-prose .rahc-pay__note--lead { margin: 0 0 1.125rem; }
.rahc-prose .rahc-pay .rahc-btn { margin: 0; }
.rahc-prose .rahc-pay p { margin-block-start: 0; margin-top: 0; }
/* The rule above carries two classes and an element, so the note needs a
   third class to win and actually take its top margin. */
.rahc-prose .rahc-pay p.rahc-pay__note { margin-block-start: 1.5rem; margin-top: 1.5rem; }
.rahc-prose .rahc-pay p.rahc-pay__note--lead { margin-block-start: 0; margin-top: 0; margin-bottom: 1.25rem; }
.rahc-prose .rahc-pay p.rahc-pay__value { margin-bottom: 1.25rem; }


/* Accessible Forms, restyled for the dark surface. The plugin ships light
   theme defaults: white fields and near black labels, which on the #1e293b
   content card left the labels invisible. */
.rahc-prose .aaf-form { display: grid; gap: 1.25rem 1.5rem; grid-template-columns: 1fr; margin-block-start: 1.5rem; }

.rahc-prose .aaf-form-title, .rahc-prose .aaf-required-note, .rahc-prose .aaf-actions, .rahc-prose .aaf-field-textarea, .rahc-prose .aaf-field-checkbox, .rahc-prose .aaf-field-consent, .rahc-prose .aaf-step, .rahc-prose .aaf-hp, .rahc-prose .aaf-message, .rahc-prose .aaf-errors { grid-column: 1 / -1; }
.rahc-prose .aaf-required-note { margin: 0; font-size: .8125rem; color: var(--rahc-text-muted); }
.rahc-prose .aaf-field { display: flex; flex-direction: column; margin: 0; }
.rahc-prose .aaf-label { order: 1; margin-bottom: .375rem; font-size: .875rem; font-weight: 600; color: var(--rahc-text); }
.rahc-prose .aaf-help { order: 2; margin-bottom: .5rem; font-size: .8125rem; line-height: 1.5; color: var(--rahc-text-muted); }
.rahc-prose .aaf-field input, .rahc-prose .aaf-field select, .rahc-prose .aaf-field textarea { order: 3; }
.rahc-prose .aaf-required { color: var(--rahc-negative); margin-left: .25rem; }
.rahc-prose .aaf-form input[type=text], .rahc-prose .aaf-form input[type=email], .rahc-prose .aaf-form input[type=tel], .rahc-prose .aaf-form input[type=url], .rahc-prose .aaf-form input[type=number], .rahc-prose .aaf-form select, .rahc-prose .aaf-form textarea { width: 100%; min-height: 48px; padding: .625rem .875rem; background: var(--rahc-bg); color: var(--rahc-text); border: 1px solid var(--rahc-line-strong); border-radius: var(--rahc-radius); font: inherit; font-size: 1rem; }
.rahc-prose .aaf-form textarea { min-height: 8rem; line-height: 1.6; resize: vertical; }
.rahc-prose .aaf-form ::placeholder { color: var(--rahc-text-faint); opacity: 1; }
.rahc-prose .aaf-form input:hover, .rahc-prose .aaf-form select:hover, .rahc-prose .aaf-form textarea:hover { border-color: var(--rahc-accent-light); }
.rahc-prose .aaf-submit { min-height: 48px; padding: .75rem 1.75rem; background: var(--rahc-accent-btn); color: #ffffff; border: 0; border-radius: var(--rahc-radius-lg); font: inherit; font-size: 1rem; font-weight: 700; cursor: pointer; }
.rahc-prose .aaf-submit:hover { background: var(--rahc-accent-hover); }
.rahc-prose .aaf-actions { margin: .5rem 0 0; }
.rahc-prose .aaf-form-title { margin-block-start: 0; }

/* Inputs align along the bottom of each row, so a field with help text and
   one without still line up. */
.rahc-prose .aaf-field { justify-content: flex-end; }
.rahc-prose .aaf-form textarea { min-height: 6.5rem; }
/* The page already has its own heading above the form, so the built in one
   is redundant. Kept in the accessibility tree, hidden visually. */
.rahc-prose .aaf-form-title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Page split: written detail on the left, form on the right. */
.rahc-prose .rahc-split { display: grid; gap: 2rem; grid-template-columns: 1fr; margin-block-start: 2rem; }
@media (min-width: 900px) { .rahc-prose .rahc-split { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 2.5rem; } }
.rahc-prose .rahc-split__side { padding: 1.75rem; background: var(--rahc-bg); border: 1px solid var(--rahc-line-strong); border-radius: var(--rahc-radius-xl); }
.rahc-prose .rahc-split__side > :first-child { margin-block-start: 0; }
/* Form stays a single column. It sits in a narrow panel, and stacked fields
   are easier to complete than paired ones. */
.rahc-prose .aaf-form { display: block; margin-block-start: 1.25rem; }
.rahc-prose .aaf-field { display: flex; flex-direction: column; margin: 0 0 1.125rem; }
.rahc-prose .aaf-required-note { margin: 0 0 1.25rem; font-size: .8125rem; color: var(--rahc-text-muted); }
.rahc-prose .aaf-form textarea { min-height: 6.5rem; }
/* The page supplies its own heading above the form, so the built in title is
   redundant on screen but kept for assistive technology. */
.rahc-prose .aaf-form-title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* A tick means permitted. Next to a contact detail it means nothing, so the
   default marker is a neutral dot and the tick is reserved for lists under a
   Do's or Rights heading. */
.rahc-prose ul.rahc-ul li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4' fill='%2360a5fa'/%3E%3C/svg%3E"); }
.rahc-prose ul.rahc-ul--tick li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2334d399' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8.5 12.5l2.5 2.5 4.5-5'/%3E%3C/svg%3E"); }
/* More air between sections in the split columns, and the form panel follows
   the reader on long pages. */
.rahc-prose .rahc-split__main > h2 { margin-block-start: 2.75rem; }
.rahc-prose .rahc-split__main > :first-child { margin-block-start: 0; }
@media (min-width: 900px) { .rahc-prose .rahc-split__side { position: sticky; top: 6.5rem; } }
@media (prefers-reduced-motion: reduce) { .rahc-prose .rahc-split__side { position: static; } }

/* The split columns are narrow, so body text steps down a notch. 15px still
   clears the readable minimum and keeps the two columns balanced. */
.rahc-prose .rahc-split__main { font-size: .9375rem; line-height: 1.7; }
.rahc-prose .rahc-split__main > h2 { font-size: 1.3125rem; }
.rahc-prose .rahc-split__main .rahc-h2__ic { width: 2.125rem; height: 2.125rem; }
.rahc-prose .rahc-split__main .rahc-h2__ic svg { width: 1.0625rem; height: 1.0625rem; }
.rahc-prose .rahc-split__side { font-size: .9375rem; }

/* Map band across the foot of the content card. The address is repeated as
   text below it, so it is not locked inside an embedded map. */
.rahc-prose .rahc-map { margin-block-start: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--rahc-line-strong); }
.rahc-prose .rahc-map__h { margin: 0 0 1.25rem; font-size: 1.25rem; font-weight: 700; color: var(--rahc-text-bright); }
.rahc-prose .rahc-map__frame { position: relative; overflow: hidden; border-radius: var(--rahc-radius-lg); border: 1px solid var(--rahc-line-strong); background: var(--rahc-bg); }
.rahc-prose .rahc-map__frame iframe { display: block; width: 100%; height: 320px; border: 0; }
@media (max-width: 640px) { .rahc-prose .rahc-map__frame iframe { height: 240px; } }
.rahc-prose .rahc-map__note { margin: 1rem 0 0; font-size: .8125rem; line-height: 1.7; color: var(--rahc-text-faint); }
.rahc-prose .rahc-map__note a { color: var(--rahc-accent-light); }

.rahc-prose .rahc-map__frame { min-height: 0; }
.rahc-prose .rahc-map__consent { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; padding: 2rem 1.5rem; }
.rahc-prose .rahc-map__consent-text { margin: 0; max-width: 46rem; font-size: .875rem; line-height: 1.7; color: var(--rahc-text-muted); }
.rahc-prose .rahc-map__btn { min-height: 44px; padding: .625rem 1.25rem; border: 1px solid var(--rahc-line-strong); border-radius: var(--rahc-radius); background: transparent; color: var(--rahc-text); font: inherit; font-size: .875rem; font-weight: 600; cursor: pointer; }
.rahc-prose .rahc-map__btn:hover { border-color: var(--rahc-accent-light); color: var(--rahc-accent-light); }

/* Accordion. Panels are collapsed with the hidden attribute rather than CSS,
   so collapsed content is out of the accessibility tree and out of the tab
   order, not merely invisible. */
.rahc-prose .rahc-accordion { border: 1px solid var(--rahc-line-strong); border-radius: var(--rahc-radius-lg); overflow: hidden; }
.rahc-prose .rahc-acc__item + .rahc-acc__item { border-top: 1px solid var(--rahc-line-strong); }
.rahc-prose .rahc-acc__h { margin: 0; padding: 0; background: none; border: 0; font-size: inherit; }
.rahc-prose .rahc-acc__btn { display: flex; align-items: center; gap: .875rem; width: 100%; min-height: 56px; padding: .875rem 1rem; background: transparent; border: 0; color: var(--rahc-text); font: inherit; font-size: .9375rem; font-weight: 600; text-align: left; cursor: pointer; }
.rahc-prose .rahc-acc__btn:hover { background: rgba(37, 99, 235, .1); color: var(--rahc-text-bright); }
.rahc-prose .rahc-acc__btn[aria-expanded="true"] { background: rgba(37, 99, 235, .14); color: var(--rahc-text-bright); }
.rahc-prose .rahc-acc__btn .rahc-h2__ic { width: 2rem; height: 2rem; flex: 0 0 auto; }
.rahc-prose .rahc-acc__btn .rahc-h2__ic svg { width: 1rem; height: 1rem; }
.rahc-prose .rahc-acc__label { flex: 1 1 auto; }
.rahc-prose .rahc-acc__chev { flex: 0 0 auto; width: .625rem; height: .625rem; border-right: 2px solid var(--rahc-accent-light); border-bottom: 2px solid var(--rahc-accent-light); transform: rotate(45deg); transition: transform .15s ease; }
.rahc-prose .rahc-acc__btn[aria-expanded="true"] .rahc-acc__chev { transform: rotate(-135deg); }
@media (prefers-reduced-motion: reduce) { .rahc-prose .rahc-acc__chev { transition: none; } }
.rahc-prose .rahc-acc__panel { padding: 1.25rem 1rem 1.5rem 3.875rem; }
.rahc-prose .rahc-acc__panel > :first-child { margin-block-start: 0; }
@media (max-width: 560px) { .rahc-prose .rahc-acc__panel { padding-left: 1rem; } }

/* Message box at two rows. A rows attribute gives a textarea an intrinsic
   height, so min-height alone cannot shrink it; height has to be set. It stays
   resizable for anyone who wants more room. */
.rahc-prose .aaf-form textarea { height: 4.5rem; min-height: 4.5rem; }
/* Columns share a height so the two panels end level. The map fills the
   left column, which is what makes the balance real rather than a stretched
   empty box. */
@media (min-width: 900px) {
	.rahc-prose .rahc-split { align-items: stretch; }
	.rahc-prose .rahc-split__main { display: flex; flex-direction: column; }
	.rahc-prose .rahc-split__main .rahc-map { margin-top: auto; }
	.rahc-prose .rahc-split__main .rahc-map__frame iframe { height: 260px; }
	.rahc-prose .rahc-split__side { position: static; }
}

/* The map fills whatever height the form column sets, so the two columns end
   level. Both margin properties are set because the logical one set earlier
   would otherwise win on margin-top. */
@media (min-width: 900px) {
	.rahc-prose .rahc-split__main > .rahc-map { margin-top: auto; margin-block-start: auto; display: flex; flex-direction: column; }
	.rahc-prose .rahc-split__main > .rahc-map .rahc-map__frame { flex: 1 1 auto; min-height: 240px; }
	.rahc-prose .rahc-split__main > .rahc-map .rahc-map__frame iframe { height: 100%; min-height: 240px; }
}



/* UPI QR. White plate behind it because a QR needs a light quiet zone to
   scan reliably on a dark page. */
.rahc-prose .rahc-pay__qr { margin: 1rem 0 0; }
.rahc-prose .rahc-pay__qr img { display: block; width: 160px; height: auto; padding: .5rem; background: #ffffff; border-radius: var(--rahc-radius); }
.rahc-prose .rahc-pay__qr figcaption { margin-top: .5rem; font-size: .75rem; color: var(--rahc-text-muted); }

/* Modal dialog. Hidden with the hidden attribute rather than only CSS, so
   the content is out of the accessibility tree and the tab order when
   closed. Focus handling, the tab trap and Escape live in rahc-a11y.js. */
.rahc-modal[hidden] { display: none; }
.rahc-modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.rahc-modal__backdrop { position: absolute; inset: 0; background: rgba(2, 6, 23, .72); }
.rahc-modal__panel { position: relative; width: 100%; max-width: 60rem; max-height: 86vh; overflow: auto; background: var(--rahc-surface); border: 1px solid var(--rahc-line-strong); border-radius: var(--rahc-radius-xl); box-shadow: 0 24px 64px rgba(2, 6, 23, .55); }
.rahc-modal__head { display: flex; align-items: flex-start; gap: 1rem; padding: 1.5rem 1.75rem 1rem; border-bottom: 1px solid var(--rahc-line-strong); position: sticky; top: 0; background: var(--rahc-surface); }
.rahc-modal__title { flex: 1 1 auto; margin: 0; font-size: 1.25rem; font-weight: 700; color: var(--rahc-text-bright); }
.rahc-modal__close { flex: 0 0 auto; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; background: transparent; border: 1px solid var(--rahc-line-strong); border-radius: var(--rahc-radius); color: var(--rahc-text); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.rahc-modal__close:hover { border-color: var(--rahc-accent-light); color: var(--rahc-accent-light); }
.rahc-modal__body { padding: 1.5rem 1.75rem 1.75rem; }
.rahc-modal__desc { margin: 0 0 1.25rem; font-size: .9375rem; color: var(--rahc-text-soft); }
.rahc-modal__note, .rahc-modal__more { margin: 1.25rem 0 0; font-size: .8125rem; line-height: 1.7; color: var(--rahc-text-muted); }
.rahc-modal__more a { color: var(--rahc-accent-light); }
/* The table scrolls inside the panel rather than forcing the page sideways. */
.rahc-modal .wp-block-table { margin: 0; overflow-x: auto; }
.rahc-modal table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.rahc-modal caption { text-align: left; padding-bottom: .75rem; font-size: .8125rem; color: var(--rahc-text-muted); }
.rahc-modal th, .rahc-modal td { padding: .625rem .75rem; border: 1px solid var(--rahc-line-strong); text-align: left; }
.rahc-modal thead th { background: var(--rahc-bg); color: var(--rahc-text-bright); font-size: .75rem; letter-spacing: .02em; }
.rahc-modal tfoot th, .rahc-modal tfoot td { background: var(--rahc-bg); font-weight: 700; color: var(--rahc-text-bright); }
@media (max-width: 640px) {
	.rahc-modal { padding: .5rem; }
	.rahc-modal__panel { max-height: 92vh; }
	.rahc-modal__head { padding: 1.125rem 1.125rem .875rem; }
	.rahc-modal__body { padding: 1.125rem; }
}
button.rahc-complaints__link { background: transparent; font: inherit; cursor: pointer; }

/* Compliance band between the hero and the services section. One home for
   the complaints summary, with the disclosure pages beside it: those pages
   had no route from the homepage before, only the footer. The full eight
   column table lives on the Grievance page. */
/* Border on the top edge only. The section below supplies its own, and two
   hairlines together read as a mistake. */
.rahc-cband { padding-block: 3.5rem; border-top: 1px solid var(--rahc-line); background: var(--rahc-bg); }
.rahc-cband__inner { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 860px) { .rahc-cband__inner { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); } }
.rahc-cband__card { padding: 1.375rem 1.5rem; background: var(--rahc-surface); border: 1px solid var(--rahc-line-strong); border-radius: var(--rahc-radius-xl); }

.rahc-cband .rahc-section__head { margin-bottom: 2.25rem; }
.rahc-cband__h { margin: 0 0 1rem; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rahc-accent-light); }
.rahc-cband__stats { display: flex; flex-wrap: wrap; gap: 1.25rem 2.25rem; margin: 0; }
.rahc-cband__stats > div { min-width: 4.5rem; }
.rahc-cband__stats dd { margin: 0; font-size: 1.75rem; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; color: var(--rahc-text-bright); }
.rahc-cband__stats dt { margin-top: .25rem; font-size: .75rem; color: var(--rahc-text-muted); }
/* Value above label reads better, but the definition list keeps dt first in
   the markup so the pairing is correct for assistive technology. */
.rahc-cband__stats > div { display: flex; flex-direction: column-reverse; }
.rahc-cband__card { display: flex; flex-direction: column; }
.rahc-cband__stats { gap: .75rem 2rem; }
.rahc-cband__stats dd { font-size: 2rem; }
/* Breakdown by source. This is part of the same mandated disclosure, so it
   fills the card with real data rather than padding. */
.rahc-cband__src { list-style: none; margin: 1rem 0 0; padding: .875rem 0 0; border-top: 1px solid var(--rahc-line); display: grid; gap: 0; }
.rahc-cband__src li { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: .3125rem 0; font-size: .8125rem; color: var(--rahc-text-muted); }
.rahc-cband__src li + li { border-top: 1px solid rgba(51, 65, 85, .5); }
.rahc-cband__src li span:last-child { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--rahc-text-soft); }
.rahc-cband__note { margin-top: auto; padding-top: 1rem; }
.rahc-cband__note { font-size: .8125rem; line-height: 1.7; color: var(--rahc-text-muted); }
.rahc-cband__note a { color: var(--rahc-accent-light); }
.rahc-cband__links { list-style: none; margin: 0; padding: 0; display: grid; gap: .125rem; }
.rahc-cband__links a { display: flex; align-items: center; gap: .75rem; padding: .625rem 0; font-size: .9375rem; color: var(--rahc-text-soft); text-decoration: none; border-bottom: 1px solid var(--rahc-line); }
.rahc-cband__ic { flex: 0 0 auto; width: 2rem; height: 2rem; display: flex; align-items: center; justify-content: center; border-radius: .5rem; background: var(--rahc-tint-strong); color: var(--rahc-accent-light); }
.rahc-cband__ic svg { width: 1rem; height: 1rem; }
.rahc-cband__links li:last-child a { border-bottom: 0; }
.rahc-cband__links a:hover { color: var(--rahc-accent-light); text-decoration: underline; }

/* Mobile menu breakpoint.

   The core navigation block switches to the overlay at 600px. With six items
   plus a button beside a two line brand lockup, the header is squeezed from
   roughly 780px upwards and the brand name wraps. Raising the switch to
   1024px keeps the inline menu only at widths that can actually hold it. */
@media (max-width: 1023.98px) {
	.rahc-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}

	.rahc-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
	}
}

/* A grid column of 1fr is minmax(auto, 1fr), so it will not shrink below the
   intrinsic width of its content. On a phone the accordion pushed the page
   8px wide. minmax(0, 1fr) plus min-width: 0 lets the column actually
   shrink, and long strings wrap instead of forcing the width. */
.rahc-prose .rahc-split { grid-template-columns: minmax(0, 1fr); }
.rahc-prose .rahc-split > * { min-width: 0; }
@media (min-width: 900px) {
	.rahc-prose .rahc-split { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
}
.rahc-prose .rahc-accordion, .rahc-prose .rahc-acc__item, .rahc-prose .rahc-acc__panel { min-width: 0; }
.rahc-prose .rahc-acc__panel { overflow-wrap: anywhere; }
.rahc-prose .rahc-acc__label { min-width: 0; overflow-wrap: anywhere; }

/* Cloudflare Turnstile renders at a fixed 300px and cannot be made fluid.
   On a 320px screen the form panel is 222px wide, so the widget pushed the
   page sideways. It scrolls inside its own box instead of moving the page,
   which is what 1.4.10 Reflow asks for. Scaling it down was the alternative
   and was rejected: it would shrink the checkbox below the target size. */
.rahc-prose .cf-turnstile,
.rahc-prose .aaf-form .cf-turnstile {
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* Narrow phones: give the card back some width rather than spending it all
   on padding. */
@media (max-width: 380px) {
	.rahc-prose { padding: 1.125rem; }
	.rahc-prose .rahc-split__side { padding: 1.125rem; }
	.rahc-prose .rahc-acc__panel { padding-left: .875rem; padding-right: .875rem; }
}

/* Multi step indicator. The plugin ships #4b5563 for inactive steps, which
   is 1.93:1 on this dark surface. #8B9AB3 gives 6.3:1. The current step is
   marked by weight and colour together, not colour alone. */
.rahc-prose .aaf-steps, .rahc-prose .aaf-step-list { list-style: none; margin: 0 0 1.25rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.rahc-prose .aaf-step-dot { font-size: .8125rem; color: var(--rahc-text-faint); }
.rahc-prose .aaf-step-dot[aria-current], .rahc-prose .aaf-step-dot.is-current, .rahc-prose .aaf-step-dot.is-active { color: var(--rahc-accent-light); font-weight: 700; }















/* Mobile menu, matching the original site.

   A panel that drops below the header rather than a full screen overlay,
   so the logo stays in view and the close control sits where the hamburger
   was. Items are left aligned and full width, the call to action fills the
   row. Core generates its overlay CSS inline, so the forced declarations
   are deliberate. Everything is scoped to .is-menu-open, which never
   appears at desktop widths. */
/* The panel must anchor to the header, not to the 44px nav element it lives
   in, so everything between the two is made static in the mobile range. */
.rahc-header { position: relative; }
@media (max-width: 1023.98px) {
	.rahc-header .rahc-container,
	.rahc-header .rahc-header__inner,
	nav.rahc-nav,
	nav.rahc-nav .wp-block-navigation__responsive-container-open { position: static !important; }
}

nav.rahc-nav .wp-block-navigation__responsive-container.is-menu-open {
	position: absolute !important;
	top: 100% !important;
	left: 0 !important;
	right: 0 !important;
	bottom: auto !important;
	z-index: 1000;
	display: block;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: calc(100vh - 8rem);
	padding: .5rem 1rem 1.25rem !important;
	margin-top: -1px;
	background-color: var(--rahc-surface) !important;
	color: var(--rahc-text) !important;
	border-bottom: 1px solid var(--rahc-line-strong);
	box-shadow: 0 24px 48px rgba(2, 6, 23, .45);
	overflow-y: auto !important;
}

nav.rahc-nav .is-menu-open .wp-block-navigation__responsive-dialog,
nav.rahc-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	width: 100%;
	align-items: stretch;
	justify-content: flex-start;
}

nav.rahc-nav .is-menu-open .wp-block-navigation__container {
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	gap: .125rem;
	width: 100%;
}

nav.rahc-nav .is-menu-open .wp-block-navigation-item {
	width: 100%;
	justify-content: flex-start;
}

nav.rahc-nav .is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	min-height: 48px;
	padding: .75rem 1rem;
	border-radius: var(--rahc-radius);
	font-size: 1.0625rem;
	text-align: left;
	color: var(--rahc-text);
	background: transparent;
}

nav.rahc-nav .is-menu-open .wp-block-navigation-item__content:hover,
nav.rahc-nav .is-menu-open .current-menu-item .wp-block-navigation-item__content {
	background: var(--rahc-bg);
	color: var(--rahc-text-bright);
}

nav.rahc-nav .is-menu-open .wp-block-navigation-item:last-child .wp-block-navigation-item__content {
	margin-top: .75rem;
	text-align: center;
	font-weight: 700;
	background: var(--rahc-accent-btn);
	color: #ffffff;
}

nav.rahc-nav .is-menu-open .wp-block-navigation-item:last-child .wp-block-navigation-item__content:hover {
	background: var(--rahc-accent-hover);
}

nav.rahc-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	position: absolute;
	top: -69px;
	right: 15px;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--rahc-line-strong);
	border-radius: var(--rahc-radius);
	color: var(--rahc-text);
	background: var(--rahc-surface);
}

nav.rahc-nav .is-menu-open .wp-block-navigation__responsive-container-close:hover {
	border-color: var(--rahc-accent-light);
	color: var(--rahc-accent-light);
}

/* One control, not two. While the panel is open the hamburger gives way to
   the close button, which sits on the same spot. Core also reserves space at
   the top of the panel for its own close button; that space is not needed. */
html.has-modal-open nav.rahc-nav .wp-block-navigation__responsive-container-open,
body.has-modal-open nav.rahc-nav .wp-block-navigation__responsive-container-open,
nav.rahc-nav:has(.is-menu-open) .wp-block-navigation__responsive-container-open { visibility: hidden; }

nav.rahc-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

nav.rahc-nav .is-menu-open .wp-block-navigation__responsive-dialog { padding: 0; }


/* Hero spacing. Block layout zeroes margin-block-start on every child and a
   logical property beats a physical one later in the cascade, so the pill,
   headline and lead were touching while the panels below kept their gap.
   Both properties, at a specificity the layout rules cannot outrank. */
.rahc-hero .rahc-hero__main > .rahc-hero__title,
.rahc-hero .rahc-hero__main > .rahc-hero__lead,
.rahc-hero .rahc-hero__main > .rahc-pill + * {
	margin-block-start: 1.25rem;
	margin-top: 1.25rem;
}
@media (min-width: 768px) {
	.rahc-hero .rahc-hero__main > .rahc-hero__title { margin-block-start: 1.5rem; margin-top: 1.5rem; }
	.rahc-hero .rahc-hero__main > .rahc-hero__lead { margin-block-start: 1.5rem; margin-top: 1.5rem; }
}

/* Long unbreakable strings. The email address and the UPI handle contain no
   spaces, so on a narrow phone they pushed past the edge of the analyst
   card. anywhere lets them break at any character, which is right for an
   address being read rather than a sentence. Scoped to the card only. */
.rahc-analyst__row { flex-wrap: wrap; }
.rahc-analyst__row dt, .rahc-analyst__row dd { min-width: 0; max-width: 100%; }
.rahc-analyst__row dd, .rahc-analyst__row dd a { overflow-wrap: anywhere; }
@media (max-width: 400px) {
	.rahc-analyst__row { flex-direction: column; align-items: flex-start; gap: .125rem; }
	.rahc-analyst__row dd { text-align: left; }
}

/* Cloudflare Turnstile renders at a fixed 300px and cannot be made fluid.
   On a 320px screen it overflowed the form panel. It scrolls inside its own
   box rather than moving the page. Scaling it was rejected because it would
   shrink the checkbox below the target size. */
.rahc-prose .cf-turnstile { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* 1.4.4 Resize text.

   At 200 percent text the inline menu needs about 1050px, more than a 1280px
   viewport can give it once the brand is beside it. A viewport breakpoint
   cannot see text size, but a container query on the header can: it is
   measured in the header em, which grows with the text. When the header is
   narrower than 64 of its own em, the menu collapses to the hamburger,
   exactly as it does on a phone. Nothing here changes layout at normal text
   size on any screen wider than 1024px. */
.rahc-header__inner { container-type: inline-size; }
@container (max-width: 63.99em) {
	nav.rahc-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
	nav.rahc-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; }
}

/* Section rhythm on phones. 80px top and bottom is right at desktop, where
   there is width to balance it, but on a phone two adjacent sections put
   160px of empty screen between one block and the next. */
@media (max-width: 767.98px) {
	/* Top heavy: little space before the divider, more after it, so each
	   section heading gets air above it without a void below the last card. */
	.rahc-section { padding-block: 3.5rem 1.75rem; }
	.rahc-cband { padding-block: 3rem 1.75rem; }
	.rahc-hero { padding-block: 2.5rem 3.5rem; }
	.rahc-section__head { margin-bottom: 1.75rem; }
}

/* Four service cards. Two by two on tablets so the cards stay readable,
   four across only where there is width for it. */
.rahc-grid--4 { display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .rahc-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .rahc-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.rahc-grid--4 > * { min-width: 0; }

/* Search form on the 404 page */

.rahc-search .wp-block-search__label { display: block; margin-bottom: .5rem; font-weight: 600; color: var(--rahc-text); }

.rahc-search .wp-block-search__input {
	background: var(--rahc-bg);
	color: var(--rahc-text);
	border: 1px solid var(--rahc-line-strong);
	border-radius: var(--rahc-radius);
	padding: .625rem .75rem;
	min-height: 44px;
}

.rahc-search .wp-block-search__button {
	background: var(--rahc-accent-btn);
	color: #ffffff;
	border: 0;
	border-radius: var(--rahc-radius);
	padding: .625rem 1.25rem;
	min-height: 44px;
	font-weight: 700;
	cursor: pointer;
}

.rahc-search .wp-block-search__button:hover { background: var(--rahc-accent-hover); }



/* Buttons inside page content. The prose link rule carries a class and an
   element, so it outranks the button class and was repainting these as
   underlined blue links. */
.rahc-prose a.rahc-btn { text-decoration: none; }
.rahc-prose a.rahc-btn--primary { background: var(--rahc-accent-btn); color: #ffffff; }
.rahc-prose a.rahc-btn--primary:hover { background: var(--rahc-accent-hover); color: #ffffff; text-decoration: none; }
.rahc-prose a.rahc-btn--secondary { background: var(--rahc-surface); color: #ffffff; border: 1px solid var(--rahc-line-strong); }
.rahc-prose a.rahc-btn--secondary:hover { background: var(--rahc-line-strong); color: #ffffff; text-decoration: none; }

/* Footer columns. Compliance is split from Legal on purpose: the Investor
   Charter and grievance route are regulatory obligations investors are told
   to look for, not ordinary website boilerplate. */
.rahc-fcols { display: grid; gap: 2.5rem; grid-template-columns: 1fr; margin-bottom: 2.5rem; text-align: left; }
@media (min-width: 780px) { .rahc-fcols { grid-template-columns: 1.6fr 1fr 1.15fr 1.15fr; gap: 2rem; } }
.rahc-fbrand__id { display: flex; align-items: center; gap: .875rem; margin-bottom: 1.375rem; }
.rahc-fbrand__mark.wp-block-site-logo { margin: 0; flex: 0 0 auto; }
.rahc-fbrand__mark.wp-block-site-logo a, .rahc-fbrand__mark.wp-block-site-logo > span { display: flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; padding: .25rem; border-radius: var(--rahc-radius-lg); background: var(--rahc-tint); border: 1px solid var(--rahc-edge); text-decoration: none; }
.rahc-fbrand__mark.wp-block-site-logo img { display: block; width: 2rem; height: 2rem; max-width: none; object-fit: contain; }
.rahc-fbrand__names { display: block; }
.rahc-fbrand__name { display: block; font-size: 1.0625rem; font-weight: 800; letter-spacing: -.01em; line-height: 1.2; color: var(--rahc-text-bright); }
.rahc-fbrand__tag { display: block; margin-top: .1875rem; font-size: .625rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--rahc-accent-light); }
.rahc-fbrand__panel { padding: 1rem 1.125rem; border: 1px solid var(--rahc-line); border-radius: var(--rahc-radius-lg); }
.rahc-fbrand__addr { margin: 0 0 .875rem; font-size: .8125rem; line-height: 1.7; color: var(--rahc-text-faint); max-width: none; }
/* Registration values use Inter with tabular figures rather than a monospace
   face. Mixing a second typeface into a small column reads as a mistake. */
.rahc-fbrand__reg { display: grid; gap: .5rem; margin: 0; padding-top: .875rem; border-top: 1px solid var(--rahc-line); }
.rahc-fbrand__reg > div { display: flex; gap: .75rem; align-items: baseline; }
.rahc-fbrand__reg dt { flex: 0 0 auto; min-width: 5.5rem; font-size: .6875rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--rahc-text-faint); }
.rahc-fbrand__reg dd { margin: 0; font-size: .8125rem; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: .01em; color: var(--rahc-text-soft); }


.rahc-fcol__h { margin: 0 0 .875rem; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--rahc-accent-light); }
.rahc-fcol ul { list-style: none; margin: 0; padding: 0; }
.rahc-fcol li { margin-bottom: .125rem; }
.rahc-fcol a { display: inline-block; padding: .3125rem 0; font-size: .875rem; line-height: 1.5; color: var(--rahc-text-soft); text-decoration: none; }
.rahc-fcol a:hover { color: var(--rahc-accent-light); text-decoration: underline; }


/* --------------------------------------------------------------------------
   16. High contrast mode, toggled from the top bar
   -------------------------------------------------------------------------- */

body.rahc-contrast {
	background: #000000;
	color: #ffffff;
}

body.rahc-contrast .rahc-header,
body.rahc-contrast .rahc-topbar,
body.rahc-contrast .rahc-footer,
body.rahc-contrast .rahc-hero,
body.rahc-contrast .rahc-pagehead,
body.rahc-contrast .rahc-section--plain,
body.rahc-contrast .rahc-section--tinted {
	background: #000000;
	border-color: #ffffff;
}

body.rahc-contrast .rahc-panel,
body.rahc-contrast .rahc-fact,
body.rahc-contrast .rahc-analyst,
body.rahc-contrast .rahc-notice,
body.rahc-contrast .rahc-statement {
	background: #111111;
	border-color: #ffffff;
}

body.rahc-contrast h1,
body.rahc-contrast h2,
body.rahc-contrast h3,
body.rahc-contrast p,
body.rahc-contrast li,
body.rahc-contrast td,
body.rahc-contrast th,
body.rahc-contrast dt,
body.rahc-contrast dd {
	color: #ffffff;
}

body.rahc-contrast a,
body.rahc-contrast .rahc-eyebrow,
body.rahc-contrast .rahc-tag,
body.rahc-contrast .rahc-fact__label {
	color: #60a5fa;
}

body.rahc-contrast .rahc-btn--primary,
body.rahc-contrast .rahc-analyst__flag,
body.rahc-contrast .rahc-level--current {
	background: #ffffff;
	color: #000000;
}

/* --------------------------------------------------------------------------
   17. Print
   -------------------------------------------------------------------------- */

@media print {
	.rahc-topbar, .rahc-nav, .rahc-skip { display: none; }
	body { background: #ffffff; color: #000000; }
	.rahc-panel, .rahc-analyst, .rahc-fact { border-color: #000000; }
}


/* --------------------------------------------------------------------------
   2.3.1 - Client home page changes, 22 September 2026
   -------------------------------------------------------------------------- */

/* Hero fact boxes: equal height, aligned tops. Block flow layout adds a top
   margin to the second box, which pushed it down and made it shorter. */
.rahc-facts {
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
}
@media (min-width: 640px) {
	.rahc-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.rahc-facts > .rahc-fact {
	margin-block-start: 0;
	margin-top: 0;
	margin-block-end: 0;
	margin-bottom: 0;
}

/* Larger UPI ID for readability, still wraps safely at 320px */
.rahc-fact__value--mono {
	font-size: 1.25rem;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

/* Grievance: accessibility box below the three level matrix */
.rahc-grievance-levels {
	margin-block-end: 2rem;
	margin-bottom: 2rem;
}
.rahc-a11y-grievance {
	margin-block-start: 0;
	margin-top: 0;
	margin-block-end: 4rem;
	margin-bottom: 4rem;
}
.rahc-a11y-grievance__list {
	margin: 0;
	padding-inline-start: 1.25rem;
	list-style: disc;
}
.rahc-a11y-grievance__list li + li {
	margin-block-start: .5rem;
	margin-top: .5rem;
}
.rahc-a11y-grievance__list strong {
	color: var(--rahc-text-bright);
}


/* --------------------------------------------------------------------------
   2.3.8 - SEBI: complaints table on the home page without scrolling
   Design A: one card in the same style as the hero's "Verified SEBI RA" card,
   title left, month and status pills right. The status pill is set by a small
   inline script from the Grand total "Total pending" cell (green at 0, amber
   above 0). Table text never below 16px (SEBI asks for 12 or above; 12pt =
   16px). On narrow screens the table scrolls sideways inside its own focusable
   region (WCAG 1.4.10 allows this for data tables), with edge shadows as a cue.
   -------------------------------------------------------------------------- */
.rahc-ctop {
	background: var(--rahc-bg);
	border-bottom: 1px solid var(--rahc-line);
	padding-block: 1.25rem;
	margin-block-start: 0;
	margin-top: 0;
}
.rahc-ctop + .rahc-hero,
.rahc-ctop + * {
	margin-block-start: 0;
	margin-top: 0;
}
.rahc-ctop__card {
	background: var(--rahc-surface);
	border: 1px solid var(--rahc-line-strong);
	border-radius: var(--rahc-radius-xl);
	box-shadow: var(--rahc-shadow-lg);
	padding: 1rem 1.25rem .9rem;
}
.rahc-ctop__head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: .5rem 1rem;
	margin-bottom: .75rem;
}
.rahc-ctop__head p {
	margin: 0;
}
.rahc-ctop__title {
	margin-block-start: .2rem !important;
	font-size: 1.375rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -.02em;
	color: var(--rahc-text-bright);
}
.rahc-ctop__pills {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}
.rahc-ctop__pill {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .2rem .8rem;
	border: 1px solid var(--rahc-edge-strong);
	border-radius: var(--rahc-radius-pill);
	background: var(--rahc-tint);
	color: var(--rahc-accent-pale);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	white-space: nowrap;
}
.rahc-ctop__pill--ok,
.rahc-ctop__pill--warn {
	gap: .45rem;
}
.rahc-ctop__pill--ok::before,
.rahc-ctop__pill--warn::before {
	content: "";
	width: .5rem;
	height: .5rem;
	border-radius: 50%;
	background: currentColor;
}
.rahc-ctop__pill--ok {
	border-color: rgba(52, 211, 153, .4);
	background: rgba(52, 211, 153, .12);
	color: #6ee7b7;
}
.rahc-ctop__pill--warn {
	border-color: rgba(251, 191, 36, .45);
	background: rgba(251, 191, 36, .12);
	color: #fcd34d;
}
.rahc-ctop__scroll {
	overflow-x: auto;
	max-width: 100%;
	background:
		linear-gradient(to right, var(--rahc-surface) 30%, transparent) left / 2.5rem 100% no-repeat local,
		linear-gradient(to left, var(--rahc-surface) 30%, transparent) right / 2.5rem 100% no-repeat local,
		radial-gradient(farthest-side at 0 50%, rgba(0, 0, 0, .55), transparent) left / .9rem 100% no-repeat scroll,
		radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, .55), transparent) right / .9rem 100% no-repeat scroll;
}
.rahc-ctop__scroll:focus-visible {
	outline: 3px solid var(--rahc-accent-light);
	outline-offset: 2px;
	border-radius: var(--rahc-radius-sm);
}
.rahc-ctop__table {
	width: 100%;
	min-width: 48rem;
	border-collapse: collapse;
	font-size: 1rem;
	line-height: 1.3;
	color: var(--rahc-text);
	font-variant-numeric: tabular-nums;
}
.rahc-ctop__table th,
.rahc-ctop__table td {
	padding: .45rem .75rem;
	text-align: center;
	vertical-align: middle;
	border-bottom: 1px solid var(--rahc-line);
}
.rahc-ctop__table thead th {
	color: var(--rahc-text-muted);
	font-weight: 600;
	vertical-align: bottom;
	border-bottom: 1px solid var(--rahc-line-strong);
}
.rahc-ctop__table .rahc-ctop__sr {
	width: 3.5rem;
	color: var(--rahc-text-muted);
}
.rahc-ctop__table .rahc-ctop__src {
	text-align: left;
	white-space: nowrap;
}
.rahc-ctop__table tbody th[scope="row"] {
	font-weight: 600;
	color: var(--rahc-text-bright);
}
.rahc-ctop__table tfoot th,
.rahc-ctop__table tfoot td {
	color: var(--rahc-text-bright);
	font-weight: 800;
	border-bottom: 0;
	border-top: 1px solid var(--rahc-line-strong);
}
.rahc-ctop__foot {
	margin: .6rem 0 0;
	font-size: 1rem;
}
.rahc-ctop__foot a {
	color: var(--rahc-accent-pale);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 599px) {
	.rahc-ctop {
		padding-block: .75rem;
	}
	.rahc-ctop__card {
		padding: .75rem .85rem .7rem;
	}
	.rahc-ctop__head {
		margin-bottom: .5rem;
	}
	.rahc-ctop__title {
		font-size: 1.2rem;
	}
	.rahc-ctop__table th,
	.rahc-ctop__table td {
		padding: .35rem .6rem;
	}
}
/* 2.3.12 - Client request: normal weight throughout the card, table text at
   14px (still above SEBI's "12 or above"). The Grand total row stays distinct
   through its top border and brighter colour. */
.rahc-ctop__table {
	font-size: .875rem;
}
.rahc-ctop__table th,
.rahc-ctop__table td,
.rahc-ctop__table thead th,
.rahc-ctop__table tbody th[scope="row"],
.rahc-ctop__table tfoot th,
.rahc-ctop__table tfoot td,
.rahc-ctop__pill {
	font-weight: 400;
}
/* 2.3.13 - Client request: pills smaller (14px), column headings semi-bold */
.rahc-ctop__pill {
	font-size: .875rem;
	padding: .15rem .7rem;
}
.rahc-ctop__table thead th {
	font-weight: 600;
}
/* 2.3.14 - Row lines visible: --rahc-line is the same colour as the card
   surface (#1e293b), so the lines were invisible on the card */
.rahc-ctop__table tbody th,
.rahc-ctop__table tbody td {
	border-bottom: 1px solid var(--rahc-line-strong);
}
/* 2.3.15 - Client request: data rows in the heading grey (5.71:1 on the card,
   passes AA); white is kept only for the Grand total row */
.rahc-ctop__table tbody th,
.rahc-ctop__table tbody td,
.rahc-ctop__table tbody th[scope="row"] {
	color: var(--rahc-text-muted);
}
/* 2.3.16 - Client request: whole card body at the heading size (14px) and
   normal weight; only the table column headings are semi-bold */
.rahc-ctop__foot,
.rahc-ctop__foot a {
	font-size: .875rem;
	font-weight: 400;
}
.rahc-ctop__pill,
.rahc-ctop__table tbody th,
.rahc-ctop__table tbody td,
.rahc-ctop__table tfoot th,
.rahc-ctop__table tfoot td {
	font-size: .875rem;
	font-weight: 400;
}
/* 2.3.17 - Client request: more breathing room above and below the card on
   tablets and desktops; phones keep the tight spacing so the table stays on
   the first screen */
@media (min-width: 600px) {
	.rahc-ctop {
		padding-block: 3.5rem;
	}
}
/* 2.3.18 - Phones from 360px get 20px; the table still ends well inside the
   first screen there */
@media (min-width: 360px) and (max-width: 599px) {
	.rahc-ctop {
		padding-block: 1.25rem;
	}
}
/* 2.3.19 - Accessibility: the card title is now a real h2 (it looked like a
   heading but was a paragraph, WCAG 1.3.1). Reset heading margins so it sits
   exactly as before. The scroll region is named by the table caption so the two
   landmarks no longer share one name. */
.rahc-ctop h2.rahc-ctop__title {
	margin: .2rem 0 0;
	padding: 0;
	font-size: 1.375rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -.02em;
	color: var(--rahc-text-bright);
}
@media (max-width: 599px) {
	.rahc-ctop h2.rahc-ctop__title {
		font-size: 1.2rem;
	}
}
/* Number columns keep a real width so their SEBI headings wrap to two lines at
   most; without this the first number column squeezes to five lines on phones */
.rahc-ctop__table thead th:not(.rahc-ctop__sr):not(.rahc-ctop__src) {
	min-width: 8.5rem;
}
/* Month pill is plain text: inline-block, so the flex gap does not split "Month ending" from the month */
.rahc-ctop__pills .rahc-ctop__pill:first-child {
	display: inline-block;
}
/* 320px phones: pills a touch smaller so they share one line; table stays 16px */
@media (max-width: 359px) {
	.rahc-ctop__pill {
		font-size: .875rem;
		padding: .12rem .55rem;
	}
	.rahc-ctop__pills {
		gap: .35rem;
	}
}
/* Phones: "Month ending" hidden so both pills share one line */
@media (max-width: 479px) {
	.rahc-ctop__mpre {
		display: none;
	}
	.rahc-ctop__pills {
		gap: .4rem;
	}
	.rahc-ctop__pill {
		padding: .15rem .65rem;
	}
}
@media (max-width: 359px) {
	.rahc-ctop__card {
		padding-top: .6rem;
	}
	.rahc-ctop__head {
		margin-bottom: .4rem;
	}
}
@media (max-width: 359px) {
	.rahc-ctop {
		padding-block: .5rem;
	}
	.rahc-ctop__table th,
	.rahc-ctop__table td {
		padding: .28rem .55rem;
	}
}

/* 2.3.20 - Client request: whole card body at 13px on every screen size
   (still above SEBI's "12 or above"). Placed after all other card rules,
   including the phone ones, so nothing overrides it. */
.rahc-ctop .rahc-ctop__pill,
.rahc-ctop .rahc-ctop__table,
.rahc-ctop .rahc-ctop__table th,
.rahc-ctop .rahc-ctop__table td,
.rahc-ctop .rahc-ctop__foot,
.rahc-ctop .rahc-ctop__foot a {
	font-size: .8125rem;
}

/* 2.3.21 - The CS confirmed the no-scroll rule is for Investment Advisers
   only, so the complaints card moves below the hero into the disclosures band.
   In the band it is a plain block: no band background or padding of its own,
   full "Month ending" text on phones, and the title is an h3 under the band's
   h2. The no-scroll phone compromises no longer apply here. */
.rahc-ctop--inband {
	background: none;
	border: 0;
	padding: 0 !important;
	margin: 0 0 1.5rem;
}
.rahc-ctop--inband .rahc-ctop__mpre {
	display: inline;
}
.rahc-ctop--inband .rahc-ctop__head {
	align-items: center;
}
.rahc-ctop h3.rahc-ctop__title {
	margin: 0;
	padding: 0;
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -.02em;
	color: var(--rahc-text-bright);
}
@media (max-width: 599px) {
	.rahc-ctop--inband .rahc-ctop__card {
		padding: 1rem;
	}
	.rahc-ctop--inband .rahc-ctop__table th,
	.rahc-ctop--inband .rahc-ctop__table td {
		padding: .45rem .75rem;
	}
}

/* Lower band now carries only the disclosure links (2.3.7): four link tiles
   across the width instead of one narrow list inside an empty panel. The small
   in-box label repeated the eyebrow above it, so it is hidden visually but kept
   as the list's heading for screen readers. */
.rahc-cband__inner--single {
	grid-template-columns: minmax(0, 1fr);
}
.rahc-cband:has(.rahc-cband__inner--single) {
	padding-block: 2.75rem;
}
.rahc-cband:has(.rahc-cband__inner--single) .rahc-section__head {
	margin-bottom: 1.5rem;
}
.rahc-cband__inner--single .rahc-cband__card--links {
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
}
.rahc-cband__inner--single .rahc-cband__h {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}
.rahc-cband__inner--single .rahc-cband__links {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
	gap: 1rem;
}
.rahc-cband__inner--single .rahc-cband__links a {
	height: 100%;
	box-sizing: border-box;
	padding: 1rem 1.125rem;
	background: var(--rahc-surface);
	border: 1px solid var(--rahc-line-strong);
	border-radius: var(--rahc-radius-lg);
	color: var(--rahc-text-bright);
	font-size: 1rem;
	font-weight: 600;
	transition: border-color .15s ease, background-color .15s ease;
}
.rahc-cband__inner--single .rahc-cband__links a::after {
	content: "\2192" / "";
	margin-inline-start: auto;
	color: var(--rahc-accent-light);
}
.rahc-cband__inner--single .rahc-cband__links a:hover {
	border-color: var(--rahc-accent);
	background: var(--rahc-tint);
}
.rahc-cband__inner--single .rahc-cband__links a:focus-visible {
	outline: 3px solid var(--rahc-accent-light);
	outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
	.rahc-cband__inner--single .rahc-cband__links a {
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   2.3.22 - Services page: plans and prices (from the client's price sheet)
   One card per service: name, frequency, holding period, a two-column price
   table (plan as row header, price), and a Subscribe button whose accessible
   name includes the service. Final prices only.
   -------------------------------------------------------------------------- */
.rahc-plans {
	margin-block-start: 3rem;
	margin-top: 3rem;
}
.rahc-plans__title {
	margin: 0 0 .5rem;
}
.rahc-plans__lead {
	margin: 0 0 1.5rem;
	max-width: 48rem;
	color: var(--rahc-text-soft);
}
.rahc-plans__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
	gap: 1.25rem;
}
.rahc-plan {
	display: flex;
	flex-direction: column;
	background: var(--rahc-surface);
	border: 1px solid var(--rahc-line-strong);
	border-radius: var(--rahc-radius-xl);
	padding: 1.25rem;
}
.rahc-plan__name {
	margin: 0 0 .75rem;
	font-size: 1.125rem;
	font-weight: 800;
	line-height: 1.3;
	color: var(--rahc-text-bright);
}
.rahc-plan__includes {
	margin: 0 0 .75rem;
	font-size: .9375rem;
	color: var(--rahc-text-soft);
}
.rahc-plan__meta {
	display: grid;
	gap: .6rem;
	margin: 0 0 1rem;
}
.rahc-plan__meta div {
	display: grid;
	gap: .1rem;
}
.rahc-plan__meta dt {
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--rahc-accent-light);
}
.rahc-plan__meta dd {
	margin: 0;
	font-size: .9375rem;
	color: var(--rahc-text);
}
.rahc-plan__prices {
	width: 100%;
	margin: 0 0 1.25rem;
	border-collapse: collapse;
	font-size: 1rem;
	font-variant-numeric: tabular-nums;
}
.rahc-plan__prices th,
.rahc-plan__prices td {
	padding: .5rem 0;
	border-bottom: 1px solid var(--rahc-line-strong);
	text-align: left;
}
.rahc-plan__prices thead th {
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--rahc-text-muted);
}
.rahc-plan__prices thead th:last-child,
.rahc-plan__prices td {
	text-align: right;
}
.rahc-plan__prices tbody th {
	font-weight: 400;
	color: var(--rahc-text);
}
.rahc-plan__prices td {
	font-weight: 700;
	color: var(--rahc-text-bright);
}
.rahc-plan__free {
	margin: 0 0 1.25rem;
	font-size: 1.5rem;
	font-weight: 800;
	color: var(--rahc-text-bright);
}
.rahc-plan__cta {
	margin: auto 0 0;
	margin-top: auto;
}
.rahc-plan .rahc-plan__cta .rahc-btn {
	width: 100%;
}
.rahc-courses {
	columns: 2 18rem;
	column-gap: 2rem;
	margin: 0 0 1.5rem;
	padding-inline-start: 1.25rem;
	color: var(--rahc-text);
}
.rahc-courses li {
	margin-block-end: .4rem;
	break-inside: avoid;
}

/* 2.3.23 - Razorpay logo (white, for the dark card) above the Pay through
   Razorpay button on Services and How To Subscribe. Decorative (alt=""), as
   the button text already names Razorpay. */
.rahc-pay__brand {
	margin: .25rem 0 1rem;
}
.rahc-pay__brand img {
	display: block;
	width: 150px;
	max-width: 100%;
	height: auto;
}
