@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap");

/* ==========================================================================
   Aadhar Finance — brand identity layer
   Loaded last on every public page and in the customer portal.
   Palette: royal blue, signal red and marigold orange, on a cool paper ground.
   Type: Poppins (display) / Inter (body).
   ========================================================================== */

:root {
  /* Core brand palette */
  --brand-ink: #122a73;
  --brand-ink-deep: #0a1a4d;
  --brand-ink-soft: #16307f;
  --brand-primary: #1b3a9a;
  --brand-primary-hover: #2548b8;
  --brand-primary-soft: #e9f0fe;
  --brand-accent: #f7941e;
  --brand-accent-deep: #d97706;
  --brand-accent-soft: #fff2df;
  --brand-paper: #f5f8fd;
  --brand-surface: #ffffff;
  --brand-line: #dde5f3;
  --brand-text: #12224a;
  --brand-muted: #5d6c8a;
  --brand-success: #128a3c;
  --brand-danger: #d0201a;
  --brand-red: #e42313;
  --brand-green: #128a3c;
  --brand-font-display: "Poppins", "Segoe UI", Helvetica, Arial, sans-serif;
  --brand-font-body: "Inter", "Instrument Sans", "Segoe UI", Helvetica, Arial, sans-serif;
  --brand-radius: 22px;
  --brand-radius-sm: 14px;
  --brand-shadow: 0 18px 44px rgba(10, 26, 77, .09);
  --brand-shadow-soft: 0 8px 24px rgba(10, 26, 77, .06);

  /* Retheme the existing token families so every legacy component inherits */
  --theme-primary: var(--brand-primary);
  --theme-primary-dark: var(--brand-ink-soft);
  --theme-primary-deep: var(--brand-ink);
  --theme-primary-hover: var(--brand-primary-hover);
  --theme-accent: var(--brand-accent);
  --theme-accent-soft: var(--brand-accent-soft);
  --theme-page: var(--brand-paper);
  --theme-surface: var(--brand-surface);
  --theme-surface-soft: var(--brand-primary-soft);
  --theme-line: var(--brand-line);
  --theme-text: var(--brand-text);
  --theme-muted: var(--brand-muted);
  --theme-success: var(--brand-success);
  --theme-shadow: var(--brand-shadow);

  --app-ink: var(--brand-ink-soft);
  --app-ink-2: var(--brand-ink);
  --app-green: var(--brand-primary);
  --app-lime: var(--brand-accent);
  --app-mint: var(--brand-primary-soft);
  --app-bg: var(--brand-paper);
  --app-card: var(--brand-surface);
  --app-line: var(--brand-line);
  --app-text: var(--brand-text);
  --app-muted: var(--brand-muted);
  --app-shadow: var(--brand-shadow);

  --portal-green: var(--brand-ink-soft);
  --portal-green-2: var(--brand-ink);
  --portal-ink: var(--brand-ink);
  --portal-ink-soft: var(--brand-ink-soft);
  --portal-primary: var(--brand-primary);
  --portal-lime: var(--brand-accent);
  --portal-paper: var(--brand-paper);
  --portal-page: var(--brand-paper);
  --portal-border: var(--brand-line);
  --portal-text: var(--brand-text);
  --portal-muted: var(--brand-muted);
  --portal-shadow: var(--brand-shadow);

  --login-ink: var(--brand-ink-soft);
  --login-green: var(--brand-primary);
  --login-lime: var(--brand-accent);
  --login-muted: var(--brand-muted);
  --login-line: var(--brand-line);
}

/* ---------------------------------------------------------------- base --- */
body,
.public-template,
.public-app,
.application-flow-page {
  background: var(--brand-paper) !important;
  color: var(--brand-text) !important;
  font-family: var(--brand-font-body) !important;
  -webkit-font-smoothing: antialiased;
}

.public-app h1, .public-app h2, .public-app h3, .public-app h4,
.public-template h1, .public-template h2, .public-template h3,
.page-hero-app h1,
.app-hero-copy h1,
.app-section-head h2,
.app-trust-panel h2,
.app-product-card h3,
.app-steps h3,
.app-side-card h3,
.app-form-card h2,
.app-content-card h2,
.account-brand-copy h1,
.account-form-wrap h2 {
  font-family: var(--brand-font-display) !important;
  letter-spacing: -.035em !important;
  color: var(--brand-ink-soft) !important;
}

.app-hero-copy h1, .page-hero-app h1, .app-trust-panel h2,
.account-brand-copy h1 {
  color: #fff !important;
}

.public-app p, .public-template p { color: var(--brand-text); }
.app-hero-copy > p, .page-hero-app p, .app-trust-panel > div > p { color: rgba(255, 255, 255, .76) !important; }

::selection { background: var(--brand-accent); color: var(--brand-ink); }

/* -------------------------------------------------------------- header --- */
.app-header-slot {
  background: rgba(255, 255, 255, .92) !important;
  border-bottom: 1px solid var(--brand-line) !important;
}

.app-topbar {
  background: rgba(255, 255, 255, .92) !important;
  border-bottom: 0 !important;
  backdrop-filter: blur(18px);
}

.app-topbar-inner { min-height: 78px; }

.app-brand img {
  width: auto !important;
  height: 38px !important;
  max-width: 190px;
  filter: none !important;
}

.app-brand span {
  border-left-color: var(--brand-line) !important;
  color: var(--brand-muted) !important;
  font-family: var(--brand-font-body) !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.app-nav-links > a {
  border-radius: var(--brand-radius-sm) !important;
  color: var(--brand-text) !important;
  font-weight: 600 !important;
  padding: 6px 14px !important;
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  background: var(--brand-paper) !important;
}

.app-nav-links > a:hover {
  background: var(--brand-primary-soft) !important;
  color: var(--brand-primary) !important;
}

.app-nav-links > a.is-active,
.app-nav-links .app-nav-track {
  background: var(--brand-primary-soft) !important;
  color: var(--brand-primary) !important;
}

.app-nav-links .app-nav-login {
  background: var(--brand-ink) !important;
  color: #fff !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 18px rgba(10, 26, 77, .18);
  padding: 8px 16px !important;
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.app-nav-links .app-nav-login:hover { background: var(--brand-primary) !important; color: #fff !important; }

.app-nav-links > a.is-active,
.public-template .app-nav-links .is-active,
.app-nav-links .app-nav-track {
  background: var(--brand-primary-soft) !important;
  color: var(--brand-primary) !important;
}

.app-nav-links .app-nav-login {
  background: var(--brand-ink) !important;
  color: #fff !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 18px rgba(10, 26, 77, .18);
}

.app-nav-links .app-nav-login:hover { background: var(--brand-primary) !important; color: #fff !important; }

.app-menu-toggle {
  background: var(--brand-primary-soft) !important;
  color: var(--brand-primary) !important;
  border-radius: 999px !important;
}

/* ---------------------------------------------------------------- hero --- */
.app-hero {
  position: relative;
  background:
    radial-gradient(90% 120% at 88% -10%, rgba(247, 148, 30, .3), transparent 58%),
    radial-gradient(70% 90% at 4% 110%, rgba(30, 63, 160, .55), transparent 62%),
    linear-gradient(135deg, var(--brand-ink), var(--brand-ink-deep) 55%, #17307d) !important;
  overflow: hidden;
}

.app-hero:after {
  content: "";
  position: absolute;
  top: -26%;
  right: -12%;
  width: 420px;
  height: 420px;
  border: 64px solid rgba(255, 255, 255, .035);
  border-radius: 50%;
  pointer-events: none;
}

.app-hero-grid { position: relative; z-index: 1; padding: 46px 20px 64px; }

.app-hero-copy h1 { letter-spacing: -.055em !important; }
.app-hero-copy h1 em { color: var(--brand-accent) !important; }
.app-hero-points span { color: rgba(255, 255, 255, .82) !important; font-weight: 500 !important; }
.app-hero-points i { color: #ffd27f !important; }

.app-hero-summary {
  position: relative;
  z-index: 1;
  border-top: 1px solid rgba(255, 255, 255, .12) !important;
}

.app-hero-summary span { color: rgba(255, 255, 255, .74) !important; }
.app-hero-summary i { color: #ffd27f !important; }

/* ------------------------------------------------------------ elements --- */
.app-kicker {
  background: var(--brand-primary-soft) !important;
  color: var(--brand-primary) !important;
  border-radius: 999px !important;
  font-family: var(--brand-font-body) !important;
  font-weight: 600 !important;
  letter-spacing: .13em !important;
}

.app-kicker.dark {
  background: rgba(255, 255, 255, .09) !important;
  color: #ffd9a8 !important;
  border: 1px solid rgba(255, 255, 255, .16);
}

.app-btn {
  min-height: 48px !important;
  border-radius: 999px !important;
  background: var(--brand-primary) !important;
  font-family: var(--brand-font-body) !important;
  font-weight: 600 !important;
  letter-spacing: .01em;
  box-shadow: 0 10px 22px rgba(27, 58, 154, .22);
}

.app-btn:hover {
  background: var(--brand-primary-hover) !important;
  box-shadow: 0 14px 28px rgba(27, 58, 154, .28) !important;
}

.app-btn.lime {
  background: var(--brand-accent) !important;
  color: var(--brand-ink) !important;
  box-shadow: 0 10px 22px rgba(245, 166, 35, .28);
}

.app-btn.lime:hover { background: #ffa733 !important; }

.app-btn.ghost {
  background: rgba(255, 255, 255, .08) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .24) !important;
  box-shadow: none;
}

.app-btn.ghost:hover { background: rgba(255, 255, 255, .16) !important; }

.app-btn.alt {
  background: var(--brand-primary-soft) !important;
  color: var(--brand-primary) !important;
  box-shadow: none;
}

.app-card,
.app-apply-card,
.app-product-card,
.app-steps article,
.app-side-card,
.app-form-card,
.app-content-card,
.app-stat,
.app-quick-card {
  border-radius: var(--brand-radius) !important;
  border: 1px solid var(--brand-line) !important;
  background: var(--brand-surface) !important;
  box-shadow: var(--brand-shadow-soft) !important;
}

.app-icon-bubble,
.app-quick-card > span,
.app-product-icon,
.app-steps article > i,
.app-side-card > i {
  background: var(--brand-primary-soft) !important;
  color: var(--brand-primary) !important;
  border-radius: 16px !important;
}

.app-product-icon.blue { background: #e8f0ff !important; color: #2f5fd0 !important; }
.app-product-icon.amber { background: var(--brand-accent-soft) !important; color: var(--brand-accent-deep) !important; }
.app-product-icon.purple { background: #ffe9e6 !important; color: #d92b1c !important; }

.app-section-link,
.app-quick-card > i,
.app-product-card strong,
.app-consent a,
.app-side-card a,
.app-list i,
.app-modal b { color: var(--brand-primary) !important; }

.app-section-link:hover, .app-side-card a:hover { color: var(--brand-accent-deep) !important; }

/* --------------------------------------------------------- home blocks --- */
.app-quick-section { padding-top: 28px !important; }

.app-quick-card { transition: transform .18s ease, box-shadow .18s ease; }
.app-quick-card:hover { transform: translateY(-3px); box-shadow: var(--brand-shadow) !important; }

.app-quick-card.primary {
  background: linear-gradient(120deg, var(--brand-ink), var(--brand-ink-soft)) !important;
  border-color: transparent !important;
}
.app-quick-card.primary > span { background: var(--brand-accent) !important; color: var(--brand-ink) !important; }
.app-quick-card.primary b { color: #fff !important; }
.app-quick-card.primary small, .app-quick-card.primary > i { color: #ffd9a8 !important; }

.app-product-card { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.app-product-card:hover {
  transform: translateY(-4px);
  border-color: #c4d4f2 !important;
  box-shadow: var(--brand-shadow) !important;
}

.app-trust-panel {
  background:
    radial-gradient(80% 120% at 96% 0%, rgba(245, 166, 35, .26), transparent 55%),
    linear-gradient(135deg, var(--brand-ink), var(--brand-ink-soft)) !important;
  border-radius: 26px !important;
  box-shadow: var(--brand-shadow) !important;
}

.app-trust-panel .app-kicker.dark { background: rgba(255, 255, 255, .1) !important; }
.app-trust-list i { background: var(--brand-accent) !important; color: var(--brand-ink) !important; }
.app-trust-list b { color: #fff; }
.app-trust-list small { color: rgba(255, 255, 255, .66); }

.app-steps article { position: relative; overflow: hidden; }
.app-steps article > span {
  color: var(--brand-accent-deep) !important;
  font-family: var(--brand-font-display) !important;
  font-weight: 700;
  letter-spacing: .02em;
}
.app-steps article:after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 3px;
  background: linear-gradient(90deg, var(--brand-accent), transparent);
  opacity: .9;
}

.app-disclosure {
  border: 1px solid var(--brand-line) !important;
  border-radius: var(--brand-radius) !important;
  background: linear-gradient(120deg, #f6f9ff, #fff5e6) !important;
}
.app-disclosure-metrics b { color: var(--brand-primary) !important; }
.app-disclosure-metrics span { border-color: var(--brand-line) !important; }

/* ------------------------------------------------------- content pages --- */
.page-hero-app {
  position: relative;
  background:
    radial-gradient(70% 120% at 92% 0%, rgba(245, 166, 35, .3), transparent 56%),
    linear-gradient(135deg, var(--brand-ink), var(--brand-ink-soft) 60%, #17307d) !important;
}

.page-hero-app h1 { letter-spacing: -.045em !important; }

.public-template .app-page-grid,
.public-template .app-side-stack { background: var(--brand-line) !important; }
.public-template .app-content-card,
.public-template .app-side-card,
.public-template .app-form-card {
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.app-form-card input,
.app-form-card select,
.app-form-card textarea,
.app-lead-form input,
.bootstrap-form-control,
.form-group input,
.form-group select {
  border: 1px solid var(--brand-line) !important;
  border-radius: var(--brand-radius-sm) !important;
  background: #f9fbff !important;
  font-family: var(--brand-font-body) !important;
  min-height: 48px;
}

.app-form-card input:focus,
.app-form-card select:focus,
.app-form-card textarea:focus,
.app-lead-form input:focus,
.bootstrap-form-control:focus {
  border-color: var(--brand-primary) !important;
  box-shadow: 0 0 0 4px rgba(27, 58, 154, .12) !important;
  background: #fff !important;
}

#apply-now .app-lead-form button,
.app-apply-card .app-lead-form button.app-btn,
.app-lead-form button.app-btn.full {
  background: var(--brand-primary) !important;
  background-image: none !important;
  border-radius: 999px !important;
  color: #fff !important;
}

#apply-now .app-lead-form button,
#apply-now .app-lead-form button.app-btn.full,
.app-apply-card .app-lead-form button.app-btn,
.public-app button, .public-app input, .public-app select, .public-app textarea,
.public-template button, .public-template input, .public-template select, .public-template textarea,
.app-lead-form button, .app-btn {
  font-family: var(--brand-font-body) !important;
  font-weight: 600 !important;
}

.app-lead-form button {
  margin-top: 4px;
  background: var(--brand-primary) !important;
  background-image: none !important;
  border-radius: 999px !important;
  min-height: 50px;
  box-shadow: 0 12px 26px rgba(27, 58, 154, .24);
}
.app-lead-form button:hover {
  background-image: none !important;
  background: var(--brand-primary-hover) !important;
  box-shadow: 0 16px 30px rgba(27, 58, 154, .3);
}
.app-consent { color: var(--brand-muted) !important; }
.app-note { color: var(--brand-muted) !important; }

.app-modal { border-radius: 24px !important; border: 1px solid var(--brand-line); box-shadow: var(--brand-shadow); }
.app-modal > i { color: var(--brand-primary) !important; }
.app-modal-backdrop { background: rgba(11, 6, 24, .55) !important; backdrop-filter: blur(4px); }
.app-alert { background: #fff1f3 !important; color: var(--brand-danger) !important; border-radius: 12px !important; }

.bootstrap-stat { border-color: var(--brand-line) !important; border-radius: 16px !important; }
.bootstrap-table th { background: var(--brand-primary-soft) !important; color: var(--brand-primary) !important; }

/* -------------------------------------------------------------- footer --- */
.app-footer {
  position: relative;
  background:
    radial-gradient(60% 120% at 100% 0%, rgba(245, 166, 35, .18), transparent 55%),
    linear-gradient(135deg, var(--brand-ink), var(--brand-ink-deep)) !important;
  padding-top: 54px;
}

.app-footer:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--brand-accent), var(--brand-primary), transparent);
}

.app-footer-brand img { height: 40px; width: auto; filter: brightness(0) invert(1) !important; }
.app-footer-top h3 {
  color: #fff !important;
  font-family: var(--brand-font-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.app-footer-top a { color: rgba(255, 255, 255, .72) !important; }
.app-footer-top a:hover { color: var(--brand-accent) !important; }
.app-footer-brand p { color: rgba(255, 255, 255, .68) !important; }
.app-footer-brand > a { color: var(--brand-accent) !important; }
.app-footer-bottom { color: rgba(255, 255, 255, .55) !important; border-color: rgba(255, 255, 255, .12) !important; }

.app-bottom-nav {
  background: rgba(255, 255, 255, .96) !important;
  border-top: 1px solid var(--brand-line) !important;
  backdrop-filter: blur(14px);
}
.app-bottom-nav a { color: var(--brand-muted) !important; }
.app-bottom-nav .active, .app-bottom-nav a.active { color: var(--brand-primary) !important; }

/* ----------------------------------------------------- customer portal --- */
.portal-sidebar {
  background:
    radial-gradient(90% 60% at 0% 100%, rgba(245, 166, 35, .16), transparent 60%),
    linear-gradient(180deg, #172f78, #0c1f5c 70%, #081641) !important;
}

.portal-brand { padding-top: 22px !important; }
.portal-sidebar .portal-site-logo {
  max-width: 178px !important;
  height: 42px !important;
  filter: brightness(0) invert(1) !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.brand-mark { background: var(--brand-accent) !important; color: var(--brand-ink) !important; border-radius: 13px !important; }

.portal-sidebar nav a {
  border-radius: 12px !important;
  color: rgba(255, 255, 255, .74) !important;
  font-family: var(--brand-font-body) !important;
  font-weight: 600 !important;
  transition: background .16s ease, color .16s ease;
}
.portal-sidebar nav a:hover { background: rgba(255, 255, 255, .08) !important; color: #fff !important; }

.portal-sidebar nav a.active {
  background: rgba(255, 255, 255, .1) !important;
  border-left: 3px solid var(--brand-accent) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08);
}
.portal-sidebar nav a.active .nav-icon { color: var(--brand-accent) !important; }
.nav-label { color: rgba(255, 255, 255, .38) !important; letter-spacing: .18em !important; }
.logout-link { color: #ffb3ab !important; border-radius: 12px !important; }
.logout-link:hover { background: rgba(255, 255, 255, .08) !important; }

.portal-header {
  background: rgba(255, 255, 255, .94) !important;
  border-bottom: 1px solid var(--brand-line) !important;
  box-shadow: 0 2px 16px rgba(10, 26, 77, .05) !important;
  backdrop-filter: blur(14px);
}
.portal-header h1 { font-family: var(--brand-font-display) !important; letter-spacing: -.03em !important; color: var(--brand-ink-soft) !important; }
.customer-menu { background: var(--brand-paper) !important; border-color: var(--brand-line) !important; }
.avatar { background: var(--brand-primary) !important; color: #fff !important; }
.portal-notification {
  min-height: 0 !important;
  border-radius: 50% !important;
  color: var(--brand-primary) !important;
}
.portal-notification b { background: var(--brand-accent) !important; color: var(--brand-ink) !important; }
.notification-panel a > i { color: var(--brand-primary) !important; }
.notification-panel { border-color: var(--brand-line) !important; box-shadow: var(--brand-shadow) !important; border-radius: 18px !important; }

.portal-content { background: var(--brand-paper); }
.portal-main { background: var(--brand-paper) !important; }

.card, .metric, .wallet-callout, .document-pending, .payment-slip-form {
  border-color: var(--brand-line) !important;
  border-radius: 20px !important;
}
.card { box-shadow: var(--brand-shadow-soft) !important; }

.section-title, .section-head h2, .metric strong { color: var(--brand-ink-soft) !important; font-family: var(--brand-font-display) !important; }
.metric .success, .check-yes { color: var(--brand-success) !important; }

.btn { background: var(--brand-primary) !important; border-radius: 999px !important; font-family: var(--brand-font-body) !important; font-weight: 600 !important; }
.btn.green { background: var(--brand-ink) !important; }
.btn.outline { background: transparent !important; border-color: var(--brand-primary) !important; color: var(--brand-primary) !important; }
.btn.outline:hover { background: var(--brand-primary-soft) !important; }

.application-process, .wallet-hero, .wallet-page .wallet-hero {
  background:
    radial-gradient(80% 120% at 96% 0%, rgba(245, 166, 35, .28), transparent 55%),
    linear-gradient(120deg, var(--brand-ink), var(--brand-ink-soft)) !important;
  border-radius: 22px !important;
  box-shadow: var(--brand-shadow) !important;
}
.process-percent strong, .process-step.complete { color: #ffd27f !important; }
.process-step.complete b, .process-line i { background: var(--brand-accent) !important; border-color: var(--brand-accent) !important; color: var(--brand-ink) !important; }
.portal-sidebar nav a.active .nav-icon { color: var(--brand-accent) !important; }
.application-process .process-line { left: 8.333%; right: 8.333%; }
.portal-content { width: 100%; margin-inline: auto; }
.portal-content > * { min-width: 0; }
.timeline-link { background: var(--brand-primary-soft) !important; color: var(--brand-primary) !important; }
.count-badge { background: var(--brand-accent-soft) !important; color: #8a5200 !important; }
.document-heading > span, .letter-icon, .fee-metric-icon.blue, .fee-item-icon { background: var(--brand-primary-soft) !important; color: var(--brand-primary) !important; }
.document-copy > i, .document-copy a, .fee-item-copy a { color: var(--brand-primary) !important; }
.profile-banner { background: linear-gradient(120deg, var(--brand-ink), var(--brand-primary)) !important; border-radius: 22px !important; }
.profile-banner .avatar { background: var(--brand-accent) !important; color: var(--brand-ink) !important; }
.info-heading { border-bottom-color: var(--brand-accent) !important; color: var(--brand-primary) !important; }
.notice { background: #eaf1ff !important; border-color: #ccdbf7 !important; color: var(--brand-primary) !important; }
.payment-upload { border-color: var(--brand-primary) !important; color: var(--brand-primary) !important; }
.choose-file:hover { border-color: var(--brand-primary) !important; background: #f7faff !important; }

/* ----------------------------------------------------- account sign-in --- */
.account-login { background: var(--brand-paper); }

.account-login-brand {
  background:
    radial-gradient(circle at 88% 12%, rgba(245, 166, 35, .28), transparent 34%),
    radial-gradient(circle at 4% 100%, rgba(30, 63, 160, .55), transparent 52%),
    linear-gradient(140deg, var(--brand-ink), var(--brand-ink-deep) 62%, #17307d) !important;
}

.account-login-brand:after { border-color: rgba(255, 255, 255, .06) !important; }
.account-logo img { height: 40px !important; filter: brightness(0) invert(1) !important; }
.account-kicker { background: rgba(245, 166, 35, .16) !important; color: #ffd9a8 !important; letter-spacing: .13em !important; }
.account-kicker.light, .account-form-icon { background: var(--brand-primary-soft) !important; color: var(--brand-primary) !important; }
.account-brand-copy h1 { font-family: var(--brand-font-display) !important; letter-spacing: -.05em !important; }
.account-brand-copy > p { color: rgba(255, 255, 255, .72) !important; }
.account-benefits i { color: var(--brand-accent) !important; }
.account-brand-note { border-color: rgba(255, 255, 255, .16) !important; }

.account-login-panel { background: var(--brand-surface) !important; }
.account-form-wrap h2 { font-family: var(--brand-font-display) !important; }
.account-form-wrap p { color: var(--brand-muted) !important; }
.account-input { border-color: var(--brand-line) !important; border-radius: var(--brand-radius-sm) !important; }
.account-input:focus-within { border-color: var(--brand-primary) !important; box-shadow: 0 0 0 4px rgba(27, 58, 154, .12) !important; }
.account-form-wrap button { border-radius: 999px !important; background: var(--brand-primary) !important; font-family: var(--brand-font-body) !important; font-weight: 600 !important; }
.account-form-wrap button:hover { background: var(--brand-primary-hover) !important; }
.account-help a { color: var(--brand-primary) !important; }
.account-error { background: #fff1f3 !important; color: var(--brand-danger) !important; }

/* ---------------------------------------------- application step pages --- */
.application-flow-page { background: var(--brand-paper) !important; }
.application-flow-page .container,
.application-flow-page .card,
.application-flow-page .step-card {
  border-radius: var(--brand-radius) !important;
}
.application-flow-page .btn,
.application-flow-page button.btn,
.application-flow-page .btn-primary {
  border-radius: 999px !important;
  background: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
  font-family: var(--brand-font-body) !important;
  font-weight: 600 !important;
}
.application-flow-page .btn:hover { background: var(--brand-primary-hover) !important; border-color: var(--brand-primary-hover) !important; }
.application-flow-page h1, .application-flow-page h2, .application-flow-page h3 {
  font-family: var(--brand-font-display) !important;
  color: var(--brand-ink-soft) !important;
  letter-spacing: -.03em;
}
.application-flow-page .form-control { border-color: var(--brand-line) !important; border-radius: var(--brand-radius-sm) !important; }
.application-flow-page .form-control:focus { border-color: var(--brand-primary) !important; box-shadow: 0 0 0 4px rgba(27, 58, 154, .12) !important; }
.application-flow-page .progress-bar { background-color: var(--brand-primary) !important; }

/* ---------------------------------------------------------- responsive --- */
@media (max-width: 700px) {
  .app-brand img { height: 32px !important; max-width: 156px; }
  .app-hero-grid { padding: 32px 0 40px; }
  .app-hero:after { width: 300px; height: 300px; border-width: 52px; top: -12%; right: -18%; }
  .app-topbar-inner { min-height: 64px; }
  .app-nav-links > a:not(.app-nav-login) { border-radius: 14px !important; }
  .app-menu-toggle { border-radius: 50% !important; }
  .portal-site-logo, .portal-brand img { height: 36px !important; max-width: 148px !important; }
}

/* ==========================================================================
   Device hardening — phones, tablets, foldables, desktop.
   Guarantees fluid media, scrollable data, readable wrapping and
   finger-sized targets at every width from 320px up.
   ========================================================================== */

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

*, *::before, *::after { box-sizing: border-box; }

img, svg, video, canvas, iframe { max-width: 100%; }
img, video { height: auto; }

.app-shell,
.public-app .app-shell.bootstrap-home-container { max-width: 100%; }

/* Grid and flex children must be allowed to shrink, or long words force overflow. */
.app-hero-grid,
.app-page-grid,
.app-quick-grid,
.app-product-grid,
.app-trust-panel,
.app-disclosure,
.app-steps,
.dashboard-columns,
.two-col,
.metrics,
.portal-content,
.portal-header,
.header-actions,
.customer-menu,
.document-row,
.fee-row,
.letter-item,
.metric,
.card { min-width: 0; }

.app-hero-copy,
.app-apply-card,
.app-product-card,
.app-content-card,
.app-side-card,
.app-form-card,
.app-trust-panel > div,
.app-disclosure > *,
.app-steps article { min-width: 0; }

.app-hero-copy h1,
.page-hero-app h1,
.app-section-head h2,
.app-trust-panel h2,
.app-product-card h3,
.app-content-card h2,
.metric strong,
.document-row b,
.fee-row b,
.portal-header h1 { overflow-wrap: break-word; word-break: break-word; }

/* Long identifiers, emails and amounts must wrap instead of pushing layout. */
.metric strong,
.document-copy,
.fee-row strong,
.bootstrap-table td,
.portal-content p,
.portal-content small { overflow-wrap: anywhere; }

.app-lead-form input,
.app-form-card input,
.app-form-card select,
.app-form-card textarea,
.bootstrap-form-control,
.form-group input,
.form-group select { width: 100%; max-width: 100%; }

/* Wide data scrolls inside its card rather than breaking the page. */
.bootstrap-table-wrap,
.app-table-wrap,
.table-responsive,
.application-flow-page table { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.bootstrap-table,
.application-flow-page table { min-width: 480px; }
table { border-collapse: collapse; max-width: 100%; }

/* Finger-friendly targets everywhere. */
.app-nav-links > a,
.app-nav-links .app-nav-login,
.app-menu-toggle,
.app-bottom-nav a,
.portal-sidebar nav a,
.logout-link,
.menu-toggle,
.portal-notification,
.btn,
.app-btn { min-height: 44px; }
.app-bottom-nav a { min-width: 44px; }

/* iPhone notch / home indicator. */
.app-bottom-nav { padding-bottom: env(safe-area-inset-bottom, 0); }
@supports (padding: max(0px)) {
  .app-bottom-nav { padding-bottom: max(0px, env(safe-area-inset-bottom)); }
  .portal-content { padding-left: max(env(safe-area-inset-left), 0px); padding-right: max(env(safe-area-inset-right), 0px); }
}

/* ---- Small phones (320–380px) ------------------------------------------- */
@media (max-width: 380px) {
  .app-shell { width: calc(100% - 20px); }
  .app-hero-copy h1 { font-size: clamp(29px, 9.2vw, 38px) !important; line-height: 1.02 !important; }
  .page-hero-app h1 { font-size: clamp(25px, 8vw, 32px) !important; }
  .app-section-head h2 { font-size: 24px !important; }
  .app-hero-actions { flex-direction: column; align-items: stretch; }
  .app-hero-actions .app-btn { width: 100%; }
  .app-hero-points { grid-template-columns: 1fr; }
  .app-quick-card { min-height: 0; }
  .app-product-card { min-width: min(210px, 82vw); }
  .app-steps article { min-width: min(218px, 82vw); }
  .app-disclosure { padding: 18px !important; }
  .app-modal { width: calc(100% - 24px); margin: 12px; padding: 22px 18px; }
  .app-modal h2 { font-size: 20px; }
  .app-bottom-nav a { font-size: 9.5px; }
  .portal-header { gap: 8px !important; padding: 0 10px !important; }
  .portal-header h1 { font-size: 15px !important; }
  .portal-notification, .avatar { width: 34px !important; height: 34px !important; }
  .portal-content { padding: 12px 10px 26px !important; }
  .card-pad, .card { padding: 16px !important; }
  .section-title { font-size: 16px !important; }
  .btn { font-size: 13px; padding: 11px 14px; }
  .account-login-panel { padding: 24px 16px 40px !important; }
  .account-form-wrap h2 { font-size: 26px !important; }
  .account-input { padding: 10px 12px; }
}

/* ---- Phones and small tablets ------------------------------------------ */
@media (max-width: 700px) {
  /* Keep the percentage caption tucked under the number instead of the card edge. */
  .process-percent { text-align: right !important; }
  .process-percent small { margin-left: auto !important; text-align: right !important; }
}

@media (max-width: 600px) {
  .app-section-head { flex-wrap: wrap; }
  .app-section-link { display: none; }
  .bootstrap-table { min-width: 460px; }
  .portal-header h1 { min-width: 0; }
  .header-actions { gap: 6px; }
  .profile-banner { flex-wrap: wrap; }
  .fee-row { flex-wrap: wrap; gap: 10px; }
  .fee-row > strong { margin-left: auto; }
  .letter-item .btn, .document-row .btn { width: 100%; }
  .application-flow-page .container { padding-left: 16px; padding-right: 16px; }
  .application-flow-page input,
  .application-flow-page select,
  .application-flow-page textarea { font-size: 16px !important; } /* prevents iOS zoom-on-focus */
  .account-input input, .app-form-card input, .app-lead-form input { font-size: 16px !important; }
}

/* ---- Tablets ------------------------------------------------------------ */
@media (min-width: 601px) and (max-width: 1024px) {
  .app-shell { width: min(100% - 40px, 960px); }
  .app-hero-grid { gap: 28px; }
  .app-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* ---- Large desktop ------------------------------------------------------ */
@media (min-width: 1441px) {
  .app-shell { width: min(1240px, calc(100% - 64px)); }
}

/* ---- Landscape phones --------------------------------------------------- */
@media (max-height: 480px) and (orientation: landscape) {
  .app-hero-grid { padding: 24px 0 30px; }
  .app-hero-copy h1 { font-size: clamp(28px, 5vw, 44px) !important; }
  .account-login-brand { min-height: auto; }
}

/* ---- Reduced motion ----------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .app-btn, .app-product-card, .app-quick-card { transition: none !important; }
  html { scroll-behavior: auto !important; }
}

/* ==========================================================================
   Logo treatment — the full-colour Aadhar Finance lockup.
   It sits directly on white surfaces, and on a white plate over the navy
   footer, portal sidebar and sign-in panel so the mark keeps its colours.
   ========================================================================== */

.app-topbar .app-brand img {
  height: 54px !important;
  width: auto !important;
  max-width: 210px !important;
  filter: none !important;
}

.app-topbar-inner { min-height: 82px !important; }

.app-footer-brand img,
.portal-site-logo,
.portal-brand img,
.account-logo img {
  height: 54px !important;
  width: auto !important;
  max-width: 212px !important;
  filter: none !important;
  background: #ffffff !important;
  padding: 9px 12px !important;
  border-radius: 14px !important;
  box-sizing: content-box !important;
  box-shadow: 0 10px 24px rgba(6, 18, 56, .2);
}

.app-footer-brand img { margin-bottom: 6px; }

.portal-brand { padding-top: 18px !important; }

@media (max-width: 960px) {
  .app-topbar .app-brand img { height: 48px !important; max-width: 186px !important; }
  .app-topbar-inner { min-height: 72px !important; }
}

@media (max-width: 700px) {
  .app-topbar .app-brand img { height: 44px !important; max-width: 170px !important; }
  .app-topbar-inner { min-height: 66px !important; }
  .app-footer-brand img,
  .portal-site-logo,
  .portal-brand img,
  .account-logo img {
    height: 42px !important;
    max-width: 168px !important;
    padding: 6px 8px !important;
    border-radius: 11px !important;
  }
}
/* ==========================================================================
   Public page system (v2)
   Structured hero + section + document layouts for the public site.
   ========================================================================== */
.pf-page{background:var(--brand-paper);color:var(--brand-text);padding-bottom:clamp(22px,4vw,44px)}
.pf-wrap{width:100%;max-width:1180px;margin-inline:auto;padding-inline:clamp(18px,4vw,36px)}

/* Hero */
.pf-hero{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,#0b1d55 0%,#16307f 46%,#1f409f 100%);color:#fff;padding-block:clamp(28px,4.2vw,52px)}
.pf-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(72% 120% at 86% -18%,rgba(247,148,30,.30),transparent 62%)}
.pf-hero:after{content:"";position:absolute;z-index:-1;top:-46%;right:-10%;width:430px;height:430px;border:58px solid rgba(255,255,255,.05);border-radius:50%;pointer-events:none}
.pf-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(22px,4vw,54px);align-items:center}
.pf-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;font:500 12.5px/1.2 var(--brand-font-body);color:rgba(255,255,255,.62)}
.pf-crumbs a{color:rgba(255,255,255,.82);text-decoration:none}
.pf-crumbs a:hover{color:#fff}
.pf-crumbs i{font-size:9px;opacity:.55}
.pf-crumbs span{color:#ffcf9b}
.pf-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);font:600 11.5px/1 var(--brand-font-body);letter-spacing:.13em;text-transform:uppercase;color:#ffd9ab}
.pf-kicker.on-light{background:var(--brand-accent-soft);border-color:#f6d0a0;color:#9a5400}
.pf-hero h1{font-family:var(--brand-font-display);font-weight:700;font-size:clamp(1.85rem,4.2vw,3.25rem);line-height:1.1;letter-spacing:-.028em;margin:18px 0 0;color:#fff}
.pf-hero h1 em{font-style:normal;color:var(--brand-accent)}
.pf-lede{max-width:62ch;margin:16px 0 0;color:rgba(255,255,255,.84);font-size:clamp(15px,1.45vw,17px);line-height:1.65}
.pf-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.pf-hero-points{display:flex;flex-wrap:wrap;gap:9px 22px;margin-top:24px;font:500 13.5px/1.4 var(--brand-font-body);color:rgba(255,255,255,.86)}
.pf-hero-points span{display:inline-flex;align-items:center;gap:8px}
.pf-hero-points i{color:#ffd27f;font-size:12px}

/* Buttons */
.pf-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 24px;border:0;border-radius:999px;background:var(--brand-accent);color:#3a1d00;font:700 14.5px/1 var(--brand-font-display);text-decoration:none;cursor:pointer;box-shadow:0 12px 26px rgba(247,148,30,.30);transition:background .18s ease,transform .18s ease,box-shadow .18s ease;text-align:center}
.pf-btn:hover{background:#ffa63a;color:#3a1d00;transform:translateY(-1px);box-shadow:0 14px 30px rgba(247,148,30,.36)}
.pf-btn.ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:none}
.pf-btn.ghost:hover{background:rgba(255,255,255,.16);color:#fff}
.pf-btn.blue{background:var(--brand-primary);color:#fff;box-shadow:0 12px 26px rgba(27,58,154,.24)}
.pf-btn.blue:hover{background:var(--brand-primary-hover);color:#fff}
.pf-btn.full{width:100%}
.pf-btn.small{min-height:40px;padding:0 16px;font-size:13px;gap:7px}
.pf-btn i{font-size:12.5px}

/* Hero apply card */
.pf-apply{background:#fff;color:var(--brand-text);border-radius:24px;padding:clamp(20px,2.3vw,30px);box-shadow:0 26px 64px rgba(4,12,40,.38)}
.pf-apply-head{display:flex;align-items:center;gap:12px}
.pf-apply-ico{flex:0 0 auto;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--brand-primary-soft);color:var(--brand-primary);font-size:18px}
.pf-apply-head small{display:block;font:600 11px/1 var(--brand-font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--brand-muted)}
.pf-apply-head h2{font-family:var(--brand-font-display);font-size:clamp(1.1rem,1.7vw,1.35rem);line-height:1.25;margin:5px 0 0;color:var(--brand-ink)}
.pf-apply>p{margin:12px 0 0;color:var(--brand-muted);font-size:13.5px;line-height:1.55}
.pf-form{display:grid;gap:13px;margin-top:16px}
.pf-form label{display:grid;gap:7px;font:600 12.5px/1.3 var(--brand-font-body);color:#31406b}
.pf-form input,.pf-form select,.pf-form textarea{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--brand-line);border-radius:12px;background:#fbfcff;color:var(--brand-text);font:500 15px/1.4 var(--brand-font-body)}
.pf-form textarea{min-height:130px;padding:13px 14px;resize:vertical}
.pf-form input::placeholder,.pf-form textarea::placeholder{color:#93a0bd}
.pf-form input:focus,.pf-form select:focus,.pf-form textarea:focus{outline:2px solid var(--brand-primary);outline-offset:1px;border-color:var(--brand-primary);background:#fff}
.pf-consent{display:block;font-size:11.5px;line-height:1.55;color:var(--brand-muted);text-align:center}
.pf-consent a{color:var(--brand-primary);font-weight:600}

/* Sections */
.pf-section{padding-block:clamp(38px,5.2vw,70px)}
.pf-section.tint{background:#fff;border-block:1px solid var(--brand-line)}
.pf-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 24px;margin-bottom:clamp(20px,2.8vw,34px)}
.pf-head>div{max-width:70ch;min-width:0}
.pf-head h2{font-family:var(--brand-font-display);font-size:clamp(1.45rem,2.7vw,2.15rem);line-height:1.18;letter-spacing:-.022em;margin:12px 0 0;color:var(--brand-ink)}
.pf-head p{margin:10px 0 0;color:var(--brand-muted);line-height:1.65;font-size:15px}
.pf-head-link{display:inline-flex;align-items:center;gap:8px;font:600 13.5px/1 var(--brand-font-body);color:var(--brand-primary);text-decoration:none;white-space:nowrap;padding-bottom:3px}
.pf-head-link:hover{color:var(--brand-primary-hover)}
.pf-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(238px,1fr))}

/* Quick actions */
.pf-quick{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.pf-quick-card{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:18px;background:#fff;border:1px solid var(--brand-line);box-shadow:var(--brand-shadow-soft);text-decoration:none;color:var(--brand-text);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;min-width:0}
.pf-quick-card:hover{transform:translateY(-2px);box-shadow:var(--brand-shadow);border-color:#c9d8f4;color:var(--brand-text)}
.pf-quick-card>span:first-child{flex:0 0 auto;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--brand-primary-soft);color:var(--brand-primary);font-size:17px}
.pf-quick-card>div{min-width:0;flex:1 1 auto}
.pf-quick-card b{display:block;font:600 14.5px/1.3 var(--brand-font-display);color:var(--brand-ink)}
.pf-quick-card small{display:block;margin-top:3px;font-size:12.5px;color:var(--brand-muted);line-height:1.45}
.pf-quick-card>i{color:#9aa9c6;font-size:12px}
.pf-quick-card.primary{background:linear-gradient(135deg,#16307f,#1f409f);border-color:#1f409f;color:#fff}
.pf-quick-card.primary>span:first-child{background:rgba(255,255,255,.14);color:#fff}
.pf-quick-card.primary b{color:#fff}
.pf-quick-card.primary small{color:rgba(255,255,255,.76)}
.pf-quick-card.primary>i{color:rgba(255,255,255,.7)}

/* Tiles and products */
.pf-tile{display:flex;flex-direction:column;gap:10px;padding:clamp(20px,2.3vw,26px);border-radius:20px;background:#fff;border:1px solid var(--brand-line);box-shadow:var(--brand-shadow-soft);min-width:0}
.pf-tile>i.pf-tile-ico{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--brand-primary-soft);color:var(--brand-primary);font-size:17px;font-style:normal}
.pf-tile h3{font-family:var(--brand-font-display);font-size:16.5px;line-height:1.3;margin:2px 0 0;color:var(--brand-ink)}
.pf-tile p{margin:0;color:var(--brand-muted);font-size:14px;line-height:1.6}
.pf-product{display:flex;flex-direction:column;gap:10px;padding:clamp(20px,2.3vw,26px);border-radius:20px;background:#fff;border:1px solid var(--brand-line);box-shadow:var(--brand-shadow-soft);text-decoration:none;color:var(--brand-text);transition:transform .18s ease,box-shadow .18s ease;min-width:0}
.pf-product:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(10,26,77,.12);color:var(--brand-text)}
.pf-product-ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--brand-primary-soft);color:var(--brand-primary);font-size:18px}
.pf-product:nth-child(2n) .pf-product-ico{background:#fff2df;color:#b96a00}
.pf-product:nth-child(3n) .pf-product-ico{background:#e8f6ee;color:var(--brand-success)}
.pf-product:nth-child(4n) .pf-product-ico{background:#fdeceb;color:var(--brand-red)}
.pf-product h3{font-family:var(--brand-font-display);font-size:17px;margin:2px 0 0;color:var(--brand-ink)}
.pf-product p{margin:0;flex:1 1 auto;color:var(--brand-muted);font-size:14px;line-height:1.6}
.pf-product strong{display:inline-flex;align-items:center;gap:8px;font:600 13px/1 var(--brand-font-body);color:var(--brand-primary);padding-top:6px}
.pf-product strong i{font-size:11px;transition:transform .18s ease}
.pf-product:hover strong i{transform:translateX(3px)}

/* Steps */
.pf-steps{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
.pf-step{position:relative;padding:24px 22px 22px;border-radius:18px;background:#fff;border:1px solid var(--brand-line);box-shadow:var(--brand-shadow-soft);min-width:0}
.pf-step-num{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--brand-ink);color:#ffd9ab;font:700 12.5px/1 var(--brand-font-display)}
.pf-step h3{font-family:var(--brand-font-display);font-size:15.5px;margin:14px 0 0;color:var(--brand-ink)}
.pf-step p{margin:7px 0 0;font-size:13.5px;line-height:1.6;color:var(--brand-muted)}

/* Split panel */
.pf-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(22px,3.4vw,44px);align-items:center;padding:clamp(24px,3.6vw,46px);border-radius:26px;background:linear-gradient(135deg,#0d2160,#1f409f);color:#fff;box-shadow:0 24px 54px rgba(10,26,77,.22)}
.pf-split h2{font-family:var(--brand-font-display);font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.2;letter-spacing:-.02em;margin:12px 0 0;color:#fff}
.pf-split p{margin:12px 0 0;color:rgba(255,255,255,.82);line-height:1.65;font-size:14.5px}
.pf-split .pf-btn{margin-top:22px}
.pf-split-list{display:grid;gap:11px}
.pf-split-list span{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);min-width:0}
.pf-split-list i{color:#ffd27f;margin-top:3px;font-size:13px}
.pf-split-list b{display:block;font:600 13.5px/1.3 var(--brand-font-display);color:#fff}
.pf-split-list small{display:block;margin-top:3px;font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.72)}

/* Metrics */
.pf-metrics{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));margin:20px 0 0}
.pf-metric{padding:16px 18px;border-radius:14px;background:#f7faff;border:1px solid var(--brand-line);min-width:0}
.pf-metric small{display:block;font:600 10.5px/1.2 var(--brand-font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--brand-muted)}
.pf-metric b{display:block;margin-top:6px;font:700 16px/1.25 var(--brand-font-display);color:var(--brand-ink)}

/* FAQ */
.pf-faq{display:grid;gap:10px;max-width:900px}
.pf-faq details{border:1px solid var(--brand-line);border-radius:16px;background:#fff;box-shadow:var(--brand-shadow-soft);overflow:hidden}
.pf-faq summary{position:relative;display:flex;align-items:center;gap:14px;padding:17px 52px 17px 20px;cursor:pointer;list-style:none;font:600 14.5px/1.4 var(--brand-font-display);color:var(--brand-ink)}
.pf-faq summary::-webkit-details-marker{display:none}
.pf-faq summary:after{content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;right:20px;font-size:11px;color:var(--brand-primary);transition:transform .2s ease}
.pf-faq details[open] summary:after{transform:rotate(180deg)}
.pf-faq details[open] summary{background:#f7faff}
.pf-faq p{margin:0;padding:0 20px 18px;color:var(--brand-muted);font-size:14px;line-height:1.7}

/* CTA band */
.pf-cta{padding-block:clamp(10px,2vw,20px) clamp(30px,4.4vw,52px)}
.pf-cta-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;padding:clamp(24px,3.4vw,40px);border-radius:24px;background:linear-gradient(120deg,#0d2160 0%,#1b3a9a 62%,#2450b8 100%);color:#fff;position:relative;overflow:hidden}
.pf-cta-inner:after{content:"";position:absolute;right:-60px;top:-70px;width:230px;height:230px;border:42px solid rgba(247,148,30,.18);border-radius:50%;pointer-events:none}
.pf-cta-inner h2{font-family:var(--brand-font-display);font-size:clamp(1.3rem,2.2vw,1.85rem);line-height:1.2;margin:0;color:#fff;letter-spacing:-.02em}
.pf-cta-inner p{margin:9px 0 0;color:rgba(255,255,255,.8);font-size:14px;line-height:1.6;max-width:56ch}
.pf-cta-actions{display:flex;flex-wrap:wrap;gap:10px;position:relative;z-index:1}

/* Document layout */
.pf-doc{display:grid;grid-template-columns:minmax(0,236px) minmax(0,1fr);gap:clamp(20px,3.2vw,46px);padding-block:clamp(30px,4.4vw,54px);align-items:start}
.pf-doc-rail{position:sticky;top:16px;display:grid;gap:14px;align-self:start}
.pf-toc{padding:18px;border-radius:18px;background:#fff;border:1px solid var(--brand-line);box-shadow:var(--brand-shadow-soft)}
.pf-toc h2{font:600 11px/1 var(--brand-font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--brand-muted);margin:0 0 12px}
.pf-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.pf-toc a{display:block;padding:7px 10px;border-radius:9px;font:500 13px/1.4 var(--brand-font-body);color:#42506f;text-decoration:none;border-left:2px solid transparent}
.pf-toc a:hover{background:#f2f6ff;color:var(--brand-primary);border-left-color:var(--brand-accent)}
.pf-toc a.is-active{background:var(--brand-primary-soft);color:var(--brand-primary);font-weight:600;border-left-color:var(--brand-primary)}
.pf-doc-rail .pf-card{padding:18px}
.pf-doc-rail .pf-card h3{font:600 14px/1.3 var(--brand-font-display);margin:8px 0 0;color:var(--brand-ink)}
.pf-doc-rail .pf-card p{margin:7px 0 0;font-size:12.5px;line-height:1.6;color:var(--brand-muted)}
.pf-doc-rail .pf-card a{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font:600 12.5px/1 var(--brand-font-body);color:var(--brand-primary);text-decoration:none}
.pf-prose{background:#fff;border:1px solid var(--brand-line);border-radius:22px;padding:clamp(22px,3vw,40px);box-shadow:var(--brand-shadow-soft);min-width:0}
.pf-prose h2{font-family:var(--brand-font-display);font-size:clamp(1.15rem,1.9vw,1.45rem);line-height:1.3;color:var(--brand-ink);margin:34px 0 0;scroll-margin-top:20px}
.pf-prose h2:first-child{margin-top:0}
.pf-prose h3{font-family:var(--brand-font-display);font-size:15.5px;line-height:1.4;color:var(--brand-primary);margin:24px 0 0;scroll-margin-top:20px}
.pf-prose p{margin:10px 0 0;color:#3d4a68;font-size:14.5px;line-height:1.78}
.pf-prose ul,.pf-prose ol{margin:12px 0 0;padding-left:22px;color:#3d4a68;font-size:14.5px;line-height:1.78}
.pf-prose li{margin-top:6px}
.pf-prose a{color:var(--brand-primary);font-weight:600}
.pf-prose strong{color:var(--brand-ink)}
.pf-prose table{width:100%;border-collapse:collapse;margin-top:16px;font-size:13.5px}
.pf-prose th,.pf-prose td{padding:11px 12px;border-bottom:1px solid var(--brand-line);text-align:left;vertical-align:top}
.pf-prose th{background:#f5f8ff;color:var(--brand-ink);font-weight:600;font-size:12.5px}
.pf-prose .pf-note{margin-top:18px;padding:14px 16px;border-radius:12px;background:var(--brand-accent-soft);border:1px solid #f7d6a8;color:#8a4b00;font-size:13px;line-height:1.6}
.pf-note{display:block;font-size:13px;line-height:1.65;color:var(--brand-muted)}
.pf-doc-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;padding-top:18px;border-top:1px solid var(--brand-line)}
.pf-doc-foot span{font-size:12.5px;color:var(--brand-muted)}
.pf-doc-foot a{display:inline-flex;align-items:center;gap:7px;font:600 12.5px/1 var(--brand-font-body);color:var(--brand-primary);text-decoration:none}

/* Contact */
.pf-contact-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.pf-contact-item{display:flex;gap:13px;padding:18px;border-radius:16px;background:#fff;border:1px solid var(--brand-line);box-shadow:var(--brand-shadow-soft);min-width:0}
.pf-contact-item>i{flex:0 0 auto;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--brand-primary-soft);color:var(--brand-primary);font-size:14px}
.pf-contact-item b{display:block;font:600 13px/1.3 var(--brand-font-display);color:var(--brand-ink)}
.pf-contact-item span,.pf-contact-item a{display:block;margin-top:4px;font-size:12.5px;line-height:1.6;color:var(--brand-muted);text-decoration:none;overflow-wrap:anywhere}
.pf-contact-item a:hover{color:var(--brand-primary)}
.pf-field-note{margin-top:8px;font-size:12.5px;color:var(--brand-muted)}

/* Responsive */
@media (max-width:980px){
  .pf-hero-grid,.pf-split,.pf-doc{grid-template-columns:minmax(0,1fr)}
  .pf-hero:after{opacity:.55}
  .pf-doc-rail{position:static;order:2}
  .pf-toc ol{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
}
@media (max-width:700px){
  .pf-hero{padding-block:26px 34px}
  .pf-hero h1{font-size:clamp(1.6rem,7vw,2.1rem)}
  .pf-hero-actions .pf-btn,.pf-cta-actions .pf-btn{flex:1 1 100%}
  .pf-section{padding-block:34px}
  .pf-head{margin-bottom:20px}
  .pf-head h2{font-size:1.4rem}
  .pf-apply{padding:20px 18px}
  .pf-prose{padding:20px 17px;border-radius:18px}
  .pf-prose h2{margin-top:26px}
  .pf-cta-inner{padding:24px 20px}
  .pf-steps,.pf-grid,.pf-quick,.pf-contact-grid{gap:12px}
  .pf-doc{padding-block:26px}
  .pf-page{padding-bottom:80px}
  .pf-faq summary{font-size:13.5px;padding:15px 46px 15px 16px}
  .pf-faq p{padding:0 16px 16px}
}
@media (max-width:430px){
  .pf-wrap{padding-inline:16px}
  .pf-hero-points{font-size:12.5px;gap:7px 16px}
  .pf-metric b{font-size:15px}
  .pf-quick-card{padding:15px 16px}
}
@media (prefers-reduced-motion:reduce){
  .pf-btn,.pf-product,.pf-quick-card{transition:none}
}

/* Palette enforcement inside the new page system (the global public heading
   rule sets its colour with !important, so dark surfaces are pinned here). */
.pf-hero h1,.pf-hero h2,.pf-hero h3,.pf-split h2,.pf-cta-inner h2{color:#fff!important}
.pf-hero h1 em{color:var(--brand-accent)!important}
.pf-hero p,.pf-lede,.pf-split p,.pf-cta-inner p{color:rgba(255,255,255,.84)!important}
.pf-split-list b{color:#fff!important}
.pf-split-list small{color:rgba(255,255,255,.74)!important}
.pf-kicker{color:#ffd9ab!important;font-family:var(--brand-font-body)!important;letter-spacing:.13em!important}
.pf-kicker.on-light{color:#9a5400!important}
.pf-head h2{color:var(--brand-ink)!important;letter-spacing:-.022em!important}
.pf-head p{color:var(--brand-muted)!important;font-size:15px!important}
.pf-tile h3,.pf-step h3,.pf-product h3,.pf-quick-card b,.pf-doc-rail .pf-card h3,.pf-metric b{color:var(--brand-ink)!important}
.pf-apply-head h2{color:var(--brand-ink)!important;font-size:clamp(1.1rem,1.7vw,1.35rem)!important;letter-spacing:-.02em!important}
.pf-tile h3{font-size:16.5px!important;letter-spacing:-.02em!important}
.pf-step h3{font-size:15.5px!important;letter-spacing:-.02em!important}
.pf-product h3{font-size:17px!important;letter-spacing:-.02em!important}
.pf-doc-rail .pf-card h3{font-size:14px!important;letter-spacing:-.01em!important}
.pf-quick-card b{font-size:14.5px!important;letter-spacing:-.02em!important}
.pf-metric b{font-size:16px!important;letter-spacing:-.02em!important}
.pf-toc h2{font-family:var(--brand-font-body)!important;font-size:11px!important;letter-spacing:.14em!important;color:var(--brand-muted)!important}
.pf-prose h2{color:var(--brand-ink)!important;letter-spacing:-.02em!important}
.pf-prose h3{color:var(--brand-primary)!important;letter-spacing:-.01em!important}
.pf-prose p,.pf-prose li,.pf-prose td{color:#3d4a68!important}
.pf-prose th{color:var(--brand-ink)!important}
.pf-faq summary{color:var(--brand-ink)!important;letter-spacing:-.01em!important}
.pf-faq p{color:var(--brand-muted)!important;font-size:14px!important}
.pf-tile p,.pf-step p{color:var(--brand-muted)!important;font-size:13.5px!important}
.pf-quick-card small{color:var(--brand-muted)!important}
.pf-quick-card.primary small{color:rgba(255,255,255,.78)!important}
.pf-contact-item span,.pf-contact-item a{color:var(--brand-muted)!important}
.pf-cta-inner p{font-size:14px!important}
.pf-doc-rail .pf-card.emi-result-card h3{color:#fff!important;font-size:13px!important;letter-spacing:.02em!important}
.pf-doc-rail .pf-card.emi-result-card p{color:rgba(255,255,255,.78)!important;font-size:12.5px!important}
.pf-doc-rail .pf-card.emi-result-card strong{color:#ffb45c!important;font-size:34px!important}
.pf-doc-rail .pf-card.emi-result-card{background:linear-gradient(135deg,#0d2160,#1f409f)!important;border-color:#1f409f!important}
@media (max-width:980px){.pf-page{padding-bottom:96px}}
.pf-hero + .pf-section{padding-top:clamp(26px,3.4vw,46px)}
.pf-narrow{max-width:820px;margin-inline:auto}
.pf-toc a.is-sub{padding-left:22px;font-size:12.2px;color:#5d6c8a}

/* Public navigation: keep the desktop row compact and the mobile drawer usable. */
.app-nav-links>a{gap:8px!important;white-space:nowrap}
@media (min-width:768px) and (max-width:991.98px){
  .app-topbar-inner{gap:8px!important}
  .app-brand{gap:8px!important}
  .app-brand span{display:none}
  .app-nav-links{gap:2px!important}
  .app-nav-links>a{padding-inline:9px!important;font-size:12px!important}
  .app-nav-links .app-nav-login{padding-inline:11px!important}
}
@media (max-width:767.98px){
  .app-header-slot{position:relative!important;z-index:1200!important;isolation:isolate}
  .app-header-slot>.app-topbar{position:relative!important;z-index:1201!important}
  .app-header-slot>.app-topbar.menu-open{z-index:1202!important}
  .app-topbar-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px!important}
  .app-menu-toggle{display:grid!important;place-items:center;flex:0 0 42px;margin-left:auto}
  .app-topbar.menu-open .app-menu-toggle{z-index:1205!important}
  body.public-menu-open:before{
    content:"";
    position:fixed;
    inset:0;
    z-index:1190;
    background:rgba(7,18,49,.56);
    backdrop-filter:blur(2px);
    animation:public-drawer-backdrop-in .2s ease both
  }
  .app-nav-links{
    position:fixed;
    inset:0 auto 0 0;
    z-index:1204;
    display:flex;
    width:min(340px,88vw);
    height:100vh;
    height:100dvh;
    max-height:100vh;
    max-height:100dvh;
    flex-direction:column;
    align-items:stretch;
    gap:10px!important;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:calc(30px + env(safe-area-inset-top,0px)) 18px calc(24px + env(safe-area-inset-bottom,0px))!important;
    border:0!important;
    border-right:1px solid rgba(27,58,154,.12)!important;
    border-radius:0 24px 24px 0!important;
    background:linear-gradient(180deg,#f6f8ff 0%,#fff 42%)!important;
    box-shadow:18px 0 54px rgba(8,25,72,.24)!important;
    transform:translateX(-105%);
    visibility:hidden;
    pointer-events:none;
    transition:transform .26s cubic-bezier(.2,.8,.2,1),visibility .26s
  }
  .app-topbar.menu-open .app-nav-links{
    transform:translateX(0);
    visibility:visible;
    pointer-events:auto
  }
  .app-nav-links:before{
    content:"YOUR FINANCIAL SPACE";
    order:-1;
    margin:0 3px 2px!important;
    color:var(--brand-primary)!important;
    font-size:11px!important;
    font-weight:800;
    letter-spacing:.14em!important
  }
  .app-nav-links:after{
    content:"Choose a section to continue";
    display:block;
    order:0;
    margin:-4px 3px 14px;
    color:var(--brand-muted);
    font-size:12px;
    line-height:1.5
  }
  .app-nav-links>a:not(.app-nav-login){
    order:1;
    display:flex!important;
    align-items:center!important;
    gap:13px!important;
    min-height:58px!important;
    padding:9px 12px!important;
    border:1px solid var(--brand-line)!important;
    border-radius:15px!important;
    background:#fff!important;
    color:var(--brand-text)!important;
    box-shadow:0 4px 12px rgba(10,26,77,.045);
    transition:background .18s ease,border-color .18s ease,transform .18s ease
  }
  .app-nav-links>a:not(.app-nav-login)>i{
    display:grid!important;
    place-items:center;
    flex:0 0 38px;
    width:38px;
    height:38px;
    margin:0!important;
    border-radius:12px;
    background:var(--brand-primary-soft);
    color:var(--brand-primary)!important;
    font-size:15px
  }
  .app-nav-links>a:not(.app-nav-login)>span{
    flex:1;
    min-width:0;
    text-align:left;
    font-size:14px;
    font-weight:600;
    letter-spacing:0
  }
  .app-nav-links>a:not(.app-nav-login):hover,
  .app-nav-links>a:not(.app-nav-login):focus-visible,
  .app-nav-links>a:not(.app-nav-login).is-active{
    border-color:rgba(27,58,154,.35)!important;
    background:#f6f8ff!important;
    color:var(--brand-primary)!important;
    transform:translateX(2px)
  }
  .app-nav-links .app-nav-login{
    order:2;
    justify-content:center!important;
    min-height:52px!important;
    margin: auto 0 0!important;
    border:0!important;
    border-radius:15px!important;
    background:var(--brand-primary)!important;
    color:#fff!important;
    box-shadow:0 10px 24px rgba(27,58,154,.2)
  }
  .app-nav-links .app-nav-login>i{width:20px;margin:0!important;color:#fff!important}
  .app-nav-links .app-nav-login>span{font-size:14px;font-weight:700}
  .app-nav-links>a:focus-visible{outline:3px solid rgba(27,58,154,.28);outline-offset:2px}
  body.public-menu-open{overflow:hidden}
}
@keyframes public-drawer-backdrop-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .app-nav-links{transition:none!important}
  body.public-menu-open:before{animation:none}
}

/* Public-site experience: a consistent header, content rhythm, and responsive cards. */
.public-skip-link{
  position:fixed;
  top:12px;
  left:12px;
  z-index:2000;
  padding:11px 15px;
  transform:translateY(-160%);
  border-radius:10px;
  background:#fff;
  color:var(--brand-primary);
  font-weight:700;
  box-shadow:var(--brand-shadow)
}
.public-skip-link:focus{transform:translateY(0)}
.app-header-slot{
  position:sticky!important;
  top:0;
  z-index:1100;
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid var(--brand-line)!important;
  box-shadow:0 6px 24px rgba(10,26,77,.055)
}
.app-header-slot>.app-topbar{width:100%!important}
.app-topbar-inner{
  width:min(100% - 40px,1240px)!important;
  min-height:76px!important;
  gap:20px!important;
  margin-inline:auto!important
}
.app-brand{gap:12px!important;flex:0 0 auto}
.app-brand img{display:block;object-fit:contain}
.app-nav-links{gap:5px!important}
.app-nav-links>a{
  gap:8px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease
}
.app-nav-links>a>i{font-size:13px}
.app-nav-links>a:hover,.app-nav-links>a:focus-visible,.app-nav-links>a.is-active{
  border-color:var(--brand-line)!important;
  background:var(--brand-primary-soft)!important;
  color:var(--brand-primary)!important
}
.app-nav-links .app-nav-login{margin-left:8px!important}
.app-menu-toggle{width:44px!important;height:44px!important}
.pf-page{padding-bottom:0}
.pf-hero{
  padding-block:clamp(54px,7vw,92px);
  background:radial-gradient(ellipse at 82% 10%,rgba(247,148,30,.18),transparent 30%),
    linear-gradient(135deg,#0b1d55 0%,#16307f 52%,#1b3a9a 100%)
}
.pf-hero:after{width:520px;height:520px;border-width:70px;opacity:.8}
.pf-hero-grid{gap:clamp(32px,5vw,72px)}
.pf-hero-copy{max-width:670px}
.pf-hero h1{max-width:14ch;font-size:clamp(2.5rem,5vw,4.35rem);line-height:1.04;letter-spacing:-.055em}
.pf-lede{max-width:58ch;line-height:1.75}
.pf-hero-points{gap:12px 24px}
.pf-apply{
  border:1px solid rgba(255,255,255,.75);
  border-radius:24px;
  box-shadow:0 28px 80px rgba(4,12,40,.34)
}
.pf-apply-head{align-items:flex-start}
.pf-apply-ico{flex:0 0 48px;width:48px;height:48px}
.pf-form{gap:15px}
.pf-form label{gap:8px}
.pf-form input,.pf-form select,.pf-form textarea{min-height:50px}
.pf-apply .pf-form button[type=submit]{
  min-height:50px!important;
  border:0!important;
  border-radius:14px!important;
  background:var(--brand-accent)!important;
  color:#3a1d00!important;
  box-shadow:0 10px 24px rgba(247,148,30,.25)!important;
  font:700 14px/1.2 var(--brand-font-display)!important;
  text-transform:none!important;
  letter-spacing:0!important
}
.pf-apply .pf-form button[type=submit]:hover{background:#ffa63a!important;color:#3a1d00!important}
.pf-hero + .pf-section[aria-label="Quick actions"]{padding-top:0}
.pf-hero + .pf-section[aria-label="Quick actions"] .pf-quick{
  position:relative;
  z-index:2;
  transform:translateY(-30px);
  margin-bottom:-30px
}
.pf-section{padding-block:clamp(48px,6vw,82px)}
.pf-section.tint{background:linear-gradient(180deg,#fff 0%,#f8faff 100%)}
.pf-head{margin-bottom:clamp(24px,3vw,38px)}
.pf-head h2{max-width:24ch;font-size:clamp(1.7rem,3vw,2.55rem);letter-spacing:-.04em}
.pf-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.pf-quick-card.primary b{color:#fff!important}
.pf-product{
  min-height:260px;
  padding:24px;
  border-radius:20px;
  box-shadow:0 8px 26px rgba(10,26,77,.055);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease
}
.pf-product:hover{transform:translateY(-5px);border-color:#c5d3ef;box-shadow:0 18px 38px rgba(10,26,77,.11)}
.pf-product-ico{display:grid;place-items:center}
.pf-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pf-step{min-width:0;padding:24px;border-radius:20px}
.pf-step-num{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--brand-primary-soft);color:var(--brand-primary);font-weight:800}
.pf-split{gap:clamp(28px,5vw,64px);padding:clamp(28px,5vw,60px);border-radius:28px}
.pf-split-list{display:grid;gap:12px}
.pf-split-list>span{display:flex;align-items:flex-start;gap:14px;padding:17px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:rgba(255,255,255,.06)}
.pf-split-list>span>i{flex:0 0 20px;margin-top:3px}
.pf-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.pf-metric{min-width:0;padding:20px;border:1px solid var(--brand-line);border-radius:16px;background:#fff}
.pf-faq{display:grid;gap:10px}
.pf-faq details{border:1px solid var(--brand-line);border-radius:15px;background:#fff}
.pf-faq details[open]{border-color:#c6d3ec;box-shadow:0 8px 22px rgba(10,26,77,.05)}
.pf-cta{padding-block:12px clamp(48px,6vw,80px)}
.pf-cta-inner{gap:24px;border-radius:24px}
.app-footer{margin-top:0;padding-block:54px 22px;background:linear-gradient(145deg,#091a49,#0d285f)!important}
.app-footer-top{grid-template-columns:minmax(230px,1.7fr) repeat(3,minmax(120px,1fr));gap:clamp(20px,4vw,48px)}
.app-footer-brand img{width:176px;max-height:54px}
.app-footer p{max-width:38ch;line-height:1.8}
.app-footer-top>div:not(.app-footer-brand) a{width:fit-content}
.app-footer-bottom{font-size:11px;line-height:1.6}

@media(max-width:1020px){
  .pf-grid,.pf-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pf-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:861px) and (max-width:1020px){
  .pf-hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr)}
  .pf-hero h1{font-size:clamp(2.3rem,5.5vw,3.8rem)}
}
@media(max-width:860px){
  .pf-hero-grid{grid-template-columns:minmax(0,1fr)}
  .pf-hero-copy{max-width:680px}
  .pf-apply{width:min(560px,100%);margin-inline:auto}
}
@media(max-width:700px){
  .app-topbar-inner{width:calc(100% - 32px)!important;min-height:68px!important}
  .app-brand img{max-width:160px!important}
  .app-header-slot>.app-topbar.menu-open .app-topbar-inner{z-index:1204}
  .pf-hero{padding-block:42px 54px}
  .pf-hero-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .pf-hero h1{max-width:16ch;font-size:clamp(2.25rem,10vw,3.3rem)}
  .pf-lede{font-size:15px}
  .pf-hero-actions{display:grid;grid-template-columns:1fr}
  .pf-hero-actions .pf-btn{width:100%}
  .pf-hero-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px}
  .pf-apply{padding:22px;border-radius:20px}
  .pf-hero + .pf-section[aria-label="Quick actions"] .pf-quick{transform:translateY(-20px);margin-bottom:-20px}
  .pf-quick{grid-template-columns:1fr}
  .pf-section{padding-block:44px}
  .pf-head{align-items:flex-start}
  .pf-head-link{white-space:normal}
  .pf-product{min-height:235px;padding:20px}
  .pf-split{grid-template-columns:minmax(0,1fr);padding:26px 22px;border-radius:22px}
  .pf-cta-inner{align-items:flex-start;padding:28px 22px}
  .pf-cta-actions{display:grid;width:100%;grid-template-columns:1fr}
  .pf-cta-actions .pf-btn{width:100%}
  .app-footer{padding-block:38px 96px}
  .app-footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
  .app-footer-bottom{grid-template-columns:1fr;gap:8px}
}
@media(max-width:430px){
  .pf-wrap{padding-inline:18px}
  .pf-grid,.pf-steps,.pf-metrics{grid-template-columns:minmax(0,1fr)}
  .pf-product{min-height:0}
  .pf-step{padding:21px}
  .pf-hero-points{grid-template-columns:1fr}
  .pf-apply{padding:20px 17px}
  .pf-metric{padding:17px}
  .app-footer-top{grid-template-columns:minmax(0,1fr)}
  .app-footer-brand{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){
  .pf-product,.pf-quick-card,.app-nav-links>a{transition:none!important}
}

/* Original Aadhar Finance homepage direction. */
.public-home .app-topbar-inner,
.public-home .app-footer > .public-bootstrap-container.container,
.pf-home .pf-wrap{
  box-sizing:border-box;
  width:100%;
  margin-inline:auto;
  padding-inline:15px
}
.public-home .app-topbar-inner{
  width:100%!important;
  max-width:1140px!important;
  padding-inline:15px!important
}
.public-home .app-footer > .public-bootstrap-container.container{max-width:1140px!important;padding-inline:15px!important}
@media(min-width:576px){
  .pf-home .pf-wrap{max-width:540px}
  .public-home .app-topbar-inner{max-width:540px!important}
  .public-home .app-footer > .public-bootstrap-container.container{max-width:540px!important}
}
@media(min-width:768px){
  .pf-home .pf-wrap{max-width:720px}
  .public-home .app-topbar-inner{max-width:720px!important}
  .public-home .app-footer > .public-bootstrap-container.container{max-width:720px!important}
}
@media(min-width:992px){
  .pf-home .pf-wrap{max-width:960px}
  .public-home .app-topbar-inner{max-width:960px!important}
  .public-home .app-footer > .public-bootstrap-container.container{max-width:960px!important}
}
@media(min-width:1200px){
  .pf-home .pf-wrap{max-width:1140px}
  .public-home .app-topbar-inner{max-width:1140px!important}
  .public-home .app-footer > .public-bootstrap-container.container{max-width:1140px!important}
}
.pf-home .pf-hero{
  padding:clamp(42px,5.5vw,68px) 0;
  background:
    radial-gradient(ellipse at 88% 18%,rgba(247,148,30,.27),transparent 35%),
    radial-gradient(ellipse at 12% 100%,rgba(27,58,154,.16),transparent 46%),
    linear-gradient(118deg,#dce7f8 0%,#f7f8f6 52%,#ffe4c5 100%);
  color:var(--brand-text)
}
.pf-home .pf-hero:before{
  display:block;
  z-index:0;
  opacity:.18;
  background-image:radial-gradient(rgba(27,58,154,.32) .8px,transparent .8px);
  background-size:16px 16px;
  mask-image:linear-gradient(90deg,transparent 42%,#000 100%);
  pointer-events:none
}
.pf-home .pf-hero:after{
  display:block;
  z-index:0;
  top:auto;
  right:-190px;
  bottom:-360px;
  width:620px;
  height:620px;
  border:1px solid rgba(27,58,154,.08);
  box-shadow:0 0 0 38px rgba(27,58,154,.025),0 0 0 82px rgba(27,58,154,.018)
}
.pf-home .pf-hero-grid{position:relative;z-index:1;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:clamp(36px,5vw,64px)}
.pf-home .pf-hero-copy{max-width:540px}
.pf-home .pf-hero-copy>.pf-kicker{
  display:block;
  padding:0;
  border:0;
  background:transparent;
  color:#a75700!important;
  font-size:11px;
  letter-spacing:.16em
}
.pf-home .pf-hero-copy>.pf-kicker span{padding-inline:6px;color:var(--brand-accent-deep)}
.pf-home .pf-hero h1{
  max-width:13ch;
  margin-top:20px;
  color:#172d39!important;
  font-size:clamp(2.2rem,4vw,3.35rem);
  line-height:1.04;
  letter-spacing:-.06em
}
.pf-home .pf-hero h1 em{color:var(--brand-primary)!important}
.pf-home .pf-lede{max-width:55ch;color:#4e5e62!important;line-height:1.65}
.pf-home .pf-hero-actions{gap:10px}
.pf-home .pf-hero-points{color:#425458}
.pf-home .pf-hero-points i{color:var(--brand-accent-deep)}
.pf-home .pf-hero .pf-btn{
  min-height:50px;
  border-radius:10px;
  font-family:var(--brand-font-body);
  box-shadow:none
}
.pf-home .pf-hero .pf-btn:not(.ghost){background:#f58216;color:#fff}
.pf-home .pf-hero .pf-btn:not(.ghost):hover{background:#df6f08;color:#fff}
.pf-home .pf-hero .pf-btn.ghost{border:1px solid #cbd4d1;background:rgba(255,255,255,.46);color:#253d48}
.pf-home .pf-hero .pf-btn.ghost:hover{border-color:var(--brand-primary);background:#fff;color:var(--brand-primary)}
.pf-home .pf-hero-points{gap:10px 20px;font-size:12.5px}
.pf-home>.pf-section[aria-label="Quick actions"]{padding-block:0;background:#102b68;border-block:1px solid rgba(255,255,255,.16)}
.pf-home .pf-hero + .pf-section[aria-label="Quick actions"] .pf-quick{transform:none;margin-bottom:0}
.pf-home .pf-quick{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.pf-home .pf-quick-card{
  min-height:78px;
  padding:12px 14px;
  border:0;
  border-radius:0;
  border-right:1px solid rgba(255,255,255,.18);
  background:transparent;
  box-shadow:none;
  transform:none
}
.pf-home .pf-quick-card:last-child{border-right:0}
.pf-home .pf-quick-card:hover{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.07);box-shadow:none;transform:none}
.pf-home .pf-quick-card>span:first-child{width:38px;height:38px;border-radius:8px;background:rgba(255,255,255,.14);color:#fff}
.pf-home .pf-quick-card b{font-size:14px}
.pf-home .pf-quick-card small{font-size:11.5px}
.pf-home .pf-quick-card>i{margin-left:auto}
.pf-home .pf-quick-card.primary{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff}
.pf-home .pf-quick-card.primary:hover{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.14)}
.pf-home .pf-quick-card.primary>span:first-child{background:#f7941e;color:#172d39}
.pf-home .pf-quick-card.primary b,.pf-home .pf-quick-card b{color:#fff!important}
.pf-home .pf-quick-card.primary small,.pf-home .pf-quick-card small{color:rgba(255,255,255,.76)!important}
.pf-home .pf-quick-card.primary>i,.pf-home .pf-quick-card>i{color:rgba(255,255,255,.76)}

.pf-home .pf-apply{
  width:100%;
  margin:0;
  padding:25px;
  border:1px solid #d8e1eb;
  border-top:3px solid var(--brand-accent);
  border-radius:16px;
  background:#fff;
  box-shadow:0 28px 70px rgba(18,42,115,.18),0 3px 12px rgba(18,42,115,.07)
}
.pf-apply-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;padding-bottom:10px;border-bottom:1px solid #e8edf2;color:#647487;font-size:9.5px;font-weight:700;letter-spacing:.12em}
.pf-apply-topline>span:first-child{display:inline-flex;align-items:center;gap:7px}
.pf-apply-topline>span:first-child i{color:var(--brand-primary);font-size:12px}
.pf-apply-topline>span:last-child{white-space:nowrap;color:#7a8794}
.pf-apply-topline b{color:var(--brand-primary)}
.pf-home .pf-apply-head{align-items:flex-start;gap:14px}
.pf-home .pf-apply-head h2{color:#203640}
.pf-home .pf-apply-head small{letter-spacing:.12em}
.pf-home .pf-apply-ico{width:48px;height:48px;border-radius:12px;background:#edf2fa}
.pf-home .pf-apply-intro{margin:10px 0 0!important;color:#64717a!important;font-size:12.5px;line-height:1.6}
.pf-apply-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:13px 0 3px}
.pf-apply-progress>span{display:flex;align-items:center;gap:7px;min-width:0;padding:9px 8px;border:1px solid #e1e7ee;border-radius:8px;background:#fbfcfe;color:#7a8794}
.pf-apply-progress>span.active{border-color:#cdd9ee;background:#f2f6fc;color:var(--brand-primary)}
.pf-apply-progress i{flex:0 0 auto;font-size:11px}
.pf-apply-progress b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;font-weight:600}
.pf-home .pf-form{gap:9px;margin-top:12px}
.pf-home .pf-form label{gap:6px;color:#34465a;font-size:11.5px}
.pf-home .pf-form input{min-height:44px;border-radius:9px;background:#fbfcfe;font-size:13px}
.pf-home .pf-form input:focus{background:#fff}
.pf-home .pf-apply .pf-form button[type=submit]{border-radius:9px!important;background:var(--brand-primary)!important;color:#fff!important;box-shadow:none!important}
.pf-home .pf-apply .pf-form button[type=submit]:hover{background:var(--brand-primary-hover)!important;color:#fff!important}

.pf-home>.pf-section:nth-of-type(3){background:linear-gradient(180deg,#e8eef8 0%,#dfe8f4 100%)}
.pf-home>.pf-section:nth-of-type(4){background:linear-gradient(180deg,#fff1df 0%,#fff8ed 100%)}
.pf-home>.pf-section:nth-of-type(5){background:#fff}
.pf-home>.pf-section:nth-of-type(6){background:linear-gradient(135deg,#e7eef9,#edf2f0 70%,#fff0d9)}
.pf-home>.pf-section:nth-of-type(3) .pf-product,
.pf-home>.pf-section:nth-of-type(4) .pf-step{border-color:rgba(35,62,107,.18)}
.pf-home>.pf-section:nth-of-type(4) .pf-step-num{background:#ffead0;color:#9a5400}
.pf-home>.pf-section:nth-of-type(3) .pf-head-link{border-color:rgba(27,58,154,.4)}

.pf-home .pf-head h2{color:#172d39!important}
.pf-home .pf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px clamp(18px,2.4vw,28px)}
.pf-home .pf-product{
  min-height:0;
  padding:24px;
  border:1px solid #dce4ef;
  border-top:3px solid var(--brand-primary);
  border-radius:13px;
  background:#fff;
  box-shadow:0 10px 24px rgba(18,42,115,.06)
}
.pf-home .pf-product:hover{transform:translateY(-3px);border-color:#aebdd4;background:#fff;box-shadow:0 18px 34px rgba(18,42,115,.11)}
.pf-home .pf-product-ico{width:44px;height:44px;border-radius:10px}
.pf-home .pf-product h3{margin-top:14px;color:#203640}
.pf-home .pf-product strong{color:var(--brand-primary)}
.pf-home .pf-steps{gap:clamp(14px,2vw,22px)}
.pf-home .pf-step{
  padding:22px;
  border:1px solid #dfe6ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 22px rgba(18,42,115,.05)
}
.pf-home .pf-step-num{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#e8eef9;color:var(--brand-primary);font:700 13px/1.2 var(--brand-font-body)}
.pf-home .pf-step h3{margin-top:15px;color:#203640}
.pf-home .pf-split{border:1px solid #dae2ef;border-radius:14px;background:linear-gradient(125deg,#eaf0fb,#f3f5ef 70%,#fff1dc);color:var(--brand-text);box-shadow:0 12px 30px rgba(18,42,115,.06)}
.pf-home .pf-split h2{color:#172d39!important}
.pf-home .pf-split p{color:#53636b!important}
.pf-home .pf-split-list{gap:12px}
.pf-home .pf-split-list>span{padding:15px;border:1px solid #dbe3eb;border-radius:10px;background:rgba(255,255,255,.72)}
.pf-home .pf-split-list>span>i{color:var(--brand-primary)}
.pf-home .pf-split-list b{color:#203640!important}
.pf-home .pf-split-list small{color:#687678!important}
.pf-home .pf-metrics{gap:12px;border:0}
.pf-home .pf-metric{padding:19px;border:1px solid #dce4ef;border-top:3px solid var(--brand-accent);border-radius:11px;background:#fff;box-shadow:0 8px 20px rgba(18,42,115,.045)}
.pf-home .pf-metric b{color:#203640}
.pf-home .pf-faq{gap:12px}
.pf-home .pf-faq details,.pf-home .pf-faq details[open]{border:1px solid #dfe6ef;border-radius:11px;background:#fff;box-shadow:0 6px 18px rgba(18,42,115,.04)}
.pf-home .pf-faq summary{padding-inline:18px 46px;background:#fff;color:#203640}
.pf-home .pf-faq details[open] summary{background:#f2f5fb}
.pf-home .pf-faq p{padding-inline:18px}
.pf-home .pf-cta{padding-block:0 clamp(48px,6vw,80px)}
.pf-home .pf-cta-inner{border:1px solid #ead8b8;border-radius:10px;background:#fff5e5;color:var(--brand-text)}
.pf-home .pf-cta-inner:after{display:none}
.pf-home .pf-cta-inner h2{color:#203640!important}
.pf-home .pf-cta-inner p{color:#5d6c6d!important}
.pf-home .pf-cta-inner .pf-btn.ghost{border-color:#cbd4d1;background:transparent;color:#253d48}

@media(max-width:991.98px){
  .pf-home .pf-hero-grid{grid-template-columns:minmax(0,1fr)}
  .pf-home .pf-hero-copy{max-width:720px}
  .pf-home .pf-apply{width:min(650px,100%);margin-inline:auto}
}
@media(max-width:700px){
  .pf-home .pf-hero{padding:32px 0;background-position:center}
  .pf-home .pf-apply{order:0}
  .pf-home .pf-hero h1{max-width:13ch;font-size:clamp(2.35rem,10vw,3.5rem)}
  .pf-home .pf-hero-actions{display:grid;grid-template-columns:1fr}
  .pf-home .pf-hero-actions .pf-btn{width:100%}
  .pf-home .pf-apply{padding:21px 18px}
  .pf-apply-progress{gap:5px}
  .pf-apply-progress>span{gap:5px;padding:8px 6px}
  .pf-apply-progress b{font-size:8.5px}
  .pf-home .pf-quick{grid-template-columns:1fr;gap:0}
  .pf-home .pf-quick-card{min-height:76px}
  .pf-home .pf-quick-card{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .pf-home .pf-quick-card:last-child{border-bottom:0}
  .pf-home .pf-grid,.pf-home .pf-steps{grid-template-columns:minmax(0,1fr);gap:14px}
  .pf-home .pf-product{padding-block:20px}
  .pf-home .pf-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pf-home .pf-metric:nth-child(odd){border-left:0}
  .pf-home .pf-metric:nth-child(n+3){border-top:1px solid #dce3dd}
}

/* Keep public-site links clean without hiding keyboard focus. */
.pf-page a,
.public-template .app-footer a,
.public-template .app-topbar a,
.public-template .app-bottom-nav a{ text-decoration:none }
.pf-page a:focus-visible,
.public-template .app-footer a:focus-visible,
.public-template .app-topbar a:focus-visible,
.public-template .app-bottom-nav a:focus-visible{
  outline:3px solid #f7941e;
  outline-offset:3px;
  border-radius:4px
}

/* Shared visual system for secondary public pages. */
.public-template .app-page{padding:0!important}
.public-template .app-page>.public-page-content>.app-shell{width:100%;max-width:none}
.public-template .pf-page:not(.pf-home){padding-bottom:0;background:#fff}
.pf-page:not(.pf-home) .pf-hero{
  padding-block:clamp(42px,6vw,76px);
  border-bottom:1px solid #e1e7eb;
  background:radial-gradient(ellipse at 82% 18%,rgba(27,58,154,.09),transparent 35%),linear-gradient(180deg,#f6f8f8 0%,#eef2f6 100%);
  color:var(--brand-text)
}
.pf-page:not(.pf-home) .pf-hero:before{background:none}
.pf-page:not(.pf-home) .pf-hero:after{
  top:auto;
  right:-150px;
  bottom:-360px;
  width:570px;
  height:570px;
  border:1px solid rgba(27,58,154,.09);
  box-shadow:0 0 0 38px rgba(27,58,154,.025),0 0 0 78px rgba(27,58,154,.018)
}
.pf-page:not(.pf-home) .pf-hero .pf-wrap{position:relative;z-index:1}
.pf-page:not(.pf-home) .pf-crumbs{margin-bottom:20px;color:#667580}
.pf-page:not(.pf-home) .pf-crumbs a{color:#516779}
.pf-page:not(.pf-home) .pf-crumbs a:hover{color:var(--brand-primary)}
.pf-page:not(.pf-home) .pf-crumbs span{color:var(--brand-primary)}
.pf-page:not(.pf-home) .pf-hero .pf-kicker{
  padding:7px 11px;
  border:1px solid #dbe3eb;
  border-radius:7px;
  background:rgba(255,255,255,.72);
  color:#435968!important;
  letter-spacing:.11em!important
}
.pf-page:not(.pf-home) .pf-hero h1{
  max-width:22ch;
  margin-top:19px;
  color:#172d39!important;
  font-size:clamp(2rem,4.3vw,3.8rem);
  line-height:1.08;
  letter-spacing:-.052em
}
.pf-page:not(.pf-home) .pf-hero h1 em{color:var(--brand-primary)!important}
.pf-page:not(.pf-home) .pf-hero .pf-lede{
  max-width:67ch;
  margin-top:15px;
  color:#52646e!important;
  font-size:clamp(14.5px,1.3vw,16px);
  line-height:1.75
}
.pf-page:not(.pf-home) .pf-hero-actions{margin-top:22px}
.pf-page:not(.pf-home) .pf-hero .pf-btn:not(.ghost){
  border-radius:9px;
  background:var(--brand-primary)!important;
  color:#fff!important;
  box-shadow:none
}
.pf-page:not(.pf-home) .pf-hero .pf-btn:not(.ghost):hover{background:var(--brand-primary-hover)!important;color:#fff!important}
.pf-page:not(.pf-home) .pf-hero .pf-btn.ghost{
  border:1px solid #cbd5dc;
  border-radius:9px;
  background:rgba(255,255,255,.55);
  color:#293f4c!important;
  box-shadow:none
}
.pf-page:not(.pf-home) .pf-hero .pf-btn.ghost:hover{border-color:var(--brand-primary);background:#fff;color:var(--brand-primary)!important}
.pf-page:not(.pf-home)>.pf-section{background:#fff}
.pf-page:not(.pf-home)>.pf-section.tint{border-block:1px solid #e4e9e9;background:#f5f7f6}
.pf-page:not(.pf-home) .pf-head h2{color:#172d39!important}
.pf-page:not(.pf-home) .pf-head p{color:#5d6e74!important}
.pf-page:not(.pf-home) .pf-tile,
.pf-page:not(.pf-home) .pf-product,
.pf-page:not(.pf-home) .pf-step,
.pf-page:not(.pf-home) .pf-contact-item{
  border-color:#dfe6e9;
  border-radius:12px;
  box-shadow:0 8px 24px rgba(22,43,59,.045)
}
.pf-page:not(.pf-home) .pf-tile,
.pf-page:not(.pf-home) .pf-product,
.pf-page:not(.pf-home) .pf-step{background:#fff}
.pf-page:not(.pf-home) .pf-product:hover{border-color:#bfccda;box-shadow:0 14px 30px rgba(22,43,59,.09)}
.pf-page:not(.pf-home) .pf-step-num{border-radius:8px;background:#edf2f8;color:var(--brand-primary)}
.pf-page:not(.pf-home) .pf-split{
  border:1px solid #dfe6e4;
  border-radius:14px;
  background:linear-gradient(135deg,#f1f4f2,#eaf0f6);
  color:var(--brand-text);
  box-shadow:none
}
.pf-page:not(.pf-home) .pf-split h2{color:#172d39!important}
.pf-page:not(.pf-home) .pf-split p{color:#52646e!important}
.pf-page:not(.pf-home) .pf-split-list{gap:0}
.pf-page:not(.pf-home) .pf-split-list>span{
  padding:15px 0;
  border:0;
  border-top:1px solid #d8e1e2;
  border-radius:0;
  background:transparent
}
.pf-page:not(.pf-home) .pf-split-list>span>i{color:var(--brand-primary)}
.pf-page:not(.pf-home) .pf-split-list b{color:#253d48!important}
.pf-page:not(.pf-home) .pf-split-list small{color:#627278!important}
.pf-page:not(.pf-home) .pf-card:not(.emi-result-card){
  padding:20px;
  border:1px solid #dfe6e9;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 24px rgba(22,43,59,.05)
}
.pf-page:not(.pf-home) .pf-card:not(.emi-result-card)>i{color:var(--brand-primary)}
.pf-page:not(.pf-home) .pf-doc-rail .pf-card h3{color:#243d49!important}
.pf-page:not(.pf-home) .pf-prose{
  border:1px solid #dfe6e9;
  border-radius:14px;
  box-shadow:0 12px 30px rgba(22,43,59,.055)
}
.pf-page:not(.pf-home) .pf-prose .pf-kicker.on-light{border-radius:7px}
.pf-page:not(.pf-home) .pf-prose h2{color:#203944!important}
.pf-page:not(.pf-home) .pf-prose h3{color:var(--brand-primary)!important}
.pf-page:not(.pf-home) .pf-prose table{display:block;overflow-x:auto}
.pf-page:not(.pf-home) .pf-prose th{background:#f1f4f5}
.pf-page:not(.pf-home) .pf-doc-rail{gap:12px}
.pf-page:not(.pf-home) .pf-toc{border-radius:12px;box-shadow:0 8px 24px rgba(22,43,59,.045)}
.pf-page:not(.pf-home) .pf-contact-item{min-height:100%}
.pf-page:not(.pf-home) .pf-faq{max-width:none}
.pf-page:not(.pf-home) .pf-cta{padding-block:0 clamp(42px,6vw,76px)}
.pf-page:not(.pf-home) .pf-cta-inner{
  border:1px solid #e9dcc6;
  border-radius:12px;
  background:#fff6e8;
  color:var(--brand-text)
}
.pf-page:not(.pf-home) .pf-cta-inner:after{display:none}
.pf-page:not(.pf-home) .pf-cta-inner h2{color:#203944!important}
.pf-page:not(.pf-home) .pf-cta-inner p{color:#5d6c6d!important}
.pf-page:not(.pf-home) .pf-cta .pf-btn.ghost{border:1px solid #cbd5dc;background:transparent;color:#293f4c}
.pf-page:not(.pf-home) .pf-form input,
.pf-page:not(.pf-home) .pf-form select,
.pf-page:not(.pf-home) .pf-form textarea{border-radius:9px;background:#fbfcfd}
.pf-page:not(.pf-home) .pf-form input:focus,
.pf-page:not(.pf-home) .pf-form select:focus,
.pf-page:not(.pf-home) .pf-form textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(27,58,154,.12)}
.pf-page:not(.pf-home) .pf-prose>.pf-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.pf-page:not(.pf-home) #contact-form label[for="message"],
.pf-page:not(.pf-home) #contact-form button,
.pf-page:not(.pf-home) #contact-message{grid-column:1/-1}
.pf-page:not(.pf-home) .pf-prose>.pf-form button{
  border:0!important;
  border-radius:9px!important;
  background:var(--brand-primary)!important;
  color:#fff!important;
  box-shadow:none!important
}
.pf-page:not(.pf-home) .pf-prose>.pf-form button:hover{background:var(--brand-primary-hover)!important;color:#fff!important}
.pf-page:not(.pf-home) a:focus-visible,
.pf-page:not(.pf-home) button:focus-visible{outline:3px solid rgba(27,58,154,.3);outline-offset:3px}
.public-template .app-footer{margin-top:0}

@media(max-width:760px){
  .pf-page:not(.pf-home) .pf-hero{padding-block:34px 40px}
  .pf-page:not(.pf-home) .pf-hero h1{max-width:19ch;font-size:clamp(1.9rem,8vw,2.7rem)}
  .pf-page:not(.pf-home) .pf-doc{gap:20px}
  .pf-page:not(.pf-home) .pf-doc-rail{order:0}
}
@media(max-width:600px){
  .pf-page:not(.pf-home) .pf-prose>.pf-form{grid-template-columns:minmax(0,1fr)}
  .pf-page:not(.pf-home) #contact-form label,
  .pf-page:not(.pf-home) #contact-form button,
  .pf-page:not(.pf-home) #contact-message{grid-column:1}
  .pf-page:not(.pf-home) .pf-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
