/*
Theme Name: Matricula Astra Child
Theme URI: https://matricula.co.in/
Description: Matricula Education — Classes 9-12, JEE & NEET Coaching (Kolkata). A complete Astra child theme: the home page, header, footer, menus, colors, images and hover effects are fully self-contained and are NOT affected by Astra customizer colors, hover colors or typography. Menus are managed from Appearance > Menus, and the designed home page shows automatically after activation.
Author: Matricula Education
Author URI: https://matricula.co.in/
Template: astra
Version: 1.7.5
Requires at least: 5.9
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: matricula-astra-child
Tags: education, custom-menu, custom-colors, custom-logo, one-column, block-styles, wide-blocks
*/

/*
 ============================================================================
 MATRICULA EDUCATION — COMPLETE SITE STYLESHEET
 ----------------------------------------------------------------------------
 This is the FULL original design CSS (Tailwind build + custom styles).
 Every color, hover color, gradient and shadow below is a hardcoded literal
 (e.g. #D7473B brand red, #17375E navy) — nothing references the Astra
 theme's --ast-global-color-* variables, so changing Astra's Global Colors
 in Appearance > Customize can NEVER affect this design.
 ============================================================================
*/

*, :before, :after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position: ;
  --tw-gradient-via-position: ;
  --tw-gradient-to-position: ;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / .5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: ;
  --tw-contain-size: ;
  --tw-contain-layout: ;
  --tw-contain-paint: ;
  --tw-contain-style: ;
}
::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position: ;
  --tw-gradient-via-position: ;
  --tw-gradient-to-position: ;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / .5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: ;
  --tw-contain-size: ;
  --tw-contain-layout: ;
  --tw-contain-paint: ;
  --tw-contain-style: ;
}
*, :before, :after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: #e5e7eb;
}
:before, :after {
  --tw-content: "";
}
html, :host {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  font-family: Inter, sans-serif;
  font-feature-settings: normal;
  font-variation-settings: normal;
  -webkit-tap-highlight-color: transparent;
}
body {
  margin: 0;
  line-height: inherit;
}
hr {
  height: 0;
  color: inherit;
  border-top-width: 1px;
}
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}
h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}
a {
  color: inherit;
  text-decoration: inherit;
}
b, strong {
  font-weight: bolder;
}
code, kbd, samp, pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  font-feature-settings: normal;
  font-variation-settings: normal;
  font-size: 1em;
}
small {
  font-size: 80%;
}
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -.25em;
}
sup {
  top: -.5em;
}
table {
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse;
}
button, input, optgroup, select, textarea {
  font-family: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}
button, select {
  text-transform: none;
}
button, input:where([type=button]), input:where([type=reset]), input:where([type=submit]) {
  -webkit-appearance: button;
  background-color: transparent;
  background-image: none;
}
:-moz-focusring {
  outline: auto;
}
:-moz-ui-invalid {
  box-shadow: none;
}
progress {
  vertical-align: baseline;
}
::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
  height: auto;
}
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
summary {
  display: list-item;
}
blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol, ul, menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
dialog {
  padding: 0;
}
textarea {
  resize: vertical;
}
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  color: #9ca3af;
}
input::placeholder, textarea::placeholder {
  opacity: 1;
  color: #9ca3af;
}
button, [role=button] {
  cursor: pointer;
}
:disabled {
  cursor: default;
}
img, svg, video, canvas, audio, iframe, embed, object {
  display: block;
  vertical-align: middle;
}
img, video {
  max-width: 100%;
  height: auto;
}
[hidden]:where(:not([hidden=until-found])) {
  display: none;
}
html {
  scroll-behavior: smooth;
}
body {
  overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6 {
  font-family: Montserrat, sans-serif;
}
.pointer-events-none {
  pointer-events: none;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.-inset-4 {
  top: -1rem;
  right: -1rem;
  bottom: -1rem;
  left: -1rem;
}
.inset-0 {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.-bottom-10 {
  bottom: -2.5rem;
}
.-left-10 {
  left: -2.5rem;
}
.-right-10 {
  right: -2.5rem;
}
.-right-12 {
  right: -3rem;
}
.-top-12 {
  top: -3rem;
}
.bottom-0 {
  bottom: 0;
}
.bottom-3 {
  bottom: .75rem;
}
.bottom-6 {
  bottom: 1.5rem;
}
.left-0 {
  left: 0;
}
.left-1\/2 {
  left: 50%;
}
.left-1\/4 {
  left: 25%;
}
.left-3 {
  left: .75rem;
}
.left-4 {
  left: 1rem;
}
.right-0 {
  right: 0;
}
.right-1\/4 {
  right: 25%;
}
.right-10 {
  right: 2.5rem;
}
.right-3 {
  right: .75rem;
}
.right-4 {
  right: 1rem;
}
.top-0 {
  top: 0;
}
.top-1\/2 {
  top: 50%;
}
.top-12 {
  top: 3rem;
}
.top-3 {
  top: .75rem;
}
.top-4 {
  top: 1rem;
}
.top-6 {
  top: 1.5rem;
}
.top-full {
  top: 100%;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-50 {
  z-index: 50;
}
.-my-2 {
  margin-top: -.5rem;
  margin-bottom: -.5rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-auto {
  margin-top: auto;
  margin-bottom: auto;
}
.-ml-1 {
  margin-left: -.25rem;
}
.mb-1 {
  margin-bottom: .25rem;
}
.mb-12 {
  margin-bottom: 3rem;
}
.ml-1 {
  margin-left: .25rem;
}
.mt-0\.5 {
  margin-top: .125rem;
}
.mt-1 {
  margin-top: .25rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-8 {
  margin-top: 2rem;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.aspect-video {
  aspect-ratio: 16 / 9;
}
.h-1\.5 {
  height: .375rem;
}
.h-10 {
  height: 2.5rem;
}
.h-11 {
  height: 2.75rem;
}
.h-12 {
  height: 3rem;
}
.h-16 {
  height: 4rem;
}
.h-2 {
  height: .5rem;
}
.h-2\.5 {
  height: .625rem;
}
.h-3 {
  height: .75rem;
}
.h-3\.5 {
  height: .875rem;
}
.h-32 {
  height: 8rem;
}
.h-36 {
  height: 9rem;
}
.h-4 {
  height: 1rem;
}
.h-40 {
  height: 10rem;
}
.h-44 {
  height: 11rem;
}
.h-48 {
  height: 12rem;
}
.h-5 {
  height: 1.25rem;
}
.h-6 {
  height: 1.5rem;
}
.h-72 {
  height: 18rem;
}
.h-8 {
  height: 2rem;
}
.h-80 {
  height: 20rem;
}
.h-96 {
  height: 24rem;
}
.h-\[500px\] {
  height: 500px;
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.max-h-\[420px\] {
  max-height: 420px;
}
.min-h-\[220px\] {
  min-height: 220px;
}
.min-h-\[380px\] {
  min-height: 380px;
}
.min-h-screen {
  min-height: 100vh;
}
.w-10 {
  width: 2.5rem;
}
.w-11 {
  width: 2.75rem;
}
.w-12 {
  width: 3rem;
}
.w-16 {
  width: 4rem;
}
.w-2 {
  width: .5rem;
}
.w-2\.5 {
  width: .625rem;
}
.w-3 {
  width: .75rem;
}
.w-3\.5 {
  width: .875rem;
}
.w-32 {
  width: 8rem;
}
.w-4 {
  width: 1rem;
}
.w-44 {
  width: 11rem;
}
.w-48 {
  width: 12rem;
}
.w-5 {
  width: 1.25rem;
}
.w-52 {
  width: 13rem;
}
.w-56 {
  width: 14rem;
}
.w-6 {
  width: 1.5rem;
}
.w-72 {
  width: 18rem;
}
.w-8 {
  width: 2rem;
}
.w-80 {
  width: 20rem;
}
.w-96 {
  width: 24rem;
}
.w-\[1200px\] {
  width: 1200px;
}
.w-auto {
  width: auto;
}
.w-full {
  width: 100%;
}
.min-w-\[650px\] {
  min-width: 650px;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-4xl {
  max-width: 56rem;
}
.max-w-5xl {
  max-width: 64rem;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-xl {
  max-width: 36rem;
}
.max-w-xs {
  max-width: 20rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.shrink-0 {
  flex-shrink: 0;
}
.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes bounceSubtle {
  0%, to {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
}
.animate-bounce-subtle {
  animation: bounceSubtle 4s ease-in-out infinite;
}
.animate-float-delayed {
  animation: float 7s ease-in-out 2s infinite;
}
@keyframes float {
  0%, to {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
.animate-float-slow {
  animation: float 6s ease-in-out infinite;
}
@keyframes ping {
  75%, to {
    transform: scale(2);
    opacity: 0;
  }
}
.animate-ping {
  animation: ping 1s cubic-bezier(0, 0, .2, 1) infinite;
}
@keyframes pulse {
  50% {
    opacity: .5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
}
@keyframes pulseSubtle {
  0%, to {
    opacity: 1;
  }
  50% {
    opacity: .85;
  }
}
.animate-pulse-subtle {
  animation: pulseSubtle 3s ease-in-out infinite;
}
.cursor-pointer {
  cursor: pointer;
}
.select-none {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-start {
  align-items: flex-start;
}
.items-center {
  align-items: center;
}
.items-stretch {
  align-items: stretch;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-1 {
  gap: .25rem;
}
.gap-1\.5 {
  gap: .375rem;
}
.gap-12 {
  gap: 3rem;
}
.gap-2 {
  gap: .5rem;
}
.gap-2\.5 {
  gap: .625rem;
}
.gap-3 {
  gap: .75rem;
}
.gap-3\.5 {
  gap: .875rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-8 {
  gap: 2rem;
}
.space-y-1>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.375rem * var(--tw-space-y-reverse));
}
.space-y-12>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3rem * var(--tw-space-y-reverse));
}
.space-y-14>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3.5rem * var(--tw-space-y-reverse));
}
.space-y-2>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.625rem * var(--tw-space-y-reverse));
}
.space-y-3>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.75rem * var(--tw-space-y-reverse));
}
.space-y-3\.5>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.875rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.875rem * var(--tw-space-y-reverse));
}
.space-y-4>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-8>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.overflow-x-auto {
  overflow-x: auto;
}
.rounded {
  border-radius: .25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-3xl {
  border-radius: 1.5rem;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: .5rem;
}
.rounded-md {
  border-radius: .375rem;
}
.rounded-xl {
  border-radius: .75rem;
}
.border {
  border-width: 1px;
}
.border-2 {
  border-width: 2px;
}
.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-l-2 {
  border-left-width: 2px;
}
.border-l-4 {
  border-left-width: 4px;
}
.border-r {
  border-right-width: 1px;
}
.border-t {
  border-top-width: 1px;
}
.border-brandRed-100 {
  --tw-border-opacity: 1;
  border-color: rgb(255 227 224 / var(--tw-border-opacity, 1));
}
.border-brandRed-500\/20 {
  border-color: #d7473b33;
}
.border-brandRed-500\/30 {
  border-color: #d7473b4d;
}
.border-brandRed-500\/90 {
  border-color: #d7473be6;
}
.border-emerald-500\/30 {
  border-color: #10b9814d;
}
.border-gold-400\/25 {
  border-color: #fbbf2440;
}
.border-gold-400\/30 {
  border-color: #fbbf244d;
}
.border-gold-500\/30 {
  border-color: #f59e0b4d;
}
.border-gold-500\/40 {
  border-color: #f59e0b66;
}
.border-navy-800 {
  --tw-border-opacity: 1;
  border-color: rgb(23 55 94 / var(--tw-border-opacity, 1));
}
.border-navy-800\/30 {
  border-color: #17375e4d;
}
.border-navy-800\/80 {
  border-color: #17375ecc;
}
.border-sky-400\/40 {
  border-color: #38bdf866;
}
.border-sky-500\/30 {
  border-color: #0ea5e94d;
}
.border-sky-500\/40 {
  border-color: #0ea5e966;
}
.border-slateCustom-100 {
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
}
.border-slateCustom-200 {
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.border-slateCustom-200\/60 {
  border-color: #e2e8f099;
}
.border-slateCustom-200\/70 {
  border-color: #e2e8f0b3;
}
.border-slateCustom-200\/80 {
  border-color: #e2e8f0cc;
}
.border-white\/10 {
  border-color: #ffffff1a;
}
.border-white\/20 {
  border-color: #fff3;
}
.border-white\/60 {
  border-color: #fff9;
}
.border-l-brandRed-500 {
  --tw-border-opacity: 1;
  border-left-color: rgb(215 71 59 / var(--tw-border-opacity, 1));
}
.border-l-emerald-500 {
  --tw-border-opacity: 1;
  border-left-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}
.border-l-gold-500 {
  --tw-border-opacity: 1;
  border-left-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.border-l-sky-500 {
  --tw-border-opacity: 1;
  border-left-color: rgb(14 165 233 / var(--tw-border-opacity, 1));
}
.bg-\[\#17375E\] {
  --tw-bg-opacity: 1;
  background-color: rgb(23 55 94 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1877F2\] {
  --tw-bg-opacity: 1;
  background-color: rgb(24 119 242 / var(--tw-bg-opacity, 1));
}
.bg-\[\#24A1DE\] {
  --tw-bg-opacity: 1;
  background-color: rgb(36 161 222 / var(--tw-bg-opacity, 1));
}
.bg-\[\#D7473B\] {
  --tw-bg-opacity: 1;
  background-color: rgb(215 71 59 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FF0000\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 0 0 / var(--tw-bg-opacity, 1));
}
.bg-amber-500\/15 {
  background-color: #f59e0b26;
}
.bg-brandRed-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 245 245 / var(--tw-bg-opacity, 1));
}
.bg-brandRed-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(215 71 59 / var(--tw-bg-opacity, 1));
}
.bg-brandRed-500\/10 {
  background-color: #d7473b1a;
}
.bg-brandRed-500\/15 {
  background-color: #d7473b26;
}
.bg-brandRed-500\/20 {
  background-color: #d7473b33;
}
.bg-emerald-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}
.bg-emerald-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500\/15 {
  background-color: #10b98126;
}
.bg-emerald-500\/20 {
  background-color: #10b98133;
}
.bg-gold-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}
.bg-gold-400\/15 {
  background-color: #fbbf2426;
}
.bg-gold-400\/20 {
  background-color: #fbbf2433;
}
.bg-gold-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-gold-500\/10 {
  background-color: #f59e0b1a;
}
.bg-gold-500\/15 {
  background-color: #f59e0b26;
}
.bg-gold-500\/20 {
  background-color: #f59e0b33;
}
.bg-indigo-500\/20 {
  background-color: #6366f133;
}
.bg-navy-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 244 249 / var(--tw-bg-opacity, 1));
}
.bg-navy-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(23 55 94 / var(--tw-bg-opacity, 1));
}
.bg-navy-800\/80 {
  background-color: #17375ecc;
}
.bg-navy-800\/90 {
  background-color: #17375ee6;
}
.bg-navy-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(14 35 63 / var(--tw-bg-opacity, 1));
}
.bg-navy-900\/90 {
  background-color: #0e233fe6;
}
.bg-navy-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(9 19 37 / var(--tw-bg-opacity, 1));
}
.bg-navy-950\/40 {
  background-color: #09132566;
}
.bg-navy-950\/70 {
  background-color: #091325b3;
}
.bg-navy-950\/90 {
  background-color: #091325e6;
}
.bg-sky-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(56 189 248 / var(--tw-bg-opacity, 1));
}
.bg-sky-500\/10 {
  background-color: #0ea5e91a;
}
.bg-sky-500\/15 {
  background-color: #0ea5e926;
}
.bg-sky-500\/20 {
  background-color: #0ea5e933;
}
.bg-slate-950\/75 {
  background-color: #020617bf;
}
.bg-slateCustom-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.bg-slateCustom-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10 {
  background-color: #ffffff1a;
}
.bg-white\/80 {
  background-color: #fffc;
}
.bg-white\/90 {
  background-color: #ffffffe6;
}
.bg-white\/95 {
  background-color: #fffffff2;
}
.bg-\[radial-gradient\(\#e2e8f0_1px\, transparent_1px\)\] {
  background-image: radial-gradient(#e2e8f0 1px, transparent 1px);
}
.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.bg-gradient-to-tr {
  background-image: linear-gradient(to top right, var(--tw-gradient-stops));
}
.from-\[\#D7473B\] {
  --tw-gradient-from: #D7473B var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(215 71 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#f9ce34\] {
  --tw-gradient-from: #f9ce34 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 206 52 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-brandRed-500 {
  --tw-gradient-from: #d7473b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(215 71 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-brandRed-500\/20 {
  --tw-gradient-from: rgb(215 71 59 / .2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(215 71 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gold-400 {
  --tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gold-500 {
  --tw-gradient-from: #f59e0b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gold-500\/20 {
  --tw-gradient-from: rgb(245 158 11 / .2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-navy-50 {
  --tw-gradient-from: #f0f4f9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 244 249 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-navy-800 {
  --tw-gradient-from: #17375e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(23 55 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-navy-800\/5 {
  --tw-gradient-from: rgb(23 55 94 / .05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(23 55 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-navy-900 {
  --tw-gradient-from: #0e233f var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(14 35 63 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-navy-950 {
  --tw-gradient-from: #091325 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(9 19 37 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-navy-950\/40 {
  --tw-gradient-from: rgb(9 19 37 / .4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(9 19 37 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-navy-950\/60 {
  --tw-gradient-from: rgb(9 19 37 / .6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(9 19 37 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-500\/20 {
  --tw-gradient-from: rgb(14 165 233 / .2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slateCustom-50 {
  --tw-gradient-from: #f8fafc var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(248 250 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-\[\#ee2a7b\] {
  --tw-gradient-to: rgb(238 42 123 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #ee2a7b var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-amber-300 {
  --tw-gradient-to: rgb(252 211 77 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fcd34d var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-brandRed-500\/5 {
  --tw-gradient-to: rgb(215 71 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(215 71 59 / .05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-gold-500\/20 {
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(245 158 11 / .2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-navy-950 {
  --tw-gradient-to: rgb(9 19 37 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #091325 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-900 {
  --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0f172a var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-transparent {
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white {
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-\[\#6228d7\] {
  --tw-gradient-to: #6228d7 var(--tw-gradient-to-position);
}
.to-amber-300 {
  --tw-gradient-to: #fcd34d var(--tw-gradient-to-position);
}
.to-amber-500 {
  --tw-gradient-to: #f59e0b var(--tw-gradient-to-position);
}
.to-brandRed-500\/20 {
  --tw-gradient-to: rgb(215 71 59 / .2) var(--tw-gradient-to-position);
}
.to-gold-400 {
  --tw-gradient-to: #fbbf24 var(--tw-gradient-to-position);
}
.to-gold-500 {
  --tw-gradient-to: #f59e0b var(--tw-gradient-to-position);
}
.to-gold-500\/5 {
  --tw-gradient-to: rgb(245 158 11 / .05) var(--tw-gradient-to-position);
}
.to-indigo-500\/20 {
  --tw-gradient-to: rgb(99 102 241 / .2) var(--tw-gradient-to-position);
}
.to-navy-800 {
  --tw-gradient-to: #17375e var(--tw-gradient-to-position);
}
.to-navy-800\/20 {
  --tw-gradient-to: rgb(23 55 94 / .2) var(--tw-gradient-to-position);
}
.to-navy-900 {
  --tw-gradient-to: #0e233f var(--tw-gradient-to-position);
}
.to-navy-950 {
  --tw-gradient-to: #091325 var(--tw-gradient-to-position);
}
.to-rose-400 {
  --tw-gradient-to: #fb7185 var(--tw-gradient-to-position);
}
.to-rose-600 {
  --tw-gradient-to: #e11d48 var(--tw-gradient-to-position);
}
.to-slateCustom-100 {
  --tw-gradient-to: #f1f5f9 var(--tw-gradient-to-position);
}
.to-slateCustom-50 {
  --tw-gradient-to: #f8fafc var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.bg-clip-text {
  -webkit-background-clip: text;
  background-clip: text;
}
.fill-current {
  fill: currentColor;
}
.fill-emerald-500 {
  fill: #10b981;
}
.fill-gold-400 {
  fill: #fbbf24;
}
.fill-gold-500 {
  fill: #f59e0b;
}
.fill-white {
  fill: #fff;
}
.stroke-\[3\] {
  stroke-width: 3;
}
.object-contain {
  -o-object-fit: contain;
  object-fit: contain;
}
.object-cover {
  -o-object-fit: cover;
  object-fit: cover;
}
.p-1\.5 {
  padding: .375rem;
}
.p-2 {
  padding: .5rem;
}
.p-2\.5 {
  padding: .625rem;
}
.p-3 {
  padding: .75rem;
}
.p-3\.5 {
  padding: .875rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.px-2 {
  padding-left: .5rem;
  padding-right: .5rem;
}
.px-2\.5 {
  padding-left: .625rem;
  padding-right: .625rem;
}
.px-3 {
  padding-left: .75rem;
  padding-right: .75rem;
}
.px-3\.5 {
  padding-left: .875rem;
  padding-right: .875rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-7 {
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.py-0\.5 {
  padding-top: .125rem;
  padding-bottom: .125rem;
}
.py-1 {
  padding-top: .25rem;
  padding-bottom: .25rem;
}
.py-1\.5 {
  padding-top: .375rem;
  padding-bottom: .375rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2 {
  padding-top: .5rem;
  padding-bottom: .5rem;
}
.py-2\.5 {
  padding-top: .625rem;
  padding-bottom: .625rem;
}
.py-3 {
  padding-top: .75rem;
  padding-bottom: .75rem;
}
.py-3\.5 {
  padding-top: .875rem;
  padding-bottom: .875rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-10 {
  padding-bottom: 2.5rem;
}
.pb-12 {
  padding-bottom: 3rem;
}
.pb-16 {
  padding-bottom: 4rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pb-6 {
  padding-bottom: 1.5rem;
}
.pl-4 {
  padding-left: 1rem;
}
.pt-0 {
  padding-top: 0;
}
.pt-0\.5 {
  padding-top: .125rem;
}
.pt-1 {
  padding-top: .25rem;
}
.pt-16 {
  padding-top: 4rem;
}
.pt-2 {
  padding-top: .5rem;
}
.pt-3 {
  padding-top: .75rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-5 {
  padding-top: 1.25rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.pt-8 {
  padding-top: 2rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.font-sans {
  font-family: Inter, sans-serif;
}
.font-serif {
  font-family: Lora, serif;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: .875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: .75rem;
  line-height: 1rem;
}
.font-black {
  font-weight: 900;
}
.font-bold {
  font-weight: 700;
}
.font-extrabold {
  font-weight: 800;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.normal-case {
  text-transform: none;
}
.italic {
  font-style: italic;
}
.leading-\[1\.15\] {
  line-height: 1.15;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-tight {
  letter-spacing: -.025em;
}
.tracking-wide {
  letter-spacing: .025em;
}
.tracking-wider {
  letter-spacing: .05em;
}
.tracking-widest {
  letter-spacing: .1em;
}
.text-\[\#17375E\] {
  --tw-text-opacity: 1;
  color: rgb(23 55 94 / var(--tw-text-opacity, 1));
}
.text-\[\#D7473B\], .text-brandRed-500 {
  --tw-text-opacity: 1;
  color: rgb(215 71 59 / var(--tw-text-opacity, 1));
}
.text-brandRed-600 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-emerald-400 {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.text-emerald-500 {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.text-emerald-600 {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.text-gold-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-gold-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-indigo-400 {
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}
.text-navy-800 {
  --tw-text-opacity: 1;
  color: rgb(23 55 94 / var(--tw-text-opacity, 1));
}
.text-navy-900 {
  --tw-text-opacity: 1;
  color: rgb(14 35 63 / var(--tw-text-opacity, 1));
}
.text-navy-950 {
  --tw-text-opacity: 1;
  color: rgb(9 19 37 / var(--tw-text-opacity, 1));
}
.text-sky-300 {
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity, 1));
}
.text-sky-400 {
  --tw-text-opacity: 1;
  color: rgb(56 189 248 / var(--tw-text-opacity, 1));
}
.text-sky-500 {
  --tw-text-opacity: 1;
  color: rgb(14 165 233 / var(--tw-text-opacity, 1));
}
.text-slateCustom-200 {
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}
.text-slateCustom-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slateCustom-600 {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-slateCustom-700 {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.text-slateCustom-800 {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.text-slateCustom-900 {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.text-transparent {
  color: transparent;
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.opacity-0 {
  opacity: 0;
}
.opacity-20 {
  opacity: .2;
}
.opacity-40 {
  opacity: .4;
}
.opacity-70 {
  opacity: .7;
}
.opacity-90 {
  opacity: .9;
}
.opacity-95 {
  opacity: .95;
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(56\, 189\, 248\, 0\.3\)\] {
  --tw-shadow: 0 0 20px rgba(56, 189, 248, .3);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-card {
  --tw-shadow: 0 4px 20px -2px rgba(14, 35, 63, .08), 0 2px 6px -1px rgba(14, 35, 63, .04);
  --tw-shadow-colored: 0 4px 20px -2px var(--tw-shadow-color), 0 2px 6px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-gold-glow {
  --tw-shadow: 0 8px 25px -4px rgba(245, 158, 11, .4);
  --tw-shadow-colored: 0 8px 25px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-red-glow {
  --tw-shadow: 0 8px 25px -4px rgba(215, 71, 59, .4);
  --tw-shadow-colored: 0 8px 25px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-brandRed-500\/30 {
  --tw-shadow-color: rgb(215 71 59 / .3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-sky-950\/50 {
  --tw-shadow-color: rgb(8 47 73 / .5);
  --tw-shadow: var(--tw-shadow-colored);
}
.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-2xl {
  --tw-blur: blur(40px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-3xl {
  --tw-blur: blur(64px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.brightness-110 {
  --tw-brightness: brightness(1.1);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_10px_20px_rgba\(0\, 0\, 0\, 0\.5\)\] {
  --tw-drop-shadow: drop-shadow(0 10px 20px rgba(0, 0, 0, .5));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_12px_30px_rgba\(255\, 255\, 255\, 0\.2\)\] {
  --tw-drop-shadow: drop-shadow(0 12px 30px rgba(255, 255, 255, .2));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_12px_30px_rgba\(255\, 255\, 255\, 0\.25\)\] {
  --tw-drop-shadow: drop-shadow(0 12px 30px rgba(255, 255, 255, .25));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-xl {
  --tw-drop-shadow: drop-shadow(0 20px 13px rgb(0 0 0 / .03)) drop-shadow(0 8px 5px rgb(0 0 0 / .08));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur {
  --tw-backdrop-blur: blur(8px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-md {
  --tw-backdrop-blur: blur(12px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  transition-duration: .15s;
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  transition-duration: .15s;
}
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  transition-duration: .15s;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  transition-duration: .15s;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  transition-duration: .15s;
}
.duration-1000 {
  transition-duration: 1s;
}
.duration-200 {
  transition-duration: .2s;
}
.duration-300 {
  transition-duration: .3s;
}
.duration-500 {
  transition-duration: .5s;
}
.duration-700 {
  transition-duration: .7s;
}
.\[background-size\:24px_24px\] {
  background-size: 24px 24px;
}
.desktop-container {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 1024px) {
  .desktop-container {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
.glass-header {
  background: #fffffff2;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(226, 232, 240, .8);
}
.glass-header-dark {
  background: #0e233feb;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.card-hover-effect {
  transition: transform .25s cubic-bezier(.16, 1, .3, 1), box-shadow .25s cubic-bezier(.16, 1, .3, 1);
}
.card-hover-effect:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 35px -5px #0e233f1f, 0 10px 15px -5px #0e233f0f;
}
::-webkit-scrollbar {
  width: 10px;
}
::-webkit-scrollbar-track {
  background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}
.selection\:bg-brandRed-500 *::-moz-selection {
  --tw-bg-opacity: 1;
  background-color: rgb(215 71 59 / var(--tw-bg-opacity, 1));
}
.selection\:bg-brandRed-500 *::selection {
  --tw-bg-opacity: 1;
  background-color: rgb(215 71 59 / var(--tw-bg-opacity, 1));
}
.selection\:text-white *::-moz-selection {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.selection\:text-white *::selection {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.selection\:bg-brandRed-500::-moz-selection {
  --tw-bg-opacity: 1;
  background-color: rgb(215 71 59 / var(--tw-bg-opacity, 1));
}
.selection\:bg-brandRed-500::selection {
  --tw-bg-opacity: 1;
  background-color: rgb(215 71 59 / var(--tw-bg-opacity, 1));
}
.selection\:text-white::-moz-selection {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.selection\:text-white::selection {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:-translate-y-0\.5:hover {
  --tw-translate-y: -.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-105:hover {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-110:hover {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-\[1\.02\]:hover {
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:border-brandRed-500:hover {
  --tw-border-opacity: 1;
  border-color: rgb(215 71 59 / var(--tw-border-opacity, 1));
}
.hover\:border-gold-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}
.hover\:bg-brandRed-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 245 245 / var(--tw-bg-opacity, 1));
}
.hover\:bg-brandRed-500:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(215 71 59 / var(--tw-bg-opacity, 1));
}
.hover\:bg-brandRed-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}
.hover\:bg-navy-900:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(14 35 63 / var(--tw-bg-opacity, 1));
}
.hover\:bg-navy-950:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(9 19 37 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slateCustom-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slateCustom-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.hover\:from-gold-400:hover {
  --tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:to-amber-400:hover {
  --tw-gradient-to: #fbbf24 var(--tw-gradient-to-position);
}
.hover\:text-\[\#D7473B\]:hover, .hover\:text-brandRed-500:hover {
  --tw-text-opacity: 1;
  color: rgb(215 71 59 / var(--tw-text-opacity, 1));
}
.hover\:text-brandRed-600:hover {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.hover\:text-navy-900:hover {
  --tw-text-opacity: 1;
  color: rgb(14 35 63 / var(--tw-text-opacity, 1));
}
.hover\:shadow-xl:hover {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.focus\:border-brandRed-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(215 71 59 / var(--tw-border-opacity, 1));
}
.focus\:bg-white:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.active\:translate-y-0:active {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-100:active {
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/btn:hover .group-hover\/btn\:translate-x-1 {
  --tw-translate-x: .25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-105 {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-\[1\.01\] {
  --tw-scale-x: 1.01;
  --tw-scale-y: 1.01;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:bg-brandRed-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(215 71 59 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-navy-950\/20 {
  background-color: #09132533;
}
.group:hover .group-hover\:text-gold-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-sky-300 {
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}
@media (min-width: 640px) {
  .sm\:bottom-4 {
    bottom: 1rem;
  }
  .sm\:right-4 {
    right: 1rem;
  }
  .sm\:right-6 {
    right: 1.5rem;
  }
  .sm\:top-4 {
    top: 1rem;
  }
  .sm\:-my-1 {
    margin-top: -.25rem;
    margin-bottom: -.25rem;
  }
  .sm\:inline {
    display: inline;
  }
  .sm\:h-11 {
    height: 2.75rem;
  }
  .sm\:h-20 {
    height: 5rem;
  }
  .sm\:h-40 {
    height: 10rem;
  }
  .sm\:h-52 {
    height: 13rem;
  }
  .sm\:h-56 {
    height: 14rem;
  }
  .sm\:min-h-\[440px\] {
    min-height: 440px;
  }
  .sm\:w-40 {
    width: 10rem;
  }
  .sm\:min-w-full {
    min-width: 100%;
  }
  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sm\:flex-row {
    flex-direction: row;
  }
  .sm\:items-start {
    align-items: flex-start;
  }
  .sm\:gap-6 {
    gap: 1.5rem;
  }
  .sm\:p-12 {
    padding: 3rem;
  }
  .sm\:p-4 {
    padding: 1rem;
  }
  .sm\:p-6 {
    padding: 1.5rem;
  }
  .sm\:p-8 {
    padding: 2rem;
  }
  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .sm\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  .sm\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
  .sm\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }
  .sm\:text-base {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .sm\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  .sm\:text-sm {
    font-size: .875rem;
    line-height: 1.25rem;
  }
  .sm\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
@media (min-width: 768px) {
  .md\:h-64 {
    height: 16rem;
  }
  .md\:h-72 {
    height: 18rem;
  }
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .md\:flex-row {
    flex-direction: row;
  }
  .md\:items-center {
    align-items: center;
  }
  .md\:text-left {
    text-align: left;
  }
}
@media (min-width: 1024px) {
  .lg\:col-span-3 {
    grid-column: span 3 / span 3;
  }
  .lg\:col-span-5 {
    grid-column: span 5 / span 5;
  }
  .lg\:col-span-6 {
    grid-column: span 6 / span 6;
  }
  .lg\:col-span-7 {
    grid-column: span 7 / span 7;
  }
  .lg\:mb-16 {
    margin-bottom: 4rem;
  }
  .lg\:flex {
    display: flex;
  }
  .lg\:hidden {
    display: none;
  }
  .lg\:h-72 {
    height: 18rem;
  }
  .lg\:h-80 {
    height: 20rem;
  }
  .lg\:w-1\/2 {
    width: 50%;
  }
  .lg\:max-w-none {
    max-width: none;
  }
  .lg\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .lg\:flex-row {
    flex-direction: row;
  }
  .lg\:flex-col {
    flex-direction: column;
  }
  .lg\:gap-10 {
    gap: 2.5rem;
  }
  .lg\:gap-12 {
    gap: 3rem;
  }
  .lg\:gap-14 {
    gap: 3.5rem;
  }
  .lg\:gap-8 {
    gap: 2rem;
  }
  .lg\:p-10 {
    padding: 2.5rem;
  }
  .lg\:p-12 {
    padding: 3rem;
  }
  .lg\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  .lg\:py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
  .lg\:pb-24 {
    padding-bottom: 6rem;
  }
  .lg\:pt-14 {
    padding-top: 3.5rem;
  }
  .lg\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  .lg\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
  .lg\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }
  .lg\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }
}
@media (min-width: 1280px) {
  .xl\:h-12 {
    height: 3rem;
  }
  .xl\:h-80 {
    height: 20rem;
  }
  .xl\:h-96 {
    height: 24rem;
  }
  .xl\:gap-8 {
    gap: 2rem;
  }
  .xl\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }
  .xl\:text-sm {
    font-size: .875rem;
    line-height: 1.25rem;
  }
}
/* make the hidden attribute work on elements that also have display utilities */
[hidden] {
  display: none !important;
}
/* ================= Mobile App Topbar (design replica) =================
   v1.1.0: the bar is rendered INSIDE <header class="sticky top-0"> (see
   header.php), so it and the navigation bar move as ONE sticky unit pinned
   at top:0 — the old "gap above the navbar while scrolled" is impossible.
   It is visible by default; hidden on desktop by the media query below. */
.app-topbar {
  position: relative;
  z-index: 5;
  background: #17375E;
  color: #fff;
  font-family: Inter, sans-serif;
  transition: opacity .35s ease, transform .35s ease, box-shadow .3s ease;
}
.app-topbar-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 44px 10px 12px;
}
.app-topbar-brand {
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  background: #fff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .28);
}
.app-topbar-logo {
  width: 36px;
  height: 36px;
  object-fit: contain;
}
.app-topbar-text {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  color: #fff;
  font-size: 13.5px;
  line-height: 1.35;
  font-weight: 700;
}
.app-topbar-btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  color: #17375E;
  border-radius: 999px;
  padding: 9px 16px;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .22);
  transition: transform .2s ease, box-shadow .2s ease;
}
.app-topbar-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 5px 14px rgba(0, 0, 0, .32);
}
.app-topbar-btn:active {
  transform: translateY(0);
}
.app-topbar-btn svg {
  color: #D7473B;
}
.app-topbar-close {
  position: absolute;
  top: 5px;
  right: 7px;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, .85);
  cursor: pointer;
  border-radius: 6px;
}
.app-topbar-close:hover {
  color: #fff;
  background: rgba(255, 255, 255, .14);
}
.app-topbar-hiding {
  opacity: 0;
  transform: translateY(-100%);
}
.app-topbar-stuck {
  box-shadow: 0 10px 24px rgba(9, 30, 66, .28);
}
@media (min-width:1024px) {
  .app-topbar {
    display: none !important;
  }
}
/* ---- added: smooth in-page anchor scrolling (menu <a> links) ---- */
html {
  scroll-behavior: smooth;
}
section[id], main[id], div[id="contact"] {
  scroll-margin-top: 96px;
}
/* ---- fix: menu/submenu <a> items stack vertically like buttons ---- */
[data-dropdown-menu] a, #mobileMenu a, .js-mobile-panel a {
  display: block;
}

/* ============================================================================
   WORDPRESS / ASTRA INDEPENDENCE SHIELD
   ----------------------------------------------------------------------------
   The rules below pin the design to the original look inside WordPress:

   • functions.php already removes Astra's stylesheets and empties Astra's
     dynamic customizer CSS on the front end; this block is the second line
     of defence, so the design stays identical in every setup.

   • Specificity is deliberately kept LOW (body-level, no !important except
     body-level properties), which means it can override Astra's base rules
     while never beating this design's own utility classes such as
     hover:text-[#D7473B] or hover:bg-brandRed-500.
   ========================================================================== */

/* Page canvas: original bg-slateCustom-50 / text-slateCustom-900 */
body.matricula-site {
  background-color: #f8fafc !important;
  color: #0f172a !important;
  font-family: Inter, sans-serif !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.matricula-site .site,
body.matricula-site #page,
body.matricula-site #content,
body.matricula-site .site-content,
body.matricula-site .ast-container {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: auto !important;
  background: transparent;
}
body.matricula-site ::selection {
  background-color: #d7473b;
  color: #ffffff;
}

/* Base element behaviour = the original Tailwind preflight. These match
   Astra's element rules and win by load order, but stay below the design's
   utility classes, so every designed hover color still works. */
body h1, body h2, body h3, body h4, body h5, body h6 {
  font-family: Inter, sans-serif;
  color: inherit;
  margin: 0;
}
body p, body figure, body hr {
  margin: 0;
}
body ul, body ol, body menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
body a {
  color: inherit;
  text-decoration: none;
}
body a:hover, body a:focus {
  color: inherit;
  text-decoration: none;
  box-shadow: none;
}
body button, body input, body select, body textarea {
  font-family: inherit;
}
/* Astra paints a custom arrow onto selects — remove it. */
body select {
  background-image: none !important;
}
body img {
  max-width: 100%;
  height: auto;
}

/* Keep the exact original hover colors on elements that have no hover
   utility class (they must not inherit Astra's global hover color). */
body a#scrollTopBtn:hover,
body a.matricula-btn:hover {
  color: #ffffff;
}
body #mobileMenu a:hover {
  color: #17375e;
}
body a.text-brandRed-500:hover {
  color: #d7473b;
}
/* v1.1.1: links that set their own color with a single-class utility (but
   have no hover: utility) were still losing it on hover, because
   "body a:hover { color: inherit }" above has higher specificity (0,1,2)
   than a one-class utility (0,1,0) — the hero "MANTRA 2026 Exam" button's
   white text turned dark on hover (reported) and the app topbar pill's
   navy label would have turned white on hover. Pin both to their exact
   colors: the MANTRA 2026 button must not change AT ALL on hover. */
body a.text-white:hover,
body a.text-white:focus {
  color: #ffffff;
}
body .app-topbar-btn:hover,
body .app-topbar-btn:focus {
  color: #17375e;
}

/* Logged-in users: the WP admin bar. On DESKTOP (>=783px) it is position:
   fixed and stays on screen, so the sticky header must stay below it. On
   MOBILE (<=782px) the admin bar is position: absolute and scrolls away
   with the page — forcing a top offset there produced a permanent empty GAP
   above the sticky navbar once scrolled (reported bug), so mobile has NO
   offset at all. (WordPress already pushes the page down via html
   { margin-top } while the bar is on screen.) */
@media screen and (min-width: 783px) {
  body.admin-bar header.sticky {
    top: 32px;
  }
}

/* Hamburger / Enquire buttons must never be blocked by plugin overlays. */
#headerBar {
  position: relative;
  z-index: 1;
}
#mobileMenuBtn, .js-open-inquiry {
  pointer-events: auto;
}

/* Desktop dropdowns: the LAST dropdown panel hugs the right edge (like the
   original MORE panel). The wp_nav_menu walker emits left-0 panels; this
   rule right-aligns whichever panel ends up last. (The static fallback
   markup already carries right-0 on its last panel.) */
#siteDesktopNav > .js-dropdown:last-child [data-dropdown-menu] {
  left: auto;
  right: 0;
}

/* ============================================================================
   BLOG POSTS & STATIC PAGE CONTENT  (scoped to .matricula-entry only —
   the home page design is never affected by these rules)
   ========================================================================== */
.matricula-entry {
  color: #334155;
}
.matricula-entry p {
  margin-bottom: 1.25rem;
}
.matricula-entry p:last-child {
  margin-bottom: 0;
}
.matricula-entry h2 {
  font-size: 1.25rem;
  line-height: 1.35;
  font-weight: 700;
  color: #17375e;
  margin: 2rem 0 0.75rem;
}
.matricula-entry h3 {
  font-size: 1.125rem;
  line-height: 1.4;
  font-weight: 700;
  color: #17375e;
  margin: 1.5rem 0 0.5rem;
}
.matricula-entry ul {
  list-style: disc;
  padding-left: 1.5rem;
  margin: 0 0 1.25rem;
}
.matricula-entry ol {
  list-style: decimal;
  padding-left: 1.5rem;
  margin: 0 0 1.25rem;
}
.matricula-entry li {
  margin-bottom: 0.375rem;
}
.matricula-entry a {
  color: #d7473b;
  font-weight: 700;
}
.matricula-entry a:hover {
  color: #b93a30;
  text-decoration: underline;
}
.matricula-entry blockquote {
  border-left: 3px solid #d7473b;
  padding-left: 1rem;
  font-style: italic;
  color: #475569;
  margin: 1.5rem 0;
}
.matricula-entry figure {
  margin: 1.5rem 0;
}
.matricula-entry img {
  border-radius: 0.75rem;
}
.matricula-entry table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
}
.matricula-entry th,
.matricula-entry td {
  border: 1px solid #e2e8f0;
  padding: 0.5rem 0.75rem;
  text-align: left;
}

/* ============================================================================
   v1.0.1 FIXES
   ========================================================================== */

/* ---- fix: remove the stray arrow icon below the footer (all breakpoints) --
   Astra (parent theme) prints its OWN floating "Scroll to Top" arrow button
   through wp_footer(). Because this design removes Astra's stylesheets, that
   button loses its fixed positioning and renders IN THE PAGE FLOW right
   after our footer — the dark strip with the stray arrow. The list below
   hides every selector Astra has ever used for it (v1.1.0 adds the wildcard
   attribute forms), and js/matricula-safety.js + an inline cleaner in
   footer.php additionally REMOVE the node from the DOM, which also works
   when the site's CSS cache still serves an old stylesheet. The design
   keeps its own styled "Scroll to Top" pill inside the footer. */
.ast-scroll-to-top,
.astra-scroll-to-top,
#ast-scroll-to-top,
#astra-scroll-to-top,
.ast-go-to-top,
.astra-go-to-top,
button.ast-scroll-to-top,
.ast-scroll-to-top-wrap,
.astra-scroll-to-top-wrap,
.ast-scroll-to-top-icon,
[class*="scroll-to-top"]:not(#scrollTopBtn),
[id*="scroll-to-top"],
[class*="go-to-top"],
[id*="go-to-top"],
.ast-arrow-svg,
.astra-arrow-svg {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Astra also prints a "Skip to content" link at wp_body_open; with Astra's
   CSS removed it would show as stray text at the top of the page. */
body > .skip-link,
body > .screen-reader-text {
  display: none !important;
}

/* ==========================================================================
   v1.2.0 — ELEMENTOR COMPATIBILITY LAYER
   --------------------------------------------------------------------------
   Pages/posts built with Elementor (body class "elementor-page") keep
   Astra's own base stylesheet loaded — functions.php skips the dequeue on
   Elementor requests and prints THIS stylesheet BEFORE Astra's, so Astra's
   element-level base (heading sizes, margins, paragraph spacing) overrides
   our Tailwind reset at equal specificity and Elementor content renders
   with normal theme typography again.

   The rules below only patch what neither our reset nor Astra's base
   restores, and they apply ONLY inside Elementor's own content wrapper
   (.elementor). The Matricula header, menus, footer and home page live
   OUTSIDE .elementor and are not affected. Link colors reuse Astra's own
   global-color custom properties (with safe fallbacks), so Elementor pages
   follow the same Customizer colors a normal Astra site would.
   ========================================================================== */

body.elementor-page .elementor p {
  margin: 0 0 1em;
}
body.elementor-page .elementor h1,
body.elementor-page .elementor h2,
body.elementor-page .elementor h3,
body.elementor-page .elementor h4,
body.elementor-page .elementor h5,
body.elementor-page .elementor h6 {
  margin: 0 0 0.5em;
  font-weight: 700;
  line-height: 1.3;
}
body.elementor-page .elementor ul {
  list-style: disc outside;
  padding-left: 1.4em;
  margin: 0 0 1em;
}
body.elementor-page .elementor ol {
  list-style: decimal outside;
  padding-left: 1.4em;
  margin: 0 0 1em;
}
body.elementor-page .elementor li {
  margin: 0 0 0.35em;
}
/* Our "Astra independence shield" sets body a { color: inherit } with a
   higher specificity than Astra's own link rule — inside Elementor content
   the theme's link colors must come back. */
body.elementor-page .elementor a {
  color: var(--ast-global-color-0, #0e233f);
  text-decoration: none;
}
body.elementor-page .elementor a:hover,
body.elementor-page .elementor a:focus {
  color: var(--ast-global-color-1, #d7473b);
}
/* The shield also pins body a:hover { box-shadow: none } etc. — fine — but
   Astra's content-area links usually underline on hover; keep it subtle. */
body.elementor-page .elementor .elementor-widget-text-editor a:hover {
  text-decoration: underline;
}

/* ==========================================================================
   v1.5.0 — ELEMENTOR FIX #2: WIDGET ICONS (the “giant arrow” break)
   --------------------------------------------------------------------------
   SYMPTOM: on pages built with Elementor, Toggle / Accordion / Tabs items
   and every Font Awesome icon exploded into one giant full-width arrow
   graphic the moment their content was shown — clicking a tab title made
   the page “break” (mobile screenshot: one huge rounded arrow filling a
   navy column).

   ROOT CAUSE: this stylesheet is the complete Tailwind build of the design,
   and Tailwind's preflight contains:

       img, svg, video, canvas, audio, iframe, embed, object {
         display: block;
         vertical-align: middle;
       }

   On Elementor pages this stylesheet is loaded ON PURPOSE (v1.2.0 keeps the
   Matricula header/footer styled there). Astra's base CSS restores nothing
   for <svg> (it never styles svg display at element level) and Elementor's
   own CSS doesn't either: Elementor's inline SVG icons (class
   e-font-icon-svg) are printed WITHOUT width/height attributes and rely on
   the browser-default INLINE flow. A block-level svg with no intrinsic size
   falls back to the replaced-element default (300x150, or 100% of the
   column) => the giant arrow.

   FIX: restore the browser-default inline behaviour for svg INSIDE
   Elementor's own content root (.elementor — every Elementor page, popup,
   theme-builder location, canvas page and the editor preview iframe wrap
   their content in it). The Matricula header, menus, footer and home page
   live OUTSIDE .elementor and are untouched. Icons size through font-size
   exactly like Font Awesome expects, so custom icon sizes chosen in the
   Elementor panel keep working.
   ========================================================================== */
.elementor svg {
  display: inline-block;
  vertical-align: middle;
}
.elementor .e-font-icon-svg {
  width: 1em;
  height: 1em;
}
/* Any other svg inside Elementor content (custom embeds, charts) must never
   overflow its column again either. */
.elementor svg:not([width]):not([height]):not(.e-font-icon-svg) {
  max-width: 100%;
  height: auto;
}

/* ==========================================================================
   v1.6.0 — ELEMENTOR FIX #3: NO THEME COLOUR EFFECT ON TOGGLE / ACCORDION /
            TABS TITLES
   --------------------------------------------------------------------------
   SYMPTOM: after opening/closing a Toggle, Accordion or Tabs item the titles
   looked "coloured": blue titles, green + underlined on hover/active (user
   screenshots). The open/close mechanics already worked (v1.5.0) — the
   problem was purely the theme painting link colours onto the titles.

   ROOT CAUSE: the Astra-independence shield re-colours every link inside
   Elementor content so text-editor links match the theme:

       body.elementor-page .elementor a        -> Astra global link colour
       body.elementor-page .elementor a:hover  -> Astra global hover colour

   Elementor builds Toggle / Accordion / Tabs titles as links
   (.elementor-tab-title / inner <a>), so they picked up those colours plus
   an underline. Correct behaviour: a tab title is a widget CONTROL, not a
   content link — it must follow the text colour AROUND the widget and never
   change colour or underline on hover/active/focus.

   FIX: "de-link" the three widget title families in every state (color:
   inherit, no underline, no shadow). Scoped to body.elementor-page
   .elementor so the Matricula header / footer / home page are untouched,
   and normal content links inside text editors keep their theme colours.
   ========================================================================== */
body.elementor-page .elementor .elementor-tab-title,
body.elementor-page .elementor .elementor-tab-title a,
body.elementor-page .elementor .elementor-toggle-title,
body.elementor-page .elementor .elementor-toggle-title a,
body.elementor-page .elementor .elementor-accordion-title,
body.elementor-page .elementor .elementor-accordion-title a,
body.elementor-page .elementor .elementor-tab-title:visited,
body.elementor-page .elementor .elementor-tab-title a:visited {
  color: inherit;
  text-decoration: none !important;
  box-shadow: none;
}
body.elementor-page .elementor .elementor-tab-title:hover,
body.elementor-page .elementor .elementor-tab-title:focus,
body.elementor-page .elementor .elementor-tab-title:active,
body.elementor-page .elementor .elementor-tab-title a:hover,
body.elementor-page .elementor .elementor-tab-title a:focus,
body.elementor-page .elementor .elementor-tab-title a:active,
body.elementor-page .elementor .elementor-toggle-title:hover,
body.elementor-page .elementor .elementor-toggle-title:focus,
body.elementor-page .elementor .elementor-toggle-title:active,
body.elementor-page .elementor .elementor-toggle-title a:hover,
body.elementor-page .elementor .elementor-toggle-title a:focus,
body.elementor-page .elementor .elementor-toggle-title a:active,
body.elementor-page .elementor .elementor-accordion-title:hover,
body.elementor-page .elementor .elementor-accordion-title:focus,
body.elementor-page .elementor .elementor-accordion-title:active,
body.elementor-page .elementor .elementor-accordion-title a:hover,
body.elementor-page .elementor .elementor-accordion-title a:focus,
body.elementor-page .elementor .elementor-accordion-title a:active {
  color: inherit;
  text-decoration: none !important;
  box-shadow: none;
}
/* The caret / chevron icon inside a title follows the title colour, and the
   Elementor "active" state class must not reintroduce a link colour either. */
body.elementor-page .elementor .elementor-tab-title .elementor-accordion-icon,
body.elementor-page .elementor .elementor-tab-title.elementor-active,
body.elementor-page .elementor .elementor-tab-title.elementor-active a {
  color: inherit;
}

/* ==========================================================================
   v1.6.1 — SAME DE-LINK FOR CONTEXTS WITHOUT THE body.elementor-page CLASS
   --------------------------------------------------------------------------
   Elementor PRO popups, Theme-Builder locations and the editor preview can
   render widget markup when <body> does NOT carry .elementor-page, so the
   selectors above do not apply there. The classes below exist ONLY inside
   Elementor's own content root, so this stays 100% off the Matricula
   header / footer / home page.
   ========================================================================== */
.elementor .elementor-tab-title,
.elementor .elementor-toggle-title,
.elementor .elementor-accordion-title,
.elementor .elementor-tab-title a,
.elementor .elementor-toggle-title a,
.elementor .elementor-accordion-title a,
.elementor .elementor-tab-title:hover,
.elementor .elementor-tab-title:focus,
.elementor .elementor-tab-title:active,
.elementor .elementor-tab-title a:hover,
.elementor .elementor-tab-title a:focus,
.elementor .elementor-tab-title a:active,
.elementor .elementor-toggle-title:hover,
.elementor .elementor-toggle-title:focus,
.elementor .elementor-toggle-title:active,
.elementor .elementor-accordion-title:hover,
.elementor .elementor-accordion-title:focus,
.elementor .elementor-accordion-title:active {
  color: inherit;
  text-decoration: none !important;
  box-shadow: none;
}

/* ==========================================================================
   v1.7.0 — BENGALI HOME (Polylang) + LANGUAGE SWITCHER
   --------------------------------------------------------------------------
   The Bengali home (template-parts/home-bengali.php) carries the root class
   .matricula-home-bn + lang="bn". Bengali needs its own glyph set, so the
   Hind Siliguri family (loaded from Google Fonts together with Inter/Lora/
   Montserrat in functions.php) takes over INSIDE the Bengali home only —
   the English home, header, footer and every other page keep their
   original Inter/Montserrat/Lora typography byte-for-byte.
   ========================================================================== */
.matricula-home-bn,
.matricula-home-bn button,
.matricula-home-bn input,
.matricula-home-bn select,
.matricula-home-bn option,
.matricula-home-bn textarea {
  font-family: 'Hind Siliguri', Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.matricula-home-bn .font-serif {
  font-family: 'Hind Siliguri', Lora, Georgia, serif;
}
/* Bengali headings: the sheet's base "body h1…h6" rule (0,0,2) would beat
   inheritance, so re-assert the Bengali stack at (0,1,1). */
.matricula-home-bn h1, .matricula-home-bn h2, .matricula-home-bn h3,
.matricula-home-bn h4, .matricula-home-bn h5, .matricula-home-bn h6 {
  font-family: 'Hind Siliguri', Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* ==========================================================================
   Polylang language switcher — v1.7.3 "BN | EN" segmented toggle
   ----------------------------------------------------------------------------
   Design (from the client's reference image): a light rounded track holding
   every language as a short 2-letter option; the CURRENT language is a
   solid rounded knob with white text. The knob uses the THEME color via the
   custom properties below — flip --mat-lang-active-bg to #d7473b (brand
   red) if the red accent is preferred over the header navy.
   Rendered only when Polylang is active AND 2+ languages exist — otherwise
   the helper prints nothing and these rules simply never match.
   ========================================================================== */
.matricula-lang-switch {
  --mat-lang-active-bg: #17375e;   /* ← theme knob color (navy) */
  --mat-lang-active-fg: #ffffff;   /* knob text */
  --mat-lang-track-bg:  #edf1f6;   /* track */
  --mat-lang-muted:     #5b6b7e;   /* inactive option text */
  margin-right: 14px;
  line-height: 1;
}
.matricula-lang-switch ul,
.matricula-lang-switch .matricula-lang-list {
  list-style: none !important;
  margin: 0;
  padding: 3px;
  display: inline-flex; /* shrink-wrap the track (block-level flex would stretch it in #mobileMenu) */
  width: max-content;
  max-width: 100%;
  align-items: center;
  gap: 2px;
  background: var(--mat-lang-track-bg);
  border-radius: 9999px;
}
.matricula-lang-switch li { line-height: 1; list-style: none; }
.matricula-lang-switch a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  padding: 8px 12px;
  border-radius: 9999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--mat-lang-muted);
  background: transparent;
  border: 0;
  text-decoration: none;
  transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.matricula-lang-switch a:hover {
  color: var(--mat-lang-active-bg);
  background: rgba(255, 255, 255, 0.75);
}
.matricula-lang-switch li.current-lang a,
.matricula-lang-switch a.is-active,
.matricula-lang-switch li.current-lang a:hover {
  background: var(--mat-lang-active-bg);
  color: var(--mat-lang-active-fg);
  box-shadow: 0 2px 6px rgba(23, 55, 94, 0.30);
}
.matricula-lang-switch--mobile { margin: 0 0 8px; }
.matricula-lang-switch--mobile a { padding: 9px 14px; font-size: 12px; min-width: 42px; }

/* v1.7.3 specificity guards (kept from v1.7.2, retargeted at the toggle).
   #mobileMenu a { display:block } (1,0,1) must not flatten the toggle
   options into full-width bars — re-assert the knob shape above it. */
#mobileMenu .matricula-lang-switch a {
  display: inline-flex;
  width: auto;
}
/* Safety net: if any plugin ever strips the <ul> wrapper, the options still
   sit side-by-side instead of stacking as block list items. */
.matricula-lang-switch > .lang-item {
  display: inline-flex;
}

/* ============================================================================
   v1.7.4 — FULL-WIDTH HEADER NAVBAR (kills the double-line menu labels)
   ----------------------------------------------------------------------------
   Problem: the header row used the shared .desktop-container, which caps at
   max-width: 1280px. With seven menu items + language toggle + "Enquire Now"
   the row ran out of horizontal space, so the flexbox squeezed every link
   and each label wrapped onto a second line ("CLASS (VI-" / "XII)",
   "MOCK" / "TEST", "ONLINE" / "BATCH" ...).

   Fix (three parts):
   1. The HEADER container now spans the FULL viewport width. The 1280px cap
      still applies everywhere else (footer, pages, home sections) because
      this override is scoped to #headerBar only.
   2. Desktop menu labels can NEVER wrap internally again (white-space:
      nowrap), and the logo / language toggle / CTA can never be squeezed
      (flex-shrink: 0).
   3. On narrower desktops (below 1440px) the gaps, font size and side
      padding tighten just enough for every item to stay on ONE line.
      ID selectors here intentionally outrank the Tailwind gap-6 / xl:gap-8 /
      text-xs / xl:text-sm / tracking-wider utilities on the same element.
   ========================================================================== */

/* 1) Header spans the full viewport width (scoped to the header bar only). */
#headerBar .desktop-container {
  max-width: 100%;
}

/* 2) Menu labels stay on ONE line — no more double-line items. */
#siteDesktopNav a,
#siteDesktopNav a > span {
  white-space: nowrap;
}
/* Language toggle + "Enquire Now": never shrink, never wrap. */
#headerBar .matricula-lang-switch,
#headerBar .js-open-inquiry {
  flex-shrink: 0;
  white-space: nowrap;
}

/* 3a) Small desktops (1024–1279px): tightest tier. */
@media (min-width: 1024px) and (max-width: 1279.98px) {
  #siteDesktopNav {
    gap: 0.875rem;            /* was 1.5rem (gap-6) */
    font-size: 11px;          /* was 12px (text-xs) */
    letter-spacing: 0.04em;   /* was 0.05em (tracking-wider) */
  }
  #headerBar .desktop-container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  #headerBar .desktop-container > a img {
    height: 2.5rem;           /* 40px logo on this tier */
  }
  #headerBar .js-open-inquiry {
    padding-left: 1.1rem;
    padding-right: 1.1rem;
    font-size: 13px;
  }
}

/* 3b) Mid desktops (1280–1439px): slightly calmer tier. */
@media (min-width: 1280px) and (max-width: 1439.98px) {
  #siteDesktopNav {
    gap: 1.875rem;            /* was 2rem (xl:gap-8) */
    font-size: 15px;          /* was 14px (xl:text-sm) */
  }
  #headerBar .desktop-container {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

/* 3c) Wide desktops (>=1440px): the designed 14px type with a calmer gap —
       the full-width bar has plenty of room; dropdowns & hovers unchanged. */
@media (min-width: 1440px) {
  #siteDesktopNav {
    gap: 1.25rem;             /* was 2rem (xl:gap-8) */
  }
}

